From 44d980ff67867cb65bfe8035326be2b461ca7172 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Date: Mon, 10 Aug 2015 16:56:53 +0200
Subject: [PATCH] Rebasing on Chromium 45

Fixing the minor differences needed to work with Chromium 45.

Change-Id: I5036b4b9a069d45e8dd37e24fab84cdfe5e67acc
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
---
 src/3rdparty                                  |  2 +-
 src/core/delegated_frame_node.cpp             | 20 +++++++++----------
 .../dev_tools_http_handler_delegate_qt.cpp    |  1 -
 src/core/dev_tools_http_handler_delegate_qt.h |  1 -
 src/core/gl_surface_qt.cpp                    |  4 ++--
 src/core/gl_surface_qt.h                      |  2 +-
 src/core/network_delegate_qt.cpp              |  5 -----
 src/core/network_delegate_qt.h                |  1 -
 src/core/permission_manager_qt.cpp            | 12 +++++++----
 src/core/permission_manager_qt.h              |  4 ++--
 src/core/proxy_config_service_qt.h            |  2 +-
 src/core/render_widget_host_view_qt.cpp       |  2 +-
 .../renderer/content_renderer_client_qt.cpp   |  2 +-
 src/core/web_contents_adapter.cpp             | 12 +++++------
 src/core/web_contents_delegate_qt.cpp         |  7 ++++---
 src/core/web_contents_delegate_qt.h           |  6 ++++--
 tools/scripts/take_snapshot.py                | 11 +++++++---
 tools/scripts/version_resolver.py             |  4 ++--
 18 files changed, 51 insertions(+), 47 deletions(-)

diff --git a/src/3rdparty b/src/3rdparty
index 4140f5c53..de3c0c8c1 160000
--- a/src/3rdparty
+++ b/src/3rdparty
@@ -1 +1 @@
-Subproject commit 4140f5c535bd1626c06c6be122da6b97e2a737bb
+Subproject commit de3c0c8c1a76b00c39db824ff43d88523ef24a13
diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp
index dee381e15..aebdfd027 100644
--- a/src/core/delegated_frame_node.cpp
+++ b/src/core/delegated_frame_node.cpp
@@ -165,9 +165,9 @@ static QSGNode *buildLayerChain(QSGNode *chainParent, const cc::SharedQuadState
         layerChain->appendChildNode(clipNode);
         layerChain = clipNode;
     }
-    if (!layerState->content_to_target_transform.IsIdentity()) {
+    if (!layerState->quad_to_target_transform.IsIdentity()) {
         QSGTransformNode *transformNode = new QSGTransformNode;
-        transformNode->setMatrix(toQt(layerState->content_to_target_transform.matrix()));
+        transformNode->setMatrix(toQt(layerState->quad_to_target_transform.matrix()));
         layerChain->appendChildNode(transformNode);
         layerChain = transformNode;
     }
@@ -571,7 +571,7 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData,
                 break;
             } case cc::DrawQuad::TEXTURE_CONTENT: {
                 const cc::TextureDrawQuad *tquad = cc::TextureDrawQuad::MaterialCast(quad);
-                ResourceHolder *resource = findAndHoldResource(tquad->resource_id, resourceCandidates);
+                ResourceHolder *resource = findAndHoldResource(tquad->resource_id(), resourceCandidates);
 
                 QSGSimpleTextureNode *textureNode = new QSGSimpleTextureNode;
                 textureNode->setTextureCoordinatesTransform(tquad->y_flipped ? QSGSimpleTextureNode::MirrorVertically : QSGSimpleTextureNode::NoTransform);
@@ -619,7 +619,7 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData,
                 break;
             } case cc::DrawQuad::TILED_CONTENT: {
                 const cc::TileDrawQuad *tquad = cc::TileDrawQuad::MaterialCast(quad);
-                ResourceHolder *resource = findAndHoldResource(tquad->resource_id, resourceCandidates);
+                ResourceHolder *resource = findAndHoldResource(tquad->resource_id(), resourceCandidates);
 
                 QSGSimpleTextureNode *textureNode = new QSGSimpleTextureNode;
                 textureNode->setRect(toQt(quad->rect));
@@ -630,13 +630,13 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData,
                 break;
             } case cc::DrawQuad::YUV_VIDEO_CONTENT: {
                 const cc::YUVVideoDrawQuad *vquad = cc::YUVVideoDrawQuad::MaterialCast(quad);
-                ResourceHolder *yResource = findAndHoldResource(vquad->y_plane_resource_id, resourceCandidates);
-                ResourceHolder *uResource = findAndHoldResource(vquad->u_plane_resource_id, resourceCandidates);
-                ResourceHolder *vResource = findAndHoldResource(vquad->v_plane_resource_id, resourceCandidates);
+                ResourceHolder *yResource = findAndHoldResource(vquad->y_plane_resource_id(), resourceCandidates);
+                ResourceHolder *uResource = findAndHoldResource(vquad->u_plane_resource_id(), resourceCandidates);
+                ResourceHolder *vResource = findAndHoldResource(vquad->v_plane_resource_id(), resourceCandidates);
                 ResourceHolder *aResource = 0;
                 // This currently requires --enable-vp8-alpha-playback and needs a video with alpha data to be triggered.
-                if (vquad->a_plane_resource_id)
-                    aResource = findAndHoldResource(vquad->a_plane_resource_id, resourceCandidates);
+                if (vquad->a_plane_resource_id())
+                    aResource = findAndHoldResource(vquad->a_plane_resource_id(), resourceCandidates);
 
                 YUVVideoNode *videoNode = new YUVVideoNode(
                     initAndHoldTexture(yResource, quad->ShouldDrawWithBlending()),
@@ -651,7 +651,7 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData,
 #ifdef GL_OES_EGL_image_external
             } case cc::DrawQuad::STREAM_VIDEO_CONTENT: {
                 const cc::StreamVideoDrawQuad *squad = cc::StreamVideoDrawQuad::MaterialCast(quad);
-                ResourceHolder *resource = findAndHoldResource(squad->resource_id, resourceCandidates);
+                ResourceHolder *resource = findAndHoldResource(squad->resource_id(), resourceCandidates);
                 MailboxTexture *texture = static_cast<MailboxTexture *>(initAndHoldTexture(resource, quad->ShouldDrawWithBlending()));
                 texture->setTarget(GL_TEXTURE_EXTERNAL_OES); // since this is not default TEXTURE_2D type
 
diff --git a/src/core/dev_tools_http_handler_delegate_qt.cpp b/src/core/dev_tools_http_handler_delegate_qt.cpp
index 2afd75e6e..793ed0981 100644
--- a/src/core/dev_tools_http_handler_delegate_qt.cpp
+++ b/src/core/dev_tools_http_handler_delegate_qt.cpp
@@ -62,7 +62,6 @@
 #include "content/public/common/content_switches.h"
 #include "net/base/ip_endpoint.h"
 #include "net/base/net_errors.h"
-#include "net/socket/stream_listen_socket.h"
 #include "net/socket/tcp_server_socket.h"
 
 using namespace content;
diff --git a/src/core/dev_tools_http_handler_delegate_qt.h b/src/core/dev_tools_http_handler_delegate_qt.h
index b998359fd..0fe9ad0ce 100644
--- a/src/core/dev_tools_http_handler_delegate_qt.h
+++ b/src/core/dev_tools_http_handler_delegate_qt.h
@@ -39,7 +39,6 @@
 
 #include "components/devtools_http_handler/devtools_http_handler_delegate.h"
 #include "content/public/browser/devtools_manager_delegate.h"
-#include "net/socket/stream_listen_socket.h"
 
 #include <QString>
 #include <QtCore/qcompilerdetection.h> // needed for Q_DECL_OVERRIDE
diff --git a/src/core/gl_surface_qt.cpp b/src/core/gl_surface_qt.cpp
index c905688ce..d3bad4926 100644
--- a/src/core/gl_surface_qt.cpp
+++ b/src/core/gl_surface_qt.cpp
@@ -439,11 +439,11 @@ bool GLSurfaceQt::IsOffscreen()
     return true;
 }
 
-bool GLSurfaceQt::SwapBuffers()
+gfx::SwapResult GLSurfaceQt::SwapBuffers()
 {
     LOG(ERROR) << "Attempted to call SwapBuffers on a pbuffer.";
     Q_UNREACHABLE();
-    return false;
+    return gfx::SwapResult::SWAP_FAILED;
 }
 
 gfx::Size GLSurfaceQt::GetSize()
diff --git a/src/core/gl_surface_qt.h b/src/core/gl_surface_qt.h
index 4b5da207e..7646063b2 100644
--- a/src/core/gl_surface_qt.h
+++ b/src/core/gl_surface_qt.h
@@ -56,7 +56,7 @@ public:
     virtual void* GetDisplay() Q_DECL_OVERRIDE;
     virtual void* GetConfig() Q_DECL_OVERRIDE;
     virtual bool IsOffscreen() Q_DECL_OVERRIDE;
-    virtual bool SwapBuffers() Q_DECL_OVERRIDE;
+    virtual gfx::SwapResult SwapBuffers() Q_DECL_OVERRIDE;
     virtual gfx::Size GetSize() Q_DECL_OVERRIDE;
 
 protected:
diff --git a/src/core/network_delegate_qt.cpp b/src/core/network_delegate_qt.cpp
index 5af781007..d79f6e609 100644
--- a/src/core/network_delegate_qt.cpp
+++ b/src/core/network_delegate_qt.cpp
@@ -285,11 +285,6 @@ bool NetworkDelegateQt::OnCanAccessFile(const net::URLRequest& request, const ba
     return true;
 }
 
-bool NetworkDelegateQt::OnCanThrottleRequest(const net::URLRequest&) const
-{
-    return false;
-}
-
 bool NetworkDelegateQt::OnCanEnablePrivacyMode(const GURL&, const GURL&) const
 {
     return false;
diff --git a/src/core/network_delegate_qt.h b/src/core/network_delegate_qt.h
index 1176f99d9..41b5b98b6 100644
--- a/src/core/network_delegate_qt.h
+++ b/src/core/network_delegate_qt.h
@@ -87,7 +87,6 @@ public:
     virtual net::NetworkDelegate::AuthRequiredResponse OnAuthRequired(net::URLRequest*, const net::AuthChallengeInfo&, const AuthCallback&, net::AuthCredentials*) override;
     virtual bool OnCanGetCookies(const net::URLRequest&, const net::CookieList&) override;
     virtual bool OnCanAccessFile(const net::URLRequest& request, const base::FilePath& path) const override;
-    virtual bool OnCanThrottleRequest(const net::URLRequest&) const override;
     virtual bool OnCanEnablePrivacyMode(const GURL&, const GURL&) const override;
     virtual bool OnFirstPartyOnlyCookieExperimentEnabled() const override;
     virtual bool OnCancelURLRequestWithPolicyViolatingReferrerHeader(const net::URLRequest&, const GURL&, const GURL&) const override;
diff --git a/src/core/permission_manager_qt.cpp b/src/core/permission_manager_qt.cpp
index 865874fe6..d89b530ee 100644
--- a/src/core/permission_manager_qt.cpp
+++ b/src/core/permission_manager_qt.cpp
@@ -36,7 +36,10 @@
 
 #include "permission_manager_qt.h"
 
+#include "content/browser/renderer_host/render_view_host_delegate.h"
 #include "content/public/browser/permission_type.h"
+#include "content/public/browser/render_frame_host.h"
+#include "content/public/browser/render_view_host.h"
 #include "content/public/browser/web_contents.h"
 
 #include "type_conversion.h"
@@ -90,7 +93,7 @@ void PermissionManagerQt::permissionRequestReply(const QUrl &origin, BrowserCont
 }
 
 void PermissionManagerQt::RequestPermission(content::PermissionType permission,
-                                            content::WebContents* web_contents,
+                                            content::RenderFrameHost *frameHost,
                                             int request_id,
                                             const GURL& requesting_origin,
                                             bool user_gesture,
@@ -103,7 +106,8 @@ void PermissionManagerQt::RequestPermission(content::PermissionType permission,
         return;
     }
 
-    WebContentsDelegateQt* contentsDelegate = static_cast<WebContentsDelegateQt*>(web_contents->GetDelegate());
+    content::WebContents *webContents = frameHost->GetRenderViewHost()->GetDelegate()->GetAsWebContents();
+    WebContentsDelegateQt* contentsDelegate = static_cast<WebContentsDelegateQt*>(webContents->GetDelegate());
     Q_ASSERT(contentsDelegate);
     Request request = {
         request_id,
@@ -117,11 +121,11 @@ void PermissionManagerQt::RequestPermission(content::PermissionType permission,
 }
 
 void PermissionManagerQt::CancelPermissionRequest(content::PermissionType permission,
-                                                  content::WebContents* web_contents,
+                                                  content::RenderFrameHost *frameHost,
                                                   int request_id,
                                                   const GURL& requesting_origin)
 {
-    Q_UNUSED(web_contents);
+    Q_UNUSED(frameHost);
     const BrowserContextAdapter::PermissionType permissionType = toQt(permission);
     if (permissionType == BrowserContextAdapter::UnsupportedPermission)
         return;
diff --git a/src/core/permission_manager_qt.h b/src/core/permission_manager_qt.h
index 75f88f9a9..d4ee72bae 100644
--- a/src/core/permission_manager_qt.h
+++ b/src/core/permission_manager_qt.h
@@ -58,7 +58,7 @@ public:
     // content::PermissionManager implementation:
     void RequestPermission(
         content::PermissionType permission,
-        content::WebContents* web_contents,
+        content::RenderFrameHost* render_frame_host,
         int request_id,
         const GURL& requesting_origin,
         bool user_gesture,
@@ -66,7 +66,7 @@ public:
 
     void CancelPermissionRequest(
         content::PermissionType permission,
-        content::WebContents* web_contents,
+        content::RenderFrameHost* render_frame_host,
         int request_id,
         const GURL& requesting_origin) override;
 
diff --git a/src/core/proxy_config_service_qt.h b/src/core/proxy_config_service_qt.h
index f2f06d3fa..ee4263314 100644
--- a/src/core/proxy_config_service_qt.h
+++ b/src/core/proxy_config_service_qt.h
@@ -72,7 +72,7 @@ private:
     void RegisterObserver();
 
     scoped_ptr<net::ProxyConfigService> m_baseService;
-    ObserverList<net::ProxyConfigService::Observer, true> m_observers;
+    base::ObserverList<net::ProxyConfigService::Observer, true> m_observers;
 
     // Keep the last QNetworkProxy::applicationProxy state around.
     QNetworkProxy m_qtApplicationProxy;
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index ef6610ecb..f2a8055ad 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -806,7 +806,7 @@ QVariant RenderWidgetHostViewQt::inputMethodQuery(Qt::InputMethodQuery query) co
 void RenderWidgetHostViewQt::ProcessAckedTouchEvent(const content::TouchEventWithLatencyInfo &touch, content::InputEventAckState ack_result) {
     Q_UNUSED(touch);
     const bool eventConsumed = ack_result == content::INPUT_EVENT_ACK_STATE_CONSUMED;
-    m_gestureProvider.OnAsyncTouchEventAck(eventConsumed);
+    m_gestureProvider.OnTouchEventAck(touch.event.uniqueTouchEventId, eventConsumed);
 }
 
 void RenderWidgetHostViewQt::sendDelegatedFrameAck()
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp
index 32ba4d55f..8f239fc73 100644
--- a/src/core/renderer/content_renderer_client_qt.cpp
+++ b/src/core/renderer/content_renderer_client_qt.cpp
@@ -111,7 +111,7 @@ bool ContentRendererClientQt::ShouldSuppressErrorPage(content::RenderFrame *fram
 void ContentRendererClientQt::GetNavigationErrorStrings(content::RenderView* renderView, blink::WebFrame *frame, const blink::WebURLRequest &failedRequest, const blink::WebURLError &error, std::string *errorHtml, base::string16 *errorDescription)
 {
     Q_UNUSED(frame)
-    const bool isPost = EqualsASCII(failedRequest.httpMethod(), "POST");
+    const bool isPost = base::EqualsASCII(failedRequest.httpMethod(), "POST");
 
     if (errorHtml) {
         // Use a local error page.
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
index ae4eabe74..cb9cb012b 100644
--- a/src/core/web_contents_adapter.cpp
+++ b/src/core/web_contents_adapter.cpp
@@ -209,7 +209,7 @@ static void serializeNavigationHistory(const content::NavigationController &cont
     }
 }
 
-static void deserializeNavigationHistory(QDataStream &input, int *currentIndex, std::vector<content::NavigationEntry*> *entries, content::BrowserContext *browserContext)
+static void deserializeNavigationHistory(QDataStream &input, int *currentIndex, ScopedVector<content::NavigationEntry> *entries, content::BrowserContext *browserContext)
 {
     int version;
     input >> version;
@@ -250,13 +250,13 @@ static void deserializeNavigationHistory(QDataStream &input, int *currentIndex,
         // If we couldn't unpack the entry successfully, abort everything.
         if (input.status() != QDataStream::Ok) {
             *currentIndex = -1;
-            Q_FOREACH (content::NavigationEntry *entry, *entries)
+            for (content::NavigationEntry *entry : *entries)
                 delete entry;
             entries->clear();
             return;
         }
 
-        content::NavigationEntry *entry = content::NavigationController::CreateNavigationEntry(
+        scoped_ptr<content::NavigationEntry> entry = content::NavigationController::CreateNavigationEntry(
             toGurl(virtualUrl),
             content::Referrer(toGurl(referrerUrl), static_cast<blink::WebReferrerPolicy>(referrerPolicy)),
             // Use a transition type of reload so that we don't incorrectly
@@ -275,7 +275,7 @@ static void deserializeNavigationHistory(QDataStream &input, int *currentIndex,
         entry->SetIsOverridingUserAgent(isOverridingUserAgent);
         entry->SetTimestamp(base::Time::FromInternalValue(timestamp));
         entry->SetHttpStatusCode(httpStatusCode);
-        entries->push_back(entry);
+        entries->push_back(entry.release());
     }
 }
 
@@ -320,7 +320,7 @@ WebContentsAdapterPrivate::~WebContentsAdapterPrivate()
 QExplicitlySharedDataPointer<WebContentsAdapter> WebContentsAdapter::createFromSerializedNavigationHistory(QDataStream &input, WebContentsAdapterClient *adapterClient)
 {
     int currentIndex;
-    std::vector<content::NavigationEntry*> entries;
+    ScopedVector<content::NavigationEntry> entries;
     deserializeNavigationHistory(input, &currentIndex, &entries, adapterClient->browserContextAdapter()->browserContext());
 
     if (currentIndex == -1)
@@ -395,7 +395,7 @@ void WebContentsAdapter::initialize(WebContentsAdapterClient *adapterClient)
     content::RenderViewHost *rvh = d->webContents->GetRenderViewHost();
     Q_ASSERT(rvh);
     if (!rvh->IsRenderViewLive())
-        static_cast<content::WebContentsImpl*>(d->webContents.get())->CreateRenderViewForRenderManager(rvh, MSG_ROUTING_NONE, MSG_ROUTING_NONE, true);
+        static_cast<content::WebContentsImpl*>(d->webContents.get())->CreateRenderViewForRenderManager(rvh, MSG_ROUTING_NONE, MSG_ROUTING_NONE, content::FrameReplicationState(), true);
 }
 
 void WebContentsAdapter::reattachRWHV()
diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp
index 93fabf15a..e644d691f 100644
--- a/src/core/web_contents_delegate_qt.cpp
+++ b/src/core/web_contents_delegate_qt.cpp
@@ -172,13 +172,14 @@ void WebContentsDelegateQt::DidCommitProvisionalLoadForFrame(content::RenderFram
     m_viewClient->loadCommitted();
 }
 
-void WebContentsDelegateQt::DidFailProvisionalLoad(content::RenderFrameHost* render_frame_host, const GURL& validated_url, int error_code, const base::string16& error_description)
+void WebContentsDelegateQt::DidFailProvisionalLoad(content::RenderFrameHost* render_frame_host, const GURL& validated_url, int error_code, const base::string16& error_description, bool was_ignored_by_handler)
 {
-    DidFailLoad(render_frame_host, validated_url, error_code, error_description);
+    DidFailLoad(render_frame_host, validated_url, error_code, error_description, was_ignored_by_handler);
 }
 
-void WebContentsDelegateQt::DidFailLoad(content::RenderFrameHost* render_frame_host, const GURL& validated_url, int error_code, const base::string16& error_description)
+void WebContentsDelegateQt::DidFailLoad(content::RenderFrameHost* render_frame_host, const GURL& validated_url, int error_code, const base::string16& error_description, bool was_ignored_by_handler)
 {
+    Q_UNUSED(was_ignored_by_handler);
     if (m_loadingErrorFrameList.removeOne(render_frame_host->GetRoutingID()) || render_frame_host->GetParent())
         return;
 
diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h
index b983738e9..1728c447d 100644
--- a/src/core/web_contents_delegate_qt.h
+++ b/src/core/web_contents_delegate_qt.h
@@ -95,8 +95,10 @@ public:
     // WebContentsObserver overrides
     virtual void DidStartProvisionalLoadForFrame(content::RenderFrameHost *render_frame_host, const GURL &validated_url, bool is_error_page, bool is_iframe_srcdoc) Q_DECL_OVERRIDE;
     virtual void DidCommitProvisionalLoadForFrame(content::RenderFrameHost *render_frame_host, const GURL &url, ui::PageTransition transition_type) Q_DECL_OVERRIDE;
-    virtual void DidFailProvisionalLoad(content::RenderFrameHost *render_frame_host, const GURL &validated_url, int error_code, const base::string16 &error_description) Q_DECL_OVERRIDE;
-    virtual void DidFailLoad(content::RenderFrameHost *render_frame_host, const GURL &validated_url, int error_code, const base::string16 &error_description) Q_DECL_OVERRIDE;
+    virtual void DidFailProvisionalLoad(content::RenderFrameHost *render_frame_host, const GURL &validated_url,
+                                        int error_code, const base::string16 &error_description, bool was_ignored_by_handler) Q_DECL_OVERRIDE;
+    virtual void DidFailLoad(content::RenderFrameHost *render_frame_host, const GURL &validated_url,
+                             int error_code, const base::string16 &error_description, bool was_ignored_by_handler) Q_DECL_OVERRIDE;
     virtual void DidFinishLoad(content::RenderFrameHost *render_frame_host, const GURL &validated_url) Q_DECL_OVERRIDE;
     virtual void DidUpdateFaviconURL(const std::vector<content::FaviconURL> &candidates) Q_DECL_OVERRIDE;
     virtual void DidNavigateAnyFrame(content::RenderFrameHost *render_frame_host, const content::LoadCommittedDetails &details, const content::FrameNavigateParams &params) Q_DECL_OVERRIDE;
diff --git a/tools/scripts/take_snapshot.py b/tools/scripts/take_snapshot.py
index 836d230e8..6746ff9c2 100755
--- a/tools/scripts/take_snapshot.py
+++ b/tools/scripts/take_snapshot.py
@@ -163,6 +163,7 @@ def isInChromiumBlacklist(file_path):
         or file_path.startswith('third_party/cros_system_api')
         or file_path.startswith('third_party/cygwin')
         or file_path.startswith('third_party/cython')
+        or file_path.startswith('third_party/deqp')
         or file_path.startswith('third_party/elfutils')
         or file_path.startswith('third_party/google_input_tools')
         or file_path.startswith('third_party/gperf')
@@ -171,7 +172,7 @@ def isInChromiumBlacklist(file_path):
         or file_path.startswith('third_party/google_appengine_cloudstorage')
         or file_path.startswith('third_party/google_toolbox_for_mac')
         or file_path.startswith('third_party/hunspell_dictionaries')
-        or file_path.startswith('third_party/hunspell_new')
+        or file_path.startswith('third_party/hunspell')
         or file_path.startswith('third_party/instrumented_libraries')
         or file_path.startswith('third_party/jsr-305/src')
         or file_path.startswith('third_party/junit')
@@ -185,14 +186,15 @@ def isInChromiumBlacklist(file_path):
         or file_path.startswith('third_party/mingw-w64')
         or file_path.startswith('third_party/nacl_sdk_binaries')
         or (file_path.startswith('third_party/polymer') and
-            not file_path.startswith('third_party/polymer/components-chromium/'))
+            not file_path.startswith('third_party/polymer/v1_0/components-chromium/'))
         or file_path.startswith('third_party/pdfsqueeze')
         or file_path.startswith('third_party/pefile')
         or file_path.startswith('third_party/perl')
         or file_path.startswith('third_party/pdfium')
         or file_path.startswith('third_party/psyco_win32')
         or file_path.startswith('third_party/scons-2.0.1')
-        or file_path.startswith('third_party/trace-viewer')
+        or file_path.startswith('third_party/trace-viewer/tracing/test_data')
+        or file_path.startswith('third_party/trace-viewer/tracing/third_party/v8')
         or file_path.startswith('third_party/undoview')
         or file_path.startswith('third_party/webgl')
         or (file_path.startswith('tools') and
@@ -209,9 +211,12 @@ def isInChromiumBlacklist(file_path):
            not file_path.startswith('tools/protoc_wrapper'))
         or file_path.startswith('ui/android/java')
         or file_path.startswith('ui/app_list')
+        or file_path.startswith('ui/base/ime/chromeos')
         or file_path.startswith('ui/chromeos')
         or file_path.startswith('ui/display/chromeos')
+        or file_path.startswith('ui/events/ozone/chromeos')
         or file_path.startswith('ui/file_manager')
+        or file_path.startswith('ui/gfx/chromeos')
 
         ):
             return True
diff --git a/tools/scripts/version_resolver.py b/tools/scripts/version_resolver.py
index b223e4fef..3e3f77d62 100644
--- a/tools/scripts/version_resolver.py
+++ b/tools/scripts/version_resolver.py
@@ -51,8 +51,8 @@ import json
 import urllib2
 import git_submodule as GitSubmodule
 
-chromium_version = '44.0.2403.91'
-chromium_branch = '2403'
+chromium_version = '45.0.2454.40'
+chromium_branch = '2454'
 ninja_version = 'v1.5.3'
 
 json_url = 'http://omahaproxy.appspot.com/all.json'
-- 
GitLab