diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index 0b43b4f00..df4f81183 100644 --- a/CHROMIUM_BUILD_COMPATIBILITY.txt +++ b/CHROMIUM_BUILD_COMPATIBILITY.txt @@ -7,5 +7,5 @@ # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding { - 'chromium_checkout': 'refs/tags/72.0.3615.0', + 'chromium_checkout': 'refs/tags/72.0.3626.0', } diff --git a/libcef/browser/browser_context_impl.cc b/libcef/browser/browser_context_impl.cc index a6e8d019d..7b02d8926 100644 --- a/libcef/browser/browser_context_impl.cc +++ b/libcef/browser/browser_context_impl.cc @@ -472,7 +472,6 @@ net::URLRequestContextGetter* CefBrowserContextImpl::CreateRequestContext( url_request_getter_ = new CefURLRequestContextGetterImpl( settings_, GetPrefs(), io_thread_runner, protocol_handlers, std::move(proxy_config_service), std::move(request_interceptors)); - resource_context()->set_url_request_context_getter(url_request_getter_.get()); return url_request_getter_.get(); } diff --git a/libcef/browser/browser_context_proxy.cc b/libcef/browser/browser_context_proxy.cc index dcbbed450..70e16dfcc 100644 --- a/libcef/browser/browser_context_proxy.cc +++ b/libcef/browser/browser_context_proxy.cc @@ -233,8 +233,6 @@ CefBrowserContextProxy::GetOrCreateStoragePartitionProxy( scoped_refptr url_request_getter = new CefURLRequestContextGetterProxy(handler_, parent_->request_context_getter()); - resource_context()->set_url_request_context_getter( - url_request_getter.get()); storage_partition_proxy_.reset( new CefStoragePartitionProxy(partition_impl, url_request_getter.get())); diff --git a/libcef/browser/chrome_profile_stub.cc b/libcef/browser/chrome_profile_stub.cc index 7f1f84241..9c32910df 100644 --- a/libcef/browser/chrome_profile_stub.cc +++ b/libcef/browser/chrome_profile_stub.cc @@ -73,10 +73,10 @@ PrefService* ChromeProfileStub::GetOffTheRecordPrefs() { base::OnceCallback ChromeProfileStub::GetExtensionsCookieStoreGetter() { return base::BindOnce( - [](content::ResourceContext* context) { - return context->GetRequestContext()->cookie_store(); + [](scoped_refptr context) { + return context->GetURLRequestContext()->cookie_store(); }, - GetResourceContext()); + base::WrapRefCounted(GetRequestContext())); } bool ChromeProfileStub::IsSameProfile(Profile* profile) { diff --git a/libcef/browser/content_browser_client.cc b/libcef/browser/content_browser_client.cc index 5f1f1b5e8..7baee884f 100644 --- a/libcef/browser/content_browser_client.cc +++ b/libcef/browser/content_browser_client.cc @@ -734,7 +734,8 @@ void CefContentBrowserClient::AppendExtraCommandLineSwitches( // Propagate the following switches to the zygote command line (along with // any associated values) if present in the browser command line. static const char* const kSwitchNames[] = { - switches::kPpapiFlashPath, switches::kPpapiFlashVersion, + switches::kPpapiFlashPath, + switches::kPpapiFlashVersion, }; command_line->CopySwitchesFrom(*browser_cmd, kSwitchNames, arraysize(kSwitchNames)); @@ -1095,9 +1096,11 @@ void CefContentBrowserClient::RegisterNonNetworkSubresourceURLLoaderFactories( bool CefContentBrowserClient::WillCreateURLLoaderFactory( content::BrowserContext* browser_context, content::RenderFrameHost* frame, + int render_process_id, bool is_navigation, const url::Origin& request_initiator, network::mojom::URLLoaderFactoryRequest* factory_request, + network::mojom::TrustedURLLoaderHeaderClientPtrInfo* header_client, bool* bypass_redirect_checks) { if (!extensions::ExtensionsEnabled()) return false; @@ -1106,7 +1109,8 @@ bool CefContentBrowserClient::WillCreateURLLoaderFactory( extensions::BrowserContextKeyedAPIFactory::Get( browser_context); bool use_proxy = web_request_api->MaybeProxyURLLoaderFactory( - frame, is_navigation, factory_request); + browser_context, frame, render_process_id, is_navigation, factory_request, + header_client); if (bypass_redirect_checks) *bypass_redirect_checks = use_proxy; return use_proxy; diff --git a/libcef/browser/content_browser_client.h b/libcef/browser/content_browser_client.h index f265dcd3c..7523a20a6 100644 --- a/libcef/browser/content_browser_client.h +++ b/libcef/browser/content_browser_client.h @@ -143,9 +143,11 @@ class CefContentBrowserClient : public content::ContentBrowserClient { bool WillCreateURLLoaderFactory( content::BrowserContext* browser_context, content::RenderFrameHost* frame, + int render_process_id, bool is_navigation, const url::Origin& request_initiator, network::mojom::URLLoaderFactoryRequest* factory_request, + network::mojom::TrustedURLLoaderHeaderClientPtrInfo* header_client, bool* bypass_redirect_checks) override; bool HandleExternalProtocol( diff --git a/libcef/browser/osr/render_widget_host_view_osr.cc b/libcef/browser/osr/render_widget_host_view_osr.cc index 58fdead41..db95b798c 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.cc +++ b/libcef/browser/osr/render_widget_host_view_osr.cc @@ -150,12 +150,12 @@ class CefDelegatedFrameHostClient : public content::DelegatedFrameHostClient { return view_->GetDeviceScaleFactor(); } - void AllocateNewSurfaceIdOnEviction() override {} - std::vector CollectSurfaceIdsForEviction() override { return view_->render_widget_host()->CollectSurfaceIdsForEviction(); } + void InvalidateLocalSurfaceIdOnEviction() override {} + private: CefRenderWidgetHostViewOSR* const view_; diff --git a/libcef/browser/resource_context.cc b/libcef/browser/resource_context.cc index 30077dd3c..f97d06601 100644 --- a/libcef/browser/resource_context.cc +++ b/libcef/browser/resource_context.cc @@ -66,11 +66,6 @@ void CefResourceContext::RemoveUserData(const void* key) { content::ResourceContext::RemoveUserData(key); } -net::URLRequestContext* CefResourceContext::GetRequestContext() { - CHECK(getter_.get()); - return getter_->GetURLRequestContext(); -} - std::unique_ptr CefResourceContext::CreateClientCertStore() { #if defined(USE_NSS_CERTS) @@ -96,12 +91,6 @@ void CefResourceContext::set_extensions_info_map( extension_info_map_ = extensions_info_map; } -void CefResourceContext::set_url_request_context_getter( - CefURLRequestContextGetter* getter) { - DCHECK(!getter_.get()); - getter_ = getter; -} - void CefResourceContext::set_parent(CefResourceContext* parent) { DCHECK(!parent_); DCHECK(parent); diff --git a/libcef/browser/resource_context.h b/libcef/browser/resource_context.h index a81d81ad3..2f57de34f 100644 --- a/libcef/browser/resource_context.h +++ b/libcef/browser/resource_context.h @@ -37,13 +37,9 @@ class CefResourceContext : public content::ResourceContext { void SetUserData(const void* key, std::unique_ptr data) override; void RemoveUserData(const void* key) override; - // ResourceContext implementation. - net::URLRequestContext* GetRequestContext() override; - std::unique_ptr CreateClientCertStore(); void set_extensions_info_map(extensions::InfoMap* extensions_info_map); - void set_url_request_context_getter(CefURLRequestContextGetter* getter); void set_parent(CefResourceContext* parent); // Remember the plugin load decision for plugin status requests that arrive @@ -71,8 +67,6 @@ class CefResourceContext : public content::ResourceContext { CefRefPtr GetHandler() const { return handler_; } private: - scoped_refptr getter_; - // Non-NULL when this object is owned by a CefBrowserContextProxy. |parent_| // is guaranteed to outlive this object because CefBrowserContextProxy has a // refptr to the CefBrowserContextImpl that owns |parent_|. diff --git a/libcef/common/cef_message_generator.cc b/libcef/common/cef_message_generator.cc index a410cd1ce..ee49889ba 100644 --- a/libcef/common/cef_message_generator.cc +++ b/libcef/common/cef_message_generator.cc @@ -11,11 +11,6 @@ #include "ipc/struct_constructor_macros.h" #include "libcef/common/cef_message_generator.h" -// Generate destructors. -#include "chrome/common/safe_browsing/ipc_protobuf_message_null_macros.h" -#include "ipc/struct_destructor_macros.h" -#include "libcef/common/cef_message_generator.h" - // Generate param traits write methods. #include "chrome/common/safe_browsing/protobuf_message_write_macros.h" #include "ipc/param_traits_write_macros.h" diff --git a/libcef/renderer/browser_impl.cc b/libcef/renderer/browser_impl.cc index d447651fd..89c851529 100644 --- a/libcef/renderer/browser_impl.cc +++ b/libcef/renderer/browser_impl.cc @@ -23,6 +23,7 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "content/public/renderer/document_state.h" +#include "content/public/renderer/render_frame.h" #include "content/public/renderer/render_view.h" #include "content/renderer/navigation_state.h" #include "third_party/blink/public/platform/web_string.h" @@ -625,7 +626,9 @@ void CefBrowserImpl::OnRequest(const Cef_Request_Params& params) { params.arguments.GetString(0, &string); params.arguments.GetString(1, &url); - web_frame->LoadHTMLString(string, GURL(url)); + content::RenderFrame::FromWebFrame(web_frame)->LoadHTMLString( + string, GURL(url), "UTF-8", GURL(), + false /* replace_current_item */); } } } else { diff --git a/libcef/renderer/frame_impl.cc b/libcef/renderer/frame_impl.cc index aa5015b3b..663e6faa1 100644 --- a/libcef/renderer/frame_impl.cc +++ b/libcef/renderer/frame_impl.cc @@ -27,6 +27,7 @@ #include "libcef/renderer/thread_util.h" #include "libcef/renderer/v8_impl.h" +#include "content/public/renderer/render_frame.h" #include "third_party/blink/public/platform/web_data.h" #include "third_party/blink/public/platform/web_string.h" #include "third_party/blink/public/platform/web_url.h" @@ -35,6 +36,7 @@ #include "third_party/blink/public/web/web_document_loader.h" #include "third_party/blink/public/web/web_frame_content_dumper.h" #include "third_party/blink/public/web/web_local_frame.h" +#include "third_party/blink/public/web/web_navigation_control.h" #include "third_party/blink/public/web/web_script_source.h" #include "third_party/blink/public/web/web_view.h" @@ -152,7 +154,9 @@ void CefFrameImpl::LoadString(const CefString& string, const CefString& url) { if (frame_) { GURL gurl = GURL(url.ToString()); - frame_->LoadHTMLString(string.ToString(), gurl); + content::RenderFrame::FromWebFrame(frame_)->LoadHTMLString( + string.ToString(), gurl, "UTF-8", GURL(), + false /* replace_current_item */); } } diff --git a/libcef/renderer/v8_impl.cc b/libcef/renderer/v8_impl.cc index c0b17d725..706028740 100644 --- a/libcef/renderer/v8_impl.cc +++ b/libcef/renderer/v8_impl.cc @@ -1330,7 +1330,12 @@ CefRefPtr CefV8Value::CreateObject( tmpl->SetIndexedPropertyHandler(InterceptorGetterCallbackImpl, InterceptorSetterCallbackImpl); - obj = tmpl->NewInstance(); + + v8::MaybeLocal maybe_object = tmpl->NewInstance(context); + if (!maybe_object.ToLocal(&obj)) { + NOTREACHED() << "Failed to create V8 Object with interceptor"; + return NULL; + } } else { obj = v8::Object::New(isolate); } @@ -1435,8 +1440,9 @@ CefRefPtr CefV8Value::CreateFunction( v8::FunctionTemplate::New(isolate, FunctionCallbackImpl, function_data); // Retrieve the function object and set the name. - v8::Local func = tmpl->GetFunction(); - if (func.IsEmpty()) { + v8::MaybeLocal maybe_func = tmpl->GetFunction(context); + v8::Local func; + if (!maybe_func.ToLocal(&func)) { NOTREACHED() << "failed to create V8 function"; return NULL; } diff --git a/libcef/utility/content_utility_client.cc b/libcef/utility/content_utility_client.cc index 203acf967..3b3380af8 100644 --- a/libcef/utility/content_utility_client.cc +++ b/libcef/utility/content_utility_client.cc @@ -60,11 +60,6 @@ bool CefContentUtilityClient::OnMessageReceived(const IPC::Message& message) { } void CefContentUtilityClient::RegisterServices(StaticServiceMap* services) { - service_manager::EmbeddedServiceInfo pdf_compositor_info; - pdf_compositor_info.factory = - base::Bind(&printing::CreatePdfCompositorService, std::string()); - services->emplace(printing::mojom::kServiceName, pdf_compositor_info); - { service_manager::EmbeddedServiceInfo printing_info; printing_info.factory = @@ -81,3 +76,14 @@ void CefContentUtilityClient::RegisterServices(StaticServiceMap* services) { services->emplace(proxy_resolver::mojom::kProxyResolverServiceName, proxy_resolver_info); } + +std::unique_ptr +CefContentUtilityClient::HandleServiceRequest( + const std::string& service_name, + service_manager::mojom::ServiceRequest request) { + if (service_name == printing::mojom::kServiceName) { + return printing::CreatePdfCompositorService(std::string(), + std::move(request)); + } + return nullptr; +} diff --git a/libcef/utility/content_utility_client.h b/libcef/utility/content_utility_client.h index ff48e0518..af1f2e14e 100644 --- a/libcef/utility/content_utility_client.h +++ b/libcef/utility/content_utility_client.h @@ -25,6 +25,9 @@ class CefContentUtilityClient : public content::ContentUtilityClient { void UtilityThreadStarted() override; bool OnMessageReceived(const IPC::Message& message) override; void RegisterServices(StaticServiceMap* services) override; + std::unique_ptr HandleServiceRequest( + const std::string& service_name, + service_manager::mojom::ServiceRequest request) override; private: #if defined(OS_WIN) diff --git a/patch/patches/browser_compositor_mac.patch b/patch/patches/browser_compositor_mac.patch index d317f9914..aca475669 100644 --- a/patch/patches/browser_compositor_mac.patch +++ b/patch/patches/browser_compositor_mac.patch @@ -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 e271d4bc6c31..6e3c5c2b8f73 100644 +index da7e3391774e..7ac32ff70a5a 100644 --- content/browser/renderer_host/browser_compositor_view_mac.h +++ content/browser/renderer_host/browser_compositor_view_mac.h @@ -59,6 +59,8 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient, @@ -12,7 +12,7 @@ index e271d4bc6c31..6e3c5c2b8f73 100644 // Force a new surface id to be allocated. Returns true if the // RenderWidgetHostImpl sent the resulting surface id to the renderer. diff --git content/browser/renderer_host/browser_compositor_view_mac.mm content/browser/renderer_host/browser_compositor_view_mac.mm -index 0240d7338201..840693c7cd4a 100644 +index 21d3b34cc13f..0e281eaf06d9 100644 --- content/browser/renderer_host/browser_compositor_view_mac.mm +++ content/browser/renderer_host/browser_compositor_view_mac.mm @@ -84,6 +84,12 @@ DelegatedFrameHost* BrowserCompositorMac::GetDelegatedFrameHost() { diff --git a/patch/patches/browser_plugin_guest_1565.patch b/patch/patches/browser_plugin_guest_1565.patch index 045c093d4..9da28f018 100644 --- a/patch/patches/browser_plugin_guest_1565.patch +++ b/patch/patches/browser_plugin_guest_1565.patch @@ -37,7 +37,7 @@ index e706efbc6219..3b6f60660650 100644 attached_ = true; diff --git content/browser/frame_host/interstitial_page_impl.cc content/browser/frame_host/interstitial_page_impl.cc -index babcf10c37d0..b0261ed77ef0 100644 +index a97648ef717b..b82895c89f77 100644 --- content/browser/frame_host/interstitial_page_impl.cc +++ content/browser/frame_host/interstitial_page_impl.cc @@ -632,7 +632,7 @@ WebContentsView* InterstitialPageImpl::CreateWebContentsView() { @@ -221,10 +221,10 @@ index 5317a1895671..770d05a9c4a9 100644 RenderWidgetHost* render_widget_host) override; void SetPageTitle(const base::string16& title) override; diff --git content/browser/web_contents/web_contents_view_mac.mm content/browser/web_contents/web_contents_view_mac.mm -index ed6586cff68c..731a51629a2c 100644 +index 18f85330beaf..bf220383e368 100644 --- content/browser/web_contents/web_contents_view_mac.mm +++ content/browser/web_contents/web_contents_view_mac.mm -@@ -336,7 +336,8 @@ void WebContentsViewMac::CreateView( +@@ -337,7 +337,8 @@ void WebContentsViewMac::CreateView( } RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget( @@ -234,7 +234,7 @@ index ed6586cff68c..731a51629a2c 100644 if (render_widget_host->GetView()) { // During testing, the view will already be set up in most cases to the // test view, so we don't want to clobber it with a real one. To verify that -@@ -348,6 +349,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget( +@@ -349,6 +350,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget( render_widget_host->GetView()); } diff --git a/patch/patches/chrome_browser.patch b/patch/patches/chrome_browser.patch index 8cb3eadba..c484549a9 100644 --- a/patch/patches/chrome_browser.patch +++ b/patch/patches/chrome_browser.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn -index f6b909554223..f454ed9b8a84 100644 +index e0fd47a70c7b..d56e7a6b8bec 100644 --- chrome/browser/BUILD.gn +++ chrome/browser/BUILD.gn @@ -8,6 +8,7 @@ import("//build/config/features.gni") @@ -10,7 +10,7 @@ index f6b909554223..f454ed9b8a84 100644 import("//chrome/common/features.gni") import("//components/feature_engagement/features.gni") import("//components/feed/features.gni") -@@ -1716,6 +1717,7 @@ jumbo_split_static_library("browser") { +@@ -1725,6 +1726,7 @@ jumbo_split_static_library("browser") { "//base:i18n", "//base/allocator:buildflags", "//cc", @@ -18,7 +18,7 @@ index f6b909554223..f454ed9b8a84 100644 "//chrome:extra_resources", "//chrome:resources", "//chrome:strings", -@@ -1994,6 +1996,10 @@ jumbo_split_static_library("browser") { +@@ -2004,6 +2006,10 @@ jumbo_split_static_library("browser") { ] } @@ -29,7 +29,7 @@ index f6b909554223..f454ed9b8a84 100644 if (is_android) { sources += [ "after_startup_task_utils_android.cc", -@@ -3599,7 +3605,7 @@ jumbo_split_static_library("browser") { +@@ -3629,7 +3635,7 @@ jumbo_split_static_library("browser") { ] } diff --git a/patch/patches/chrome_browser_net_export.patch b/patch/patches/chrome_browser_net_export.patch index 40e5a649a..fd3c2cfb4 100644 --- a/patch/patches/chrome_browser_net_export.patch +++ b/patch/patches/chrome_browser_net_export.patch @@ -24,10 +24,10 @@ index cac72c6a2fd1..2ed83a4af1b3 100644 // network quality change events. virtual network::NetworkQualityTracker* network_quality_tracker() = 0; diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc -index 529239220bcc..fc9cdcd330c2 100644 +index 9178909e6ce3..7656cbbb99c0 100644 --- chrome/browser/browser_process_impl.cc +++ chrome/browser/browser_process_impl.cc -@@ -660,6 +660,10 @@ BrowserProcessImpl::system_network_context_manager() { +@@ -665,6 +665,10 @@ BrowserProcessImpl::system_network_context_manager() { return SystemNetworkContextManager::GetInstance(); } @@ -39,10 +39,10 @@ index 529239220bcc..fc9cdcd330c2 100644 BrowserProcessImpl::shared_url_loader_factory() { return system_network_context_manager()->GetSharedURLLoaderFactory(); diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h -index 8cd716593b19..28f8a70167af 100644 +index 143e7442ca05..896829d2836f 100644 --- chrome/browser/browser_process_impl.h +++ chrome/browser/browser_process_impl.h -@@ -139,6 +139,7 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -140,6 +140,7 @@ class BrowserProcessImpl : public BrowserProcess, // TODO(qinmin): Remove this method as callers can retrieve the global // instance from SystemNetworkContextManager directly. SystemNetworkContextManager* system_network_context_manager() override; diff --git a/patch/patches/chrome_browser_profiles.patch b/patch/patches/chrome_browser_profiles.patch index 1dc14bb22..1c88aad04 100644 --- a/patch/patches/chrome_browser_profiles.patch +++ b/patch/patches/chrome_browser_profiles.patch @@ -71,10 +71,10 @@ index e8e76ce5b954..1dd338dd0142 100644 content::BrowserContext* GetBrowserContextRedirectedInIncognito( content::BrowserContext* context); diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc -index cc62bbe4cf18..127cf4c982d6 100644 +index e00b581b90d3..1ffa2e8f18da 100644 --- chrome/browser/profiles/profile_manager.cc +++ chrome/browser/profiles/profile_manager.cc -@@ -380,7 +380,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir) +@@ -381,7 +381,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir) chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED, content::NotificationService::AllSources()); diff --git a/patch/patches/chrome_plugins.patch b/patch/patches/chrome_plugins.patch index bede8bbc1..97d620888 100644 --- a/patch/patches/chrome_plugins.patch +++ b/patch/patches/chrome_plugins.patch @@ -125,7 +125,7 @@ index 989d5d02cedb..e05810db6824 100644 // If we broke out of the loop, we have found an enabled plugin. bool enabled = i < matching_plugins.size(); diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc -index 6fb885ec1bd9..7c5630c52aee 100644 +index 488d0ec60a81..9d817080555a 100644 --- chrome/renderer/chrome_content_renderer_client.cc +++ chrome/renderer/chrome_content_renderer_client.cc @@ -804,6 +804,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( diff --git a/patch/patches/content_2015.patch b/patch/patches/content_2015.patch index 190a8302a..ba37d1929 100644 --- a/patch/patches/content_2015.patch +++ b/patch/patches/content_2015.patch @@ -51,7 +51,7 @@ index b6da8e846a2a..dd7ec1be2556 100644 return nullptr; } diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc -index 6704ced8c31e..0a7a5e953db4 100644 +index 8b08e6168124..7ea95c421b91 100644 --- chrome/browser/ui/views/frame/browser_root_view.cc +++ chrome/browser/ui/views/frame/browser_root_view.cc @@ -69,7 +69,7 @@ void OnFindURLMimeType(const GURL& url, @@ -81,10 +81,10 @@ index b8e933d665cf..ef41dae49b39 100644 "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 5c76c6531e68..ec4e1705bc59 100644 +index cd6c8652cd4f..5477372abb7e 100644 --- content/browser/frame_host/render_frame_host_impl.cc +++ content/browser/frame_host/render_frame_host_impl.cc -@@ -2000,6 +2000,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError( +@@ -1998,6 +1998,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError( if (GetNavigationHandle()) { GetNavigationHandle()->set_net_error_code( static_cast(params.error_code)); @@ -105,10 +105,10 @@ index 5c76c6531e68..ec4e1705bc59 100644 FROM_HERE, {BrowserThread::IO}, base::BindOnce(&PrefetchURLLoaderService::GetFactory, diff --git content/browser/frame_host/render_frame_message_filter.cc content/browser/frame_host/render_frame_message_filter.cc -index fcde891b75df..e3ee7e7a2004 100644 +index 324ed2f8b851..8170ac190ea5 100644 --- content/browser/frame_host/render_frame_message_filter.cc +++ content/browser/frame_host/render_frame_message_filter.cc -@@ -655,6 +655,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id, +@@ -658,6 +658,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id, void RenderFrameMessageFilter::OnGetPluginInfo( int render_frame_id, const GURL& url, @@ -116,7 +116,7 @@ index fcde891b75df..e3ee7e7a2004 100644 const url::Origin& main_frame_origin, const std::string& mime_type, bool* found, -@@ -663,8 +664,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo( +@@ -666,8 +667,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo( bool allow_wildcard = true; *found = plugin_service_->GetPluginInfo( render_process_id_, render_frame_id, resource_context_, url, @@ -261,10 +261,10 @@ index 3009401dac6b..b4c5a9e2db50 100644 }; diff --git content/common/frame_messages.h content/common/frame_messages.h -index 8984848ff8fc..948ce07234ea 100644 +index 17be42a1b675..fb093e0edb23 100644 --- content/common/frame_messages.h +++ content/common/frame_messages.h -@@ -1348,9 +1348,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback, +@@ -1349,9 +1349,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback, // type. If there is no matching plugin, |found| is false. // |actual_mime_type| is the actual mime type supported by the // found plugin. @@ -301,7 +301,7 @@ index 3b610b1f554e..7c439e060779 100644 WebPluginInfo* plugin) = 0; diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h -index f235fae71b2f..577cf518f648 100644 +index f3bd63d89128..cfe1b01313cb 100644 --- content/public/renderer/content_renderer_client.h +++ content/public/renderer/content_renderer_client.h @@ -76,6 +76,9 @@ class CONTENT_EXPORT ContentRendererClient { @@ -314,7 +314,7 @@ index f235fae71b2f..577cf518f648 100644 // Notifies that a new RenderFrame has been created. virtual void RenderFrameCreated(RenderFrame* render_frame) {} -@@ -337,6 +340,10 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -336,6 +339,10 @@ class CONTENT_EXPORT ContentRendererClient { // This method may invalidate the frame. virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {} @@ -340,10 +340,10 @@ index 8136604d267a..be7fde2f1a38 100644 virtual void FocusedNodeChanged(const blink::WebNode& node) {} diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc -index c934ddb0cce0..389a01a09319 100644 +index 3448d04835df..ed625d890403 100644 --- content/renderer/render_frame_impl.cc +++ content/renderer/render_frame_impl.cc -@@ -3642,7 +3642,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin( +@@ -3645,7 +3645,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin( std::string mime_type; bool found = false; Send(new FrameHostMsg_GetPluginInfo( @@ -353,7 +353,7 @@ index c934ddb0cce0..389a01a09319 100644 params.mime_type.Utf8(), &found, &info, &mime_type)); if (!found) return nullptr; -@@ -4021,6 +4022,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) { +@@ -4032,6 +4033,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) { void RenderFrameImpl::FrameFocused() { Send(new FrameHostMsg_FrameFocused(routing_id_)); @@ -363,7 +363,7 @@ index c934ddb0cce0..389a01a09319 100644 void RenderFrameImpl::WillCommitProvisionalLoad() { diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc -index 22beddb89477..a4cdcfaae75a 100644 +index 68682fd876dd..8140654e82b1 100644 --- content/renderer/render_thread_impl.cc +++ content/renderer/render_thread_impl.cc @@ -819,6 +819,8 @@ void RenderThreadImpl::Init() { @@ -376,10 +376,10 @@ index 22beddb89477..a4cdcfaae75a 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 0a22404b89d5..e005e01eccc7 100644 +index d80d269e5cb4..6444ad872a31 100644 --- content/renderer/renderer_blink_platform_impl.cc +++ content/renderer/renderer_blink_platform_impl.cc -@@ -1170,6 +1170,14 @@ void RendererBlinkPlatformImpl::SetMemoryPressureNotificationsSuppressed( +@@ -1153,6 +1153,14 @@ void RendererBlinkPlatformImpl::SetMemoryPressureNotificationsSuppressed( base::MemoryPressureListener::SetNotificationsSuppressed(suppressed); } @@ -395,7 +395,7 @@ index 0a22404b89d5..e005e01eccc7 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 d12e1fc7ebbf..6ab6160785c6 100644 +index 63e86af7430a..3c1286d7133b 100644 --- content/renderer/renderer_blink_platform_impl.h +++ content/renderer/renderer_blink_platform_impl.h @@ -232,6 +232,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { diff --git a/patch/patches/crashpad_1995.patch b/patch/patches/crashpad_1995.patch index 5a92ddb89..d57ac691b 100644 --- a/patch/patches/crashpad_1995.patch +++ b/patch/patches/crashpad_1995.patch @@ -45,7 +45,7 @@ index bcf172e645a2..f879aa745adf 100644 // on the given |command_line|. void SetCrashKeysFromCommandLine(const base::CommandLine& command_line); diff --git chrome_elf/BUILD.gn chrome_elf/BUILD.gn -index 7f780b54b9fa..a54fda966d36 100644 +index 61efc526eed9..b8d101eda7fd 100644 --- chrome_elf/BUILD.gn +++ chrome_elf/BUILD.gn @@ -7,6 +7,7 @@ @@ -388,10 +388,10 @@ index 485c2c8bf638..7eb175c43b6c 100644 } // namespace crash_reporter diff --git components/crash/content/app/crashpad.cc components/crash/content/app/crashpad.cc -index c6a98292bb5e..7cf360d3b340 100644 +index 5cf5818c879d..c085c84c8a16 100644 --- components/crash/content/app/crashpad.cc +++ components/crash/content/app/crashpad.cc -@@ -147,7 +147,8 @@ void InitializeCrashpadImpl(bool initial_client, +@@ -149,7 +149,8 @@ void InitializeCrashpadImpl(bool initial_client, // fallback. Forwarding is turned off for debug-mode builds even for the // browser process, because the system's crash reporter can take a very long // time to chew on symbols. @@ -402,7 +402,7 @@ index c6a98292bb5e..7cf360d3b340 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 f06d903c2f41..6ec1442323e9 100644 +index f079174b3586..ff9a19e259fb 100644 --- components/crash/content/app/crashpad_mac.mm +++ components/crash/content/app/crashpad_mac.mm @@ -16,11 +16,14 @@ @@ -472,7 +472,7 @@ index f06d903c2f41..6ec1442323e9 100644 } // @autoreleasepool return process_annotations; }(); -@@ -119,9 +139,10 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client, +@@ -122,9 +142,10 @@ base::FilePath PlatformCrashpadInitialization( if (initial_client) { @autoreleasepool { @@ -486,7 +486,7 @@ index f06d903c2f41..6ec1442323e9 100644 // Is there a way to recover if this fails? CrashReporterClient* crash_reporter_client = GetCrashReporterClient(); -@@ -133,7 +154,7 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client, +@@ -136,7 +157,7 @@ base::FilePath PlatformCrashpadInitialization( // crash server won't have symbols for any other build types. std::string url = "https://clients2.google.com/cr/report"; #else @@ -495,7 +495,7 @@ index f06d903c2f41..6ec1442323e9 100644 #endif std::vector arguments; -@@ -156,6 +177,12 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client, +@@ -159,6 +180,12 @@ base::FilePath PlatformCrashpadInitialization( "--reset-own-crash-exception-port-to-system-default"); } @@ -509,7 +509,7 @@ index f06d903c2f41..6ec1442323e9 100644 handler_path, database_path, metrics_path, url, GetProcessSimpleAnnotations(), arguments, true, false); diff --git components/crash/content/app/crashpad_win.cc components/crash/content/app/crashpad_win.cc -index 4902d87bd171..a573e9557666 100644 +index 8b55f0a521f1..d58dcbce5af4 100644 --- components/crash/content/app/crashpad_win.cc +++ components/crash/content/app/crashpad_win.cc @@ -34,8 +34,8 @@ void GetPlatformCrashpadAnnotations( @@ -535,7 +535,7 @@ index 4902d87bd171..a573e9557666 100644 #endif } -@@ -62,7 +62,9 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client, +@@ -64,7 +64,9 @@ base::FilePath PlatformCrashpadInitialization( base::FilePath metrics_path; // Only valid in the browser process. const char kPipeNameVar[] = "CHROME_CRASHPAD_PIPE_NAME"; @@ -545,7 +545,7 @@ index 4902d87bd171..a573e9557666 100644 std::unique_ptr env(base::Environment::Create()); if (initial_client) { CrashReporterClient* crash_reporter_client = GetCrashReporterClient(); -@@ -82,13 +84,13 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client, +@@ -84,13 +86,13 @@ base::FilePath PlatformCrashpadInitialization( #if defined(GOOGLE_CHROME_BUILD) std::string url = "https://clients2.google.com/cr/report"; @@ -562,14 +562,14 @@ index 4902d87bd171..a573e9557666 100644 base::FilePath exe_file(exe_path); if (exe_file.empty()) { -@@ -106,13 +108,14 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client, +@@ -108,13 +110,14 @@ base::FilePath PlatformCrashpadInitialization( crashpad::TriState::kEnabled, kIndirectMemoryLimit); } - // If the handler is embedded in the binary (e.g. chrome, setup), we - // reinvoke it with --type=crashpad-handler. Otherwise, we use the - // standalone crashpad_handler.exe (for tests, etc.). - std::vector start_arguments; + std::vector start_arguments(initial_arguments); + + // Always add --type=crashpad-handler because the value is expected by + // CefExecuteProcess. @@ -582,7 +582,7 @@ index 4902d87bd171..a573e9557666 100644 if (!user_data_dir.empty()) { start_arguments.push_back(std::string("--user-data-dir=") + user_data_dir); -@@ -123,9 +126,12 @@ base::FilePath PlatformCrashpadInitialization(bool initial_client, +@@ -125,9 +128,12 @@ base::FilePath PlatformCrashpadInitialization( start_arguments.push_back("/prefetch:7"); } else { base::FilePath exe_dir = exe_file.DirName(); diff --git a/patch/patches/devtools_product_2300.patch b/patch/patches/devtools_product_2300.patch index 5791f0ac9..dbe630ade 100644 --- a/patch/patches/devtools_product_2300.patch +++ b/patch/patches/devtools_product_2300.patch @@ -12,10 +12,10 @@ index 53a3e878241c..afcd9feb9d6b 100644 version.SetString("V8-Version", V8_VERSION_STRING); std::string host = info.headers["host"]; diff --git content/public/common/content_client.h content/public/common/content_client.h -index b939bc2a9edf..b37302c0d8cf 100644 +index 618a328b4767..79aaa0fac1d2 100644 --- content/public/common/content_client.h +++ content/public/common/content_client.h -@@ -151,6 +151,10 @@ class CONTENT_EXPORT ContentClient { +@@ -156,6 +156,10 @@ class CONTENT_EXPORT ContentClient { // Used as part of the user agent string. virtual std::string GetProduct() const; diff --git a/patch/patches/extensions_1947.patch b/patch/patches/extensions_1947.patch index ea850a739..a76cdfc54 100644 --- a/patch/patches/extensions_1947.patch +++ b/patch/patches/extensions_1947.patch @@ -57,10 +57,10 @@ index fd7d05e26fa5..2ddb3a8ec86f 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 030b808a20ff..d43f2c640fca 100644 +index ff83421f2bb8..50bf5d594401 100644 --- content/public/browser/content_browser_client.h +++ content/public/browser/content_browser_client.h -@@ -447,6 +447,13 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -450,6 +450,13 @@ class CONTENT_EXPORT ContentBrowserClient { // Returns true if error page should be isolated in its own process. virtual bool ShouldIsolateErrorPage(bool in_main_frame); @@ -219,7 +219,7 @@ index 5a2533dc788f..b21e25a9af25 100644 // once each time the extensions system is loaded per browser_context. The // implementation may wish to use the BrowserContext to record the current diff --git extensions/browser/process_manager.cc extensions/browser/process_manager.cc -index 5be5c1b09b6d..1222df412848 100644 +index fde870c09c6e..b5a285cecb86 100644 --- extensions/browser/process_manager.cc +++ extensions/browser/process_manager.cc @@ -357,9 +357,16 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension, diff --git a/patch/patches/external_textures_1006.patch b/patch/patches/external_textures_1006.patch index ba8fa4b96..ef319795f 100644 --- a/patch/patches/external_textures_1006.patch +++ b/patch/patches/external_textures_1006.patch @@ -27,10 +27,10 @@ index 941d70bd2a7e..ef14a7dd7d4f 100644 virtual void OnReflectorChanged(); diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc -index 1795f6ed4724..21fe8d39fa8a 100644 +index 97d3236bed17..910dbf64a931 100644 --- content/browser/compositor/gpu_process_transport_factory.cc +++ content/browser/compositor/gpu_process_transport_factory.cc -@@ -208,6 +208,18 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() { +@@ -215,6 +215,18 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() { task_graph_runner_->Shutdown(); } @@ -49,7 +49,7 @@ index 1795f6ed4724..21fe8d39fa8a 100644 std::unique_ptr GpuProcessTransportFactory::CreateSoftwareOutputDevice( gfx::AcceleratedWidget widget, -@@ -492,11 +504,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( +@@ -482,11 +494,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( // surfaces as they are not following the correct mode. DisableGpuCompositing(compositor.get()); } @@ -73,7 +73,7 @@ index 1795f6ed4724..21fe8d39fa8a 100644 } else { DCHECK(context_provider); const auto& capabilities = context_provider->ContextCapabilities(); -@@ -504,7 +525,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( +@@ -494,7 +515,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( display_output_surface = std::make_unique( context_provider, std::move(vsync_callback), @@ -83,7 +83,7 @@ index 1795f6ed4724..21fe8d39fa8a 100644 } else if (capabilities.surfaceless) { #if defined(OS_MACOSX) const auto& gpu_feature_info = context_provider->GetGpuFeatureInfo(); -@@ -942,7 +964,8 @@ GpuProcessTransportFactory::CreatePerCompositorData( +@@ -941,7 +963,8 @@ GpuProcessTransportFactory::CreatePerCompositorData( gfx::AcceleratedWidget widget = compositor->widget(); auto data = std::make_unique(); @@ -94,10 +94,10 @@ index 1795f6ed4724..21fe8d39fa8a 100644 } else { #if defined(GPU_SURFACE_HANDLE_IS_ACCELERATED_WINDOW) diff --git content/browser/compositor/gpu_process_transport_factory.h content/browser/compositor/gpu_process_transport_factory.h -index 30573bc3308c..7711ed5dd40b 100644 +index 5653f31a8797..910de72d1543 100644 --- content/browser/compositor/gpu_process_transport_factory.h +++ content/browser/compositor/gpu_process_transport_factory.h -@@ -101,6 +101,7 @@ class GpuProcessTransportFactory : public ui::ContextFactory, +@@ -102,6 +102,7 @@ class GpuProcessTransportFactory : public ui::ContextFactory, void IssueExternalBeginFrame(ui::Compositor* compositor, const viz::BeginFrameArgs& args) override; void SetOutputIsSecure(ui::Compositor* compositor, bool secure) override; @@ -366,10 +366,10 @@ index 0fafe61704a0..a9bb72f3494b 100644 GLES2_GET_FUN(InvalidateReadbackBufferShadowDataCHROMIUM) #define glFramebufferTextureMultiviewLayeredANGLE \ diff --git gpu/command_buffer/build_gles2_cmd_buffer.py gpu/command_buffer/build_gles2_cmd_buffer.py -index 4c09b8ca8ca5..52b31fb938b9 100755 +index 34e0d4529183..fa6a28461a73 100755 --- gpu/command_buffer/build_gles2_cmd_buffer.py +++ gpu/command_buffer/build_gles2_cmd_buffer.py -@@ -4084,6 +4084,35 @@ _FUNCTION_INFO = { +@@ -4085,6 +4085,35 @@ _FUNCTION_INFO = { 'extension': 'CHROMIUM_gpu_fence', 'extension_flag': 'chromium_gpu_fence', }, @@ -406,7 +406,7 @@ index 4c09b8ca8ca5..52b31fb938b9 100755 'decoder_func': 'DoUnpremultiplyAndDitherCopyCHROMIUM', 'cmd_args': 'GLuint source_id, GLuint dest_id, GLint x, GLint y, ' diff --git gpu/command_buffer/client/gles2_c_lib_autogen.h gpu/command_buffer/client/gles2_c_lib_autogen.h -index 5207e5f77ece..b4365999a79e 100644 +index 74b68fa62a5f..42f7b3216c9d 100644 --- gpu/command_buffer/client/gles2_c_lib_autogen.h +++ gpu/command_buffer/client/gles2_c_lib_autogen.h @@ -1818,6 +1818,20 @@ void GL_APIENTRY GLES2WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) { @@ -430,7 +430,7 @@ index 5207e5f77ece..b4365999a79e 100644 void GL_APIENTRY GLES2InvalidateReadbackBufferShadowDataCHROMIUM(GLuint buffer_id) { gles2::GetGLContext()->InvalidateReadbackBufferShadowDataCHROMIUM(buffer_id); -@@ -3216,6 +3230,22 @@ extern const NameToFunc g_gles2_function_table[] = { +@@ -3299,6 +3313,22 @@ extern const NameToFunc g_gles2_function_table[] = { "glDestroyGpuFenceCHROMIUM", reinterpret_cast(glDestroyGpuFenceCHROMIUM), }, @@ -501,7 +501,7 @@ index f2da35b038e1..3989691bda6d 100644 GLint shm_id, GLuint shm_offset, diff --git gpu/command_buffer/client/gles2_implementation.cc gpu/command_buffer/client/gles2_implementation.cc -index 29e280bc7f86..dc85ccde26a7 100644 +index 0e1dd204db7d..c5fc6a8a82b6 100644 --- gpu/command_buffer/client/gles2_implementation.cc +++ gpu/command_buffer/client/gles2_implementation.cc @@ -7286,6 +7286,22 @@ void GLES2Implementation::Viewport(GLint x, @@ -549,10 +549,10 @@ index b520b91d1398..d9c1a7ec7cf3 100644 void FramebufferTextureMultiviewLayeredANGLE(GLenum target, diff --git gpu/command_buffer/client/gles2_implementation_impl_autogen.h gpu/command_buffer/client/gles2_implementation_impl_autogen.h -index fbfd72ccf8eb..d0c8df598a08 100644 +index 45060ce79d7f..d83ce6e78a04 100644 --- gpu/command_buffer/client/gles2_implementation_impl_autogen.h +++ gpu/command_buffer/client/gles2_implementation_impl_autogen.h -@@ -3662,6 +3662,30 @@ void GLES2Implementation::DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) { +@@ -3675,6 +3675,30 @@ void GLES2Implementation::DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) { CheckGLError(); } @@ -687,10 +687,10 @@ index 6ddd340314ad..3840254d80d7 100644 GLuint buffer_id) { TRACE_EVENT_BINARY_EFFICIENT0( diff --git gpu/command_buffer/common/gles2_cmd_format_autogen.h gpu/command_buffer/common/gles2_cmd_format_autogen.h -index 56929b36203c..d0b1d4b87335 100644 +index 76ee6074b51a..1644f27a20d6 100644 --- gpu/command_buffer/common/gles2_cmd_format_autogen.h +++ gpu/command_buffer/common/gles2_cmd_format_autogen.h -@@ -16566,6 +16566,193 @@ static_assert(offsetof(DestroyGpuFenceCHROMIUM, header) == 0, +@@ -16576,6 +16576,193 @@ static_assert(offsetof(DestroyGpuFenceCHROMIUM, header) == 0, static_assert(offsetof(DestroyGpuFenceCHROMIUM, gpu_fence_id) == 4, "offset of DestroyGpuFenceCHROMIUM gpu_fence_id should be 4"); @@ -885,10 +885,10 @@ index 56929b36203c..d0b1d4b87335 100644 typedef SetReadbackBufferShadowAllocationINTERNAL ValueType; static const CommandId kCmdId = kSetReadbackBufferShadowAllocationINTERNAL; diff --git gpu/command_buffer/common/gles2_cmd_format_test_autogen.h gpu/command_buffer/common/gles2_cmd_format_test_autogen.h -index 10b420f628d4..e4be58f568f8 100644 +index 52f445fe307f..97edefaffa39 100644 --- gpu/command_buffer/common/gles2_cmd_format_test_autogen.h +++ gpu/command_buffer/common/gles2_cmd_format_test_autogen.h -@@ -5482,6 +5482,52 @@ TEST_F(GLES2FormatTest, DestroyGpuFenceCHROMIUM) { +@@ -5514,6 +5514,52 @@ TEST_F(GLES2FormatTest, DestroyGpuFenceCHROMIUM) { CheckBytesWrittenMatchesExpectedSize(next_cmd, sizeof(cmd)); } @@ -989,7 +989,7 @@ index 73f1cd7a60af..2bde69b3842b 100644 "buffer_manager.cc", "buffer_manager.h", diff --git gpu/command_buffer/service/gles2_cmd_decoder.cc gpu/command_buffer/service/gles2_cmd_decoder.cc -index 5cbea967b35a..25f7f3d992fa 100644 +index e4be47a76448..4949935c2241 100644 --- gpu/command_buffer/service/gles2_cmd_decoder.cc +++ gpu/command_buffer/service/gles2_cmd_decoder.cc @@ -34,6 +34,7 @@ @@ -1164,7 +1164,7 @@ index b363a2f5849d..5e5404dfb1af 100644 GLES2DecoderPassthroughImpl::TextureTarget GLES2DecoderPassthroughImpl::GLenumToTextureTarget(GLenum target) { diff --git gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h -index 4a3fa61c59b6..3ad6f924c30a 100644 +index 0a36589dc65d..d5f1732353b6 100644 --- gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h +++ gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h @@ -45,6 +45,7 @@ class SharedImageRepresentationGLTexturePassthrough; @@ -1194,7 +1194,7 @@ index 4a3fa61c59b6..3ad6f924c30a 100644 size_t active_texture_unit_; diff --git ui/compositor/compositor.cc ui/compositor/compositor.cc -index 3e8c3daf2ccf..9a8121451525 100644 +index 5358941075a4..5ffd2284c437 100644 --- ui/compositor/compositor.cc +++ ui/compositor/compositor.cc @@ -535,6 +535,16 @@ void Compositor::OnNeedsExternalBeginFrames(bool needs_begin_frames) { @@ -1215,7 +1215,7 @@ index 3e8c3daf2ccf..9a8121451525 100644 observer_list_.AddObserver(observer); } diff --git ui/compositor/compositor.h ui/compositor/compositor.h -index 728cbd34b849..88c48e21be8c 100644 +index 6f46fd5b4b57..f3508ecb257f 100644 --- ui/compositor/compositor.h +++ ui/compositor/compositor.h @@ -26,6 +26,7 @@ @@ -1293,10 +1293,10 @@ index 728cbd34b849..88c48e21be8c 100644 // The device scale factor of the monitor that this compositor is compositing diff --git ui/compositor/host/host_context_factory_private.cc ui/compositor/host/host_context_factory_private.cc -index 952525b7f823..871379326bc2 100644 +index e16c5490bbcb..b4297261c397 100644 --- ui/compositor/host/host_context_factory_private.cc +++ ui/compositor/host/host_context_factory_private.cc -@@ -245,6 +245,10 @@ void HostContextFactoryPrivate::SetOutputIsSecure(Compositor* compositor, +@@ -248,6 +248,10 @@ void HostContextFactoryPrivate::SetOutputIsSecure(Compositor* compositor, iter->second.display_private->SetOutputIsSecure(secure); } diff --git a/patch/patches/gn_config.patch b/patch/patches/gn_config.patch index dd41322f9..dc79a22dd 100644 --- a/patch/patches/gn_config.patch +++ b/patch/patches/gn_config.patch @@ -1,8 +1,8 @@ diff --git .gn .gn -index 8fb99cedf0c1..719848a1b320 100644 +index 6f2772973179..34099faa8a27 100644 --- .gn +++ .gn -@@ -678,6 +678,8 @@ exec_script_whitelist = +@@ -677,6 +677,8 @@ exec_script_whitelist = # in the Chromium repo outside of //build. "//build_overrides/build.gni", @@ -12,7 +12,7 @@ index 8fb99cedf0c1..719848a1b320 100644 # https://crbug.com/474506. "//clank/java/BUILD.gn", diff --git BUILD.gn BUILD.gn -index 46bcfd07499e..39b0c2c449f1 100644 +index dbe4b22ba39a..1cd9399196a7 100644 --- BUILD.gn +++ BUILD.gn @@ -185,6 +185,7 @@ group("gn_all") { @@ -56,27 +56,27 @@ index 982fbe8d3f0d..e757be4688f1 100644 + "studio path") } diff --git build/toolchain/win/BUILD.gn build/toolchain/win/BUILD.gn -index 43fecc65da80..3f1ecf73ce0c 100644 +index 07319b798998..27118d68d109 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") +@@ -7,6 +7,7 @@ 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/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 { +@@ -30,6 +31,8 @@ if (use_goma) { goma_prefix = "$goma_dir/gomacc " } + clang_prefix = goma_prefix +} else if (cc_wrapper != "") { + goma_prefix = "$cc_wrapper " } else { goma_prefix = "" - } -@@ -114,7 +117,7 @@ template("msvc_toolchain") { + if (cc_wrapper != "") { +@@ -121,7 +124,7 @@ template("msvc_toolchain") { # lld-link includes a replacement for lib.exe that can produce thin # archives and understands bitcode (for lto builds). @@ -86,16 +86,17 @@ index 43fecc65da80..3f1ecf73ce0c 100644 if (host_os != "win") { # See comment adding --rsp-quoting to $cl above for more information. diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py -index 1ba5533c3efb..abfd55a2c703 100644 +index 2c8675206f31..d3e419d8fe98 100644 --- build/toolchain/win/setup_toolchain.py +++ build/toolchain/win/setup_toolchain.py -@@ -134,25 +134,28 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store): +@@ -134,22 +134,25 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store): # variable. if 'VSINSTALLDIR' in os.environ: del os.environ['VSINSTALLDIR'] - other_path = os.path.normpath(os.path.join( -- os.environ['GYP_MSVS_OVERRIDE_PATH'], -- 'VC/Auxiliary/Build/vcvarsall.bat')) ++ script_path = os.path.normpath(os.path.join( + os.environ['GYP_MSVS_OVERRIDE_PATH'], + 'VC/Auxiliary/Build/vcvarsall.bat')) - if not os.path.exists(other_path): - raise Exception('%s is missing - make sure VC++ tools are installed.' % - script_path) @@ -108,13 +109,7 @@ index 1ba5533c3efb..abfd55a2c703 100644 - # Store target must come before any SDK version declaration - if (target_store): - args.append(['store']) -- # 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'], -+ 'VC/Auxiliary/Build/vcvarsall.bat')) + if os.path.exists(script_path): + cpu_arg = "amd64" + if (cpu != 'x64'): @@ -124,9 +119,6 @@ index 1ba5533c3efb..abfd55a2c703 100644 + # Store target must come before any SDK version declaration + if (target_store): + args.append(['store']) -+ # 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 = [] @@ -138,10 +130,10 @@ index 1ba5533c3efb..abfd55a2c703 100644 diff --git build/vs_toolchain.py build/vs_toolchain.py -index 03684978da6f..6fdad5882117 100755 +index e613b88e5351..3f1d4f06f36a 100755 --- build/vs_toolchain.py +++ build/vs_toolchain.py -@@ -71,11 +71,18 @@ def SetEnvironmentAndGetRuntimeDllDirs(): +@@ -73,11 +73,18 @@ def SetEnvironmentAndGetRuntimeDllDirs(): runtime_path = os.path.pathsep.join(vs_runtime_dll_dirs) os.environ['PATH'] = runtime_path + os.path.pathsep + os.environ['PATH'] elif sys.platform == 'win32' and not depot_tools_win_toolchain: diff --git a/patch/patches/linux_build.patch b/patch/patches/linux_build.patch index 0ed35b6ac..a606983e5 100644 --- a/patch/patches/linux_build.patch +++ b/patch/patches/linux_build.patch @@ -1,5 +1,5 @@ diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn -index 946fb592c2f0..564ec2e634d6 100644 +index 87968b38e005..e597aecf436d 100644 --- build/config/compiler/BUILD.gn +++ build/config/compiler/BUILD.gn @@ -163,7 +163,7 @@ declare_args() { diff --git a/patch/patches/linux_gtk_2014.patch b/patch/patches/linux_gtk_2014.patch index 97a05512a..901526c51 100644 --- a/patch/patches/linux_gtk_2014.patch +++ b/patch/patches/linux_gtk_2014.patch @@ -68,10 +68,10 @@ index d44c7feaabec..5f1992335a38 100644 void ChromeBrowserMainExtraPartsViewsLinux::ToolkitInitialized() { diff --git chrome/test/BUILD.gn chrome/test/BUILD.gn -index 188dfd74d03a..b500f87fa5c7 100644 +index 96a7dc9c5be9..12318f88f99d 100644 --- chrome/test/BUILD.gn +++ chrome/test/BUILD.gn -@@ -3885,7 +3885,7 @@ test("unit_tests") { +@@ -3905,7 +3905,7 @@ test("unit_tests") { "../browser/ui/input_method/input_method_engine_unittest.cc", ] } @@ -80,7 +80,7 @@ index 188dfd74d03a..b500f87fa5c7 100644 sources += [ "../browser/ui/libgtkui/select_file_dialog_impl_gtk_unittest.cc" ] deps += [ "//build/config/linux/gtk" ] -@@ -3906,7 +3906,7 @@ test("unit_tests") { +@@ -3926,7 +3926,7 @@ test("unit_tests") { if (use_gio) { configs += [ "//build/linux:gio_config" ] } @@ -89,7 +89,7 @@ index 188dfd74d03a..b500f87fa5c7 100644 deps += [ "//chrome/browser/ui/libgtkui" ] } -@@ -4892,7 +4892,7 @@ if (!is_android) { +@@ -4911,7 +4911,7 @@ if (!is_android) { # suites, it seems like one or another starts timing out too. "../browser/ui/views/keyboard_access_browsertest.cc", ] @@ -99,10 +99,10 @@ index 188dfd74d03a..b500f87fa5c7 100644 "../browser/ui/libgtkui/select_file_dialog_interactive_uitest.cc", ] diff --git remoting/host/BUILD.gn remoting/host/BUILD.gn -index c49188e58c90..162851b97cef 100644 +index 67e7d8371649..98a8d379060d 100644 --- remoting/host/BUILD.gn +++ remoting/host/BUILD.gn -@@ -342,7 +342,7 @@ static_library("host") { +@@ -345,7 +345,7 @@ static_library("host") { "//build/config/linux:xrandr", ] deps += [ "//remoting/host/linux:x11" ] @@ -111,7 +111,7 @@ index c49188e58c90..162851b97cef 100644 deps += [ "//build/config/linux/gtk" ] } } else { -@@ -723,7 +723,7 @@ if (enable_me2me_host) { +@@ -727,7 +727,7 @@ if (enable_me2me_host) { deps += [ "//components/policy:generated" ] } diff --git a/patch/patches/message_loop.patch b/patch/patches/message_loop.patch index 6c91be275..b32d1e588 100644 --- a/patch/patches/message_loop.patch +++ b/patch/patches/message_loop.patch @@ -1,19 +1,19 @@ diff --git base/message_loop/message_loop.cc base/message_loop/message_loop.cc -index d53d5928a3fe..bcfb656ea23f 100644 +index dcc9f8d1163a..a0681ac47fc3 100644 --- base/message_loop/message_loop.cc +++ base/message_loop/message_loop.cc -@@ -294,6 +294,9 @@ MessageLoopForUI::MessageLoopForUI(Type type) : MessageLoop(type) { - #endif - } +@@ -177,6 +177,9 @@ MessageLoopBase* MessageLoop::GetMessageLoopBase() { + + //------------------------------------------------------------------------------ +MessageLoopForUI::MessageLoopForUI(std::unique_ptr pump) + : MessageLoop(TYPE_UI, BindOnce(&ReturnPump, std::move(pump))) {} + // static - MessageLoopCurrentForUI MessageLoopForUI::current() { - return MessageLoopCurrentForUI::Get(); + std::unique_ptr MessageLoop::CreateUnbound( + Type type, diff --git base/message_loop/message_loop.h base/message_loop/message_loop.h -index 04d45ae30fa8..d4dfc58c8df9 100644 +index 1adfd4cd1904..80befbbb7aa1 100644 --- base/message_loop/message_loop.h +++ base/message_loop/message_loop.h @@ -294,6 +294,9 @@ class BASE_EXPORT MessageLoop { @@ -32,8 +32,8 @@ index 04d45ae30fa8..d4dfc58c8df9 100644 explicit MessageLoopForUI(Type type = TYPE_UI); + explicit MessageLoopForUI(std::unique_ptr pump); - // TODO(gab): Mass migrate callers to MessageLoopCurrentForUI::Get()/IsSet(). - static MessageLoopCurrentForUI current(); + #if defined(OS_IOS) + // On iOS, the main message loop cannot be Run(). Instead call Attach(), diff --git base/message_loop/message_loop_current.cc base/message_loop/message_loop_current.cc index dca465455e36..bc2dc7c33110 100644 --- base/message_loop/message_loop_current.cc diff --git a/patch/patches/message_pump_mac_2495.patch b/patch/patches/message_pump_mac_2495.patch index 4af7753d8..9ca8fe549 100644 --- a/patch/patches/message_pump_mac_2495.patch +++ b/patch/patches/message_pump_mac_2495.patch @@ -1,8 +1,8 @@ diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm -index fb2520179995..165a8d4b4b29 100644 +index 855f77b77bad..da60dce71705 100644 --- base/message_loop/message_pump_mac.mm +++ base/message_loop/message_pump_mac.mm -@@ -761,7 +761,8 @@ void MessagePumpUIApplication::Attach(Delegate* delegate) { +@@ -762,7 +762,8 @@ void MessagePumpUIApplication::Attach(Delegate* delegate) { #else ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { @@ -12,7 +12,7 @@ index fb2520179995..165a8d4b4b29 100644 DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask()); // Pumping events in private runloop modes is known to interact badly with // app modal windows like NSAlert. -@@ -770,7 +771,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { +@@ -771,7 +772,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { } ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() { diff --git a/patch/patches/net_filter_515.patch b/patch/patches/net_filter_515.patch index e7255d6ad..6fa58e471 100644 --- a/patch/patches/net_filter_515.patch +++ b/patch/patches/net_filter_515.patch @@ -1,5 +1,5 @@ diff --git net/base/network_delegate.h net/base/network_delegate.h -index c989746999de..5797db42887d 100644 +index 49fe875c7d22..c1e3df840dc0 100644 --- net/base/network_delegate.h +++ net/base/network_delegate.h @@ -17,6 +17,7 @@ @@ -10,7 +10,7 @@ index c989746999de..5797db42887d 100644 #include "net/proxy_resolution/proxy_retry_info.h" class GURL; -@@ -123,6 +124,10 @@ class NET_EXPORT NetworkDelegate { +@@ -122,6 +123,10 @@ class NET_EXPORT NetworkDelegate { bool CanUseReportingClient(const url::Origin& origin, const GURL& endpoint) const; @@ -22,7 +22,7 @@ index c989746999de..5797db42887d 100644 THREAD_CHECKER(thread_checker_); diff --git net/url_request/url_request_job.cc net/url_request/url_request_job.cc -index f30efb45ba19..0fbf58817194 100644 +index fddd0be90686..5f93b1666ba7 100644 --- net/url_request/url_request_job.cc +++ net/url_request/url_request_job.cc @@ -466,6 +466,12 @@ void URLRequestJob::NotifyHeadersComplete() { diff --git a/patch/patches/net_security_expiration_1994.patch b/patch/patches/net_security_expiration_1994.patch index bea52d057..c78e0a776 100644 --- a/patch/patches/net_security_expiration_1994.patch +++ b/patch/patches/net_security_expiration_1994.patch @@ -58,10 +58,10 @@ index f61ff0d0564a..e6727c7b1cbc 100644 } // namespace certificate_transparency diff --git net/http/transport_security_state.cc net/http/transport_security_state.cc -index f2b3b7609ee7..d99c6d3b0901 100644 +index fe433909de14..f49d9d7bbae8 100644 --- net/http/transport_security_state.cc +++ net/http/transport_security_state.cc -@@ -1095,8 +1095,10 @@ void TransportSecurityState::ClearReportCachesForTesting() { +@@ -1099,8 +1099,10 @@ void TransportSecurityState::ClearReportCachesForTesting() { sent_expect_ct_reports_cache_.Clear(); } @@ -75,10 +75,10 @@ index f2b3b7609ee7..d99c6d3b0901 100644 // We consider built-in information to be timely for 10 weeks. return (base::Time::Now() - build_time).InDays() < 70 /* 10 weeks */; diff --git net/http/transport_security_state.h net/http/transport_security_state.h -index 5617c50f3909..fc55b6b8c76c 100644 +index 5e772fd78b5d..fb5fd04fbaf9 100644 --- net/http/transport_security_state.h +++ net/http/transport_security_state.h -@@ -525,6 +525,10 @@ class NET_EXPORT TransportSecurityState { +@@ -530,6 +530,10 @@ class NET_EXPORT TransportSecurityState { void EnableStaticPinsForTesting() { enable_static_pins_ = true; } bool has_dynamic_pkp_state() const { return !enabled_pkp_hosts_.empty(); } @@ -89,7 +89,7 @@ index 5617c50f3909..fc55b6b8c76c 100644 private: friend class TransportSecurityStateTest; friend class TransportSecurityStateStaticFuzzer; -@@ -543,7 +547,7 @@ class NET_EXPORT TransportSecurityState { +@@ -548,7 +552,7 @@ class NET_EXPORT TransportSecurityState { // IsBuildTimely returns true if the current build is new enough ensure that // built in security information (i.e. HSTS preloading and pinning // information) is timely. @@ -98,7 +98,7 @@ index 5617c50f3909..fc55b6b8c76c 100644 // Helper method for actually checking pins. PKPStatus CheckPublicKeyPinsImpl( -@@ -641,6 +645,8 @@ class NET_EXPORT TransportSecurityState { +@@ -646,6 +650,8 @@ class NET_EXPORT TransportSecurityState { // True if public key pinning bypass is enabled for local trust anchors. bool enable_pkp_bypass_for_local_trust_anchors_; diff --git a/patch/patches/net_urlrequest_1327.patch b/patch/patches/net_urlrequest_1327.patch index a42f39f58..bedb79a8d 100644 --- a/patch/patches/net_urlrequest_1327.patch +++ b/patch/patches/net_urlrequest_1327.patch @@ -1,8 +1,8 @@ diff --git net/url_request/url_request.h net/url_request/url_request.h -index 6e9a7fb7cbf3..39b7ae2de1a9 100644 +index 12ce9b653092..976a7a5a5ce9 100644 --- net/url_request/url_request.h +++ net/url_request/url_request.h -@@ -742,10 +742,10 @@ class NET_EXPORT URLRequest : public base::SupportsUserData { +@@ -743,10 +743,10 @@ class NET_EXPORT URLRequest : public base::SupportsUserData { base::WeakPtr GetWeakPtr(); diff --git a/patch/patches/pdfium_print_549365.patch b/patch/patches/pdfium_print_549365.patch index 5708f8cc0..94cf2649b 100644 --- a/patch/patches/pdfium_print_549365.patch +++ b/patch/patches/pdfium_print_549365.patch @@ -14,7 +14,7 @@ index e9a87e03c..f4cd02c2d 100644 # Targets below this are only visible within this file (and to the diff --git fpdfsdk/fpdf_view.cpp fpdfsdk/fpdf_view.cpp -index 769ff2ae8..0566a2b6a 100644 +index bcb9e35c1..5df6e300c 100644 --- fpdfsdk/fpdf_view.cpp +++ fpdfsdk/fpdf_view.cpp @@ -38,6 +38,7 @@ diff --git a/patch/patches/prefs_content_1161.patch b/patch/patches/prefs_content_1161.patch index 3f90131c5..fca493fb6 100644 --- a/patch/patches/prefs_content_1161.patch +++ b/patch/patches/prefs_content_1161.patch @@ -35,10 +35,10 @@ index 40c92b166696..e59e73012b69 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 53ae7cb8d17f..80381f15849c 100644 +index 5e97250f926d..c68129d1c24e 100644 --- content/renderer/render_view_impl.cc +++ content/renderer/render_view_impl.cc -@@ -1005,6 +1005,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs, +@@ -1007,6 +1007,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs, #endif WebRuntimeFeatures::EnableTranslateService(prefs.translate_service_available); diff --git a/patch/patches/print_header_footer_1478_1565.patch b/patch/patches/print_header_footer_1478_1565.patch index 4726dbc07..08a6f8077 100644 --- a/patch/patches/print_header_footer_1478_1565.patch +++ b/patch/patches/print_header_footer_1478_1565.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn -index 123a058f4c0b..7c7e16407953 100644 +index 8e91c8afab3d..3805f5080227 100644 --- chrome/browser/ui/BUILD.gn +++ chrome/browser/ui/BUILD.gn -@@ -368,6 +368,7 @@ jumbo_split_static_library("ui") { +@@ -370,6 +370,7 @@ jumbo_split_static_library("ui") { "//base:i18n", "//base/allocator:buildflags", "//cc/paint", @@ -10,7 +10,7 @@ index 123a058f4c0b..7c7e16407953 100644 "//chrome:extra_resources", "//chrome:resources", "//chrome:strings", -@@ -2253,7 +2254,7 @@ jumbo_split_static_library("ui") { +@@ -2267,7 +2268,7 @@ jumbo_split_static_library("ui") { "views/frame/native_browser_frame_factory_ozone.cc", ] } else { @@ -125,10 +125,10 @@ index 006966fd1c58..db9cd49af2a4 100644 #endif diff --git components/printing/common/print_messages.cc components/printing/common/print_messages.cc -index 18df7614a988..9f86016d3e68 100644 +index 528773d80a2f..3355de3884cd 100644 --- components/printing/common/print_messages.cc +++ components/printing/common/print_messages.cc -@@ -140,7 +140,6 @@ PrintMsg_PrintFrame_Params::PrintMsg_PrintFrame_Params() {} +@@ -131,7 +131,6 @@ PrintMsg_PrintFrame_Params::PrintMsg_PrintFrame_Params() {} PrintMsg_PrintFrame_Params::~PrintMsg_PrintFrame_Params() {} @@ -136,7 +136,7 @@ index 18df7614a988..9f86016d3e68 100644 PrintHostMsg_RequestPrintPreview_Params:: PrintHostMsg_RequestPrintPreview_Params() : is_modifiable(false), -@@ -170,4 +169,3 @@ PrintHostMsg_SetOptionsFromDocument_Params:: +@@ -161,4 +160,3 @@ PrintHostMsg_SetOptionsFromDocument_Params:: PrintHostMsg_SetOptionsFromDocument_Params:: ~PrintHostMsg_SetOptionsFromDocument_Params() { } @@ -262,10 +262,10 @@ index 7dd892feb181..daa097e62ba2 100644 #endif // COMPONENTS_PRINTING_COMMON_PRINT_MESSAGES_H_ diff --git components/printing/renderer/print_render_frame_helper.cc components/printing/renderer/print_render_frame_helper.cc -index 3a91761b39f8..699ef2146c97 100644 +index 9fb226cdf1db..79708b42a71c 100644 --- components/printing/renderer/print_render_frame_helper.cc +++ components/printing/renderer/print_render_frame_helper.cc -@@ -343,7 +343,6 @@ bool PrintingNodeOrPdfFrame(const blink::WebLocalFrame* frame, +@@ -344,7 +344,6 @@ bool PrintingNodeOrPdfFrame(const blink::WebLocalFrame* frame, return plugin && plugin->SupportsPaginatedPrint(); } @@ -273,7 +273,7 @@ index 3a91761b39f8..699ef2146c97 100644 // Returns true if the current destination printer is PRINT_TO_PDF. bool IsPrintToPdfRequested(const base::DictionaryValue& job_settings) { bool print_to_pdf = false; -@@ -365,7 +364,6 @@ bool PrintingFrameHasPageSizeStyle(blink::WebLocalFrame* frame, +@@ -366,7 +365,6 @@ bool PrintingFrameHasPageSizeStyle(blink::WebLocalFrame* frame, } return frame_has_custom_page_size_style; } @@ -281,7 +281,7 @@ index 3a91761b39f8..699ef2146c97 100644 #if BUILDFLAG(ENABLE_PRINTING) // Disable scaling when either: -@@ -420,7 +418,6 @@ MarginType GetMarginsForPdf(blink::WebLocalFrame* frame, +@@ -421,7 +419,6 @@ MarginType GetMarginsForPdf(blink::WebLocalFrame* frame, : PRINTABLE_AREA_MARGINS; } @@ -289,7 +289,7 @@ index 3a91761b39f8..699ef2146c97 100644 gfx::Size GetPdfPageSize(const gfx::Size& page_size, int dpi) { return gfx::Size(ConvertUnit(page_size.width(), dpi, kPointsPerInch), ConvertUnit(page_size.height(), dpi, kPointsPerInch)); -@@ -467,7 +464,6 @@ blink::WebPrintScalingOption GetPrintScalingOption( +@@ -468,7 +465,6 @@ blink::WebPrintScalingOption GetPrintScalingOption( } return blink::kWebPrintScalingOptionFitToPrintableArea; } @@ -297,7 +297,7 @@ index 3a91761b39f8..699ef2146c97 100644 // Helper function to scale and round an integer value with a double valued // scaling. -@@ -1111,10 +1107,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) { +@@ -1123,10 +1119,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) { return; if (g_is_preview_enabled) { @@ -308,7 +308,7 @@ index 3a91761b39f8..699ef2146c97 100644 } else { auto weak_this = weak_ptr_factory_.GetWeakPtr(); web_frame->DispatchBeforePrintEvent(); -@@ -1142,10 +1136,10 @@ bool PrintRenderFrameHelper::OnMessageReceived(const IPC::Message& message) { +@@ -1154,10 +1148,10 @@ bool PrintRenderFrameHelper::OnMessageReceived(const IPC::Message& message) { IPC_BEGIN_MESSAGE_MAP(PrintRenderFrameHelper, message) IPC_MESSAGE_HANDLER(PrintMsg_PrintPages, OnPrintPages) IPC_MESSAGE_HANDLER(PrintMsg_PrintForSystemDialog, OnPrintForSystemDialog) @@ -320,7 +320,7 @@ index 3a91761b39f8..699ef2146c97 100644 IPC_MESSAGE_HANDLER(PrintMsg_ClosePrintPreviewDialog, OnClosePrintPreviewDialog) #endif // BUILDFLAG(ENABLE_PRINT_PREVIEW) -@@ -1228,7 +1222,6 @@ void PrintRenderFrameHelper::UpdateFrameMarginsCssInfo( +@@ -1240,7 +1234,6 @@ void PrintRenderFrameHelper::UpdateFrameMarginsCssInfo( ignore_css_margins_ = (margins_type != DEFAULT_MARGINS); } @@ -328,7 +328,7 @@ index 3a91761b39f8..699ef2146c97 100644 void PrintRenderFrameHelper::OnPrintPreview( const base::DictionaryValue& settings) { if (ipc_nesting_level_ > 1) -@@ -1485,7 +1478,6 @@ int PrintRenderFrameHelper::GetFitToPageScaleFactor( +@@ -1497,7 +1490,6 @@ int PrintRenderFrameHelper::GetFitToPageScaleFactor( printable_height / static_cast(uniform_page_size.height); return static_cast(100.0f * std::min(scale_width, scale_height)); } @@ -336,7 +336,7 @@ index 3a91761b39f8..699ef2146c97 100644 void PrintRenderFrameHelper::OnPrintingDone(bool success) { if (ipc_nesting_level_ > 1) -@@ -1500,7 +1492,6 @@ void PrintRenderFrameHelper::OnSetPrintingEnabled(bool enabled) { +@@ -1512,7 +1504,6 @@ void PrintRenderFrameHelper::OnSetPrintingEnabled(bool enabled) { is_printing_enabled_ = enabled; } @@ -344,7 +344,7 @@ index 3a91761b39f8..699ef2146c97 100644 void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) { if (ipc_nesting_level_ > 1) return; -@@ -1511,7 +1502,9 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) { +@@ -1523,7 +1514,9 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) { // that instead. auto plugin = delegate_->GetPdfElement(frame); if (!plugin.IsNull()) { @@ -354,7 +354,7 @@ index 3a91761b39f8..699ef2146c97 100644 return; } print_preview_context_.InitWithFrame(frame); -@@ -1520,6 +1513,7 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) { +@@ -1532,6 +1525,7 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) { : PRINT_PREVIEW_USER_INITIATED_ENTIRE_FRAME); } @@ -362,7 +362,7 @@ index 3a91761b39f8..699ef2146c97 100644 void PrintRenderFrameHelper::OnClosePrintPreviewDialog() { print_preview_context_.source_frame()->DispatchAfterPrintEvent(); } -@@ -1607,11 +1601,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -1619,11 +1613,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { print_node_in_progress_ = true; @@ -375,7 +375,7 @@ index 3a91761b39f8..699ef2146c97 100644 } else { // Make a copy of the node, in case RenderView::OnContextMenuClosed() resets // its |context_menu_node_|. -@@ -1687,13 +1679,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, +@@ -1699,13 +1691,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) { int cookie = print_pages_params_ ? print_pages_params_->params.document_cookie : 0; @@ -389,7 +389,7 @@ index 3a91761b39f8..699ef2146c97 100644 switch (result) { case OK: break; -@@ -1708,7 +1698,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) { +@@ -1720,7 +1710,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) { } break; @@ -397,7 +397,7 @@ index 3a91761b39f8..699ef2146c97 100644 case FAIL_PREVIEW: if (!is_print_ready_metafile_sent_) { if (notify_browser_of_print_failure_) { -@@ -1726,7 +1715,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) { +@@ -1738,7 +1727,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) { cookie, ids)); print_preview_context_.Failed(false); break; @@ -405,7 +405,7 @@ index 3a91761b39f8..699ef2146c97 100644 } prep_frame_view_.reset(); print_pages_params_.reset(); -@@ -1901,7 +1889,6 @@ bool PrintRenderFrameHelper::CalculateNumberOfPages(blink::WebLocalFrame* frame, +@@ -1913,7 +1901,6 @@ bool PrintRenderFrameHelper::CalculateNumberOfPages(blink::WebLocalFrame* frame, return true; } @@ -413,7 +413,7 @@ index 3a91761b39f8..699ef2146c97 100644 bool PrintRenderFrameHelper::SetOptionsFromPdfDocument( PrintHostMsg_SetOptionsFromDocument_Params* options) { blink::WebLocalFrame* source_frame = print_preview_context_.source_frame(); -@@ -1994,7 +1981,6 @@ bool PrintRenderFrameHelper::UpdatePrintSettings( +@@ -2006,7 +1993,6 @@ bool PrintRenderFrameHelper::UpdatePrintSettings( print_preview_context_.set_error(PREVIEW_ERROR_INVALID_PRINTER_SETTINGS); return false; } @@ -421,7 +421,7 @@ index 3a91761b39f8..699ef2146c97 100644 void PrintRenderFrameHelper::GetPrintSettingsFromUser( blink::WebLocalFrame* frame, -@@ -2146,7 +2132,6 @@ bool PrintRenderFrameHelper::CopyMetafileDataToReadOnlySharedMem( +@@ -2158,7 +2144,6 @@ bool PrintRenderFrameHelper::CopyMetafileDataToReadOnlySharedMem( return true; } @@ -429,7 +429,7 @@ index 3a91761b39f8..699ef2146c97 100644 void PrintRenderFrameHelper::ShowScriptedPrintPreview() { if (is_scripted_preview_delayed_) { is_scripted_preview_delayed_ = false; -@@ -2272,7 +2257,6 @@ bool PrintRenderFrameHelper::PreviewPageRendered( +@@ -2284,7 +2269,6 @@ bool PrintRenderFrameHelper::PreviewPageRendered( Send(new PrintHostMsg_DidPreviewPage(routing_id(), preview_page_params, ids)); return true; } diff --git a/patch/patches/resource_bundle_2512.patch b/patch/patches/resource_bundle_2512.patch index 1cffb428e..2083d0e41 100644 --- a/patch/patches/resource_bundle_2512.patch +++ b/patch/patches/resource_bundle_2512.patch @@ -1,8 +1,8 @@ diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc -index 3bcbb234522a..2d934b3d359c 100644 +index c371212e0cec..7020914bf15e 100644 --- ui/base/resource/resource_bundle.cc +++ ui/base/resource/resource_bundle.cc -@@ -686,6 +686,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate) +@@ -693,6 +693,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate) : delegate_(delegate), locale_resources_data_lock_(new base::Lock), max_scale_factor_(SCALE_FACTOR_100P) { @@ -15,7 +15,7 @@ index 3bcbb234522a..2d934b3d359c 100644 mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kMangleLocalizedStrings); } -@@ -695,6 +701,11 @@ ResourceBundle::~ResourceBundle() { +@@ -702,6 +708,11 @@ ResourceBundle::~ResourceBundle() { UnloadLocaleResources(); } @@ -28,7 +28,7 @@ index 3bcbb234522a..2d934b3d359c 100644 void ResourceBundle::InitSharedInstance(Delegate* delegate) { DCHECK(g_shared_instance_ == NULL) << "ResourceBundle initialized twice"; diff --git ui/base/resource/resource_bundle.h ui/base/resource/resource_bundle.h -index 667b5b1224a1..6edd94b51269 100644 +index c24fcf0ba3c9..2c9ca937bbe7 100644 --- ui/base/resource/resource_bundle.h +++ ui/base/resource/resource_bundle.h @@ -150,6 +150,11 @@ class UI_BASE_EXPORT ResourceBundle { diff --git a/patch/patches/rwh_background_color_1984.patch b/patch/patches/rwh_background_color_1984.patch index 669d794e7..07a15b824 100644 --- a/patch/patches/rwh_background_color_1984.patch +++ b/patch/patches/rwh_background_color_1984.patch @@ -1,8 +1,8 @@ diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc -index 2f878e46f1b3..ff7181298c2f 100644 +index 45fa02465929..26ecdddcd135 100644 --- content/browser/renderer_host/render_widget_host_view_aura.cc +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -718,10 +718,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const { +@@ -727,10 +727,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const { void RenderWidgetHostViewAura::UpdateBackgroundColor() { DCHECK(GetBackgroundColor()); @@ -19,7 +19,7 @@ index 2f878e46f1b3..ff7181298c2f 100644 } void RenderWidgetHostViewAura::WindowTitleChanged() { -@@ -1992,6 +1994,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { +@@ -2001,6 +2003,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { if (frame_sink_id_.is_valid()) window_->SetEmbedFrameSinkId(frame_sink_id_); diff --git a/patch/patches/storage_partition_1973.patch b/patch/patches/storage_partition_1973.patch index 75018e59e..cd822a52f 100644 --- a/patch/patches/storage_partition_1973.patch +++ b/patch/patches/storage_partition_1973.patch @@ -83,10 +83,10 @@ index f061eca7c86b..0fc07c9c4eb8 100644 partition->GetBluetoothAllowedDevicesMap(); return allowed_devices_map->GetOrCreateAllowedDevices(GetOrigin()); diff --git content/browser/browser_context.cc content/browser/browser_context.cc -index ab4166e3daab..a4867880d9d3 100644 +index f37ebdb29896..03448e9fcec0 100644 --- content/browser/browser_context.cc +++ content/browser/browser_context.cc -@@ -206,11 +206,18 @@ StoragePartition* GetStoragePartitionFromConfig( +@@ -208,11 +208,18 @@ StoragePartition* GetStoragePartitionFromConfig( StoragePartitionImplMap* partition_map = GetStoragePartitionMap(browser_context); @@ -108,7 +108,7 @@ index ab4166e3daab..a4867880d9d3 100644 } void SaveSessionStateOnIOThread( -@@ -709,6 +716,11 @@ BrowserContext::BrowserContext() +@@ -746,6 +753,11 @@ BrowserContext::BrowserContext() new SharedCorsOriginAccessListImpl())); } @@ -171,7 +171,7 @@ index ec9ab86d0ca6..0fe5219f1e84 100644 base::WeakPtrFactory weak_factory_; diff --git content/browser/download/download_manager_impl.cc content/browser/download/download_manager_impl.cc -index 601e888167c4..5bbd3e6804b6 100644 +index a2d4e5187819..c61088e48747 100644 --- content/browser/download/download_manager_impl.cc +++ content/browser/download/download_manager_impl.cc @@ -99,9 +99,9 @@ void DeleteDownloadedFileOnUIThread(const base::FilePath& file_path) { @@ -215,7 +215,7 @@ index 601e888167c4..5bbd3e6804b6 100644 std::move(proxy_factory_ptr_info), std::move(proxy_factory_request)); } -@@ -1200,7 +1199,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete( +@@ -1196,7 +1195,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete( tab_referrer_url = entry->GetReferrer().url; } } @@ -224,7 +224,7 @@ index 601e888167c4..5bbd3e6804b6 100644 GetStoragePartition(browser_context_, render_process_id, render_frame_id); in_progress_manager_->InterceptDownloadFromNavigation( std::move(resource_request), render_process_id, render_frame_id, site_url, -@@ -1250,10 +1249,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete( +@@ -1246,10 +1245,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete( base::MakeRefCounted( rfh, params->url()); } else if (rfh && params->url().SchemeIsFileSystem()) { @@ -237,7 +237,7 @@ index 601e888167c4..5bbd3e6804b6 100644 std::string storage_domain; auto* site_instance = rfh->GetSiteInstance(); if (site_instance) { -@@ -1268,10 +1265,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete( +@@ -1264,10 +1261,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete( params->url(), rfh, /*is_navigation=*/false, storage_partition->GetFileSystemContext(), storage_domain); } else { @@ -251,10 +251,19 @@ index 601e888167c4..5bbd3e6804b6 100644 CreateDownloadURLLoaderFactoryGetter(storage_partition, rfh, true); } diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc -index 97f10dca2810..01f9329493ca 100644 +index 686e303e0230..e458b78fdf7a 100644 --- content/browser/loader/navigation_url_loader_impl.cc +++ content/browser/loader/navigation_url_loader_impl.cc -@@ -1196,7 +1196,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController +@@ -376,7 +376,7 @@ class AboutURLLoaderFactory : public network::mojom::URLLoaderFactory { + std::unique_ptr + CreateNetworkFactoryInfoWithHeaderClient( + network::mojom::TrustedURLLoaderHeaderClientPtrInfo header_client, +- StoragePartitionImpl* partition) { ++ StoragePartition* partition) { + DCHECK_CURRENTLY_ON(BrowserThread::UI); + network::mojom::URLLoaderFactoryPtrInfo factory_info; + network::mojom::URLLoaderFactoryParamsPtr params = +@@ -1239,7 +1239,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_, @@ -263,7 +272,7 @@ index 97f10dca2810..01f9329493ca 100644 false /* allow_wildcard */, &stale, &plugin, nullptr); if (stale) { -@@ -1583,7 +1583,7 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl( +@@ -1607,7 +1607,7 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl( CreateResourceRequest(request_info.get(), frame_tree_node_id, IsNavigationDownloadAllowed(download_policy_)); @@ -319,7 +328,7 @@ index d821dc59609c..58ff1bc59fed 100644 partition->GetPaymentAppContext(); diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc -index 9586e9b9d28e..a82a49c51824 100644 +index d1823ebdeee9..4c80df77e27f 100644 --- content/browser/renderer_host/render_process_host_impl.cc +++ content/browser/renderer_host/render_process_host_impl.cc @@ -749,11 +749,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data, @@ -408,23 +417,23 @@ index 9586e9b9d28e..a82a49c51824 100644 MediaInternals* media_internals = MediaInternals::GetInstance(); // Add BrowserPluginMessageFilter to ensure it gets the first stab at messages // from guests. -@@ -1988,10 +1999,10 @@ void RenderProcessHostImpl::CreateMessageFilters() { - ChromeBlobStorageContext::GetFor(browser_context); +@@ -1989,10 +2000,10 @@ void RenderProcessHostImpl::CreateMessageFilters() { + media_request_context)); - resource_message_filter_ = new ResourceMessageFilter( -- GetID(), storage_partition_impl_->GetAppCacheService(), -+ GetID(), app_cache_service, - blob_storage_context.get(), - storage_partition_impl_->GetFileSystemContext(), -- storage_partition_impl_->GetServiceWorkerContext(), -+ service_worker_context, - storage_partition_impl_->GetPrefetchURLLoaderService(), - BrowserContext::GetSharedCorsOriginAccessList(browser_context), - std::move(get_contexts_callback), + resource_message_filter_ = new ResourceMessageFilter( +- GetID(), storage_partition_impl_->GetAppCacheService(), ++ GetID(), app_cache_service, + blob_storage_context.get(), + storage_partition_impl_->GetFileSystemContext(), +- storage_partition_impl_->GetServiceWorkerContext(), ++ service_worker_context, + storage_partition_impl_->GetPrefetchURLLoaderService(), + BrowserContext::GetSharedCorsOriginAccessList(browser_context), + std::move(get_contexts_callback), @@ -2001,8 +2012,7 @@ void RenderProcessHostImpl::CreateMessageFilters() { + AddFilter(resource_message_filter_.get()); + } - AddFilter( - new MidiHost(GetID(), BrowserMainLoop::GetInstance()->midi_service())); - AddFilter(new DOMStorageMessageFilter( - storage_partition_impl_->GetDOMStorageContext())); + AddFilter(new DOMStorageMessageFilter(dom_storage_context)); @@ -452,7 +461,7 @@ index 9586e9b9d28e..a82a49c51824 100644 } // Send the binding to IO thread, because Cache Storage handles Mojo IPC on IO // thread entirely. -@@ -2214,7 +2221,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { +@@ -2218,7 +2225,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { registry->AddInterface(base::BindRepeating( &CodeCacheHostImpl::Create, GetID(), @@ -462,7 +471,7 @@ index 9586e9b9d28e..a82a49c51824 100644 base::RetainedRef( storage_partition_impl_->GetGeneratedCodeCacheContext()))); -@@ -2225,7 +2233,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { +@@ -2230,7 +2238,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { registry->AddInterface(base::BindRepeating( &AppCacheDispatcherHost::Create, @@ -472,7 +481,7 @@ index 9586e9b9d28e..a82a49c51824 100644 GetID())); AddUIThreadInterface( -@@ -2277,6 +2286,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { +@@ -2283,6 +2292,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { plugin_registry_.reset( new PluginRegistryImpl(GetBrowserContext()->GetResourceContext())); } @@ -483,7 +492,7 @@ index 9586e9b9d28e..a82a49c51824 100644 &PluginRegistryImpl::Bind, base::Unretained(plugin_registry_.get()))); #endif diff --git content/browser/renderer_host/render_process_host_impl.h content/browser/renderer_host/render_process_host_impl.h -index 08b221ddb08d..240393ddf21d 100644 +index 8b2915483c25..86ba4fab4ee5 100644 --- content/browser/renderer_host/render_process_host_impl.h +++ content/browser/renderer_host/render_process_host_impl.h @@ -98,7 +98,6 @@ class ServiceWorkerDispatcherHost; @@ -503,7 +512,7 @@ index 08b221ddb08d..240393ddf21d 100644 SiteInstance* site_instance, bool is_for_guests_only); -@@ -490,7 +489,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -491,7 +490,7 @@ class CONTENT_EXPORT RenderProcessHostImpl // Use CreateRenderProcessHost() instead of calling this constructor // directly. RenderProcessHostImpl(BrowserContext* browser_context, @@ -512,7 +521,7 @@ index 08b221ddb08d..240393ddf21d 100644 bool is_for_guests_only); // Initializes a new IPC::ChannelProxy in |channel_|, which will be connected -@@ -745,10 +744,10 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -746,10 +745,10 @@ class CONTENT_EXPORT RenderProcessHostImpl // The globally-unique identifier for this RPH. const int id_; @@ -567,37 +576,8 @@ index 5a6e7ed16110..d20a8e216f57 100644 ->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 454febaba66b..90d430bb95d3 100644 ---- content/browser/shared_worker/shared_worker_connector_impl.cc -+++ content/browser/shared_worker/shared_worker_connector_impl.cc -@@ -52,8 +52,8 @@ void SharedWorkerConnectorImpl::Connect( - host->GetBrowserContext(), std::move(blob_url_token)); - } - SharedWorkerServiceImpl* service = -- static_cast(host->GetStoragePartition()) -- ->GetSharedWorkerService(); -+ static_cast(host->GetStoragePartition() -+ ->GetSharedWorkerService()); - service->ConnectToWorker(process_id_, frame_id_, std::move(info), - 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 c29c9585d775..3bb2296211fa 100644 ---- content/browser/shared_worker/shared_worker_service_impl.cc -+++ content/browser/shared_worker/shared_worker_service_impl.cc -@@ -491,7 +491,8 @@ void SharedWorkerServiceImpl::CreateWorker( - FROM_HERE, {BrowserThread::IO}, - base::BindOnce( - &CreateScriptLoaderOnIO, -- storage_partition_->url_loader_factory_getter(), -+ base::WrapRefCounted( -+ storage_partition_->url_loader_factory_getter()), - std::move(factory_bundle_for_browser), - std::move(subresource_loader_factories), service_worker_context_, - appcache_handle_core, diff --git content/browser/storage_partition_impl.h content/browser/storage_partition_impl.h -index b485cde5d194..71bb49f1b15f 100644 +index c9fd76aed58c..aeb44ed86fdd 100644 --- content/browser/storage_partition_impl.h +++ content/browser/storage_partition_impl.h @@ -96,7 +96,7 @@ class CONTENT_EXPORT StoragePartitionImpl @@ -699,10 +679,10 @@ index 075ae3e7431e..57fb5fd2c4a8 100644 void InitializeOnIOThread(); diff --git content/browser/webui/web_ui_url_loader_factory.cc content/browser/webui/web_ui_url_loader_factory.cc -index 37bab920b5d0..f03662d55b0a 100644 +index 63fe0125ca1c..698378600723 100644 --- content/browser/webui/web_ui_url_loader_factory.cc +++ content/browser/webui/web_ui_url_loader_factory.cc -@@ -20,7 +20,6 @@ +@@ -19,7 +19,6 @@ #include "content/browser/blob_storage/chrome_blob_storage_context.h" #include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/resource_context_impl.h" @@ -710,7 +690,7 @@ index 37bab920b5d0..f03662d55b0a 100644 #include "content/browser/webui/network_error_url_loader.h" #include "content/browser/webui/url_data_manager_backend.h" #include "content/browser/webui/url_data_source_impl.h" -@@ -28,6 +27,7 @@ +@@ -27,6 +26,7 @@ #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/render_process_host.h" @@ -718,7 +698,7 @@ index 37bab920b5d0..f03662d55b0a 100644 #include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents_observer.h" #include "content/public/common/url_constants.h" -@@ -320,9 +320,8 @@ class WebUIURLLoaderFactory : public network::mojom::URLLoaderFactory, +@@ -314,9 +314,8 @@ class WebUIURLLoaderFactory : public network::mojom::URLLoaderFactory, const std::string& scheme() const { return scheme_; } private: @@ -730,11 +710,39 @@ index 37bab920b5d0..f03662d55b0a 100644 } RenderFrameHost* render_frame_host_; +diff --git content/browser/worker_host/shared_worker_connector_impl.cc content/browser/worker_host/shared_worker_connector_impl.cc +index 69e9a943310b..fabdba322870 100644 +--- content/browser/worker_host/shared_worker_connector_impl.cc ++++ content/browser/worker_host/shared_worker_connector_impl.cc +@@ -52,8 +52,8 @@ void SharedWorkerConnectorImpl::Connect( + host->GetBrowserContext(), std::move(blob_url_token)); + } + SharedWorkerServiceImpl* service = +- static_cast(host->GetStoragePartition()) +- ->GetSharedWorkerService(); ++ static_cast(host->GetStoragePartition() ++ ->GetSharedWorkerService()); + service->ConnectToWorker(process_id_, frame_id_, std::move(info), + std::move(client), creation_context_type, + blink::MessagePortChannel(std::move(message_port)), +diff --git content/browser/worker_host/worker_script_fetch_initiator.cc content/browser/worker_host/worker_script_fetch_initiator.cc +index cf47bcfcecb0..a22dc17ed0c6 100644 +--- content/browser/worker_host/worker_script_fetch_initiator.cc ++++ content/browser/worker_host/worker_script_fetch_initiator.cc +@@ -97,7 +97,7 @@ void WorkerScriptFetchInitiator::Start( + base::BindOnce( + &WorkerScriptFetchInitiator::CreateScriptLoaderOnIO, process_id, + std::move(resource_request), +- storage_partition->url_loader_factory_getter(), ++ base::WrapRefCounted(storage_partition->url_loader_factory_getter()), + std::move(factory_bundle_for_browser), + std::move(subresource_loader_factories), + std::move(service_worker_context), appcache_handle_core, diff --git content/public/browser/browser_context.h content/public/browser/browser_context.h -index 777d4d608fbe..229cea3e47b3 100644 +index b6181e5c68a8..2c77bc6cbd18 100644 --- content/public/browser/browser_context.h +++ content/public/browser/browser_context.h -@@ -240,6 +240,8 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData { +@@ -242,6 +242,8 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData { BrowserContext(); @@ -743,7 +751,7 @@ index 777d4d608fbe..229cea3e47b3 100644 ~BrowserContext() override; // Shuts down the storage partitions associated to this browser context. -@@ -331,6 +333,14 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData { +@@ -333,6 +335,14 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData { const base::FilePath& partition_path, bool in_memory) = 0; diff --git a/patch/patches/trace_event.patch b/patch/patches/trace_event.patch index c7f873373..c98497ad5 100644 --- a/patch/patches/trace_event.patch +++ b/patch/patches/trace_event.patch @@ -1,5 +1,5 @@ diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h -index 4cb1748d4584..03ad161e9db0 100644 +index e362ff543b4c..a88ad19bebee 100644 --- base/trace_event/builtin_categories.h +++ base/trace_event/builtin_categories.h @@ -46,6 +46,8 @@ diff --git a/patch/patches/views_1749_2102.patch b/patch/patches/views_1749_2102.patch index 1b069babc..ec5d2397b 100644 --- a/patch/patches/views_1749_2102.patch +++ b/patch/patches/views_1749_2102.patch @@ -39,7 +39,7 @@ index fb958b187f0b..131f2fe7490e 100644 virtual void MenuWillShow() {} diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc -index 2b4458cf4f6a..8442cdfbf9a0 100644 +index 46dd6934bdac..f99138041495 100644 --- ui/gfx/render_text.cc +++ ui/gfx/render_text.cc @@ -509,6 +509,14 @@ void RenderText::SetElideBehavior(ElideBehavior elide_behavior) { @@ -102,10 +102,10 @@ index 50eaca5b18eb..038d866fd8d1 100644 }; diff --git ui/views/animation/ink_drop_host_view.h ui/views/animation/ink_drop_host_view.h -index 572573c3c114..427fbad4413a 100644 +index 282d1136b02c..e70023d433a1 100644 --- ui/views/animation/ink_drop_host_view.h +++ ui/views/animation/ink_drop_host_view.h -@@ -115,6 +115,8 @@ class VIEWS_EXPORT InkDropHostView : public View { +@@ -116,6 +116,8 @@ class VIEWS_EXPORT InkDropHostView : public View { // them. void AnimateInkDrop(InkDropState state, const ui::LocatedEvent* event); @@ -238,10 +238,10 @@ index 9c78b30ab3a0..999eb4048f5c 100644 std::unique_ptr selection_controller_; diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc -index b0f4756d729f..0c8a9f3f2f44 100644 +index 237a19181f21..92b5c9e3e349 100644 --- ui/views/controls/menu/menu_controller.cc +++ ui/views/controls/menu/menu_controller.cc -@@ -2457,8 +2457,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem( +@@ -2501,8 +2501,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem( void MenuController::OpenSubmenuChangeSelectionIfCan() { MenuItemView* item = pending_state_.item; @@ -256,7 +256,7 @@ index b0f4756d729f..0c8a9f3f2f44 100644 MenuItemView* to_select = NULL; if (item->GetSubmenu()->GetMenuItemCount() > 0) to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN); -@@ -2473,8 +2478,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() { +@@ -2517,8 +2522,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() { void MenuController::CloseSubmenu() { MenuItemView* item = state_.item; DCHECK(item); diff --git a/patch/patches/views_widget_180_1481_1565_1677_1749.patch b/patch/patches/views_widget_180_1481_1565_1677_1749.patch index 6289ad7c3..78dc2f889 100644 --- a/patch/patches/views_widget_180_1481_1565_1677_1749.patch +++ b/patch/patches/views_widget_180_1481_1565_1677_1749.patch @@ -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 be2d44821a7f..652a87c82171 100644 +index 20733af1a1d9..7d7c6735d83b 100644 --- content/browser/renderer_host/render_widget_host_view_base.cc +++ content/browser/renderer_host/render_widget_host_view_base.cc -@@ -581,6 +581,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const { +@@ -576,6 +576,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const { return screen_info.device_scale_factor; } @@ -18,7 +18,7 @@ index be2d44821a7f..652a87c82171 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 25ae62e0960e..070e00f9603d 100644 +index 62bc30a0539f..82912856b949 100644 --- content/browser/renderer_host/render_widget_host_view_base.h +++ content/browser/renderer_host/render_widget_host_view_base.h @@ -84,6 +84,7 @@ class CursorManager; @@ -48,7 +48,7 @@ index 25ae62e0960e..070e00f9603d 100644 TouchSelectionControllerClientManager* GetTouchSelectionControllerClientManager() override; -@@ -489,6 +495,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase +@@ -488,6 +494,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase // helps to position the full screen widget on the correct monitor. virtual void InitAsFullscreen(RenderWidgetHostView* reference_host_view) = 0; @@ -61,7 +61,7 @@ index 25ae62e0960e..070e00f9603d 100644 // Sets the cursor for this view to the one associated with the specified // cursor_type. virtual void UpdateCursor(const WebCursor& cursor) = 0; -@@ -690,6 +702,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase +@@ -689,6 +701,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase bool is_currently_scrolling_viewport_ = false; @@ -73,7 +73,7 @@ index 25ae62e0960e..070e00f9603d 100644 FRIEND_TEST_ALL_PREFIXES( BrowserSideFlingBrowserTest, 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 f0e7d2d03ea6..ede1eb76a087 100644 +index 1191efc74c2b..d7b133791c97 100644 --- content/browser/renderer_host/render_widget_host_view_event_handler.cc +++ content/browser/renderer_host/render_widget_host_view_event_handler.cc @@ -32,6 +32,10 @@ @@ -87,7 +87,7 @@ index f0e7d2d03ea6..ede1eb76a087 100644 #if defined(OS_WIN) #include "content/browser/frame_host/render_frame_host_impl.h" #include "content/public/common/context_menu_params.h" -@@ -886,6 +890,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() { +@@ -877,6 +881,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() { ::SetFocus(hwnd); } } @@ -103,7 +103,7 @@ index f0e7d2d03ea6..ede1eb76a087 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 b691dd6de206..3235d29138a6 100644 +index 116465bc4465..884e0964b00a 100644 --- content/public/browser/render_widget_host_view.h +++ content/public/browser/render_widget_host_view.h @@ -247,6 +247,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 1b289dae84f0..f899fc66eb86 100644 +index 13328844822d..39120a96bed8 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc @@ -89,6 +89,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin( @@ -160,7 +160,7 @@ index 1b289dae84f0..f899fc66eb86 100644 remove_standard_frame_ = params.remove_standard_frame; has_non_client_view_ = Widget::RequiresNonClientView(params.type); -@@ -872,11 +877,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { +@@ -889,11 +894,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { } void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) { @@ -179,10 +179,10 @@ index 1b289dae84f0..f899fc66eb86 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 4a958100990d..38f08ec723aa 100644 +index 1def35f1eb39..360d10ce2927 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h -@@ -285,6 +285,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin +@@ -286,6 +286,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin // True if the window should have the frame removed. bool remove_standard_frame_; @@ -194,7 +194,7 @@ index 4a958100990d..38f08ec723aa 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 9fd46f654e81..73e92b6b68a3 100644 +index 5e46a4f6908b..fb9b5e2e8ce9 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( @@ -275,7 +275,7 @@ index 9fd46f654e81..73e92b6b68a3 100644 bounds_in_pixels_.y(), bounds_in_pixels_.width(), bounds_in_pixels_.height(), 0, // border width -@@ -2089,6 +2103,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent( +@@ -2091,6 +2105,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent( } break; } @@ -335,7 +335,7 @@ index c547609abf03..5092e2a38b67 100644 base::WeakPtrFactory weak_factory_; diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc -index 0353201e7933..557446296e18 100644 +index fff5a5d1556a..f936eaffbbbd 100644 --- ui/views/widget/widget.cc +++ ui/views/widget/widget.cc @@ -137,6 +137,7 @@ Widget::InitParams::InitParams(Type type) @@ -369,7 +369,7 @@ index 0353201e7933..557446296e18 100644 } // This must come after SetContentsView() or it might not be able to find // the correct NativeTheme (on Linux). See http://crbug.com/384492 -@@ -1114,10 +1120,16 @@ void Widget::OnNativeWidgetDestroyed() { +@@ -1118,10 +1124,16 @@ void Widget::OnNativeWidgetDestroyed() { } gfx::Size Widget::GetMinimumSize() const { @@ -387,7 +387,7 @@ index 0353201e7933..557446296e18 100644 } diff --git ui/views/widget/widget.h ui/views/widget/widget.h -index e7116c1b21d8..2d654367a1a6 100644 +index 30a7c67d7566..92b71e568b63 100644 --- ui/views/widget/widget.h +++ ui/views/widget/widget.h @@ -240,6 +240,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, @@ -427,10 +427,10 @@ index c7296fed234d..244d0034a1c4 100644 if (native_widget_delegate->IsDialogBox()) { *style |= DS_MODALFRAME; diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc -index 45ef586d14ba..0564d6b72514 100644 +index 97448327fa37..e69b494dbfeb 100644 --- ui/views/win/hwnd_message_handler.cc +++ ui/views/win/hwnd_message_handler.cc -@@ -2888,10 +2888,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, +@@ -2895,10 +2895,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, } else if (event.type() == ui::ET_MOUSEWHEEL) { ui::MouseWheelEvent mouse_wheel_event(msg); // Reroute the mouse wheel to the window under the pointer if applicable. diff --git a/patch/patches/vr_build_873170.patch b/patch/patches/vr_build_873170.patch index 74078d839..5f78e3ad4 100644 --- a/patch/patches/vr_build_873170.patch +++ b/patch/patches/vr_build_873170.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/vr/BUILD.gn chrome/browser/vr/BUILD.gn -index f975b2ac0d7a..cb4bff4ca164 100644 +index b62afd67f585..39dbd57df47a 100644 --- chrome/browser/vr/BUILD.gn +++ chrome/browser/vr/BUILD.gn -@@ -417,6 +417,7 @@ source_set("vr_base") { +@@ -419,6 +419,7 @@ source_set("vr_base") { ] deps = [ diff --git a/patch/patches/web_contents_1257_1565.patch b/patch/patches/web_contents_1257_1565.patch index 5f621fe21..189cd4141 100644 --- a/patch/patches/web_contents_1257_1565.patch +++ b/patch/patches/web_contents_1257_1565.patch @@ -1,8 +1,8 @@ diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc -index 359a2049fa40..c00d6438a350 100644 +index 8d1eaa3e779c..2ccd1ac08b69 100644 --- content/browser/web_contents/web_contents_impl.cc +++ content/browser/web_contents/web_contents_impl.cc -@@ -1964,21 +1964,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -1973,21 +1973,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 359a2049fa40..c00d6438a350 100644 CHECK(render_view_host_delegate_view_); CHECK(view_.get()); -@@ -2672,6 +2681,15 @@ void WebContentsImpl::CreateNewWindow( +@@ -2681,6 +2690,15 @@ void WebContentsImpl::CreateNewWindow( create_params.renderer_initiated_creation = main_frame_route_id != MSG_ROUTING_NONE; @@ -61,7 +61,7 @@ index 359a2049fa40..c00d6438a350 100644 std::unique_ptr new_contents; if (!is_guest) { create_params.context = view_->GetNativeView(); -@@ -2704,7 +2722,7 @@ void WebContentsImpl::CreateNewWindow( +@@ -2713,7 +2731,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 359a2049fa40..c00d6438a350 100644 } // Save the created window associated with the route so we can show it // later. -@@ -6148,7 +6166,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() { +@@ -6157,7 +6175,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() { void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager( RenderViewHost* render_view_host) { RenderWidgetHostViewBase* rwh_view = @@ -95,7 +95,7 @@ index df508da0aef2..f6f4bf42b108 100644 WebContents::CreateParams::CreateParams(const CreateParams& other) = default; diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h -index 91b19a2f74d2..80e8435d7146 100644 +index 060e2194d9ea..7a81678de3d4 100644 --- content/public/browser/web_contents.h +++ content/public/browser/web_contents.h @@ -73,9 +73,11 @@ class BrowserPluginGuestDelegate; diff --git a/patch/patches/webkit_plugin_info_2015.patch b/patch/patches/webkit_plugin_info_2015.patch index a127c4ad6..293e51f81 100644 --- a/patch/patches/webkit_plugin_info_2015.patch +++ b/patch/patches/webkit_plugin_info_2015.patch @@ -44,10 +44,10 @@ index 3dac1a5a6f61..4fff23e66f2c 100644 .Top() .GetSecurityContext() diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc -index abaed983fe9c..6657d4144b63 100644 +index 2f30ff7b0c74..9299e580e113 100644 --- third_party/blink/renderer/core/frame/local_frame.cc +++ third_party/blink/renderer/core/frame/local_frame.cc -@@ -1303,7 +1303,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() { +@@ -1307,7 +1307,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() { PluginData* LocalFrame::GetPluginData() const { if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin)) return nullptr; @@ -57,7 +57,7 @@ index abaed983fe9c..6657d4144b63 100644 } diff --git third_party/blink/renderer/core/inspector/devtools_session.cc third_party/blink/renderer/core/inspector/devtools_session.cc -index be579710b518..74c2e586ef0e 100644 +index 347b9a74d341..aa71fb8de4a4 100644 --- third_party/blink/renderer/core/inspector/devtools_session.cc +++ third_party/blink/renderer/core/inspector/devtools_session.cc @@ -4,6 +4,7 @@ @@ -68,7 +68,7 @@ index be579710b518..74c2e586ef0e 100644 #include "third_party/blink/renderer/bindings/core/v8/script_controller.h" #include "third_party/blink/renderer/core/frame/local_frame.h" #include "third_party/blink/renderer/core/frame/use_counter.h" -@@ -113,6 +114,7 @@ DevToolsSession::DevToolsSession( +@@ -112,6 +113,7 @@ DevToolsSession::DevToolsSession( for (wtf_size_t i = 0; i < agents_.size(); i++) agents_[i]->Restore(); } @@ -76,7 +76,7 @@ index be579710b518..74c2e586ef0e 100644 } DevToolsSession::~DevToolsSession() { -@@ -151,6 +153,7 @@ void DevToolsSession::Detach() { +@@ -150,6 +152,7 @@ void DevToolsSession::Detach() { agents_.clear(); v8_session_.reset(); agent_->client_->DebuggerTaskFinished(); @@ -85,7 +85,7 @@ index be579710b518..74c2e586ef0e 100644 void DevToolsSession::FlushProtocolNotifications() { diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc -index 29aad26cb485..f827eea52dbd 100644 +index bee3dcd9beb8..ccc38bdc2ca8 100644 --- third_party/blink/renderer/core/page/page.cc +++ third_party/blink/renderer/core/page/page.cc @@ -168,7 +168,8 @@ Page::Page(PageClients& page_clients) @@ -159,10 +159,10 @@ index 29aad26cb485..f827eea52dbd 100644 visitor->Trace(plugins_changed_observers_); visitor->Trace(next_related_page_); diff --git third_party/blink/renderer/core/page/page.h third_party/blink/renderer/core/page/page.h -index 8d2baa9630d6..223de74e8e02 100644 +index 676f1c715ea8..bf6c9d1c261c 100644 --- third_party/blink/renderer/core/page/page.h +++ third_party/blink/renderer/core/page/page.h -@@ -137,7 +137,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized, +@@ -138,7 +138,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized, ViewportDescription GetViewportDescription() const; // Returns the plugin data associated with |main_frame_origin|. @@ -172,7 +172,7 @@ index 8d2baa9630d6..223de74e8e02 100644 // Resets the plugin data for all pages in the renderer process and notifies // PluginsChangedObservers. -@@ -364,7 +365,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized, +@@ -363,7 +364,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized, const Member overscroll_controller_; const Member link_highlights_; @@ -183,7 +183,7 @@ index 8d2baa9630d6..223de74e8e02 100644 Member validation_message_client_; diff --git third_party/blink/renderer/platform/plugins/plugin_data.cc third_party/blink/renderer/platform/plugins/plugin_data.cc -index 8e1cba5dcfe9..07a2b150dcc5 100644 +index 29721cbbc167..bfb0086206a4 100644 --- third_party/blink/renderer/platform/plugins/plugin_data.cc +++ third_party/blink/renderer/platform/plugins/plugin_data.cc @@ -88,10 +88,12 @@ void PluginData::RefreshBrowserSidePluginCache() { @@ -208,13 +208,13 @@ index 8e1cba5dcfe9..07a2b150dcc5 100644 - registry->GetPlugins(false, main_frame_origin_, &plugins); + registry->GetPlugins(false, is_main_frame, main_frame_origin_, &plugins); for (const auto& plugin : plugins) { - auto* plugin_info = - new PluginInfo(plugin->name, FilePathToWebString(plugin->filename), + auto* plugin_info = MakeGarbageCollected( + plugin->name, FilePathToWebString(plugin->filename), diff --git third_party/blink/renderer/platform/plugins/plugin_data.h third_party/blink/renderer/platform/plugins/plugin_data.h -index fc395cb63ce9..0645b6ae102c 100644 +index bb48e3956f52..18fc136fd971 100644 --- third_party/blink/renderer/platform/plugins/plugin_data.h +++ third_party/blink/renderer/platform/plugins/plugin_data.h -@@ -101,7 +101,8 @@ class PLATFORM_EXPORT PluginData final +@@ -103,7 +103,8 @@ class PLATFORM_EXPORT PluginData final const HeapVector>& Plugins() const { return plugins_; } const HeapVector>& Mimes() const { return mimes_; } const SecurityOrigin* Origin() const { return main_frame_origin_.get(); } diff --git a/patch/patches/webkit_pointer_event_781966.patch b/patch/patches/webkit_pointer_event_781966.patch index e46f70658..72051f469 100644 --- a/patch/patches/webkit_pointer_event_781966.patch +++ b/patch/patches/webkit_pointer_event_781966.patch @@ -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 6480104f7b21..2abecbbadeb8 100644 +index fffde3296b65..c57f7ec9f148 100644 --- third_party/blink/renderer/core/input/pointer_event_manager.cc +++ third_party/blink/renderer/core/input/pointer_event_manager.cc @@ -281,7 +281,7 @@ void PointerEventManager::HandlePointerInterruption( diff --git a/patch/patches/webkit_popups.patch b/patch/patches/webkit_popups.patch index 332accda0..2d6e6c002 100644 --- a/patch/patches/webkit_popups.patch +++ b/patch/patches/webkit_popups.patch @@ -1,8 +1,8 @@ diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h -index 3a49f93fe488..b8c84c72188a 100644 +index e14420e78971..04bcef2abebf 100644 --- third_party/blink/public/web/web_view.h +++ third_party/blink/public/web/web_view.h -@@ -325,6 +325,7 @@ class WebView { +@@ -329,6 +329,7 @@ class WebView { // Sets whether select popup menus should be rendered by the browser. BLINK_EXPORT static void SetUseExternalPopupMenus(bool); @@ -10,7 +10,7 @@ index 3a49f93fe488..b8c84c72188a 100644 // Hides any popup (suggestions, selects...) that might be showing. virtual void HidePopups() = 0; -@@ -349,6 +350,8 @@ class WebView { +@@ -353,6 +354,8 @@ class WebView { unsigned inactive_background_color, unsigned inactive_foreground_color) = 0; @@ -20,7 +20,7 @@ index 3a49f93fe488..b8c84c72188a 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 295828c1f467..24868ae69280 100644 +index 9246cf14bcae..73af3c519b82 100644 --- third_party/blink/renderer/core/exported/web_view_impl.cc +++ third_party/blink/renderer/core/exported/web_view_impl.cc @@ -234,8 +234,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) { @@ -48,7 +48,7 @@ index 295828c1f467..24868ae69280 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 bcb1519760fe..da720ab3b922 100644 +index a3c6109531c1..d3a605ff2f09 100644 --- third_party/blink/renderer/core/exported/web_view_impl.h +++ third_party/blink/renderer/core/exported/web_view_impl.h @@ -107,7 +107,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, @@ -61,7 +61,7 @@ index bcb1519760fe..da720ab3b922 100644 // WebWidget methods: void SetLayerTreeView(WebLayerTreeView*) override; -@@ -247,7 +248,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -250,7 +251,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, HitTestResult CoreHitTestResultAt(const gfx::Point&); void InvalidateRect(const IntRect&); @@ -70,7 +70,7 @@ index bcb1519760fe..da720ab3b922 100644 void SetBaseBackgroundColorOverride(SkColor); void ClearBaseBackgroundColorOverride(); void SetBackgroundColorOverride(SkColor); -@@ -596,6 +597,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -599,6 +600,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, float fake_page_scale_animation_page_scale_factor_; bool fake_page_scale_animation_use_anchor_; @@ -80,15 +80,15 @@ index bcb1519760fe..da720ab3b922 100644 TransformationMatrix device_emulation_transform_; diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc -index 76213af6df93..cab9fbb91ff1 100644 +index c7b9280cc19c..b8e22e79f957 100644 --- third_party/blink/renderer/core/page/chrome_client_impl.cc +++ third_party/blink/renderer/core/page/chrome_client_impl.cc -@@ -797,7 +797,7 @@ bool ChromeClientImpl::HasOpenedPopup() const { +@@ -801,7 +801,7 @@ bool ChromeClientImpl::HasOpenedPopup() const { PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame, HTMLSelectElement& select) { NotifyPopupOpeningObservers(); - if (WebViewImpl::UseExternalPopupMenus()) + if (web_view_->UseExternalPopupMenus()) - return new ExternalPopupMenu(frame, select, *web_view_); + return MakeGarbageCollected(frame, select, *web_view_); DCHECK(RuntimeEnabledFeatures::PagePopupEnabled()); diff --git a/patch/patches/webview_plugin_2020.patch b/patch/patches/webview_plugin_2020.patch index 8cb772756..93c567a6d 100644 --- a/patch/patches/webview_plugin_2020.patch +++ b/patch/patches/webview_plugin_2020.patch @@ -1,8 +1,8 @@ diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd -index 6d72834d4d58..9f6bd9780682 100644 +index 1ee0b0b636ca..478f1ee0f12e 100644 --- chrome/app/generated_resources.grd +++ chrome/app/generated_resources.grd -@@ -4514,7 +4514,7 @@ Keep your key file in a safe place. You will need it to create new versions of y +@@ -4517,7 +4517,7 @@ Keep your key file in a safe place. You will need it to create new versions of y diff --git a/patch/patches/win_rt_2274.patch b/patch/patches/win_rt_2274.patch index 1230f7004..fae67ac9b 100644 --- a/patch/patches/win_rt_2274.patch +++ b/patch/patches/win_rt_2274.patch @@ -1,8 +1,8 @@ diff --git services/service_manager/sandbox/win/sandbox_win.cc services/service_manager/sandbox/win/sandbox_win.cc -index 08727deede74..4bc8184943f9 100644 +index 8d7453d37d63..4bb0d6e48d61 100644 --- services/service_manager/sandbox/win/sandbox_win.cc +++ services/service_manager/sandbox/win/sandbox_win.cc -@@ -912,8 +912,11 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess( +@@ -917,8 +917,11 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess( #endif // Post-startup mitigations. diff --git a/tests/ceftests/views/window_unittest.cc b/tests/ceftests/views/window_unittest.cc index f6d56d3f8..9d23707ec 100644 --- a/tests/ceftests/views/window_unittest.cc +++ b/tests/ceftests/views/window_unittest.cc @@ -258,11 +258,8 @@ void VerifyMinimize(CefRefPtr window) { EXPECT_TRUE(window->IsMinimized()); EXPECT_FALSE(window->IsMaximized()); EXPECT_FALSE(window->IsFullscreen()); - - // This result is a bit unexpected, but I guess the platform considers a - // window to be visible even when it's minimized. - EXPECT_TRUE(window->IsVisible()); - EXPECT_TRUE(window->IsDrawn()); + EXPECT_FALSE(window->IsVisible()); + EXPECT_FALSE(window->IsDrawn()); window->Restore(); CefPostDelayedTask(TID_UI, base::Bind(VerifyRestore, window), kStateDelayMS);