mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	Update to Chromium version 68.0.3433.0 (#559327)
Known issues: - Windows now requires VS 2017 15.7.1 with 10.0.17134.0 SDK.
This commit is contained in:
		@@ -31,6 +31,9 @@ patches = [
 | 
			
		||||
    #
 | 
			
		||||
    # Write environment.* files with the correct SDK version on Windows.
 | 
			
		||||
    # https://bugs.chromium.org/p/chromium/issues/detail?id=634788
 | 
			
		||||
    #
 | 
			
		||||
    # Windows: Add cc_wrapper support for sccache builds.
 | 
			
		||||
    # https://bitbucket.org/chromiumembedded/cef/issues/2432
 | 
			
		||||
    'name': 'gn_config',
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
diff --git content/browser/renderer_host/browser_compositor_view_mac.h content/browser/renderer_host/browser_compositor_view_mac.h
 | 
			
		||||
index f823af11a791..2c08bf522a10 100644
 | 
			
		||||
index 3f720471d006..c9ab4c924b1b 100644
 | 
			
		||||
--- content/browser/renderer_host/browser_compositor_view_mac.h
 | 
			
		||||
+++ content/browser/renderer_host/browser_compositor_view_mac.h
 | 
			
		||||
@@ -56,6 +56,7 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient {
 | 
			
		||||
@@ -19,10 +19,10 @@ index f823af11a791..2c08bf522a10 100644
 | 
			
		||||
   void DidCreateNewRendererCompositorFrameSink(
 | 
			
		||||
       viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink);
 | 
			
		||||
diff --git content/browser/renderer_host/browser_compositor_view_mac.mm content/browser/renderer_host/browser_compositor_view_mac.mm
 | 
			
		||||
index a03b35dbad92..d8938fb0562c 100644
 | 
			
		||||
index affefec39dd6..c0359a5ce62b 100644
 | 
			
		||||
--- content/browser/renderer_host/browser_compositor_view_mac.mm
 | 
			
		||||
+++ content/browser/renderer_host/browser_compositor_view_mac.mm
 | 
			
		||||
@@ -248,6 +248,12 @@ BrowserCompositorMac::~BrowserCompositorMac() {
 | 
			
		||||
@@ -247,6 +247,12 @@ BrowserCompositorMac::~BrowserCompositorMac() {
 | 
			
		||||
     g_spare_recyclable_compositors.Get().clear();
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git content/browser/browser_plugin/browser_plugin_guest.cc content/browser/browser_plugin/browser_plugin_guest.cc
 | 
			
		||||
index 6f3759f4d66f..c7d7188444b1 100644
 | 
			
		||||
index a0bc9305e62d..0c8d42c55302 100644
 | 
			
		||||
--- content/browser/browser_plugin/browser_plugin_guest.cc
 | 
			
		||||
+++ content/browser/browser_plugin/browser_plugin_guest.cc
 | 
			
		||||
@@ -314,8 +314,11 @@ void BrowserPluginGuest::InitInternal(
 | 
			
		||||
@@ -313,8 +313,11 @@ void BrowserPluginGuest::InitInternal(
 | 
			
		||||
           static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ index 6f3759f4d66f..c7d7188444b1 100644
 | 
			
		||||
 
 | 
			
		||||
     // Once a BrowserPluginGuest has an embedder WebContents, it's considered to
 | 
			
		||||
     // be attached.
 | 
			
		||||
@@ -790,10 +793,19 @@ void BrowserPluginGuest::OnWillAttachComplete(
 | 
			
		||||
@@ -789,10 +792,19 @@ void BrowserPluginGuest::OnWillAttachComplete(
 | 
			
		||||
         static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
 | 
			
		||||
     if (!web_contents()->GetRenderViewHost()->GetWidget()->GetView()) {
 | 
			
		||||
       web_contents_view->CreateViewForWidget(
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
 | 
			
		||||
index 69d42d094933..96383d6f94d7 100644
 | 
			
		||||
index 7407d48e9104..8c4f03f2f551 100644
 | 
			
		||||
--- chrome/browser/BUILD.gn
 | 
			
		||||
+++ chrome/browser/BUILD.gn
 | 
			
		||||
@@ -8,6 +8,7 @@ import("//build/config/features.gni")
 | 
			
		||||
@@ -10,7 +10,7 @@ index 69d42d094933..96383d6f94d7 100644
 | 
			
		||||
 import("//chrome/common/features.gni")
 | 
			
		||||
 import("//components/feature_engagement/features.gni")
 | 
			
		||||
 import("//components/feed/features.gni")
 | 
			
		||||
@@ -1600,6 +1601,7 @@ jumbo_split_static_library("browser") {
 | 
			
		||||
@@ -1595,6 +1596,7 @@ jumbo_split_static_library("browser") {
 | 
			
		||||
     "//base:i18n",
 | 
			
		||||
     "//base/allocator:buildflags",
 | 
			
		||||
     "//cc",
 | 
			
		||||
@@ -18,7 +18,7 @@ index 69d42d094933..96383d6f94d7 100644
 | 
			
		||||
     "//chrome:extra_resources",
 | 
			
		||||
     "//chrome:resources",
 | 
			
		||||
     "//chrome:strings",
 | 
			
		||||
@@ -1866,6 +1868,10 @@ jumbo_split_static_library("browser") {
 | 
			
		||||
@@ -1861,6 +1863,10 @@ jumbo_split_static_library("browser") {
 | 
			
		||||
     ]
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
diff --git chrome/common/chrome_content_client.cc chrome/common/chrome_content_client.cc
 | 
			
		||||
index da90176ea5a9..34da381c00e2 100644
 | 
			
		||||
index 231520b1bb17..e1a0128d258a 100644
 | 
			
		||||
--- chrome/common/chrome_content_client.cc
 | 
			
		||||
+++ chrome/common/chrome_content_client.cc
 | 
			
		||||
@@ -94,7 +94,8 @@
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ index 4393a8fac233..860715e86900 100644
 | 
			
		||||
   explicit ContentServiceManagerMainDelegate(const ContentMainParams& params);
 | 
			
		||||
   ~ContentServiceManagerMainDelegate() override;
 | 
			
		||||
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
 | 
			
		||||
index 1aaa34c60ac9..c9c9a430f6b0 100644
 | 
			
		||||
index 3df8b9c94f17..a16461d8d729 100644
 | 
			
		||||
--- third_party/blink/renderer/controller/BUILD.gn
 | 
			
		||||
+++ third_party/blink/renderer/controller/BUILD.gn
 | 
			
		||||
@@ -25,6 +25,7 @@ component("controller") {
 | 
			
		||||
@@ -24,7 +24,7 @@ index 1aaa34c60ac9..c9c9a430f6b0 100644
 | 
			
		||||
     "//third_party/blink/renderer:config",
 | 
			
		||||
     "//third_party/blink/renderer:inside_blink",
 | 
			
		||||
     "//third_party/blink/renderer:non_test_config",
 | 
			
		||||
@@ -43,6 +44,8 @@ component("controller") {
 | 
			
		||||
@@ -45,6 +46,8 @@ component("controller") {
 | 
			
		||||
     "dev_tools_frontend_impl.h",
 | 
			
		||||
     "oom_intervention_impl.cc",
 | 
			
		||||
     "oom_intervention_impl.h",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
 | 
			
		||||
index 2775fd430e02..f066901641e0 100644
 | 
			
		||||
index 1eae7a5d3354..999afbf1cc60 100644
 | 
			
		||||
--- content/browser/compositor/gpu_process_transport_factory.cc
 | 
			
		||||
+++ content/browser/compositor/gpu_process_transport_factory.cc
 | 
			
		||||
@@ -504,9 +504,19 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
 | 
			
		||||
@@ -514,10 +514,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
 | 
			
		||||
         // surfaces as they are not following the correct mode.
 | 
			
		||||
         DisableGpuCompositing(compositor.get());
 | 
			
		||||
       }
 | 
			
		||||
@@ -13,14 +13,16 @@ index 2775fd430e02..f066901641e0 100644
 | 
			
		||||
+            compositor.get());
 | 
			
		||||
+      }
 | 
			
		||||
+      if (!output_device) {
 | 
			
		||||
+        output_device = CreateSoftwareOutputDevice(compositor->widget());
 | 
			
		||||
+        output_device = CreateSoftwareOutputDevice(compositor->widget(),
 | 
			
		||||
+                                                   compositor->task_runner());
 | 
			
		||||
+      }
 | 
			
		||||
+
 | 
			
		||||
       display_output_surface =
 | 
			
		||||
           std::make_unique<SoftwareBrowserCompositorOutputSurface>(
 | 
			
		||||
-              CreateSoftwareOutputDevice(compositor->widget()),
 | 
			
		||||
-              CreateSoftwareOutputDevice(compositor->widget(),
 | 
			
		||||
-                                         compositor->task_runner()),
 | 
			
		||||
+              std::move(output_device),
 | 
			
		||||
               std::move(vsync_callback), compositor->task_runner());
 | 
			
		||||
               std::move(vsync_callback));
 | 
			
		||||
     } else {
 | 
			
		||||
       DCHECK(context_provider);
 | 
			
		||||
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
diff --git chrome/browser/download/download_target_determiner.cc chrome/browser/download/download_target_determiner.cc
 | 
			
		||||
index cbc50ff93650..c91171abf5b0 100644
 | 
			
		||||
index 82eee2a72cc4..6e02d9fcce1c 100644
 | 
			
		||||
--- chrome/browser/download/download_target_determiner.cc
 | 
			
		||||
+++ chrome/browser/download/download_target_determiner.cc
 | 
			
		||||
@@ -571,8 +571,8 @@ void IsHandledBySafePlugin(content::ResourceContext* resource_context,
 | 
			
		||||
@@ -77,27 +77,27 @@ index d544c9ec13a3..b15c5b13d902 100644
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
diff --git content/browser/frame_host/navigation_handle_impl.cc content/browser/frame_host/navigation_handle_impl.cc
 | 
			
		||||
index df35ab90fa05..3835d6d76a06 100644
 | 
			
		||||
index b23698013a09..d60eb48c6efd 100644
 | 
			
		||||
--- content/browser/frame_host/navigation_handle_impl.cc
 | 
			
		||||
+++ content/browser/frame_host/navigation_handle_impl.cc
 | 
			
		||||
@@ -380,12 +380,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 RenderFrameHostImpl* NavigationHandleImpl::GetRenderFrameHost() {
 | 
			
		||||
-  // TODO(mkwst): Change this to check against 'READY_TO_COMMIT' once
 | 
			
		||||
-  // ReadyToCommitNavigation is available whether or not PlzNavigate is
 | 
			
		||||
-  // enabled. https://crbug.com/621856
 | 
			
		||||
-  CHECK_GE(state_, WILL_PROCESS_RESPONSE)
 | 
			
		||||
-      << "This accessor should only be called after a response has been "
 | 
			
		||||
-         "delivered for processing.";
 | 
			
		||||
-  // Only allow the RenderFrameHost to be retrieved once it has been set for
 | 
			
		||||
-  // this navigation.  This will happens either at WillProcessResponse time for
 | 
			
		||||
-  // regular navigations or at WillFailRequest time for error pages.
 | 
			
		||||
-  CHECK_GE(state_, WILL_FAIL_REQUEST)
 | 
			
		||||
-      << "This accessor should only be called after a RenderFrameHost has been "
 | 
			
		||||
-         "picked for this navigation.";
 | 
			
		||||
   static_assert(WILL_FAIL_REQUEST < WILL_PROCESS_RESPONSE,
 | 
			
		||||
                 "WillFailRequest state should come before WillProcessResponse");
 | 
			
		||||
   return render_frame_host_;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
diff --git content/browser/frame_host/render_frame_host_impl.cc content/browser/frame_host/render_frame_host_impl.cc
 | 
			
		||||
index f289fb7cfd49..d7512011539b 100644
 | 
			
		||||
index e16c62d0f36d..73698f6847a6 100644
 | 
			
		||||
--- content/browser/frame_host/render_frame_host_impl.cc
 | 
			
		||||
+++ content/browser/frame_host/render_frame_host_impl.cc
 | 
			
		||||
@@ -1551,6 +1551,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
 | 
			
		||||
@@ -1552,6 +1552,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
 | 
			
		||||
   if (GetNavigationHandle()) {
 | 
			
		||||
     GetNavigationHandle()->set_net_error_code(
 | 
			
		||||
         static_cast<net::Error>(params.error_code));
 | 
			
		||||
@@ -105,7 +105,7 @@ index f289fb7cfd49..d7512011539b 100644
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
   frame_tree_node_->navigator()->DidFailProvisionalLoadWithError(this, params);
 | 
			
		||||
@@ -3449,9 +3450,9 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() {
 | 
			
		||||
@@ -3317,9 +3318,9 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() {
 | 
			
		||||
       BrowserThread::GetTaskRunnerForThread(BrowserThread::IO));
 | 
			
		||||
 
 | 
			
		||||
   if (base::FeatureList::IsEnabled(network::features::kNetworkService)) {
 | 
			
		||||
@@ -118,7 +118,7 @@ index f289fb7cfd49..d7512011539b 100644
 | 
			
		||||
     // TODO(https://crbug.com/813479): Investigate why we need to explicitly
 | 
			
		||||
     // specify task runner for BrowserThread::IO here.
 | 
			
		||||
     // Bind calls to the BindRegistry should come on to the IO thread by
 | 
			
		||||
@@ -3724,9 +3725,9 @@ void RenderFrameHostImpl::CommitNavigation(
 | 
			
		||||
@@ -3594,9 +3595,9 @@ void RenderFrameHostImpl::CommitNavigation(
 | 
			
		||||
     // however only do this for cross-document navigations, because the
 | 
			
		||||
     // alternative would be redundant effort.
 | 
			
		||||
     network::mojom::URLLoaderFactoryPtrInfo default_factory_info;
 | 
			
		||||
@@ -131,7 +131,7 @@ index f289fb7cfd49..d7512011539b 100644
 | 
			
		||||
     if (subresource_loader_params &&
 | 
			
		||||
         subresource_loader_params->loader_factory_info.is_valid()) {
 | 
			
		||||
       // If the caller has supplied a default URLLoaderFactory override (for
 | 
			
		||||
@@ -4369,8 +4370,8 @@ void RenderFrameHostImpl::CreateNetworkServiceDefaultFactoryAndObserve(
 | 
			
		||||
@@ -4265,8 +4266,8 @@ void RenderFrameHostImpl::CreateNetworkServiceDefaultFactoryAndObserve(
 | 
			
		||||
   RenderFrameDevToolsAgentHost::WillCreateURLLoaderFactory(
 | 
			
		||||
       this, false /* is_navigation */, false /* is_download */,
 | 
			
		||||
       &default_factory_request);
 | 
			
		||||
@@ -226,10 +226,10 @@ index 7f3ab224bd15..7fb3e94d8756 100644
 | 
			
		||||
                        const std::string& mime_type,
 | 
			
		||||
                        bool* found,
 | 
			
		||||
diff --git content/browser/loader/mime_sniffing_resource_handler.cc content/browser/loader/mime_sniffing_resource_handler.cc
 | 
			
		||||
index 305f48e69dad..8bf94749e7d6 100644
 | 
			
		||||
index bed70acf54df..3985020b3423 100644
 | 
			
		||||
--- content/browser/loader/mime_sniffing_resource_handler.cc
 | 
			
		||||
+++ content/browser/loader/mime_sniffing_resource_handler.cc
 | 
			
		||||
@@ -494,8 +494,8 @@ bool MimeSniffingResourceHandler::CheckForPluginHandler(
 | 
			
		||||
@@ -495,8 +495,8 @@ bool MimeSniffingResourceHandler::CheckForPluginHandler(
 | 
			
		||||
   WebPluginInfo plugin;
 | 
			
		||||
   bool has_plugin = plugin_service_->GetPluginInfo(
 | 
			
		||||
       info->GetChildID(), info->GetRenderFrameID(), info->GetContext(),
 | 
			
		||||
@@ -275,10 +275,10 @@ index 4e11056a3dc9..973ad50975e1 100644
 | 
			
		||||
                      const std::string& mime_type,
 | 
			
		||||
                      bool allow_wildcard,
 | 
			
		||||
diff --git content/common/frame_messages.h content/common/frame_messages.h
 | 
			
		||||
index 1b5b3ad3dbbc..468289370554 100644
 | 
			
		||||
index f6d2a1f492f3..6cdeb0aa8bcb 100644
 | 
			
		||||
--- content/common/frame_messages.h
 | 
			
		||||
+++ content/common/frame_messages.h
 | 
			
		||||
@@ -1384,8 +1384,9 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
 | 
			
		||||
@@ -1393,8 +1393,9 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
 | 
			
		||||
 
 | 
			
		||||
 // Used to get the list of plugins. |main_frame_origin| is used to handle
 | 
			
		||||
 // exceptions for plugin content settings.
 | 
			
		||||
@@ -289,7 +289,7 @@ index 1b5b3ad3dbbc..468289370554 100644
 | 
			
		||||
                             url::Origin /* main_frame_origin */,
 | 
			
		||||
                             std::vector<content::WebPluginInfo> /* plugins */)
 | 
			
		||||
 
 | 
			
		||||
@@ -1393,9 +1394,10 @@ IPC_SYNC_MESSAGE_CONTROL2_1(FrameHostMsg_GetPlugins,
 | 
			
		||||
@@ -1402,9 +1403,10 @@ IPC_SYNC_MESSAGE_CONTROL2_1(FrameHostMsg_GetPlugins,
 | 
			
		||||
 // type. If there is no matching plugin, |found| is false.
 | 
			
		||||
 // |actual_mime_type| is the actual mime type supported by the
 | 
			
		||||
 // found plugin.
 | 
			
		||||
@@ -302,10 +302,10 @@ index 1b5b3ad3dbbc..468289370554 100644
 | 
			
		||||
                             std::string /* mime_type */,
 | 
			
		||||
                             bool /* found */,
 | 
			
		||||
diff --git content/ppapi_plugin/ppapi_blink_platform_impl.cc content/ppapi_plugin/ppapi_blink_platform_impl.cc
 | 
			
		||||
index 0128170c0aa0..0b5e4afcd91c 100644
 | 
			
		||||
index cdfffa0cab11..5b61d86d5d42 100644
 | 
			
		||||
--- content/ppapi_plugin/ppapi_blink_platform_impl.cc
 | 
			
		||||
+++ content/ppapi_plugin/ppapi_blink_platform_impl.cc
 | 
			
		||||
@@ -194,6 +194,7 @@ blink::WebThemeEngine* PpapiBlinkPlatformImpl::ThemeEngine() {
 | 
			
		||||
@@ -189,6 +189,7 @@ blink::WebThemeEngine* PpapiBlinkPlatformImpl::ThemeEngine() {
 | 
			
		||||
 
 | 
			
		||||
 void PpapiBlinkPlatformImpl::GetPluginList(
 | 
			
		||||
     bool refresh,
 | 
			
		||||
@@ -314,10 +314,10 @@ index 0128170c0aa0..0b5e4afcd91c 100644
 | 
			
		||||
     blink::WebPluginListBuilder* builder) {
 | 
			
		||||
   NOTREACHED();
 | 
			
		||||
diff --git content/ppapi_plugin/ppapi_blink_platform_impl.h content/ppapi_plugin/ppapi_blink_platform_impl.h
 | 
			
		||||
index 676ce592da16..acb36c5b2a5f 100644
 | 
			
		||||
index 5f245c7d85d3..a6546c33f6f4 100644
 | 
			
		||||
--- content/ppapi_plugin/ppapi_blink_platform_impl.h
 | 
			
		||||
+++ content/ppapi_plugin/ppapi_blink_platform_impl.h
 | 
			
		||||
@@ -39,6 +39,7 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImpl {
 | 
			
		||||
@@ -38,6 +38,7 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImpl {
 | 
			
		||||
   blink::WebString DefaultLocale() override;
 | 
			
		||||
   blink::WebThemeEngine* ThemeEngine() override;
 | 
			
		||||
   void GetPluginList(bool refresh,
 | 
			
		||||
@@ -350,10 +350,10 @@ index 3b610b1f554e..7c439e060779 100644
 | 
			
		||||
                                  WebPluginInfo* plugin) = 0;
 | 
			
		||||
 
 | 
			
		||||
diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h
 | 
			
		||||
index e62a17b09f8e..f57d547d9e1a 100644
 | 
			
		||||
index 59aba6d7b4a2..ee51dd460f32 100644
 | 
			
		||||
--- content/public/renderer/content_renderer_client.h
 | 
			
		||||
+++ content/public/renderer/content_renderer_client.h
 | 
			
		||||
@@ -77,6 +77,9 @@ class CONTENT_EXPORT ContentRendererClient {
 | 
			
		||||
@@ -76,6 +76,9 @@ class CONTENT_EXPORT ContentRendererClient {
 | 
			
		||||
   // Notifies us that the RenderThread has been created.
 | 
			
		||||
   virtual void RenderThreadStarted() {}
 | 
			
		||||
 
 | 
			
		||||
@@ -363,7 +363,7 @@ index e62a17b09f8e..f57d547d9e1a 100644
 | 
			
		||||
   // Notifies that a new RenderFrame has been created.
 | 
			
		||||
   virtual void RenderFrameCreated(RenderFrame* render_frame) {}
 | 
			
		||||
 
 | 
			
		||||
@@ -363,6 +366,10 @@ class CONTENT_EXPORT ContentRendererClient {
 | 
			
		||||
@@ -358,6 +361,10 @@ class CONTENT_EXPORT ContentRendererClient {
 | 
			
		||||
   // This method may invalidate the frame.
 | 
			
		||||
   virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {}
 | 
			
		||||
 
 | 
			
		||||
@@ -389,10 +389,10 @@ index 74a031ad10c3..3b3f9e292f4b 100644
 | 
			
		||||
   virtual void FocusedNodeChanged(const blink::WebNode& node) {}
 | 
			
		||||
 
 | 
			
		||||
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
 | 
			
		||||
index cba2c9ccd1d6..c2b272dee124 100644
 | 
			
		||||
index 013bc7b2833b..8789a6b3a4e8 100644
 | 
			
		||||
--- content/renderer/render_frame_impl.cc
 | 
			
		||||
+++ content/renderer/render_frame_impl.cc
 | 
			
		||||
@@ -3273,7 +3273,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
 | 
			
		||||
@@ -3250,7 +3250,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
 | 
			
		||||
   std::string mime_type;
 | 
			
		||||
   bool found = false;
 | 
			
		||||
   Send(new FrameHostMsg_GetPluginInfo(
 | 
			
		||||
@@ -402,7 +402,7 @@ index cba2c9ccd1d6..c2b272dee124 100644
 | 
			
		||||
       params.mime_type.Utf8(), &found, &info, &mime_type));
 | 
			
		||||
   if (!found)
 | 
			
		||||
     return nullptr;
 | 
			
		||||
@@ -3638,6 +3639,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
 | 
			
		||||
@@ -3606,6 +3607,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
 | 
			
		||||
 
 | 
			
		||||
 void RenderFrameImpl::FrameFocused() {
 | 
			
		||||
   Send(new FrameHostMsg_FrameFocused(routing_id_));
 | 
			
		||||
@@ -412,10 +412,10 @@ index cba2c9ccd1d6..c2b272dee124 100644
 | 
			
		||||
 
 | 
			
		||||
 void RenderFrameImpl::WillCommitProvisionalLoad() {
 | 
			
		||||
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
 | 
			
		||||
index 03b9de4df7e9..db2e2407b6b1 100644
 | 
			
		||||
index 64d044cafe64..78d24df85614 100644
 | 
			
		||||
--- content/renderer/render_thread_impl.cc
 | 
			
		||||
+++ content/renderer/render_thread_impl.cc
 | 
			
		||||
@@ -893,6 +893,8 @@ void RenderThreadImpl::Init(
 | 
			
		||||
@@ -884,6 +884,8 @@ void RenderThreadImpl::Init(
 | 
			
		||||
 
 | 
			
		||||
   StartServiceManagerConnection();
 | 
			
		||||
 
 | 
			
		||||
@@ -425,10 +425,10 @@ index 03b9de4df7e9..db2e2407b6b1 100644
 | 
			
		||||
       base::Bind(&RenderThreadImpl::OnRendererInterfaceRequest,
 | 
			
		||||
                  base::Unretained(this)));
 | 
			
		||||
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
 | 
			
		||||
index 23d5d95ecd03..609fd81e7c27 100644
 | 
			
		||||
index 14d17e4257f4..65362ec1c609 100644
 | 
			
		||||
--- content/renderer/renderer_blink_platform_impl.cc
 | 
			
		||||
+++ content/renderer/renderer_blink_platform_impl.cc
 | 
			
		||||
@@ -788,6 +788,7 @@ RendererBlinkPlatformImpl::CreateMIDIAccessor(
 | 
			
		||||
@@ -764,6 +764,7 @@ RendererBlinkPlatformImpl::CreateMIDIAccessor(
 | 
			
		||||
 
 | 
			
		||||
 void RendererBlinkPlatformImpl::GetPluginList(
 | 
			
		||||
     bool refresh,
 | 
			
		||||
@@ -436,7 +436,7 @@ index 23d5d95ecd03..609fd81e7c27 100644
 | 
			
		||||
     const blink::WebSecurityOrigin& mainFrameOrigin,
 | 
			
		||||
     blink::WebPluginListBuilder* builder) {
 | 
			
		||||
 #if BUILDFLAG(ENABLE_PLUGINS)
 | 
			
		||||
@@ -795,7 +796,8 @@ void RendererBlinkPlatformImpl::GetPluginList(
 | 
			
		||||
@@ -771,7 +772,8 @@ void RendererBlinkPlatformImpl::GetPluginList(
 | 
			
		||||
   if (!plugin_refresh_allowed_)
 | 
			
		||||
     refresh = false;
 | 
			
		||||
   RenderThread::Get()->Send(
 | 
			
		||||
@@ -446,7 +446,7 @@ index 23d5d95ecd03..609fd81e7c27 100644
 | 
			
		||||
   for (const WebPluginInfo& plugin : plugins) {
 | 
			
		||||
     builder->AddPlugin(WebString::FromUTF16(plugin.name),
 | 
			
		||||
                        WebString::FromUTF16(plugin.desc),
 | 
			
		||||
@@ -1329,6 +1331,14 @@ void RendererBlinkPlatformImpl::RequestPurgeMemory() {
 | 
			
		||||
@@ -1287,6 +1289,14 @@ void RendererBlinkPlatformImpl::RequestPurgeMemory() {
 | 
			
		||||
   base::MemoryCoordinatorClientRegistry::GetInstance()->PurgeMemory();
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -462,10 +462,10 @@ index 23d5d95ecd03..609fd81e7c27 100644
 | 
			
		||||
   if (!web_database_host_) {
 | 
			
		||||
     web_database_host_ = blink::mojom::ThreadSafeWebDatabaseHostPtr::Create(
 | 
			
		||||
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
 | 
			
		||||
index 43df1974aee9..22e5bcae18a2 100644
 | 
			
		||||
index 325f0382d858..d3eab3839f9a 100644
 | 
			
		||||
--- content/renderer/renderer_blink_platform_impl.h
 | 
			
		||||
+++ content/renderer/renderer_blink_platform_impl.h
 | 
			
		||||
@@ -124,6 +124,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
 | 
			
		||||
@@ -120,6 +120,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
 | 
			
		||||
   viz::FrameSinkId GenerateFrameSinkId() override;
 | 
			
		||||
 
 | 
			
		||||
   void GetPluginList(bool refresh,
 | 
			
		||||
@@ -473,7 +473,7 @@ index 43df1974aee9..22e5bcae18a2 100644
 | 
			
		||||
                      const blink::WebSecurityOrigin& mainFrameOrigin,
 | 
			
		||||
                      blink::WebPluginListBuilder* builder) override;
 | 
			
		||||
   blink::WebPublicSuffixList* PublicSuffixList() override;
 | 
			
		||||
@@ -247,6 +248,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
 | 
			
		||||
@@ -239,6 +240,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
 | 
			
		||||
       mojo::ScopedDataPipeConsumerHandle handle) override;
 | 
			
		||||
   void RequestPurgeMemory() override;
 | 
			
		||||
 
 | 
			
		||||
@@ -532,10 +532,10 @@ index 84bed37848d9..1a66c0757437 100644
 | 
			
		||||
                      const std::string& mime_type,
 | 
			
		||||
                      bool allow_wildcard,
 | 
			
		||||
diff --git content/test/test_blink_web_unit_test_support.cc content/test/test_blink_web_unit_test_support.cc
 | 
			
		||||
index a681ff9fe740..9cec8e2f19cd 100644
 | 
			
		||||
index 5b474d9f8c65..33be6755d2ea 100644
 | 
			
		||||
--- content/test/test_blink_web_unit_test_support.cc
 | 
			
		||||
+++ content/test/test_blink_web_unit_test_support.cc
 | 
			
		||||
@@ -310,6 +310,7 @@ blink::WebThread* TestBlinkWebUnitTestSupport::CurrentThread() {
 | 
			
		||||
@@ -338,6 +338,7 @@ blink::WebThread* TestBlinkWebUnitTestSupport::CurrentThread() {
 | 
			
		||||
 
 | 
			
		||||
 void TestBlinkWebUnitTestSupport::GetPluginList(
 | 
			
		||||
     bool refresh,
 | 
			
		||||
@@ -544,10 +544,10 @@ index a681ff9fe740..9cec8e2f19cd 100644
 | 
			
		||||
     blink::WebPluginListBuilder* builder) {
 | 
			
		||||
   builder->AddPlugin("pdf", "pdf", "pdf-files", SkColorSetRGB(38, 38, 38));
 | 
			
		||||
diff --git content/test/test_blink_web_unit_test_support.h content/test/test_blink_web_unit_test_support.h
 | 
			
		||||
index 869f24db0169..d35ca78e1fad 100644
 | 
			
		||||
index 3e9fdf28d72f..94880b599ada 100644
 | 
			
		||||
--- content/test/test_blink_web_unit_test_support.h
 | 
			
		||||
+++ content/test/test_blink_web_unit_test_support.h
 | 
			
		||||
@@ -63,6 +63,7 @@ class TestBlinkWebUnitTestSupport : public BlinkPlatformImpl {
 | 
			
		||||
@@ -62,6 +62,7 @@ class TestBlinkWebUnitTestSupport : public BlinkPlatformImpl {
 | 
			
		||||
   blink::WebThread* CurrentThread() override;
 | 
			
		||||
 
 | 
			
		||||
   void GetPluginList(bool refresh,
 | 
			
		||||
 
 | 
			
		||||
@@ -127,7 +127,7 @@ index fdc51ab22807..cb0a99dd190c 100644
 | 
			
		||||
   g_crash_helper_enabled = true;
 | 
			
		||||
   return true;
 | 
			
		||||
diff --git components/crash/content/app/breakpad_linux.cc components/crash/content/app/breakpad_linux.cc
 | 
			
		||||
index e57c54b9cf6c..caee714efe38 100644
 | 
			
		||||
index 76f15cb5b511..7cf4cb636a2e 100644
 | 
			
		||||
--- components/crash/content/app/breakpad_linux.cc
 | 
			
		||||
+++ components/crash/content/app/breakpad_linux.cc
 | 
			
		||||
@@ -28,6 +28,7 @@
 | 
			
		||||
@@ -155,7 +155,7 @@ index e57c54b9cf6c..caee714efe38 100644
 | 
			
		||||
   info.process_start_time = g_process_start_time;
 | 
			
		||||
   info.oom_size = base::g_oom_size;
 | 
			
		||||
   info.pid = g_pid;
 | 
			
		||||
@@ -1342,7 +1344,7 @@ void ExecUploadProcessOrTerminate(const BreakpadInfo& info,
 | 
			
		||||
@@ -1341,7 +1343,7 @@ void ExecUploadProcessOrTerminate(const BreakpadInfo& info,
 | 
			
		||||
     header_content_encoding,
 | 
			
		||||
     header_content_type,
 | 
			
		||||
     post_file,
 | 
			
		||||
@@ -164,7 +164,7 @@ index e57c54b9cf6c..caee714efe38 100644
 | 
			
		||||
     "--timeout=10",  // Set a timeout so we don't hang forever.
 | 
			
		||||
     "--tries=1",     // Don't retry if the upload fails.
 | 
			
		||||
     "-O",  // Output reply to the file descriptor path.
 | 
			
		||||
@@ -1682,10 +1684,19 @@ void HandleCrashDump(const BreakpadInfo& info) {
 | 
			
		||||
@@ -1681,10 +1683,19 @@ void HandleCrashDump(const BreakpadInfo& info) {
 | 
			
		||||
     GetCrashReporterClient()->GetProductNameAndVersion(&product_name, &version);
 | 
			
		||||
 
 | 
			
		||||
     writer.AddBoundary();
 | 
			
		||||
@@ -186,7 +186,7 @@ index e57c54b9cf6c..caee714efe38 100644
 | 
			
		||||
     if (info.pid > 0) {
 | 
			
		||||
       char pid_value_buf[kUint64StringSize];
 | 
			
		||||
       uint64_t pid_value_len = my_uint64_len(info.pid);
 | 
			
		||||
@@ -1803,10 +1814,20 @@ void HandleCrashDump(const BreakpadInfo& info) {
 | 
			
		||||
@@ -1802,10 +1813,20 @@ void HandleCrashDump(const BreakpadInfo& info) {
 | 
			
		||||
         crash_reporter::internal::TransitionalCrashKeyStorage;
 | 
			
		||||
     CrashKeyStorage::Iterator crash_key_iterator(*info.crash_keys);
 | 
			
		||||
     const CrashKeyStorage::Entry* entry;
 | 
			
		||||
@@ -208,7 +208,7 @@ index e57c54b9cf6c..caee714efe38 100644
 | 
			
		||||
       writer.AddBoundary();
 | 
			
		||||
       writer.Flush();
 | 
			
		||||
     }
 | 
			
		||||
@@ -2016,6 +2037,17 @@ void SetChannelCrashKey(const std::string& channel) {
 | 
			
		||||
@@ -2015,6 +2036,17 @@ void SetChannelCrashKey(const std::string& channel) {
 | 
			
		||||
   channel_key.Set(channel);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -241,7 +241,7 @@ index 9ee85554812c..7af55ddda8fe 100644
 | 
			
		||||
 extern void InitCrashKeysForTesting();
 | 
			
		||||
 
 | 
			
		||||
diff --git components/crash/content/app/crash_reporter_client.cc components/crash/content/app/crash_reporter_client.cc
 | 
			
		||||
index 4ec26a2a487a..0eba6a25009c 100644
 | 
			
		||||
index 464fe2efc0db..dcc8d69bdd3a 100644
 | 
			
		||||
--- components/crash/content/app/crash_reporter_client.cc
 | 
			
		||||
+++ components/crash/content/app/crash_reporter_client.cc
 | 
			
		||||
@@ -88,7 +88,7 @@ int CrashReporterClient::GetResultCodeRespawnFailed() {
 | 
			
		||||
@@ -253,9 +253,9 @@ index 4ec26a2a487a..0eba6a25009c 100644
 | 
			
		||||
 void CrashReporterClient::GetProductNameAndVersion(const char** product_name,
 | 
			
		||||
                                                    const char** version) {
 | 
			
		||||
 }
 | 
			
		||||
@@ -97,6 +97,7 @@ void CrashReporterClient::GetProductNameAndVersion(const char** product_name,
 | 
			
		||||
                                                    const char** version,
 | 
			
		||||
                                                    const char** channel) {}
 | 
			
		||||
@@ -97,6 +97,7 @@ void CrashReporterClient::GetProductNameAndVersion(std::string* product_name,
 | 
			
		||||
                                                    std::string* version,
 | 
			
		||||
                                                    std::string* channel) {}
 | 
			
		||||
 
 | 
			
		||||
+#if !defined(OS_MACOSX)
 | 
			
		||||
 base::FilePath CrashReporterClient::GetReporterLogFilename() {
 | 
			
		||||
@@ -318,7 +318,7 @@ index 4ec26a2a487a..0eba6a25009c 100644
 | 
			
		||||
 
 | 
			
		||||
 }  // namespace crash_reporter
 | 
			
		||||
diff --git components/crash/content/app/crash_reporter_client.h components/crash/content/app/crash_reporter_client.h
 | 
			
		||||
index 94cdee55b87c..4612a6a6461a 100644
 | 
			
		||||
index e6a09126bdb9..8052e323a5e3 100644
 | 
			
		||||
--- components/crash/content/app/crash_reporter_client.h
 | 
			
		||||
+++ components/crash/content/app/crash_reporter_client.h
 | 
			
		||||
@@ -5,7 +5,9 @@
 | 
			
		||||
@@ -341,8 +341,8 @@ index 94cdee55b87c..4612a6a6461a 100644
 | 
			
		||||
   // in the crash report. Neither out parameter should be set to NULL.
 | 
			
		||||
   // TODO(jperaza): Remove the 2-parameter overload of this method once all
 | 
			
		||||
@@ -102,6 +104,7 @@ class CrashReporterClient {
 | 
			
		||||
                                         const char** version,
 | 
			
		||||
                                         const char** channel);
 | 
			
		||||
                                         std::string* version,
 | 
			
		||||
                                         std::string* channel);
 | 
			
		||||
 
 | 
			
		||||
+#if !defined(OS_MACOSX)
 | 
			
		||||
   virtual base::FilePath GetReporterLogFilename();
 | 
			
		||||
@@ -388,7 +388,7 @@ index 94cdee55b87c..4612a6a6461a 100644
 | 
			
		||||
 
 | 
			
		||||
 }  // namespace crash_reporter
 | 
			
		||||
diff --git components/crash/content/app/crashpad.cc components/crash/content/app/crashpad.cc
 | 
			
		||||
index a5f6b2e6f423..b3892d3743ff 100644
 | 
			
		||||
index c6a98292bb5e..7cf360d3b340 100644
 | 
			
		||||
--- components/crash/content/app/crashpad.cc
 | 
			
		||||
+++ components/crash/content/app/crashpad.cc
 | 
			
		||||
@@ -147,7 +147,8 @@ void InitializeCrashpadImpl(bool initial_client,
 | 
			
		||||
@@ -402,7 +402,7 @@ index a5f6b2e6f423..b3892d3743ff 100644
 | 
			
		||||
         ->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled);
 | 
			
		||||
   }
 | 
			
		||||
diff --git components/crash/content/app/crashpad_mac.mm components/crash/content/app/crashpad_mac.mm
 | 
			
		||||
index eb82f44053ce..73cfcc15998d 100644
 | 
			
		||||
index 91aaa801f951..1f138f38487d 100644
 | 
			
		||||
--- components/crash/content/app/crashpad_mac.mm
 | 
			
		||||
+++ components/crash/content/app/crashpad_mac.mm
 | 
			
		||||
@@ -16,11 +16,14 @@
 | 
			
		||||
@@ -420,7 +420,7 @@ index eb82f44053ce..73cfcc15998d 100644
 | 
			
		||||
 #include "third_party/crashpad/crashpad/client/crash_report_database.h"
 | 
			
		||||
 #include "third_party/crashpad/crashpad/client/crashpad_client.h"
 | 
			
		||||
 #include "third_party/crashpad/crashpad/client/crashpad_info.h"
 | 
			
		||||
@@ -42,9 +45,10 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client,
 | 
			
		||||
@@ -73,9 +76,10 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client,
 | 
			
		||||
 
 | 
			
		||||
   if (initial_client) {
 | 
			
		||||
     @autoreleasepool {
 | 
			
		||||
@@ -434,7 +434,7 @@ index eb82f44053ce..73cfcc15998d 100644
 | 
			
		||||
 
 | 
			
		||||
       // Is there a way to recover if this fails?
 | 
			
		||||
       CrashReporterClient* crash_reporter_client = GetCrashReporterClient();
 | 
			
		||||
@@ -56,16 +60,27 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client,
 | 
			
		||||
@@ -87,16 +91,27 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client,
 | 
			
		||||
       // crash server won't have symbols for any other build types.
 | 
			
		||||
       std::string url = "https://clients2.google.com/cr/report";
 | 
			
		||||
 #else
 | 
			
		||||
@@ -467,7 +467,7 @@ index eb82f44053ce..73cfcc15998d 100644
 | 
			
		||||
 
 | 
			
		||||
 #if defined(GOOGLE_CHROME_BUILD)
 | 
			
		||||
       // Empty means stable.
 | 
			
		||||
@@ -81,12 +96,16 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client,
 | 
			
		||||
@@ -112,12 +127,16 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client,
 | 
			
		||||
         process_annotations["channel"] = "";
 | 
			
		||||
       }
 | 
			
		||||
 
 | 
			
		||||
@@ -489,7 +489,7 @@ index eb82f44053ce..73cfcc15998d 100644
 | 
			
		||||
 
 | 
			
		||||
       std::vector<std::string> arguments;
 | 
			
		||||
 
 | 
			
		||||
@@ -108,6 +127,12 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client,
 | 
			
		||||
@@ -139,6 +158,12 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client,
 | 
			
		||||
             "--reset-own-crash-exception-port-to-system-default");
 | 
			
		||||
       }
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -146,7 +146,7 @@ index a2b0c74636f4..01370fdc20d9 100644
 | 
			
		||||
   struct Data;
 | 
			
		||||
 
 | 
			
		||||
diff --git third_party/crashpad/crashpad/handler/BUILD.gn third_party/crashpad/crashpad/handler/BUILD.gn
 | 
			
		||||
index 78a4b092d8a8..c2d3acfab889 100644
 | 
			
		||||
index f94e4e744e96..91786643298f 100644
 | 
			
		||||
--- third_party/crashpad/crashpad/handler/BUILD.gn
 | 
			
		||||
+++ third_party/crashpad/crashpad/handler/BUILD.gn
 | 
			
		||||
@@ -12,6 +12,7 @@
 | 
			
		||||
@@ -243,7 +243,7 @@ index 2ec1147d2620..8ff9a72e0bd7 100644
 | 
			
		||||
   //! \brief Calls ProcessPendingReports() in response to ReportPending() having
 | 
			
		||||
   //!     been called on any thread, as well as periodically on a timer.
 | 
			
		||||
diff --git third_party/crashpad/crashpad/handler/handler_main.cc third_party/crashpad/crashpad/handler/handler_main.cc
 | 
			
		||||
index dd7adf6503fd..4ae51a58aa6e 100644
 | 
			
		||||
index 70192cf4dd47..37a4380c65ba 100644
 | 
			
		||||
--- third_party/crashpad/crashpad/handler/handler_main.cc
 | 
			
		||||
+++ third_party/crashpad/crashpad/handler/handler_main.cc
 | 
			
		||||
@@ -36,8 +36,10 @@
 | 
			
		||||
@@ -257,7 +257,7 @@ index dd7adf6503fd..4ae51a58aa6e 100644
 | 
			
		||||
 #include "client/crash_report_database.h"
 | 
			
		||||
 #include "client/crashpad_client.h"
 | 
			
		||||
 #include "client/crashpad_info.h"
 | 
			
		||||
@@ -90,6 +92,10 @@
 | 
			
		||||
@@ -93,6 +95,10 @@
 | 
			
		||||
 #include "handler/linux/exception_handler_server.h"
 | 
			
		||||
 #endif  // OS_MACOSX
 | 
			
		||||
 
 | 
			
		||||
@@ -268,7 +268,7 @@ index dd7adf6503fd..4ae51a58aa6e 100644
 | 
			
		||||
 namespace crashpad {
 | 
			
		||||
 
 | 
			
		||||
 namespace {
 | 
			
		||||
@@ -173,6 +179,9 @@ struct Options {
 | 
			
		||||
@@ -176,6 +182,9 @@ struct Options {
 | 
			
		||||
   bool periodic_tasks;
 | 
			
		||||
   bool rate_limit;
 | 
			
		||||
   bool upload_gzip;
 | 
			
		||||
@@ -278,7 +278,7 @@ index dd7adf6503fd..4ae51a58aa6e 100644
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 // Splits |key_value| on '=' and inserts the resulting key and value into |map|.
 | 
			
		||||
@@ -532,6 +541,9 @@ int HandlerMain(int argc,
 | 
			
		||||
@@ -537,6 +546,9 @@ int HandlerMain(int argc,
 | 
			
		||||
     kOptionInitialClientFD,
 | 
			
		||||
 #endif
 | 
			
		||||
     kOptionURL,
 | 
			
		||||
@@ -288,7 +288,7 @@ index dd7adf6503fd..4ae51a58aa6e 100644
 | 
			
		||||
 
 | 
			
		||||
     // Standard options.
 | 
			
		||||
     kOptionHelp = -2,
 | 
			
		||||
@@ -589,6 +601,9 @@ int HandlerMain(int argc,
 | 
			
		||||
@@ -594,6 +606,9 @@ int HandlerMain(int argc,
 | 
			
		||||
     {"url", required_argument, nullptr, kOptionURL},
 | 
			
		||||
     {"help", no_argument, nullptr, kOptionHelp},
 | 
			
		||||
     {"version", no_argument, nullptr, kOptionVersion},
 | 
			
		||||
@@ -298,7 +298,7 @@ index dd7adf6503fd..4ae51a58aa6e 100644
 | 
			
		||||
     {nullptr, 0, nullptr, 0},
 | 
			
		||||
   };
 | 
			
		||||
 
 | 
			
		||||
@@ -714,6 +729,27 @@ int HandlerMain(int argc,
 | 
			
		||||
@@ -719,6 +734,27 @@ int HandlerMain(int argc,
 | 
			
		||||
         options.url = optarg;
 | 
			
		||||
         break;
 | 
			
		||||
       }
 | 
			
		||||
@@ -326,7 +326,7 @@ index dd7adf6503fd..4ae51a58aa6e 100644
 | 
			
		||||
       case kOptionHelp: {
 | 
			
		||||
         Usage(me);
 | 
			
		||||
         MetricsRecordExit(Metrics::LifetimeMilestone::kExitedEarly);
 | 
			
		||||
@@ -822,8 +858,14 @@ int HandlerMain(int argc,
 | 
			
		||||
@@ -827,8 +863,14 @@ int HandlerMain(int argc,
 | 
			
		||||
     upload_thread_options.upload_gzip = options.upload_gzip;
 | 
			
		||||
     upload_thread_options.watch_pending_reports = options.periodic_tasks;
 | 
			
		||||
 
 | 
			
		||||
@@ -341,7 +341,7 @@ index dd7adf6503fd..4ae51a58aa6e 100644
 | 
			
		||||
     upload_thread.Get()->Start();
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
@@ -844,7 +886,8 @@ int HandlerMain(int argc,
 | 
			
		||||
@@ -849,7 +891,8 @@ int HandlerMain(int argc,
 | 
			
		||||
   ScopedStoppable prune_thread;
 | 
			
		||||
   if (options.periodic_tasks) {
 | 
			
		||||
     prune_thread.Reset(new PruneCrashReportThread(
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc
 | 
			
		||||
index cae7c566146e..95b4c23c53c9 100644
 | 
			
		||||
index c9187e774953..72dc4a43c3f0 100644
 | 
			
		||||
--- content/browser/devtools/devtools_http_handler.cc
 | 
			
		||||
+++ content/browser/devtools/devtools_http_handler.cc
 | 
			
		||||
@@ -564,7 +564,7 @@ void DevToolsHttpHandler::OnJsonRequest(
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@ index 53c7404ef1f9..ac33df7cfe0e 100644
 | 
			
		||||
   auto* browser_context = web_contents->GetBrowserContext();
 | 
			
		||||
   StreamsPrivateAPI* streams_private = GetStreamsPrivateAPI(browser_context);
 | 
			
		||||
diff --git content/browser/frame_host/render_frame_host_manager.cc content/browser/frame_host/render_frame_host_manager.cc
 | 
			
		||||
index 73b66a56be83..3f60cbf1a727 100644
 | 
			
		||||
index 7f6e27181267..26080b6d61e0 100644
 | 
			
		||||
--- content/browser/frame_host/render_frame_host_manager.cc
 | 
			
		||||
+++ content/browser/frame_host/render_frame_host_manager.cc
 | 
			
		||||
@@ -897,10 +897,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation(
 | 
			
		||||
@@ -57,10 +57,10 @@ index 73b66a56be83..3f60cbf1a727 100644
 | 
			
		||||
   // If |new_instance| is a new SiteInstance for a subframe that requires a
 | 
			
		||||
   // dedicated process, set its process reuse policy so that such subframes are
 | 
			
		||||
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
 | 
			
		||||
index 2dc3bf7a8006..034598edfada 100644
 | 
			
		||||
index d6799f4e2d07..d8b3cc177c44 100644
 | 
			
		||||
--- content/public/browser/content_browser_client.h
 | 
			
		||||
+++ content/public/browser/content_browser_client.h
 | 
			
		||||
@@ -371,6 +371,13 @@ class CONTENT_EXPORT ContentBrowserClient {
 | 
			
		||||
@@ -372,6 +372,13 @@ class CONTENT_EXPORT ContentBrowserClient {
 | 
			
		||||
   // Returns true if error page should be isolated in its own process.
 | 
			
		||||
   virtual bool ShouldIsolateErrorPage(bool in_main_frame);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git .gn .gn
 | 
			
		||||
index 36b54aca866c..06337f3f3086 100644
 | 
			
		||||
index 65c8804cc47c..f3a9a704abec 100644
 | 
			
		||||
--- .gn
 | 
			
		||||
+++ .gn
 | 
			
		||||
@@ -245,6 +245,8 @@ exec_script_whitelist =
 | 
			
		||||
@@ -246,6 +246,8 @@ exec_script_whitelist =
 | 
			
		||||
       # in the Chromium repo outside of //build.
 | 
			
		||||
       "//build_overrides/build.gni",
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ index 36b54aca866c..06337f3f3086 100644
 | 
			
		||||
       # https://crbug.com/474506.
 | 
			
		||||
       "//clank/java/BUILD.gn",
 | 
			
		||||
diff --git BUILD.gn BUILD.gn
 | 
			
		||||
index 9dec8407e62d..f3355fe8fc3e 100644
 | 
			
		||||
index 29915efe706f..68e11a68576d 100644
 | 
			
		||||
--- BUILD.gn
 | 
			
		||||
+++ BUILD.gn
 | 
			
		||||
@@ -192,6 +192,7 @@ group("gn_all") {
 | 
			
		||||
@@ -55,11 +55,32 @@ index 982fbe8d3f0d..e757be4688f1 100644
 | 
			
		||||
+         "You must set the visual_studio_runtime_dirs if you set the visual " +
 | 
			
		||||
+         "studio path")
 | 
			
		||||
 }
 | 
			
		||||
diff --git build/toolchain/win/BUILD.gn build/toolchain/win/BUILD.gn
 | 
			
		||||
index 4d9d1f45f870..c668f93a50f3 100644
 | 
			
		||||
--- build/toolchain/win/BUILD.gn
 | 
			
		||||
+++ build/toolchain/win/BUILD.gn
 | 
			
		||||
@@ -6,6 +6,7 @@ import("//build/config/clang/clang.gni")
 | 
			
		||||
 import("//build/config/compiler/compiler.gni")
 | 
			
		||||
 import("//build/config/sanitizers/sanitizers.gni")
 | 
			
		||||
 import("//build/config/win/visual_studio_version.gni")
 | 
			
		||||
+import("//build/toolchain/cc_wrapper.gni")
 | 
			
		||||
 import("//build/toolchain/clang_static_analyzer.gni")
 | 
			
		||||
 import("//build/toolchain/goma.gni")
 | 
			
		||||
 import("//build/toolchain/toolchain.gni")
 | 
			
		||||
@@ -28,6 +29,8 @@ if (use_goma) {
 | 
			
		||||
   } else {
 | 
			
		||||
     goma_prefix = "$goma_dir/gomacc "
 | 
			
		||||
   }
 | 
			
		||||
+} else if (cc_wrapper != "") {
 | 
			
		||||
+  goma_prefix = "$cc_wrapper "
 | 
			
		||||
 } else {
 | 
			
		||||
   goma_prefix = ""
 | 
			
		||||
 }
 | 
			
		||||
diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py
 | 
			
		||||
index 5f51eadb13b2..aa7ab8dbb16d 100644
 | 
			
		||||
index d63b131aea35..6aca4e2cc56e 100644
 | 
			
		||||
--- build/toolchain/win/setup_toolchain.py
 | 
			
		||||
+++ build/toolchain/win/setup_toolchain.py
 | 
			
		||||
@@ -134,26 +134,29 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store):
 | 
			
		||||
@@ -134,25 +134,28 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store):
 | 
			
		||||
       # variable.
 | 
			
		||||
       if 'VSINSTALLDIR' in os.environ:
 | 
			
		||||
         del os.environ['VSINSTALLDIR']
 | 
			
		||||
@@ -78,10 +99,9 @@ index 5f51eadb13b2..aa7ab8dbb16d 100644
 | 
			
		||||
-    # Store target must come before any SDK version declaration
 | 
			
		||||
-    if (target_store):
 | 
			
		||||
-      args.append(['store'])
 | 
			
		||||
-    # Chromium requires the 10.0.15063.468 SDK - previous versions don't have
 | 
			
		||||
-    # all of the required declarations and 10.0.16299.0 has some
 | 
			
		||||
-    # incompatibilities (crbug.com/773476).
 | 
			
		||||
-    args.append('10.0.15063.0')
 | 
			
		||||
-    # Chromium requires the 10.0.17134.0 SDK - previous versions don't have
 | 
			
		||||
-    # all of the required declarations.
 | 
			
		||||
-    args.append('10.0.17134.0')
 | 
			
		||||
-    variables = _LoadEnvFromBat(args)
 | 
			
		||||
+      script_path = os.path.normpath(os.path.join(
 | 
			
		||||
+                                         os.environ['GYP_MSVS_OVERRIDE_PATH'],
 | 
			
		||||
@@ -95,10 +115,9 @@ index 5f51eadb13b2..aa7ab8dbb16d 100644
 | 
			
		||||
+      # Store target must come before any SDK version declaration
 | 
			
		||||
+      if (target_store):
 | 
			
		||||
+        args.append(['store'])
 | 
			
		||||
+      # Chromium requires the 10.0.15063.468 SDK - previous versions don't have
 | 
			
		||||
+      # all of the required declarations and 10.0.16299.0 has some
 | 
			
		||||
+      # incompatibilities (crbug.com/773476).
 | 
			
		||||
+      args.append('10.0.15063.0')
 | 
			
		||||
+      # Chromium requires the 10.0.17134.0 SDK - previous versions don't have
 | 
			
		||||
+      # all of the required declarations.
 | 
			
		||||
+      args.append('10.0.17134.0')
 | 
			
		||||
+      variables = _LoadEnvFromBat(args)
 | 
			
		||||
+    else:
 | 
			
		||||
+      variables = []
 | 
			
		||||
@@ -110,7 +129,7 @@ index 5f51eadb13b2..aa7ab8dbb16d 100644
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
diff --git build/vs_toolchain.py build/vs_toolchain.py
 | 
			
		||||
index d5999f71ca7b..d630585ecd2f 100755
 | 
			
		||||
index 0abf143029cc..7e163f846982 100755
 | 
			
		||||
--- build/vs_toolchain.py
 | 
			
		||||
+++ build/vs_toolchain.py
 | 
			
		||||
@@ -82,11 +82,18 @@ def SetEnvironmentAndGetRuntimeDllDirs():
 | 
			
		||||
@@ -133,10 +152,10 @@ index d5999f71ca7b..d630585ecd2f 100755
 | 
			
		||||
     # directory in order to run binaries locally, but they are needed in order
 | 
			
		||||
     # to create isolates or the mini_installer. Copying them to the output
 | 
			
		||||
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
 | 
			
		||||
index 9c2c9cbddc57..4ff2c6367217 100644
 | 
			
		||||
index fde31eb044ed..b4fd21636719 100644
 | 
			
		||||
--- chrome/chrome_paks.gni
 | 
			
		||||
+++ chrome/chrome_paks.gni
 | 
			
		||||
@@ -259,7 +259,7 @@ template("chrome_paks") {
 | 
			
		||||
@@ -257,7 +257,7 @@ template("chrome_paks") {
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
     input_locales = locales
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git tools/gritsettings/resource_ids tools/gritsettings/resource_ids
 | 
			
		||||
index 7e838ac964fc..184708195c52 100644
 | 
			
		||||
index fc16a42e623e..2dd0879350ee 100644
 | 
			
		||||
--- tools/gritsettings/resource_ids
 | 
			
		||||
+++ tools/gritsettings/resource_ids
 | 
			
		||||
@@ -417,4 +417,11 @@
 | 
			
		||||
@@ -414,4 +414,11 @@
 | 
			
		||||
   # Please read the header and find the right section above instead.
 | 
			
		||||
 
 | 
			
		||||
   # Resource ids starting at 31000 are reserved for projects built on Chromium.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git ui/base/ime/input_method_win_base.cc ui/base/ime/input_method_win_base.cc
 | 
			
		||||
index 1040d54fa088..a5e72467610e 100644
 | 
			
		||||
index 499a1b11d221..39d05334d0af 100644
 | 
			
		||||
--- ui/base/ime/input_method_win_base.cc
 | 
			
		||||
+++ ui/base/ime/input_method_win_base.cc
 | 
			
		||||
@@ -66,8 +66,9 @@ bool InputMethodWinBase::IsWindowFocused(const TextInputClient* client) const {
 | 
			
		||||
@@ -72,8 +72,9 @@ bool InputMethodWinBase::IsWindowFocused(const TextInputClient* client) const {
 | 
			
		||||
   // receiving keyboard input as long as it is an active window. This works well
 | 
			
		||||
   // even when the |attached_window_handle| becomes active but has not received
 | 
			
		||||
   // WM_FOCUS yet.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
 | 
			
		||||
index e4e0775ff9ee..03d4123187cf 100644
 | 
			
		||||
index ed5e65477539..14142d80161e 100644
 | 
			
		||||
--- build/config/compiler/BUILD.gn
 | 
			
		||||
+++ build/config/compiler/BUILD.gn
 | 
			
		||||
@@ -153,7 +153,7 @@ declare_args() {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
diff --git base/message_loop/message_loop_current.h base/message_loop/message_loop_current.h
 | 
			
		||||
index cf30bae0b202..009574ff488b 100644
 | 
			
		||||
index 3631a8ff2b81..988b3edb404b 100644
 | 
			
		||||
--- base/message_loop/message_loop_current.h
 | 
			
		||||
+++ base/message_loop/message_loop_current.h
 | 
			
		||||
@@ -126,6 +126,16 @@ class BASE_EXPORT MessageLoopCurrent {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git net/cert/ct_policy_enforcer.cc net/cert/ct_policy_enforcer.cc
 | 
			
		||||
index 0f7778089273..40111e89a2e0 100644
 | 
			
		||||
--- net/cert/ct_policy_enforcer.cc
 | 
			
		||||
+++ net/cert/ct_policy_enforcer.cc
 | 
			
		||||
@@ -35,15 +35,6 @@ namespace net {
 | 
			
		||||
diff --git components/certificate_transparency/chrome_ct_policy_enforcer.cc components/certificate_transparency/chrome_ct_policy_enforcer.cc
 | 
			
		||||
index a2e2b493def0..c08872260c68 100644
 | 
			
		||||
--- components/certificate_transparency/chrome_ct_policy_enforcer.cc
 | 
			
		||||
+++ components/certificate_transparency/chrome_ct_policy_enforcer.cc
 | 
			
		||||
@@ -36,15 +36,6 @@ namespace certificate_transparency {
 | 
			
		||||
 
 | 
			
		||||
 namespace {
 | 
			
		||||
 
 | 
			
		||||
@@ -18,11 +18,14 @@ index 0f7778089273..40111e89a2e0 100644
 | 
			
		||||
 // Returns a rounded-down months difference of |start| and |end|,
 | 
			
		||||
 // together with an indication of whether the last month was
 | 
			
		||||
 // a full month, because the range starts specified in the policy
 | 
			
		||||
@@ -302,4 +293,13 @@ ct::CTPolicyCompliance CTPolicyEnforcer::CheckCompliance(
 | 
			
		||||
@@ -304,4 +295,16 @@ CTPolicyCompliance ChromeCTPolicyEnforcer::CheckCompliance(
 | 
			
		||||
   return compliance;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
+bool CTPolicyEnforcer::IsBuildTimely() const {
 | 
			
		||||
+// Returns true if the current build is recent enough to ensure that
 | 
			
		||||
+// built-in security information (e.g. CT Logs) is fresh enough.
 | 
			
		||||
+// TODO(eranm): Move to base or net/base
 | 
			
		||||
+bool ChromeCTPolicyEnforcer::IsBuildTimely() const {
 | 
			
		||||
+  if (!enforce_net_security_expiration_)
 | 
			
		||||
+    return true;
 | 
			
		||||
+
 | 
			
		||||
@@ -31,15 +34,15 @@ index 0f7778089273..40111e89a2e0 100644
 | 
			
		||||
+  return (base::Time::Now() - build_time).InDays() < 70 /* 10 weeks */;
 | 
			
		||||
+}
 | 
			
		||||
+
 | 
			
		||||
 }  // namespace net
 | 
			
		||||
diff --git net/cert/ct_policy_enforcer.h net/cert/ct_policy_enforcer.h
 | 
			
		||||
index fb6f4847cfe9..aa4c1cdafb9f 100644
 | 
			
		||||
--- net/cert/ct_policy_enforcer.h
 | 
			
		||||
+++ net/cert/ct_policy_enforcer.h
 | 
			
		||||
@@ -42,6 +42,17 @@ class NET_EXPORT CTPolicyEnforcer {
 | 
			
		||||
       X509Certificate* cert,
 | 
			
		||||
       const SCTList& verified_scts,
 | 
			
		||||
       const NetLogWithSource& net_log);
 | 
			
		||||
 }  // namespace certificate_transparency
 | 
			
		||||
diff --git components/certificate_transparency/chrome_ct_policy_enforcer.h components/certificate_transparency/chrome_ct_policy_enforcer.h
 | 
			
		||||
index f61ff0d0564a..e6727c7b1cbc 100644
 | 
			
		||||
--- components/certificate_transparency/chrome_ct_policy_enforcer.h
 | 
			
		||||
+++ components/certificate_transparency/chrome_ct_policy_enforcer.h
 | 
			
		||||
@@ -26,6 +26,17 @@ class ChromeCTPolicyEnforcer : public net::CTPolicyEnforcer {
 | 
			
		||||
       net::X509Certificate* cert,
 | 
			
		||||
       const net::ct::SCTList& verified_scts,
 | 
			
		||||
       const net::NetLogWithSource& net_log) override;
 | 
			
		||||
+
 | 
			
		||||
+  void set_enforce_net_security_expiration(bool enforce) {
 | 
			
		||||
+    enforce_net_security_expiration_ = enforce;
 | 
			
		||||
@@ -53,12 +56,12 @@ index fb6f4847cfe9..aa4c1cdafb9f 100644
 | 
			
		||||
+  bool enforce_net_security_expiration_ = true;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 }  // namespace net
 | 
			
		||||
 }  // namespace certificate_transparency
 | 
			
		||||
diff --git net/http/transport_security_state.cc net/http/transport_security_state.cc
 | 
			
		||||
index 3802937bc0c4..941cf0007fd6 100644
 | 
			
		||||
index 5177ef21fdfe..5a98b43c9512 100644
 | 
			
		||||
--- net/http/transport_security_state.cc
 | 
			
		||||
+++ net/http/transport_security_state.cc
 | 
			
		||||
@@ -1559,8 +1559,10 @@ void TransportSecurityState::ClearReportCachesForTesting() {
 | 
			
		||||
@@ -1562,8 +1562,10 @@ void TransportSecurityState::ClearReportCachesForTesting() {
 | 
			
		||||
   sent_expect_ct_reports_cache_.Clear();
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
diff --git BUILD.gn BUILD.gn
 | 
			
		||||
index 874a8f7d8..8a11f125c 100644
 | 
			
		||||
index 784642042..ea62b408b 100644
 | 
			
		||||
--- BUILD.gn
 | 
			
		||||
+++ BUILD.gn
 | 
			
		||||
@@ -244,6 +244,10 @@ jumbo_static_library("pdfium") {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h
 | 
			
		||||
index b297eae01757..65b4ac6ded54 100644
 | 
			
		||||
index c241d7b56549..081e1a3c6a81 100644
 | 
			
		||||
--- content/public/common/common_param_traits_macros.h
 | 
			
		||||
+++ content/public/common/common_param_traits_macros.h
 | 
			
		||||
@@ -185,6 +185,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
 | 
			
		||||
@@ -187,6 +187,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
 | 
			
		||||
   IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes)
 | 
			
		||||
   IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
 | 
			
		||||
   IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
 | 
			
		||||
@@ -11,10 +11,10 @@ index b297eae01757..65b4ac6ded54 100644
 | 
			
		||||
   IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop)
 | 
			
		||||
   IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
 | 
			
		||||
diff --git content/public/common/web_preferences.cc content/public/common/web_preferences.cc
 | 
			
		||||
index 53bc2c0a9711..d070118f34cf 100644
 | 
			
		||||
index a288caad850e..b4518162ec1e 100644
 | 
			
		||||
--- content/public/common/web_preferences.cc
 | 
			
		||||
+++ content/public/common/web_preferences.cc
 | 
			
		||||
@@ -174,6 +174,7 @@ WebPreferences::WebPreferences()
 | 
			
		||||
@@ -176,6 +176,7 @@ WebPreferences::WebPreferences()
 | 
			
		||||
       spatial_navigation_enabled(false),
 | 
			
		||||
       use_solid_color_scrollbars(false),
 | 
			
		||||
       navigate_on_drag_drop(true),
 | 
			
		||||
@@ -23,10 +23,10 @@ index 53bc2c0a9711..d070118f34cf 100644
 | 
			
		||||
       record_whole_document(false),
 | 
			
		||||
       save_previous_document_resources(SavePreviousDocumentResources::NEVER),
 | 
			
		||||
diff --git content/public/common/web_preferences.h content/public/common/web_preferences.h
 | 
			
		||||
index e4fc39c60fd7..f19fccf47261 100644
 | 
			
		||||
index a1e9fba06a66..c37d89755744 100644
 | 
			
		||||
--- content/public/common/web_preferences.h
 | 
			
		||||
+++ content/public/common/web_preferences.h
 | 
			
		||||
@@ -190,6 +190,7 @@ struct CONTENT_EXPORT WebPreferences {
 | 
			
		||||
@@ -198,6 +198,7 @@ struct CONTENT_EXPORT WebPreferences {
 | 
			
		||||
   bool spatial_navigation_enabled;
 | 
			
		||||
   bool use_solid_color_scrollbars;
 | 
			
		||||
   bool navigate_on_drag_drop;
 | 
			
		||||
@@ -35,10 +35,10 @@ index e4fc39c60fd7..f19fccf47261 100644
 | 
			
		||||
   bool record_whole_document;
 | 
			
		||||
   SavePreviousDocumentResources save_previous_document_resources;
 | 
			
		||||
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
 | 
			
		||||
index 2533785a1911..3518aba46aef 100644
 | 
			
		||||
index f17c11ec869d..493c8117fb7e 100644
 | 
			
		||||
--- content/renderer/render_view_impl.cc
 | 
			
		||||
+++ content/renderer/render_view_impl.cc
 | 
			
		||||
@@ -1201,6 +1201,7 @@ void RenderViewImpl::ApplyWebPreferencesInternal(
 | 
			
		||||
@@ -1204,6 +1204,7 @@ void RenderViewImpl::ApplyWebPreferencesInternal(
 | 
			
		||||
     blink::WebView* web_view,
 | 
			
		||||
     CompositorDependencies* compositor_deps) {
 | 
			
		||||
   ApplyWebPreferences(prefs, web_view);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
 | 
			
		||||
index e7da097d25f4..8ca569703b26 100644
 | 
			
		||||
index 78dd59c790a9..a7eacdf4c193 100644
 | 
			
		||||
--- chrome/browser/ui/BUILD.gn
 | 
			
		||||
+++ chrome/browser/ui/BUILD.gn
 | 
			
		||||
@@ -892,6 +892,7 @@ split_static_library("ui") {
 | 
			
		||||
@@ -894,6 +894,7 @@ split_static_library("ui") {
 | 
			
		||||
     "//base:i18n",
 | 
			
		||||
     "//base/allocator:buildflags",
 | 
			
		||||
     "//cc/paint",
 | 
			
		||||
@@ -11,7 +11,7 @@ index e7da097d25f4..8ca569703b26 100644
 | 
			
		||||
     "//chrome:resources",
 | 
			
		||||
     "//chrome:strings",
 | 
			
		||||
diff --git chrome/browser/ui/cocoa/applescript/tab_applescript.mm chrome/browser/ui/cocoa/applescript/tab_applescript.mm
 | 
			
		||||
index 33216fef9a1b..c84572425a8d 100644
 | 
			
		||||
index f0a489a0c3af..1bd1259e47e3 100644
 | 
			
		||||
--- chrome/browser/ui/cocoa/applescript/tab_applescript.mm
 | 
			
		||||
+++ chrome/browser/ui/cocoa/applescript/tab_applescript.mm
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
@@ -34,7 +34,7 @@ index 33216fef9a1b..c84572425a8d 100644
 | 
			
		||||
 using content::NavigationController;
 | 
			
		||||
 using content::NavigationEntry;
 | 
			
		||||
 using content::OpenURLParams;
 | 
			
		||||
@@ -231,11 +235,15 @@ void ResumeAppleEventAndSendReply(NSAppleEventManagerSuspensionID suspension_id,
 | 
			
		||||
@@ -233,11 +237,15 @@ void ResumeAppleEventAndSendReply(NSAppleEventManagerSuspensionID suspension_id,
 | 
			
		||||
 
 | 
			
		||||
 - (void)handlesPrintScriptCommand:(NSScriptCommand*)command {
 | 
			
		||||
   AppleScript::LogAppleScriptUMA(AppleScript::AppleScriptCommand::TAB_PRINT);
 | 
			
		||||
@@ -116,10 +116,10 @@ index 006966fd1c58..db9cd49af2a4 100644
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
diff --git components/printing/common/print_messages.cc components/printing/common/print_messages.cc
 | 
			
		||||
index f4647d65aeda..1716d5ce956b 100644
 | 
			
		||||
index 8b6f52b3f80a..d88865648117 100644
 | 
			
		||||
--- components/printing/common/print_messages.cc
 | 
			
		||||
+++ components/printing/common/print_messages.cc
 | 
			
		||||
@@ -150,7 +150,6 @@ PrintMsg_PrintFrame_Params::PrintMsg_PrintFrame_Params() {}
 | 
			
		||||
@@ -140,7 +140,6 @@ PrintMsg_PrintFrame_Params::PrintMsg_PrintFrame_Params() {}
 | 
			
		||||
 
 | 
			
		||||
 PrintMsg_PrintFrame_Params::~PrintMsg_PrintFrame_Params() {}
 | 
			
		||||
 
 | 
			
		||||
@@ -127,7 +127,7 @@ index f4647d65aeda..1716d5ce956b 100644
 | 
			
		||||
 PrintHostMsg_RequestPrintPreview_Params::
 | 
			
		||||
     PrintHostMsg_RequestPrintPreview_Params()
 | 
			
		||||
     : is_modifiable(false),
 | 
			
		||||
@@ -172,4 +171,3 @@ PrintHostMsg_SetOptionsFromDocument_Params::
 | 
			
		||||
@@ -162,4 +161,3 @@ PrintHostMsg_SetOptionsFromDocument_Params::
 | 
			
		||||
 PrintHostMsg_SetOptionsFromDocument_Params::
 | 
			
		||||
     ~PrintHostMsg_SetOptionsFromDocument_Params() {
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,15 +1,17 @@
 | 
			
		||||
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
 | 
			
		||||
index 6a0753f3f3b8..f567fee075e4 100644
 | 
			
		||||
index 64cf9df83085..23745cd77082 100644
 | 
			
		||||
--- content/browser/renderer_host/render_widget_host_view_aura.cc
 | 
			
		||||
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
 | 
			
		||||
@@ -744,9 +744,11 @@ void RenderWidgetHostViewAura::UpdateBackgroundColorFromRenderer(
 | 
			
		||||
     return;
 | 
			
		||||
   background_color_ = color;
 | 
			
		||||
@@ -726,10 +726,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const {
 | 
			
		||||
 void RenderWidgetHostViewAura::UpdateBackgroundColor() {
 | 
			
		||||
   DCHECK(GetBackgroundColor());
 | 
			
		||||
 
 | 
			
		||||
-  SkColor color = *GetBackgroundColor();
 | 
			
		||||
-  bool opaque = SkColorGetA(color) == SK_AlphaOPAQUE;
 | 
			
		||||
-  window_->layer()->SetFillsBoundsOpaquely(opaque);
 | 
			
		||||
-  window_->layer()->SetColor(color);
 | 
			
		||||
+  if (window_) {
 | 
			
		||||
+    SkColor color = *GetBackgroundColor();
 | 
			
		||||
+    bool opaque = SkColorGetA(color) == SK_AlphaOPAQUE;
 | 
			
		||||
+    window_->layer()->SetFillsBoundsOpaquely(opaque);
 | 
			
		||||
+    window_->layer()->SetColor(color);
 | 
			
		||||
@@ -17,7 +19,7 @@ index 6a0753f3f3b8..f567fee075e4 100644
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 void RenderWidgetHostViewAura::WindowTitleChanged() {
 | 
			
		||||
@@ -1935,6 +1937,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
 | 
			
		||||
@@ -1925,6 +1927,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
 | 
			
		||||
   if (frame_sink_id_.is_valid())
 | 
			
		||||
     window_->SetEmbedFrameSinkId(frame_sink_id_);
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -111,10 +111,10 @@ index af7cced24feb..6a228c204912 100644
 | 
			
		||||
   CHECK(GetUserData(kMojoWasInitialized))
 | 
			
		||||
       << "Attempting to destroy a BrowserContext that never called "
 | 
			
		||||
diff --git content/browser/devtools/protocol/network_handler.cc content/browser/devtools/protocol/network_handler.cc
 | 
			
		||||
index 65963b26bb4b..df4ea08a9588 100644
 | 
			
		||||
index 114a65623106..be16268a89f5 100644
 | 
			
		||||
--- content/browser/devtools/protocol/network_handler.cc
 | 
			
		||||
+++ content/browser/devtools/protocol/network_handler.cc
 | 
			
		||||
@@ -889,8 +889,7 @@ class BackgroundSyncRestorer {
 | 
			
		||||
@@ -900,8 +900,7 @@ class BackgroundSyncRestorer {
 | 
			
		||||
     scoped_refptr<ServiceWorkerDevToolsAgentHost> service_worker_host =
 | 
			
		||||
         static_cast<ServiceWorkerDevToolsAgentHost*>(host.get());
 | 
			
		||||
     scoped_refptr<BackgroundSyncContext> sync_context =
 | 
			
		||||
@@ -265,11 +265,11 @@ index b62b8ae7eb8a..3f4d01b03ebb 100644
 | 
			
		||||
 
 | 
			
		||||
   void InterceptNavigationOnChecksComplete(
 | 
			
		||||
       ResourceRequestInfo::WebContentsGetter web_contents_getter,
 | 
			
		||||
diff --git content/browser/loader/navigation_url_loader_network_service.cc content/browser/loader/navigation_url_loader_network_service.cc
 | 
			
		||||
index 3cc782fcc7dd..653706abe893 100644
 | 
			
		||||
--- content/browser/loader/navigation_url_loader_network_service.cc
 | 
			
		||||
+++ content/browser/loader/navigation_url_loader_network_service.cc
 | 
			
		||||
@@ -884,7 +884,7 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
 | 
			
		||||
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
 | 
			
		||||
index 8b06869fa95a..073d006b4e5d 100644
 | 
			
		||||
--- content/browser/loader/navigation_url_loader_impl.cc
 | 
			
		||||
+++ content/browser/loader/navigation_url_loader_impl.cc
 | 
			
		||||
@@ -938,7 +938,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
 | 
			
		||||
     // path does as well for navigations.
 | 
			
		||||
     bool has_plugin = PluginService::GetInstance()->GetPluginInfo(
 | 
			
		||||
         -1 /* render_process_id */, -1 /* render_frame_id */, resource_context_,
 | 
			
		||||
@@ -278,7 +278,7 @@ index 3cc782fcc7dd..653706abe893 100644
 | 
			
		||||
         false /* allow_wildcard */, &stale, &plugin, nullptr);
 | 
			
		||||
 
 | 
			
		||||
     if (stale) {
 | 
			
		||||
@@ -1241,7 +1241,7 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService(
 | 
			
		||||
@@ -1292,7 +1292,7 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl(
 | 
			
		||||
     }
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
@@ -287,7 +287,7 @@ index 3cc782fcc7dd..653706abe893 100644
 | 
			
		||||
   non_network_url_loader_factories_[url::kFileScheme] =
 | 
			
		||||
       std::make_unique<FileURLLoaderFactory>(
 | 
			
		||||
           partition->browser_context()->GetPath(),
 | 
			
		||||
@@ -1255,7 +1255,8 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService(
 | 
			
		||||
@@ -1306,7 +1306,8 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl(
 | 
			
		||||
   DCHECK(!request_controller_);
 | 
			
		||||
   request_controller_ = std::make_unique<URLLoaderRequestController>(
 | 
			
		||||
       std::move(initial_interceptors), std::move(new_request), resource_context,
 | 
			
		||||
@@ -344,10 +344,10 @@ index dd0af046aec4..f5ad5b37c1f3 100644
 | 
			
		||||
       partition->GetPaymentAppContext();
 | 
			
		||||
 
 | 
			
		||||
diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc
 | 
			
		||||
index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
index f41a38484759..3ff02d0fa2e1 100644
 | 
			
		||||
--- content/browser/renderer_host/render_process_host_impl.cc
 | 
			
		||||
+++ content/browser/renderer_host/render_process_host_impl.cc
 | 
			
		||||
@@ -733,11 +733,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
 | 
			
		||||
@@ -730,11 +730,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
 | 
			
		||||
   // Gets the correct render process to use for this SiteInstance.
 | 
			
		||||
   RenderProcessHost* GetProcessHost(SiteInstance* site_instance,
 | 
			
		||||
                                     bool is_for_guests_only) {
 | 
			
		||||
@@ -363,7 +363,7 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
 
 | 
			
		||||
     // Is this the default storage partition? If it isn't, then just give it its
 | 
			
		||||
     // own non-shared process.
 | 
			
		||||
@@ -1344,7 +1343,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() {
 | 
			
		||||
@@ -1341,7 +1340,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() {
 | 
			
		||||
 // static
 | 
			
		||||
 RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
 | 
			
		||||
     BrowserContext* browser_context,
 | 
			
		||||
@@ -372,7 +372,7 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
     SiteInstance* site_instance,
 | 
			
		||||
     bool is_for_guests_only) {
 | 
			
		||||
   if (g_render_process_host_factory_) {
 | 
			
		||||
@@ -1353,8 +1352,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
 | 
			
		||||
@@ -1350,8 +1349,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
   if (!storage_partition_impl) {
 | 
			
		||||
@@ -383,7 +383,7 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
   }
 | 
			
		||||
   // If we've made a StoragePartition for guests (e.g., for the <webview> tag),
 | 
			
		||||
   // stash the Site URL on it. This way, when we start a service worker inside
 | 
			
		||||
@@ -1379,7 +1378,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority =
 | 
			
		||||
@@ -1376,7 +1375,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority =
 | 
			
		||||
 
 | 
			
		||||
 RenderProcessHostImpl::RenderProcessHostImpl(
 | 
			
		||||
     BrowserContext* browser_context,
 | 
			
		||||
@@ -392,7 +392,7 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
     bool is_for_guests_only)
 | 
			
		||||
     : fast_shutdown_started_(false),
 | 
			
		||||
       deleting_soon_(false),
 | 
			
		||||
@@ -1412,7 +1411,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
 | 
			
		||||
@@ -1409,7 +1408,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
 | 
			
		||||
       indexed_db_factory_(new IndexedDBDispatcherHost(
 | 
			
		||||
           id_,
 | 
			
		||||
           storage_partition_impl_->GetURLRequestContext(),
 | 
			
		||||
@@ -402,7 +402,7 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
           ChromeBlobStorageContext::GetFor(browser_context_))),
 | 
			
		||||
       channel_connected_(false),
 | 
			
		||||
       sent_render_process_ready_(false),
 | 
			
		||||
@@ -1447,7 +1447,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
 | 
			
		||||
@@ -1444,7 +1444,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
   push_messaging_manager_.reset(new PushMessagingManager(
 | 
			
		||||
@@ -412,7 +412,7 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
 
 | 
			
		||||
   AddObserver(indexed_db_factory_.get());
 | 
			
		||||
 #if defined(OS_MACOSX)
 | 
			
		||||
@@ -1775,6 +1776,20 @@ void RenderProcessHostImpl::ResetChannelProxy() {
 | 
			
		||||
@@ -1772,6 +1773,17 @@ void RenderProcessHostImpl::ResetChannelProxy() {
 | 
			
		||||
 
 | 
			
		||||
 void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 | 
			
		||||
@@ -426,14 +426,11 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
+      storage_partition_impl_->GetCacheStorageContext());
 | 
			
		||||
+  auto service_worker_context = static_cast<ServiceWorkerContextWrapper*>(
 | 
			
		||||
+      storage_partition_impl_->GetServiceWorkerContext());
 | 
			
		||||
+  auto platform_notification_context =
 | 
			
		||||
+      static_cast<PlatformNotificationContextImpl*>(
 | 
			
		||||
+          storage_partition_impl_->GetPlatformNotificationContext());
 | 
			
		||||
+
 | 
			
		||||
   AddFilter(new ResourceSchedulerFilter(GetID()));
 | 
			
		||||
   MediaInternals* media_internals = MediaInternals::GetInstance();
 | 
			
		||||
   // Add BrowserPluginMessageFilter to ensure it gets the first stab at messages
 | 
			
		||||
@@ -1788,8 +1803,8 @@ void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
@@ -1785,8 +1797,8 @@ void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
       new RenderMessageFilter(
 | 
			
		||||
           GetID(), GetBrowserContext(), request_context.get(),
 | 
			
		||||
           widget_helper_.get(), media_internals,
 | 
			
		||||
@@ -444,7 +441,7 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
   AddFilter(render_message_filter.get());
 | 
			
		||||
 
 | 
			
		||||
   render_frame_message_filter_ = new RenderFrameMessageFilter(
 | 
			
		||||
@@ -1816,10 +1831,10 @@ void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
@@ -1813,10 +1825,10 @@ void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
       ChromeBlobStorageContext::GetFor(browser_context);
 | 
			
		||||
 
 | 
			
		||||
   resource_message_filter_ = new ResourceMessageFilter(
 | 
			
		||||
@@ -457,7 +454,7 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
       storage_partition_impl_->GetPrefetchURLLoaderService(),
 | 
			
		||||
       std::move(get_contexts_callback),
 | 
			
		||||
       BrowserThread::GetTaskRunnerForThread(BrowserThread::IO));
 | 
			
		||||
@@ -1828,8 +1843,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
@@ -1825,8 +1837,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
 
 | 
			
		||||
   AddFilter(
 | 
			
		||||
       new MidiHost(GetID(), BrowserMainLoop::GetInstance()->midi_service()));
 | 
			
		||||
@@ -467,7 +464,7 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
 
 | 
			
		||||
 #if BUILDFLAG(ENABLE_WEBRTC)
 | 
			
		||||
   peer_connection_tracker_host_ = new PeerConnectionTrackerHost(GetID());
 | 
			
		||||
@@ -1849,8 +1863,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
@@ -1846,8 +1857,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
 
 | 
			
		||||
   scoped_refptr<ServiceWorkerDispatcherHost> service_worker_filter =
 | 
			
		||||
       new ServiceWorkerDispatcherHost(GetID(), resource_context);
 | 
			
		||||
@@ -477,20 +474,18 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
   AddFilter(service_worker_filter.get());
 | 
			
		||||
 
 | 
			
		||||
 #if BUILDFLAG(ENABLE_WEBRTC)
 | 
			
		||||
@@ -1862,11 +1875,8 @@ void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
@@ -1858,10 +1868,6 @@ void RenderProcessHostImpl::CreateMessageFilters() {
 | 
			
		||||
 
 | 
			
		||||
   AddFilter(new TraceMessageFilter(GetID()));
 | 
			
		||||
   AddFilter(new ResolveProxyMsgHelper(request_context.get()));
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
-  scoped_refptr<ServiceWorkerContextWrapper> service_worker_context(
 | 
			
		||||
-      static_cast<ServiceWorkerContextWrapper*>(
 | 
			
		||||
-          storage_partition_impl_->GetServiceWorkerContext()));
 | 
			
		||||
   notification_message_filter_ = new NotificationMessageFilter(
 | 
			
		||||
-      GetID(), storage_partition_impl_->GetPlatformNotificationContext(),
 | 
			
		||||
+      GetID(), platform_notification_context,
 | 
			
		||||
       resource_context, service_worker_context, browser_context);
 | 
			
		||||
   AddFilter(notification_message_filter_.get());
 | 
			
		||||
 }
 | 
			
		||||
@@ -1880,7 +1890,8 @@ void RenderProcessHostImpl::BindCacheStorage(
 | 
			
		||||
 
 | 
			
		||||
 void RenderProcessHostImpl::BindCacheStorage(
 | 
			
		||||
@@ -1873,7 +1879,8 @@ void RenderProcessHostImpl::BindCacheStorage(
 | 
			
		||||
     cache_storage_dispatcher_host_ =
 | 
			
		||||
         base::MakeRefCounted<CacheStorageDispatcherHost>();
 | 
			
		||||
     cache_storage_dispatcher_host_->Init(
 | 
			
		||||
@@ -500,7 +495,7 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
   }
 | 
			
		||||
   // Send the binding to IO thread, because Cache Storage handles Mojo IPC on IO
 | 
			
		||||
   // thread entirely.
 | 
			
		||||
@@ -2013,7 +2024,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
 | 
			
		||||
@@ -2006,7 +2013,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
 | 
			
		||||
 
 | 
			
		||||
   registry->AddInterface(base::BindRepeating(
 | 
			
		||||
       &AppCacheDispatcherHost::Create,
 | 
			
		||||
@@ -511,10 +506,10 @@ index 8a5c3e12a938..5c87e5cfffbe 100644
 | 
			
		||||
 
 | 
			
		||||
   AddUIThreadInterface(registry.get(), base::Bind(&FieldTrialRecorder::Create));
 | 
			
		||||
diff --git content/browser/renderer_host/render_process_host_impl.h content/browser/renderer_host/render_process_host_impl.h
 | 
			
		||||
index 403fcc676b0f..886f62977604 100644
 | 
			
		||||
index 3d2cc7cb7e0c..f20125fced66 100644
 | 
			
		||||
--- content/browser/renderer_host/render_process_host_impl.h
 | 
			
		||||
+++ content/browser/renderer_host/render_process_host_impl.h
 | 
			
		||||
@@ -88,7 +88,6 @@ class ResourceMessageFilter;
 | 
			
		||||
@@ -87,7 +87,6 @@ class ResourceMessageFilter;
 | 
			
		||||
 class SiteInstance;
 | 
			
		||||
 class SiteInstanceImpl;
 | 
			
		||||
 class StoragePartition;
 | 
			
		||||
@@ -522,7 +517,7 @@ index 403fcc676b0f..886f62977604 100644
 | 
			
		||||
 struct ChildProcessTerminationInfo;
 | 
			
		||||
 
 | 
			
		||||
 #if BUILDFLAG(ENABLE_WEBRTC)
 | 
			
		||||
@@ -136,7 +135,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
 | 
			
		||||
@@ -135,7 +134,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
 | 
			
		||||
   // null.
 | 
			
		||||
   static RenderProcessHost* CreateRenderProcessHost(
 | 
			
		||||
       BrowserContext* browser_context,
 | 
			
		||||
@@ -531,7 +526,7 @@ index 403fcc676b0f..886f62977604 100644
 | 
			
		||||
       SiteInstance* site_instance,
 | 
			
		||||
       bool is_for_guests_only);
 | 
			
		||||
 
 | 
			
		||||
@@ -445,7 +444,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
 | 
			
		||||
@@ -440,7 +439,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
 | 
			
		||||
   // Use CreateRenderProcessHost() instead of calling this constructor
 | 
			
		||||
   // directly.
 | 
			
		||||
   RenderProcessHostImpl(BrowserContext* browser_context,
 | 
			
		||||
@@ -540,7 +535,7 @@ index 403fcc676b0f..886f62977604 100644
 | 
			
		||||
                         bool is_for_guests_only);
 | 
			
		||||
 
 | 
			
		||||
   // Initializes a new IPC::ChannelProxy in |channel_|, which will be connected
 | 
			
		||||
@@ -716,10 +715,10 @@ class CONTENT_EXPORT RenderProcessHostImpl
 | 
			
		||||
@@ -707,10 +706,10 @@ class CONTENT_EXPORT RenderProcessHostImpl
 | 
			
		||||
   // called.
 | 
			
		||||
   int instance_id_ = 1;
 | 
			
		||||
 
 | 
			
		||||
@@ -554,10 +549,10 @@ index 403fcc676b0f..886f62977604 100644
 | 
			
		||||
   // The observers watching our lifetime.
 | 
			
		||||
   base::ObserverList<RenderProcessHostObserver> observers_;
 | 
			
		||||
diff --git content/browser/renderer_interface_binders.cc content/browser/renderer_interface_binders.cc
 | 
			
		||||
index 74a060efdc5c..548feab31a42 100644
 | 
			
		||||
index e306536aa57e..e8e860b6bb7a 100644
 | 
			
		||||
--- content/browser/renderer_interface_binders.cc
 | 
			
		||||
+++ content/browser/renderer_interface_binders.cc
 | 
			
		||||
@@ -143,7 +143,7 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() {
 | 
			
		||||
@@ -145,7 +145,7 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() {
 | 
			
		||||
   parameterized_binder_registry_.AddInterface(
 | 
			
		||||
       base::Bind([](payments::mojom::PaymentManagerRequest request,
 | 
			
		||||
                     RenderProcessHost* host, const url::Origin& origin) {
 | 
			
		||||
@@ -566,7 +561,7 @@ index 74a060efdc5c..548feab31a42 100644
 | 
			
		||||
             ->GetPaymentAppContext()
 | 
			
		||||
             ->CreatePaymentManager(std::move(request));
 | 
			
		||||
       }));
 | 
			
		||||
@@ -163,16 +163,17 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() {
 | 
			
		||||
@@ -165,16 +165,17 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() {
 | 
			
		||||
   parameterized_binder_registry_.AddInterface(base::BindRepeating(
 | 
			
		||||
       [](blink::mojom::LockManagerRequest request, RenderProcessHost* host,
 | 
			
		||||
          const url::Origin& origin) {
 | 
			
		||||
@@ -588,6 +583,15 @@ index 74a060efdc5c..548feab31a42 100644
 | 
			
		||||
       }));
 | 
			
		||||
   parameterized_binder_registry_.AddInterface(
 | 
			
		||||
       base::BindRepeating(&BackgroundFetchServiceImpl::Create));
 | 
			
		||||
@@ -185,7 +186,7 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() {
 | 
			
		||||
   parameterized_binder_registry_.AddInterface(base::BindRepeating(
 | 
			
		||||
       [](blink::mojom::CookieStoreRequest request, RenderProcessHost* host,
 | 
			
		||||
          const url::Origin& origin) {
 | 
			
		||||
-        static_cast<StoragePartitionImpl*>(host->GetStoragePartition())
 | 
			
		||||
+        host->GetStoragePartition()
 | 
			
		||||
             ->GetCookieStoreContext()
 | 
			
		||||
             ->CreateService(std::move(request), origin);
 | 
			
		||||
       }));
 | 
			
		||||
diff --git content/browser/shared_worker/shared_worker_connector_impl.cc content/browser/shared_worker/shared_worker_connector_impl.cc
 | 
			
		||||
index 4b08ffd8b662..a09bdc7cb892 100644
 | 
			
		||||
--- content/browser/shared_worker/shared_worker_connector_impl.cc
 | 
			
		||||
@@ -604,7 +608,7 @@ index 4b08ffd8b662..a09bdc7cb892 100644
 | 
			
		||||
                            std::move(client), creation_context_type,
 | 
			
		||||
                            blink::MessagePortChannel(std::move(message_port)));
 | 
			
		||||
diff --git content/browser/shared_worker/shared_worker_service_impl.cc content/browser/shared_worker/shared_worker_service_impl.cc
 | 
			
		||||
index 597e99215428..29c6ba3049b7 100644
 | 
			
		||||
index 5b5d3a790ebb..d5af1985df27 100644
 | 
			
		||||
--- content/browser/shared_worker/shared_worker_service_impl.cc
 | 
			
		||||
+++ content/browser/shared_worker/shared_worker_service_impl.cc
 | 
			
		||||
@@ -206,8 +206,8 @@ void SharedWorkerServiceImpl::CreateWorker(
 | 
			
		||||
@@ -619,10 +623,10 @@ index 597e99215428..29c6ba3049b7 100644
 | 
			
		||||
             base::BindOnce(&SharedWorkerServiceImpl::StartWorker,
 | 
			
		||||
                            weak_factory_.GetWeakPtr(), std::move(instance),
 | 
			
		||||
diff --git content/browser/storage_partition_impl.h content/browser/storage_partition_impl.h
 | 
			
		||||
index 07992017538c..94d6dcd425a1 100644
 | 
			
		||||
index 102e3ff8e474..382162210f9a 100644
 | 
			
		||||
--- content/browser/storage_partition_impl.h
 | 
			
		||||
+++ content/browser/storage_partition_impl.h
 | 
			
		||||
@@ -95,7 +95,7 @@ class CONTENT_EXPORT StoragePartitionImpl
 | 
			
		||||
@@ -96,7 +96,7 @@ class CONTENT_EXPORT StoragePartitionImpl
 | 
			
		||||
   storage::FileSystemContext* GetFileSystemContext() override;
 | 
			
		||||
   storage::DatabaseTracker* GetDatabaseTracker() override;
 | 
			
		||||
   DOMStorageContextWrapper* GetDOMStorageContext() override;
 | 
			
		||||
@@ -631,7 +635,7 @@ index 07992017538c..94d6dcd425a1 100644
 | 
			
		||||
   IndexedDBContextImpl* GetIndexedDBContext() override;
 | 
			
		||||
   CacheStorageContextImpl* GetCacheStorageContext() override;
 | 
			
		||||
   ServiceWorkerContextWrapper* GetServiceWorkerContext() override;
 | 
			
		||||
@@ -134,14 +134,14 @@ class CONTENT_EXPORT StoragePartitionImpl
 | 
			
		||||
@@ -135,15 +135,15 @@ class CONTENT_EXPORT StoragePartitionImpl
 | 
			
		||||
   void FlushNetworkInterfaceForTesting() override;
 | 
			
		||||
   void WaitForDeletionTasksForTesting() override;
 | 
			
		||||
 
 | 
			
		||||
@@ -643,6 +647,7 @@ index 07992017538c..94d6dcd425a1 100644
 | 
			
		||||
-  BlobURLLoaderFactory* GetBlobURLLoaderFactory();
 | 
			
		||||
-  BlobRegistryWrapper* GetBlobRegistry();
 | 
			
		||||
-  PrefetchURLLoaderService* GetPrefetchURLLoaderService();
 | 
			
		||||
-  CookieStoreContext* GetCookieStoreContext();
 | 
			
		||||
+  BackgroundFetchContext* GetBackgroundFetchContext() override;
 | 
			
		||||
+  BackgroundSyncContext* GetBackgroundSyncContext() override;
 | 
			
		||||
+  PaymentAppContextImpl* GetPaymentAppContext() override;
 | 
			
		||||
@@ -651,10 +656,11 @@ index 07992017538c..94d6dcd425a1 100644
 | 
			
		||||
+  BlobURLLoaderFactory* GetBlobURLLoaderFactory() override;
 | 
			
		||||
+  BlobRegistryWrapper* GetBlobRegistry() override;
 | 
			
		||||
+  PrefetchURLLoaderService* GetPrefetchURLLoaderService() override;
 | 
			
		||||
+  CookieStoreContext* GetCookieStoreContext() override;
 | 
			
		||||
 
 | 
			
		||||
   // mojom::StoragePartitionService interface.
 | 
			
		||||
   void OpenLocalStorage(const url::Origin& origin,
 | 
			
		||||
@@ -150,18 +150,18 @@ class CONTENT_EXPORT StoragePartitionImpl
 | 
			
		||||
@@ -152,18 +152,18 @@ class CONTENT_EXPORT StoragePartitionImpl
 | 
			
		||||
       const std::string& namespace_id,
 | 
			
		||||
       mojom::SessionStorageNamespaceRequest request) override;
 | 
			
		||||
 
 | 
			
		||||
@@ -677,7 +683,7 @@ index 07992017538c..94d6dcd425a1 100644
 | 
			
		||||
 
 | 
			
		||||
   auto& bindings_for_testing() { return bindings_; }
 | 
			
		||||
 
 | 
			
		||||
@@ -172,10 +172,11 @@ class CONTENT_EXPORT StoragePartitionImpl
 | 
			
		||||
@@ -174,10 +174,11 @@ class CONTENT_EXPORT StoragePartitionImpl
 | 
			
		||||
   // one must use the "chrome-guest://blahblah" site URL to ensure that the
 | 
			
		||||
   // service worker stays in this StoragePartition. This is an empty GURL if
 | 
			
		||||
   // this StoragePartition is not for guests.
 | 
			
		||||
@@ -751,10 +757,10 @@ index 187bde2d1cca..b86e9c943f01 100644
 | 
			
		||||
 
 | 
			
		||||
   RenderFrameHost* render_frame_host_;
 | 
			
		||||
diff --git content/public/browser/browser_context.h content/public/browser/browser_context.h
 | 
			
		||||
index dffff04f6f86..29a0653b8fa5 100644
 | 
			
		||||
index b5cad2b73640..da041c3faf19 100644
 | 
			
		||||
--- content/public/browser/browser_context.h
 | 
			
		||||
+++ content/public/browser/browser_context.h
 | 
			
		||||
@@ -197,6 +197,8 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData {
 | 
			
		||||
@@ -199,6 +199,8 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData {
 | 
			
		||||
 
 | 
			
		||||
   BrowserContext();
 | 
			
		||||
 
 | 
			
		||||
@@ -763,7 +769,7 @@ index dffff04f6f86..29a0653b8fa5 100644
 | 
			
		||||
   ~BrowserContext() override;
 | 
			
		||||
 
 | 
			
		||||
   // Shuts down the storage partitions associated to this browser context.
 | 
			
		||||
@@ -285,6 +287,14 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData {
 | 
			
		||||
@@ -287,6 +289,14 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData {
 | 
			
		||||
           const base::FilePath& partition_path,
 | 
			
		||||
           bool in_memory) = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -779,7 +785,7 @@ index dffff04f6f86..29a0653b8fa5 100644
 | 
			
		||||
       std::map<std::string, service_manager::EmbeddedServiceInfo>;
 | 
			
		||||
 
 | 
			
		||||
diff --git content/public/browser/storage_partition.h content/public/browser/storage_partition.h
 | 
			
		||||
index db26f7cfcef9..3a46d95fc6f3 100644
 | 
			
		||||
index db26f7cfcef9..b358ff381eeb 100644
 | 
			
		||||
--- content/public/browser/storage_partition.h
 | 
			
		||||
+++ content/public/browser/storage_partition.h
 | 
			
		||||
@@ -14,6 +14,7 @@
 | 
			
		||||
@@ -790,7 +796,7 @@ index db26f7cfcef9..3a46d95fc6f3 100644
 | 
			
		||||
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 | 
			
		||||
 #include "services/network/public/mojom/cookie_manager.mojom.h"
 | 
			
		||||
 
 | 
			
		||||
@@ -59,12 +60,27 @@ class ServiceWorkerContext;
 | 
			
		||||
@@ -59,12 +60,28 @@ class ServiceWorkerContext;
 | 
			
		||||
 class SharedWorkerService;
 | 
			
		||||
 class WebPackageContext;
 | 
			
		||||
 
 | 
			
		||||
@@ -800,6 +806,7 @@ index db26f7cfcef9..3a46d95fc6f3 100644
 | 
			
		||||
+class BlobURLLoaderFactory;
 | 
			
		||||
+class BluetoothAllowedDevicesMap;
 | 
			
		||||
+class BroadcastChannelProvider;
 | 
			
		||||
+class CookieStoreContext;
 | 
			
		||||
+class LockManager;
 | 
			
		||||
+class PaymentAppContextImpl;
 | 
			
		||||
+class PrefetchURLLoaderService;
 | 
			
		||||
@@ -818,7 +825,7 @@ index db26f7cfcef9..3a46d95fc6f3 100644
 | 
			
		||||
 // Defines what persistent state a child process can access.
 | 
			
		||||
 //
 | 
			
		||||
 // The StoragePartition defines the view each child process has of the
 | 
			
		||||
@@ -102,6 +118,7 @@ class CONTENT_EXPORT StoragePartition {
 | 
			
		||||
@@ -102,6 +119,7 @@ class CONTENT_EXPORT StoragePartition {
 | 
			
		||||
   virtual storage::FileSystemContext* GetFileSystemContext() = 0;
 | 
			
		||||
   virtual storage::DatabaseTracker* GetDatabaseTracker() = 0;
 | 
			
		||||
   virtual DOMStorageContext* GetDOMStorageContext() = 0;
 | 
			
		||||
@@ -826,7 +833,7 @@ index db26f7cfcef9..3a46d95fc6f3 100644
 | 
			
		||||
   virtual IndexedDBContext* GetIndexedDBContext() = 0;
 | 
			
		||||
   virtual ServiceWorkerContext* GetServiceWorkerContext() = 0;
 | 
			
		||||
   virtual SharedWorkerService* GetSharedWorkerService() = 0;
 | 
			
		||||
@@ -223,6 +240,26 @@ class CONTENT_EXPORT StoragePartition {
 | 
			
		||||
@@ -223,6 +241,27 @@ class CONTENT_EXPORT StoragePartition {
 | 
			
		||||
   // Wait until all deletions tasks are finished. For test use only.
 | 
			
		||||
   virtual void WaitForDeletionTasksForTesting() = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -838,6 +845,7 @@ index db26f7cfcef9..3a46d95fc6f3 100644
 | 
			
		||||
+  virtual BlobURLLoaderFactory* GetBlobURLLoaderFactory() = 0;
 | 
			
		||||
+  virtual BlobRegistryWrapper* GetBlobRegistry() = 0;
 | 
			
		||||
+  virtual PrefetchURLLoaderService* GetPrefetchURLLoaderService() = 0;
 | 
			
		||||
+  virtual CookieStoreContext* GetCookieStoreContext() = 0;
 | 
			
		||||
+
 | 
			
		||||
+  virtual URLLoaderFactoryGetter* url_loader_factory_getter() = 0;
 | 
			
		||||
+  virtual BrowserContext* browser_context() const = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -373,10 +373,10 @@ index 4dea63f9f286..ef50b710c5af 100644
 | 
			
		||||
   virtual int GetMaxWidthForMenu(MenuItemView* menu);
 | 
			
		||||
 
 | 
			
		||||
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
 | 
			
		||||
index 4eb50c922aa4..52a3b414a017 100644
 | 
			
		||||
index b410d39d786e..f0efe213acb8 100644
 | 
			
		||||
--- ui/views/controls/menu/menu_item_view.cc
 | 
			
		||||
+++ ui/views/controls/menu/menu_item_view.cc
 | 
			
		||||
@@ -896,7 +896,12 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
 | 
			
		||||
@@ -900,7 +900,12 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
 | 
			
		||||
   // only need the background when we want it to look different, as when we're
 | 
			
		||||
   // selected.
 | 
			
		||||
   ui::NativeTheme* native_theme = GetNativeTheme();
 | 
			
		||||
@@ -390,7 +390,7 @@ index 4eb50c922aa4..52a3b414a017 100644
 | 
			
		||||
     gfx::Rect item_bounds(0, 0, width(), height());
 | 
			
		||||
     if (type_ == ACTIONABLE_SUBMENU) {
 | 
			
		||||
       if (submenu_area_of_actionable_submenu_selected_) {
 | 
			
		||||
@@ -1015,6 +1020,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
 | 
			
		||||
@@ -1019,6 +1024,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
 | 
			
		||||
 SkColor MenuItemView::GetTextColor(bool minor,
 | 
			
		||||
                                    bool render_selection,
 | 
			
		||||
                                    bool emphasized) const {
 | 
			
		||||
@@ -543,7 +543,7 @@ index 9e16b4c88177..3d660e406709 100644
 | 
			
		||||
       // Move the cursor because EnterNotify/LeaveNotify are generated with the
 | 
			
		||||
       // current mouse position as a result of XGrabPointer()
 | 
			
		||||
diff --git ui/views/view.h ui/views/view.h
 | 
			
		||||
index 8b874876b89f..1fe8a762b6c8 100644
 | 
			
		||||
index 463438a3d774..39894b612984 100644
 | 
			
		||||
--- ui/views/view.h
 | 
			
		||||
+++ ui/views/view.h
 | 
			
		||||
@@ -19,6 +19,7 @@
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
 | 
			
		||||
index 8dfffd595a2a..757e7ef538f7 100644
 | 
			
		||||
index 705bc2a1dd4d..5ddd0cf5af8d 100644
 | 
			
		||||
--- content/browser/renderer_host/render_widget_host_view_base.cc
 | 
			
		||||
+++ content/browser/renderer_host/render_widget_host_view_base.cc
 | 
			
		||||
@@ -395,6 +395,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
 | 
			
		||||
@@ -415,6 +415,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
 | 
			
		||||
   return screen_info.device_scale_factor;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@ index 8dfffd595a2a..757e7ef538f7 100644
 | 
			
		||||
   return renderer_frame_number_;
 | 
			
		||||
 }
 | 
			
		||||
diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h
 | 
			
		||||
index 5e762d94c6ba..57c51ab01a5b 100644
 | 
			
		||||
index f02cd3ca380a..84ae0c9eebf8 100644
 | 
			
		||||
--- content/browser/renderer_host/render_widget_host_view_base.h
 | 
			
		||||
+++ content/browser/renderer_host/render_widget_host_view_base.h
 | 
			
		||||
@@ -83,6 +83,7 @@ class CursorManager;
 | 
			
		||||
@@ -39,7 +39,7 @@ index 5e762d94c6ba..57c51ab01a5b 100644
 | 
			
		||||
 
 | 
			
		||||
   // Returns the focused RenderWidgetHost inside this |view|'s RWH.
 | 
			
		||||
   RenderWidgetHostImpl* GetFocusedWidget() const;
 | 
			
		||||
@@ -136,6 +140,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
 | 
			
		||||
@@ -137,6 +141,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
 | 
			
		||||
   void DisableAutoResize(const gfx::Size& new_size) override;
 | 
			
		||||
   bool IsScrollOffsetAtTop() const override;
 | 
			
		||||
   float GetDeviceScaleFactor() const final;
 | 
			
		||||
@@ -61,7 +61,7 @@ index 5e762d94c6ba..57c51ab01a5b 100644
 | 
			
		||||
   // Sets the cursor for this view to the one associated with the specified
 | 
			
		||||
   // cursor_type.
 | 
			
		||||
   virtual void UpdateCursor(const WebCursor& cursor) = 0;
 | 
			
		||||
@@ -622,6 +634,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
 | 
			
		||||
@@ -635,6 +647,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
 | 
			
		||||
 
 | 
			
		||||
   bool use_viz_hit_test_ = false;
 | 
			
		||||
 
 | 
			
		||||
@@ -70,10 +70,10 @@ index 5e762d94c6ba..57c51ab01a5b 100644
 | 
			
		||||
+  bool has_external_parent_;
 | 
			
		||||
+
 | 
			
		||||
  private:
 | 
			
		||||
 #if defined(USE_AURA)
 | 
			
		||||
   void OnDidScheduleEmbed(int routing_id,
 | 
			
		||||
   void SynchronizeVisualProperties();
 | 
			
		||||
 
 | 
			
		||||
diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc
 | 
			
		||||
index e9bef08d3222..09bae481b663 100644
 | 
			
		||||
index af9912a5f02a..ce0952342e8c 100644
 | 
			
		||||
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
 | 
			
		||||
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
 | 
			
		||||
@@ -30,6 +30,10 @@
 | 
			
		||||
@@ -87,7 +87,7 @@ index e9bef08d3222..09bae481b663 100644
 | 
			
		||||
 #if defined(OS_WIN)
 | 
			
		||||
 #include "content/browser/frame_host/render_frame_host_impl.h"
 | 
			
		||||
 #include "content/public/common/context_menu_params.h"
 | 
			
		||||
@@ -882,6 +886,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() {
 | 
			
		||||
@@ -887,6 +891,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() {
 | 
			
		||||
         ::SetFocus(hwnd);
 | 
			
		||||
     }
 | 
			
		||||
   }
 | 
			
		||||
@@ -103,7 +103,7 @@ index e9bef08d3222..09bae481b663 100644
 | 
			
		||||
   // TODO(wjmaclean): can host_ ever be null?
 | 
			
		||||
   if (host_ && set_focus_on_mouse_down_or_key_event_) {
 | 
			
		||||
diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h
 | 
			
		||||
index c36409dbbcc3..b12f0a737081 100644
 | 
			
		||||
index 573acec9b64e..1d3146dea051 100644
 | 
			
		||||
--- content/public/browser/render_widget_host_view.h
 | 
			
		||||
+++ content/public/browser/render_widget_host_view.h
 | 
			
		||||
@@ -253,6 +253,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
 | 
			
		||||
@@ -135,7 +135,7 @@ index f772f64d656e..7d13f9f81b6c 100644
 | 
			
		||||
   return host ? host->GetAcceleratedWidget() : NULL;
 | 
			
		||||
 }
 | 
			
		||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
 | 
			
		||||
index 88bebe016729..95345ae3c53a 100644
 | 
			
		||||
index 288b92c3eadf..e9689bddfab9 100644
 | 
			
		||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
 | 
			
		||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
 | 
			
		||||
@@ -86,6 +86,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
 | 
			
		||||
@@ -160,7 +160,7 @@ index 88bebe016729..95345ae3c53a 100644
 | 
			
		||||
 
 | 
			
		||||
   remove_standard_frame_ = params.remove_standard_frame;
 | 
			
		||||
   has_non_client_view_ = Widget::RequiresNonClientView(params.type);
 | 
			
		||||
@@ -858,11 +863,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
 | 
			
		||||
@@ -865,11 +870,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
 | 
			
		||||
@@ -179,10 +179,10 @@ index 88bebe016729..95345ae3c53a 100644
 | 
			
		||||
 
 | 
			
		||||
 bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
 | 
			
		||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
 | 
			
		||||
index dd3784c0fe87..ad4fd65b80e5 100644
 | 
			
		||||
index 327e4fb5df8d..625d1f2cb50c 100644
 | 
			
		||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
 | 
			
		||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
 | 
			
		||||
@@ -282,6 +282,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
 | 
			
		||||
@@ -283,6 +283,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
 | 
			
		||||
   // True if the window should have the frame removed.
 | 
			
		||||
   bool remove_standard_frame_;
 | 
			
		||||
 
 | 
			
		||||
@@ -194,7 +194,7 @@ index dd3784c0fe87..ad4fd65b80e5 100644
 | 
			
		||||
   // a reference.
 | 
			
		||||
   corewm::TooltipWin* tooltip_;
 | 
			
		||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
 | 
			
		||||
index 3393e97a2c44..7fb817a9ac54 100644
 | 
			
		||||
index cbfbfcbdcdb7..e7f0280bb4e7 100644
 | 
			
		||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
 | 
			
		||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
 | 
			
		||||
@@ -146,6 +146,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
 | 
			
		||||
@@ -250,7 +250,7 @@ index 3393e97a2c44..7fb817a9ac54 100644
 | 
			
		||||
   return bounds_in_pixels_.origin();
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -1376,7 +1385,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
 | 
			
		||||
@@ -1405,7 +1414,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
 | 
			
		||||
   ::Atom window_type;
 | 
			
		||||
   switch (params.type) {
 | 
			
		||||
     case Widget::InitParams::TYPE_MENU:
 | 
			
		||||
@@ -258,7 +258,7 @@ index 3393e97a2c44..7fb817a9ac54 100644
 | 
			
		||||
       window_type = gfx::GetAtom("_NET_WM_WINDOW_TYPE_MENU");
 | 
			
		||||
       break;
 | 
			
		||||
     case Widget::InitParams::TYPE_TOOLTIP:
 | 
			
		||||
@@ -1432,9 +1440,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
 | 
			
		||||
@@ -1461,9 +1469,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
 | 
			
		||||
   attribute_mask |= CWBorderPixel;
 | 
			
		||||
   swa.border_pixel = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -275,7 +275,7 @@ index 3393e97a2c44..7fb817a9ac54 100644
 | 
			
		||||
                            bounds_in_pixels_.y(), bounds_in_pixels_.width(),
 | 
			
		||||
                            bounds_in_pixels_.height(),
 | 
			
		||||
                            0,  // border width
 | 
			
		||||
@@ -2032,6 +2046,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
 | 
			
		||||
@@ -2061,6 +2075,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
 | 
			
		||||
       }
 | 
			
		||||
       break;
 | 
			
		||||
     }
 | 
			
		||||
@@ -287,12 +287,12 @@ index 3393e97a2c44..7fb817a9ac54 100644
 | 
			
		||||
     case x11::FocusOut:
 | 
			
		||||
       OnFocusEvent(xev->type == x11::FocusIn, event->xfocus.mode,
 | 
			
		||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
 | 
			
		||||
index cf991151505b..85b8e5844d63 100644
 | 
			
		||||
index f424728b9679..319ec6834262 100644
 | 
			
		||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
 | 
			
		||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
 | 
			
		||||
@@ -88,6 +88,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
 | 
			
		||||
   // Disables event listening to make |dialog| modal.
 | 
			
		||||
   std::unique_ptr<base::Closure> DisableEventListening();
 | 
			
		||||
@@ -91,6 +91,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
 | 
			
		||||
   // Returns a map of KeyboardEvent code to KeyboardEvent key values.
 | 
			
		||||
   base::flat_map<std::string, std::string> GetKeyboardLayoutMap() override;
 | 
			
		||||
 
 | 
			
		||||
+  void set_screen_bounds(const gfx::Rect& bounds) { screen_bounds_ = bounds; }
 | 
			
		||||
+
 | 
			
		||||
@@ -303,7 +303,7 @@ index cf991151505b..85b8e5844d63 100644
 | 
			
		||||
  protected:
 | 
			
		||||
   // Overridden from DesktopWindowTreeHost:
 | 
			
		||||
   void Init(const Widget::InitParams& params) override;
 | 
			
		||||
@@ -311,6 +317,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
 | 
			
		||||
@@ -314,6 +320,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
 | 
			
		||||
   // The bounds of |xwindow_|.
 | 
			
		||||
   gfx::Rect bounds_in_pixels_;
 | 
			
		||||
 
 | 
			
		||||
@@ -313,7 +313,7 @@ index cf991151505b..85b8e5844d63 100644
 | 
			
		||||
   // Whenever the bounds are set, we keep the previous set of bounds around so
 | 
			
		||||
   // we can have a better chance of getting the real
 | 
			
		||||
   // |restored_bounds_in_pixels_|. Window managers tend to send a Configure
 | 
			
		||||
@@ -351,6 +360,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
 | 
			
		||||
@@ -354,6 +363,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
 | 
			
		||||
   // Whether we used an ARGB visual for our window.
 | 
			
		||||
   bool use_argb_visual_;
 | 
			
		||||
 
 | 
			
		||||
@@ -324,7 +324,7 @@ index cf991151505b..85b8e5844d63 100644
 | 
			
		||||
   DesktopDragDropClientAuraX11* drag_drop_client_;
 | 
			
		||||
 
 | 
			
		||||
   std::unique_ptr<ui::EventHandler> x11_non_client_event_filter_;
 | 
			
		||||
@@ -439,6 +452,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
 | 
			
		||||
@@ -442,6 +455,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
 | 
			
		||||
 
 | 
			
		||||
   uint32_t modal_dialog_counter_;
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
 | 
			
		||||
index 189b3f0ec944..0dcd5620f9c0 100644
 | 
			
		||||
index d0d68b49a735..80d4cc330f5e 100644
 | 
			
		||||
--- content/browser/web_contents/web_contents_impl.cc
 | 
			
		||||
+++ content/browser/web_contents/web_contents_impl.cc
 | 
			
		||||
@@ -1782,21 +1782,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
 | 
			
		||||
@@ -1784,21 +1784,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
 | 
			
		||||
   std::string unique_name;
 | 
			
		||||
   frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,7 @@ index 189b3f0ec944..0dcd5620f9c0 100644
 | 
			
		||||
   CHECK(render_view_host_delegate_view_);
 | 
			
		||||
   CHECK(view_.get());
 | 
			
		||||
 
 | 
			
		||||
@@ -2403,6 +2412,15 @@ void WebContentsImpl::CreateNewWindow(
 | 
			
		||||
@@ -2405,6 +2414,15 @@ void WebContentsImpl::CreateNewWindow(
 | 
			
		||||
   create_params.renderer_initiated_creation =
 | 
			
		||||
       main_frame_route_id != MSG_ROUTING_NONE;
 | 
			
		||||
 
 | 
			
		||||
@@ -61,7 +61,7 @@ index 189b3f0ec944..0dcd5620f9c0 100644
 | 
			
		||||
   std::unique_ptr<WebContents> new_contents;
 | 
			
		||||
   if (!is_guest) {
 | 
			
		||||
     create_params.context = view_->GetNativeView();
 | 
			
		||||
@@ -2433,7 +2451,7 @@ void WebContentsImpl::CreateNewWindow(
 | 
			
		||||
@@ -2435,7 +2453,7 @@ void WebContentsImpl::CreateNewWindow(
 | 
			
		||||
       // TODO(brettw): It seems bogus that we have to call this function on the
 | 
			
		||||
       // newly created object and give it one of its own member variables.
 | 
			
		||||
       new_view->CreateViewForWidget(
 | 
			
		||||
@@ -70,7 +70,7 @@ index 189b3f0ec944..0dcd5620f9c0 100644
 | 
			
		||||
     }
 | 
			
		||||
     // Save the created window associated with the route so we can show it
 | 
			
		||||
     // later.
 | 
			
		||||
@@ -5749,7 +5767,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
 | 
			
		||||
@@ -5735,7 +5753,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
 | 
			
		||||
 void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(
 | 
			
		||||
     RenderViewHost* render_view_host) {
 | 
			
		||||
   RenderWidgetHostViewBase* rwh_view =
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
 | 
			
		||||
index 3ab92de1a98b..89f115e689c6 100644
 | 
			
		||||
index 5eac7f13d083..9e74a22c5796 100644
 | 
			
		||||
--- third_party/blink/public/platform/platform.h
 | 
			
		||||
+++ third_party/blink/public/platform/platform.h
 | 
			
		||||
@@ -368,6 +368,7 @@ class BLINK_PLATFORM_EXPORT Platform {
 | 
			
		||||
@@ -357,6 +357,7 @@ class BLINK_PLATFORM_EXPORT Platform {
 | 
			
		||||
   // satisfy this call. mainFrameOrigin is used by the browser process to
 | 
			
		||||
   // filter plugins from the plugin list based on content settings.
 | 
			
		||||
   virtual void GetPluginList(bool refresh,
 | 
			
		||||
@@ -10,7 +10,7 @@ index 3ab92de1a98b..89f115e689c6 100644
 | 
			
		||||
                              const WebSecurityOrigin& main_frame_origin,
 | 
			
		||||
                              WebPluginListBuilder*) {}
 | 
			
		||||
 
 | 
			
		||||
@@ -727,6 +728,11 @@ class BLINK_PLATFORM_EXPORT Platform {
 | 
			
		||||
@@ -714,6 +715,11 @@ class BLINK_PLATFORM_EXPORT Platform {
 | 
			
		||||
   // runs during Chromium's build step).
 | 
			
		||||
   virtual bool IsTakingV8ContextSnapshot() { return false; }
 | 
			
		||||
 
 | 
			
		||||
@@ -41,10 +41,10 @@ index 8c40eef254a8..b9ac9f2a3472 100644
 | 
			
		||||
                                                         .Top()
 | 
			
		||||
                                                         .GetSecurityContext()
 | 
			
		||||
diff --git third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
 | 
			
		||||
index 114b6830844a..7d64147fc62e 100644
 | 
			
		||||
index f98ae01cd46d..bba0b1930bff 100644
 | 
			
		||||
--- third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
 | 
			
		||||
+++ third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
 | 
			
		||||
@@ -323,6 +323,8 @@ WebDevToolsAgentImpl::Session::Session(
 | 
			
		||||
@@ -325,6 +325,8 @@ WebDevToolsAgentImpl::Session::Session(
 | 
			
		||||
       &WebDevToolsAgentImpl::Session::Detach, WrapWeakPersistent(this)));
 | 
			
		||||
 
 | 
			
		||||
   InitializeInspectorSession(reattach_state);
 | 
			
		||||
@@ -53,7 +53,7 @@ index 114b6830844a..7d64147fc62e 100644
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 WebDevToolsAgentImpl::Session::~Session() {
 | 
			
		||||
@@ -348,6 +350,7 @@ void WebDevToolsAgentImpl::Session::Detach() {
 | 
			
		||||
@@ -350,6 +352,7 @@ void WebDevToolsAgentImpl::Session::Detach() {
 | 
			
		||||
   io_session_->DeleteSoon();
 | 
			
		||||
   io_session_ = nullptr;
 | 
			
		||||
   inspector_session_->Dispose();
 | 
			
		||||
@@ -62,10 +62,10 @@ index 114b6830844a..7d64147fc62e 100644
 | 
			
		||||
 
 | 
			
		||||
 void WebDevToolsAgentImpl::Session::SendProtocolResponse(int session_id,
 | 
			
		||||
diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc
 | 
			
		||||
index 60caa00ec723..5d37ee2552a1 100644
 | 
			
		||||
index 2c6e6b9dccc3..fd957c70922a 100644
 | 
			
		||||
--- third_party/blink/renderer/core/frame/local_frame.cc
 | 
			
		||||
+++ third_party/blink/renderer/core/frame/local_frame.cc
 | 
			
		||||
@@ -1224,7 +1224,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
 | 
			
		||||
@@ -1217,7 +1217,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
 | 
			
		||||
 PluginData* LocalFrame::GetPluginData() const {
 | 
			
		||||
   if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin))
 | 
			
		||||
     return nullptr;
 | 
			
		||||
@@ -75,10 +75,10 @@ index 60caa00ec723..5d37ee2552a1 100644
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc
 | 
			
		||||
index dc89b93741bd..399a33e9d4d7 100644
 | 
			
		||||
index 1c299e2ad3a8..17dc5045895a 100644
 | 
			
		||||
--- third_party/blink/renderer/core/page/page.cc
 | 
			
		||||
+++ third_party/blink/renderer/core/page/page.cc
 | 
			
		||||
@@ -153,7 +153,8 @@ Page::Page(PageClients& page_clients)
 | 
			
		||||
@@ -154,7 +154,8 @@ Page::Page(PageClients& page_clients)
 | 
			
		||||
       overscroll_controller_(
 | 
			
		||||
           OverscrollController::Create(GetVisualViewport(), GetChromeClient())),
 | 
			
		||||
       main_frame_(nullptr),
 | 
			
		||||
@@ -88,7 +88,7 @@ index dc89b93741bd..399a33e9d4d7 100644
 | 
			
		||||
       use_counter_(page_clients.chrome_client &&
 | 
			
		||||
                            page_clients.chrome_client->IsSVGImageChromeClient()
 | 
			
		||||
                        ? UseCounter::kSVGImageContext
 | 
			
		||||
@@ -331,21 +332,40 @@ void Page::RefreshPlugins() {
 | 
			
		||||
@@ -333,21 +334,40 @@ void Page::RefreshPlugins() {
 | 
			
		||||
   PluginData::RefreshBrowserSidePluginCache();
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -138,7 +138,7 @@ index dc89b93741bd..399a33e9d4d7 100644
 | 
			
		||||
       page->NotifyPluginsChanged();
 | 
			
		||||
     }
 | 
			
		||||
   }
 | 
			
		||||
@@ -718,7 +738,8 @@ void Page::Trace(blink::Visitor* visitor) {
 | 
			
		||||
@@ -720,7 +740,8 @@ void Page::Trace(blink::Visitor* visitor) {
 | 
			
		||||
   visitor->Trace(visual_viewport_);
 | 
			
		||||
   visitor->Trace(overscroll_controller_);
 | 
			
		||||
   visitor->Trace(main_frame_);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
diff --git third_party/blink/renderer/core/input/pointer_event_manager.cc third_party/blink/renderer/core/input/pointer_event_manager.cc
 | 
			
		||||
index 57f9b8e60b80..b0fcb8681d93 100644
 | 
			
		||||
index 79f04a72bcd1..bdc815172425 100644
 | 
			
		||||
--- third_party/blink/renderer/core/input/pointer_event_manager.cc
 | 
			
		||||
+++ third_party/blink/renderer/core/input/pointer_event_manager.cc
 | 
			
		||||
@@ -285,7 +285,7 @@ void PointerEventManager::HandlePointerInterruption(
 | 
			
		||||
 
 | 
			
		||||
@@ -20,10 +20,10 @@ index d9cea512dfc0..5a75a1ee5205 100644
 | 
			
		||||
 
 | 
			
		||||
   // Call these methods before and after running a nested, modal event loop
 | 
			
		||||
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
 | 
			
		||||
index b6d1e6c88e47..70e250fc0c76 100644
 | 
			
		||||
index 8064140d0a08..98eca1ccbe64 100644
 | 
			
		||||
--- third_party/blink/renderer/core/exported/web_view_impl.cc
 | 
			
		||||
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
 | 
			
		||||
@@ -251,8 +251,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
 | 
			
		||||
@@ -250,8 +250,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
 | 
			
		||||
   g_should_use_external_popup_menus = use_external_popup_menus;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ index b6d1e6c88e47..70e250fc0c76 100644
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 namespace {
 | 
			
		||||
@@ -343,6 +348,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client,
 | 
			
		||||
@@ -342,6 +347,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client,
 | 
			
		||||
       enable_fake_page_scale_animation_for_testing_(false),
 | 
			
		||||
       fake_page_scale_animation_page_scale_factor_(0),
 | 
			
		||||
       fake_page_scale_animation_use_anchor_(false),
 | 
			
		||||
@@ -48,7 +48,7 @@ index b6d1e6c88e47..70e250fc0c76 100644
 | 
			
		||||
       suppress_next_keypress_event_(false),
 | 
			
		||||
       ime_accept_events_(true),
 | 
			
		||||
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
 | 
			
		||||
index 8d945bba1818..9081f247934c 100644
 | 
			
		||||
index 8a8c01289cf2..18bc70273c4d 100644
 | 
			
		||||
--- third_party/blink/renderer/core/exported/web_view_impl.h
 | 
			
		||||
+++ third_party/blink/renderer/core/exported/web_view_impl.h
 | 
			
		||||
@@ -102,7 +102,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
 | 
			
		||||
@@ -56,7 +56,7 @@ index 8d945bba1818..9081f247934c 100644
 | 
			
		||||
   // Returns true if popup menus should be rendered by the browser, false if
 | 
			
		||||
   // they should be rendered by WebKit (which is the default).
 | 
			
		||||
-  static bool UseExternalPopupMenus();
 | 
			
		||||
+  void SetUseExternalPopupMenusThisInstance(bool);
 | 
			
		||||
+  void SetUseExternalPopupMenusThisInstance(bool) override;
 | 
			
		||||
+  bool UseExternalPopupMenus() const;
 | 
			
		||||
 
 | 
			
		||||
   // WebWidget methods:
 | 
			
		||||
@@ -70,7 +70,7 @@ index 8d945bba1818..9081f247934c 100644
 | 
			
		||||
   void SetBaseBackgroundColorOverride(SkColor);
 | 
			
		||||
   void ClearBaseBackgroundColorOverride();
 | 
			
		||||
   void SetBackgroundColorOverride(SkColor);
 | 
			
		||||
@@ -620,6 +621,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
 | 
			
		||||
@@ -619,6 +620,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
 | 
			
		||||
   float fake_page_scale_animation_page_scale_factor_;
 | 
			
		||||
   bool fake_page_scale_animation_use_anchor_;
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ index 7742a5367ff0..0ec2381dc558 100644
 | 
			
		||||
       extensions::ExtensionRegistry::Get(profile);
 | 
			
		||||
   std::string extensions_list;
 | 
			
		||||
diff --git chrome/browser/memory_details.cc chrome/browser/memory_details.cc
 | 
			
		||||
index 4c0434b3c6ff..d92a70ce8ead 100644
 | 
			
		||||
index 509b62c78375..f48dd53e30c3 100644
 | 
			
		||||
--- chrome/browser/memory_details.cc
 | 
			
		||||
+++ chrome/browser/memory_details.cc
 | 
			
		||||
@@ -16,6 +16,7 @@
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd
 | 
			
		||||
index 0eeacabd76db..8a4216196bcd 100644
 | 
			
		||||
index 46fe1e49d3f5..aea793e9ebeb 100644
 | 
			
		||||
--- chrome/app/generated_resources.grd
 | 
			
		||||
+++ chrome/app/generated_resources.grd
 | 
			
		||||
@@ -4661,7 +4661,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
 | 
			
		||||
@@ -4660,7 +4660,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
 | 
			
		||||
         </message>
 | 
			
		||||
       </if>
 | 
			
		||||
       <message name="IDS_PLUGIN_BLOCKED_BY_POLICY" desc="The placeholder text for a plugin blocked by enterprise policy.">
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user