diff --git a/DEPS b/DEPS index 9fd47d308b5d..2ea4fc2346bc 100644 --- a/DEPS +++ b/DEPS @@ -14,7 +14,7 @@ gclient_gn_args = [ vars = { 'chromium_version': - '9269f9eb1d98d29564c2b2ab97f30c6e148c4e11', + '2a55c4f55b99b2191ea59cba1e2f6da4dbb7dee0', 'node_version': 'v14.14.0', 'nan_version': diff --git a/appveyor.yml b/appveyor.yml index 65370e86ee74..75dadf178857 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -101,6 +101,11 @@ build_script: } else { # update external binaries python src/electron/script/update-external-binaries.py + # update angle + cd src\third_party\angle + git remote set-url origin https://chromium.googlesource.com/angle/angle.git + git fetch + cd ..\..\.. } } else { # file does not exist, gclient sync, then zip diff --git a/build/zip.py b/build/zip.py index 6e091993482b..eb34033219df 100644 --- a/build/zip.py +++ b/build/zip.py @@ -9,7 +9,8 @@ EXTENSIONS_TO_SKIP = [ '.pdb', '.mojom.js', '.mojom-lite.js', - '.info' + '.info', + '.m.js' ] PATHS_TO_SKIP = [ diff --git a/chromium_src/BUILD.gn b/chromium_src/BUILD.gn index a5a9d54ce3e5..5d7375fd7d2c 100644 --- a/chromium_src/BUILD.gn +++ b/chromium_src/BUILD.gn @@ -305,8 +305,6 @@ source_set("plugins") { sources += [ "//chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.cc", "//chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h", - "//chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc", - "//chrome/browser/renderer_host/pepper/pepper_broker_message_filter.h", "//chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc", "//chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h", ] diff --git a/electron_paks.gni b/electron_paks.gni index b541aa557e71..82807df44e44 100644 --- a/electron_paks.gni +++ b/electron_paks.gni @@ -94,10 +94,6 @@ template("electron_extra_paks") { sources += [ "$root_gen_dir/content/browser/devtools/devtools_resources.pak" ] deps += [ "//content/browser/devtools:devtools_resources" ] - if (enable_pdf_viewer) { - sources += [ "$root_gen_dir/chrome/print_preview_pdf_resources.pak" ] - deps += [ "//chrome/browser/resources:print_preview_pdf_resources" ] - } if (enable_print_preview) { sources += [ "$root_gen_dir/chrome/print_preview_resources.pak" ] deps += [ "//chrome/browser/resources:print_preview_resources" ] diff --git a/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch b/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch index cd9d79c0d563..a6f9848915ed 100644 --- a/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch +++ b/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch @@ -10,10 +10,10 @@ Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set. This should be upstreamed. diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index d7cab7265bc75d4df0d570cab10508327fc82afe..95deade7499c9c7e3762cfa9cceba0d13d2f62ae 100644 +index 4ee038653b069be1e03040c01db55c8923bcdb1c..8a57a9a301960be03f1cf9a79c39713fc1bae95c 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc -@@ -256,6 +256,10 @@ int GpuMain(const MainFunctionParams& parameters) { +@@ -263,6 +263,10 @@ int GpuMain(const MainFunctionParams& parameters) { // to the GpuProcessHost once the GpuServiceImpl has started. viz::GpuServiceImpl::InstallPreInitializeLogHandler(); @@ -24,7 +24,7 @@ index d7cab7265bc75d4df0d570cab10508327fc82afe..95deade7499c9c7e3762cfa9cceba0d1 // We are experiencing what appear to be memory-stomp issues in the GPU // process. These issues seem to be impacting the task executor and listeners // registered to it. Create the task executor on the heap to guard against -@@ -393,7 +397,6 @@ int GpuMain(const MainFunctionParams& parameters) { +@@ -400,7 +404,6 @@ int GpuMain(const MainFunctionParams& parameters) { } #endif diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index c3b4f8200be2..ad4a6a0db4f2 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -23,10 +23,10 @@ index f63b17435218d0d67bba044da67c1c80015fc996..d0fe24182f2cb48a1333054ce44b6a7f int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index f7feec16308f9fe8d49c3e6a15765eb86153e683..3a01380b4fc373f41d631f585d4576b10129b130 100644 +index 9b63b6caae325f0e29ccfccbbea23b27c7b8cd65..8c82f4809e4544bb5f12ec5a5e9d6133f0154c47 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -5004,6 +5004,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, +@@ -4910,6 +4910,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, observer.DidCreateScriptContext(context, world_id); } @@ -40,11 +40,11 @@ index f7feec16308f9fe8d49c3e6a15765eb86153e683..3a01380b4fc373f41d631f585d4576b1 int world_id) { for (auto& observer : observers_) diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h -index dffe4596a0bd88124017177795390c2db1b574b2..7dfbb18e6a1701224c6cb0231a1f67e7c6251b91 100644 +index 161f911589360a4eba18f289e66fb1534089aec4..ba4c9389fb877a3a4fd05960ed8609d0fb25de7e 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h -@@ -706,6 +706,8 @@ class CONTENT_EXPORT RenderFrameImpl - bool ShouldTrackUseCounter(const blink::WebURL& url) override; +@@ -683,6 +683,8 @@ class CONTENT_EXPORT RenderFrameImpl + blink::WebLocalFrameClient::LazyLoadBehavior lazy_load_behavior) override; void DidCreateScriptContext(v8::Local context, int world_id) override; + void DidInstallConditionalFeatures(v8::Local context, @@ -53,10 +53,10 @@ index dffe4596a0bd88124017177795390c2db1b574b2..7dfbb18e6a1701224c6cb0231a1f67e7 int world_id) override; void DidChangeScrollOffset() override; diff --git a/third_party/blink/public/web/web_local_frame_client.h b/third_party/blink/public/web/web_local_frame_client.h -index cba17ff34e880de151c8fc30563da5c1ba0e4a88..4249b961b0d4361d4b13440ecd6e470b7142ed00 100644 +index a1ffdddc549f328d16bf7641e2079320a02cb07d..fe8149b9440851d99b0592d134cccfe5237865d6 100644 --- a/third_party/blink/public/web/web_local_frame_client.h +++ b/third_party/blink/public/web/web_local_frame_client.h -@@ -543,6 +543,9 @@ class BLINK_EXPORT WebLocalFrameClient { +@@ -539,6 +539,9 @@ class BLINK_EXPORT WebLocalFrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) {} @@ -67,7 +67,7 @@ index cba17ff34e880de151c8fc30563da5c1ba0e4a88..4249b961b0d4361d4b13440ecd6e470b virtual void WillReleaseScriptContext(v8::Local, int32_t world_id) {} diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc -index be4c8053f2bc5e2ad9da6a038a1a70edb37656c9..953e436fc09e9afa2189ad2ebdfdb085cabe51a7 100644 +index 16d2cc458b3a61c0974b258111ad154be61d55db..119f080e0ea00300dc4df8e9ec14d735b424c3f5 100644 --- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc +++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc @@ -203,6 +203,7 @@ void LocalWindowProxy::Initialize() { @@ -78,10 +78,23 @@ index be4c8053f2bc5e2ad9da6a038a1a70edb37656c9..953e436fc09e9afa2189ad2ebdfdb085 if (World().IsMainWorld()) { GetFrame()->Loader().DispatchDidClearWindowObjectInMainWorld(); -diff --git a/third_party/blink/renderer/core/exported/local_frame_client_impl.cc b/third_party/blink/renderer/core/exported/local_frame_client_impl.cc -index f46bec1838788df47ca8c6290028361be89695b2..ff7f45078ec1c8508c22861f7bca9281cd1b51a8 100644 ---- a/third_party/blink/renderer/core/exported/local_frame_client_impl.cc -+++ b/third_party/blink/renderer/core/exported/local_frame_client_impl.cc +diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h +index d76577dbecf8f9e86e356d50661184fe465200e9..8b0defa85f4e204188885d966fd0bc261692f3fd 100644 +--- a/third_party/blink/renderer/core/frame/local_frame_client.h ++++ b/third_party/blink/renderer/core/frame/local_frame_client.h +@@ -286,6 +286,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { + + virtual void DidCreateScriptContext(v8::Local, + int32_t world_id) = 0; ++ virtual void DidInstallConditionalFeatures(v8::Local, ++ int32_t world_id) = 0; + virtual void WillReleaseScriptContext(v8::Local, + int32_t world_id) = 0; + virtual bool AllowScriptExtensions() = 0; +diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc +index 5f2ff8d701936be593e722912b01e12ee618f941..d663e53ef38df99f4bc4c586452d244bf4d08071 100644 +--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc ++++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc @@ -392,6 +392,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( web_frame_->Client()->DidCreateScriptContext(context, world_id); } @@ -96,10 +109,10 @@ index f46bec1838788df47ca8c6290028361be89695b2..ff7f45078ec1c8508c22861f7bca9281 void LocalFrameClientImpl::WillReleaseScriptContext( v8::Local context, int32_t world_id) { -diff --git a/third_party/blink/renderer/core/exported/local_frame_client_impl.h b/third_party/blink/renderer/core/exported/local_frame_client_impl.h -index f4b653a52cdf0bb71e3cdc3f090c1a5f044282e3..d9d7f15cdad4edde0d27671d66beb5d1d9735079 100644 ---- a/third_party/blink/renderer/core/exported/local_frame_client_impl.h -+++ b/third_party/blink/renderer/core/exported/local_frame_client_impl.h +diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h +index c71ed356c9c9bdc013059383d0a3d2cde97aeac0..2f63ebbe6d4a67cd8e59131e2ba6f2395f35c8f6 100644 +--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h ++++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h @@ -77,6 +77,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient { void DidCreateScriptContext(v8::Local, @@ -109,24 +122,11 @@ index f4b653a52cdf0bb71e3cdc3f090c1a5f044282e3..d9d7f15cdad4edde0d27671d66beb5d1 void WillReleaseScriptContext(v8::Local, int32_t world_id) override; -diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h -index ca739d620185e7e771f563d1a94bc5fb4fa129b7..94a23f135e628500be38dd5b468ce3513e968f92 100644 ---- a/third_party/blink/renderer/core/frame/local_frame_client.h -+++ b/third_party/blink/renderer/core/frame/local_frame_client.h -@@ -290,6 +290,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { - - virtual void DidCreateScriptContext(v8::Local, - int32_t world_id) = 0; -+ virtual void DidInstallConditionalFeatures(v8::Local, -+ int32_t world_id) = 0; - virtual void WillReleaseScriptContext(v8::Local, - int32_t world_id) = 0; - virtual bool AllowScriptExtensions() = 0; diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h -index 50beea038e1cf928ea18cac3e0a4071ca7686cc4..d47a028bdcdf67b892ce82a9d9660e1fb8ddb760 100644 +index ab15a135d879fda7c4d7408afde9f41e6cb6464f..72c152d63d1ed78aee7a38845bb338c085bcf8f9 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.h +++ b/third_party/blink/renderer/core/loader/empty_clients.h -@@ -325,6 +325,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { +@@ -330,6 +330,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { void DidCreateScriptContext(v8::Local, int32_t world_id) override {} diff --git a/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch b/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch index 42c1c7051ce0..4e0bdab64b40 100644 --- a/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch +++ b/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch @@ -10,7 +10,7 @@ WebContents, and cancels the authentication if there's no WebContents available, which there isn't in the case of the 'net' module. diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index 7332e25e8a182e35ffdba0a4e98c01641e60ee8a..fdb952a2ea9b80d7f75edb250a494f0ddad639be 100644 +index c6e9b42a85d25e613dbe5431db08430c87799e0a..397a2e0b8afe7aa78729132dad1eb8a307a730f3 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom @@ -215,6 +215,25 @@ struct CTPolicy { @@ -49,7 +49,7 @@ index 7332e25e8a182e35ffdba0a4e98c01641e60ee8a..fdb952a2ea9b80d7f75edb250a494f0d // the per-context allow patterns that is managed via NetworkContext // interface. This still respects the per-context block lists. diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc -index 65893457556402e93ea85e93c48ca8f4a00bb1c1..cf05119ade526ae2b48b9e3b223d4b318e94900c 100644 +index 794fcd3774af9bc119a310bf93412da2a7dfd8fe..4a55b407b4647e16906b3b28bbd31a7ccd65e0f4 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc @@ -459,6 +459,7 @@ URLLoader::URLLoader( @@ -128,7 +128,7 @@ index 70518f42849e5d1d6e1dd0faf4cae866ba39ef09..b081be5d939b17ecaffa85e75ebb0124 std::unique_ptr file_opener_for_upload_; diff --git a/services/network/url_loader_factory.cc b/services/network/url_loader_factory.cc -index 75ae8488efa7e5acfda0b21029657b525fa95f86..5dce71ee5efc97f9f63d0b5f236dccdfb05cfc79 100644 +index 7b9ec0454dfde7e1b950c51eb8d00dcb89e1f900..07da4723043fef85dd8530a844008859f92e3937 100644 --- a/services/network/url_loader_factory.cc +++ b/services/network/url_loader_factory.cc @@ -75,6 +75,7 @@ URLLoaderFactory::URLLoaderFactory( diff --git a/patches/chromium/blink-worker-enable-csp-in-file-scheme.patch b/patches/chromium/blink-worker-enable-csp-in-file-scheme.patch index eb04f2134d89..c25dab34f568 100644 --- a/patches/chromium/blink-worker-enable-csp-in-file-scheme.patch +++ b/patches/chromium/blink-worker-enable-csp-in-file-scheme.patch @@ -6,10 +6,10 @@ Subject: blink-worker-enable-csp-in-file-scheme.patch This allows file:// URLs in workers to have a CSP. diff --git a/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc b/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc -index 9c697793db98ddaaece76f7f8a7890ca0773f936..d264acf0173de6f2ebbf600187d4ceeea4625e42 100644 +index f924a17eb0bff18d4463f70e437791eaa7c02a19..26918625a478be8c3f80bd3a9a74cf783e951a96 100644 --- a/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc +++ b/third_party/blink/renderer/core/workers/worker_classic_script_loader.cc -@@ -367,7 +367,6 @@ void WorkerClassicScriptLoader::ProcessContentSecurityPolicy( +@@ -365,7 +365,6 @@ void WorkerClassicScriptLoader::ProcessContentSecurityPolicy( // document (which is implemented in WorkerMessagingProxy, and // m_contentSecurityPolicy should be left as nullptr to inherit the policy). if (!response.CurrentRequestUrl().ProtocolIs("blob") && diff --git a/patches/chromium/blink_fix_prototype_assert.patch b/patches/chromium/blink_fix_prototype_assert.patch index 4645d800b54b..c7c582fcc604 100644 --- a/patches/chromium/blink_fix_prototype_assert.patch +++ b/patches/chromium/blink_fix_prototype_assert.patch @@ -11,10 +11,10 @@ In the long term we should investigate why it happened, and take a more formal fix. But for now I'm just make this assertion silently pass away. diff --git a/third_party/blink/renderer/platform/bindings/v8_object_constructor.cc b/third_party/blink/renderer/platform/bindings/v8_object_constructor.cc -index ac84b10418753f1df8e9f21c9dbbe9dff2f85194..36146a5939c0cc70f18c0ffc459940e3ea041180 100644 +index 196548f9b1a817348df05c889b315a8124e1692d..359165f1c52b8afb0d91d4a363da0429cf5372ef 100644 --- a/third_party/blink/renderer/platform/bindings/v8_object_constructor.cc +++ b/third_party/blink/renderer/platform/bindings/v8_object_constructor.cc -@@ -98,8 +98,10 @@ v8::Local V8ObjectConstructor::CreateInterfaceObject( +@@ -95,8 +95,10 @@ v8::Local V8ObjectConstructor::CreateInterfaceObject( bool get_prototype_value = interface_object->Get(context, V8AtomicString(isolate, "prototype")) .ToLocal(&prototype_value); diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch index cb7e942c8a1f..410fa6f89834 100644 --- a/patches/chromium/blink_local_frame.patch +++ b/patches/chromium/blink_local_frame.patch @@ -14,7 +14,7 @@ when there is code doing that. This patch reverts the change to fix the crash in Electron. diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index fff54c3a1aa1518a3ef447ac064025a6ecd042e1..c43372723bdbbd047c7c389c2969fe4ea14c9561 100644 +index 8ffe4511fb8327334e4f5eddb1b61300abd30813..069d76b55837f25d4a0de4f1868f815f8a9a868d 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc @@ -584,10 +584,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) { diff --git a/patches/chromium/blink_world_context.patch b/patches/chromium/blink_world_context.patch index 86cf9b2df0b1..300c0e0c037e 100644 --- a/patches/chromium/blink_world_context.patch +++ b/patches/chromium/blink_world_context.patch @@ -7,10 +7,10 @@ This exposes a method for obtaining a reference to an isolated world, which is otherwise not available in the Blink API. diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h -index 6bbb5d6c2d98e5316eb7efa350a8fe23e26d6bfe..84f5e7b034c4dfaba72fd75f1d91cf2badf7c646 100644 +index 747166ac20d4ecc28ec340ed0b91f01b7d8cdb82..2824ca52ba1fe21ac40176e07f40200fcf296ac9 100644 --- a/third_party/blink/public/web/web_local_frame.h +++ b/third_party/blink/public/web/web_local_frame.h -@@ -350,6 +350,8 @@ class WebLocalFrame : public WebFrame { +@@ -354,6 +354,8 @@ class WebLocalFrame : public WebFrame { // Returns the world ID associated with |script_context|. virtual int32_t GetScriptContextWorldId( v8::Local script_context) const = 0; @@ -20,7 +20,7 @@ index 6bbb5d6c2d98e5316eb7efa350a8fe23e26d6bfe..84f5e7b034c4dfaba72fd75f1d91cf2b // Executes script in the context of the current page and returns the value // that the script evaluated to with callback. Script execution can be diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc -index b1185d289c6c92bd2202823948f3ca71e80aa38d..f034415e9bdd00368cfc2e6180f0f658a62eae37 100644 +index a0d9765370600c652a0ac9025dae2804d5efe245..eb31c99c15a5159295be87330cbafe4931789e00 100644 --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc @@ -994,6 +994,13 @@ v8::Local WebLocalFrameImpl::GlobalProxy() const { @@ -38,7 +38,7 @@ index b1185d289c6c92bd2202823948f3ca71e80aa38d..f034415e9bdd00368cfc2e6180f0f658 return BindingSecurity::ShouldAllowAccessToFrame( CurrentDOMWindow(V8PerIsolateData::MainThreadIsolate()), diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h -index 4e5b1ae37464667f66c42f854152778316c9360e..417b9d6a41f97955c7b51065f6fdbeae67f75e85 100644 +index 2aa4d5a60054eb68d79e5d1c4e9afc0a63b866e6..4f4a0dbb87de4e720418f37406a8df328dcb88bd 100644 --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h @@ -162,6 +162,8 @@ class CORE_EXPORT WebLocalFrameImpl final diff --git a/patches/chromium/build_add_electron_tracing_category.patch b/patches/chromium/build_add_electron_tracing_category.patch index 5d882fe8d7ee..21c9262d6acc 100644 --- a/patches/chromium/build_add_electron_tracing_category.patch +++ b/patches/chromium/build_add_electron_tracing_category.patch @@ -8,7 +8,7 @@ categories in use are known / declared. This patch is required for us to introduce a new Electron category for Electron-specific tracing. diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h -index 7fe136de6055cba38fc00fa1a8780761ee7390d9..6f4a4479e27b980a9a80f3afdce8d5b7048e71cf 100644 +index fe91c29db4938143cd6ea96ea82ec365fc9a8da8..05f7f96a5b62acfa396b7df26704428ab3046bdb 100644 --- a/base/trace_event/builtin_categories.h +++ b/base/trace_event/builtin_categories.h @@ -73,6 +73,7 @@ diff --git a/patches/chromium/build_gn.patch b/patches/chromium/build_gn.patch index a2b4574c56b2..52f4464244ac 100644 --- a/patches/chromium/build_gn.patch +++ b/patches/chromium/build_gn.patch @@ -14,7 +14,7 @@ tradeoff is that switching from MAS_BUILD to !MAS_BUILD or vice-versa will rebuild the entire tree. diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn -index 212c949e1a51c2280bcf3bd36db04ce910ff4514..f6ec112fbe133c708089acebe8abe89317c16d5d 100644 +index e0984fa527dd5bb141e2cc54a2726bba18eeb410..59a906190b710ed09cbec5de1d1a2135d8d2b029 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -123,6 +123,9 @@ if (current_os == "") { @@ -27,7 +27,7 @@ index 212c949e1a51c2280bcf3bd36db04ce910ff4514..f6ec112fbe133c708089acebe8abe893 # Set to enable the official build level of optimization. This has nothing # to do with branding, but enables an additional level of optimization above # release (!is_debug). This might be better expressed as a tri-state -@@ -332,6 +335,7 @@ default_compiler_configs = [ +@@ -333,6 +336,7 @@ default_compiler_configs = [ "//build/config/compiler/pgo:default_pgo_flags", "//build/config/coverage:default_coverage", "//build/config/sanitizers:default_sanitizer_flags", diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index 16d2e23f60f7..ff62b6e84225 100644 --- a/patches/chromium/can_create_window.patch +++ b/patches/chromium/can_create_window.patch @@ -9,10 +9,10 @@ potentially prevent a window from being created. TODO(loc): this patch is currently broken. diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 8cdf087a3db51c3994d886d4abe31fd866cecb20..90cf2f632a222846acfb306c25a826c618ba22d0 100644 +index 365d0d8cf45c664160048a7a9606907cb5414292..dd52048e922904826c5b31d13f17dfc954dff6d3 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -4982,6 +4982,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -5030,6 +5030,7 @@ void RenderFrameHostImpl::CreateNewWindow( last_committed_origin_, params->window_container_type, params->target_url, params->referrer.To(), params->frame_name, params->disposition, *params->features, @@ -21,10 +21,10 @@ index 8cdf087a3db51c3994d886d4abe31fd866cecb20..90cf2f632a222846acfb306c25a826c6 &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 722e2bfc385381d1970435d96de817f32db8f0b2..77686b665c4eeb6f40ed7b417aeb236a28673aaf 100644 +index 962cd0fb5a428530cd9e2f8e689f2d09bc95ce1b..e099a6cc44e73da8b24603fd86b72139f0735fb2 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3702,9 +3702,9 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( +@@ -3624,9 +3624,9 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( } if (delegate_) { @@ -38,10 +38,10 @@ index 722e2bfc385381d1970435d96de817f32db8f0b2..77686b665c4eeb6f40ed7b417aeb236a observers_.ForEachObserver([&](WebContentsObserver* observer) { diff --git a/content/common/frame.mojom b/content/common/frame.mojom -index 6f122e199f208a03bef37e6a6194b2a40b483ea2..cc6a739f8a31945fe58eb97c7beb3fef4370047a 100644 +index 703c4611691b72380423576eebdadcd23e6ae913..2be0f93b7ea3791bb776158795a44aa7422e19ac 100644 --- a/content/common/frame.mojom +++ b/content/common/frame.mojom -@@ -285,6 +285,10 @@ struct CreateNewWindowParams { +@@ -289,6 +289,10 @@ struct CreateNewWindowParams { // The window features to use for the new window. blink.mojom.WindowFeatures features; @@ -53,10 +53,10 @@ index 6f122e199f208a03bef37e6a6194b2a40b483ea2..cc6a739f8a31945fe58eb97c7beb3fef // Operation result when the renderer asks the browser to create a new window. diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc -index c5620c9aad06eb3083420d75327df6927b890e82..fc2fb1b9b20cee93796641de85d59b6d794b9a8e 100644 +index df7dd27659ab16f81b5960610eb883e5dd1df7f4..c180b0ab0081631acfc675dacd2df92d8838ef02 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -545,6 +545,8 @@ bool ContentBrowserClient::CanCreateWindow( +@@ -543,6 +543,8 @@ bool ContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -66,7 +66,7 @@ index c5620c9aad06eb3083420d75327df6927b890e82..fc2fb1b9b20cee93796641de85d59b6d bool opener_suppressed, bool* no_javascript_access) { diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 56e30e001f5b4a4b0f21638931c48abaa125a863..17bc01e41820cf449d7228f0c5c9a2aa56374e88 100644 +index 0f1befe8b66a32e079f087bdbb3cd072162faa1a..dfee3e388a9097c511d47cf09756dc37c5b63cda 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -153,6 +153,7 @@ class NetworkService; @@ -77,7 +77,7 @@ index 56e30e001f5b4a4b0f21638931c48abaa125a863..17bc01e41820cf449d7228f0c5c9a2aa } // namespace network namespace sandbox { -@@ -865,6 +866,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -864,6 +865,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -87,7 +87,7 @@ index 56e30e001f5b4a4b0f21638931c48abaa125a863..17bc01e41820cf449d7228f0c5c9a2aa bool opener_suppressed, bool* no_javascript_access); diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc -index 12ce66464a416262767c126d0600fed60f5b106a..f60cf6064fdf279b26f0d11125e2ffa5bbb36c78 100644 +index 331be91414da82a8311b55c7568a4c6f5c5a6977..b0513d20bd48fe8ffe8398b5387e13545749c508 100644 --- a/content/public/browser/web_contents_delegate.cc +++ b/content/public/browser/web_contents_delegate.cc @@ -26,6 +26,17 @@ namespace content { @@ -109,7 +109,7 @@ index 12ce66464a416262767c126d0600fed60f5b106a..f60cf6064fdf279b26f0d11125e2ffa5 const OpenURLParams& params) { return nullptr; diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index ee6b87d40496591935cef789bab9c1de8e60cee9..dd7f018be164b250f0b2408ce309219d61c50caa 100644 +index 5f8ccea8e3a48057bdb0180ae5a9b499be4e710a..94f576a6d52731f92c65adb958be5ca0a3391d4c 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -17,6 +17,7 @@ @@ -135,18 +135,18 @@ index ee6b87d40496591935cef789bab9c1de8e60cee9..dd7f018be164b250f0b2408ce309219d // typically happens when popups are created. virtual void WebContentsCreated(WebContents* source_contents, diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc -index c8b9d26590ae0114e592a637b7873606ef2713ac..a39f2daf5a411eaa70326dc94d902d53405c1c6c 100644 +index 253d22d0f171fc4897e8ae3c01c053ea24ce1d26..3569e6f3940d71c09720ada159f54e524e247f43 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc -@@ -65,6 +65,7 @@ - #include "content/renderer/history_serialization.h" - #include "content/renderer/internal_document_state_data.h" - #include "content/renderer/loader/request_extra_data.h" -+#include "content/renderer/loader/web_url_request_util.h" - #include "content/renderer/render_frame_impl.h" - #include "content/renderer/render_frame_proxy.h" - #include "content/renderer/render_process.h" -@@ -635,6 +636,10 @@ WebView* RenderViewImpl::CreateView( +@@ -27,6 +27,7 @@ + #include "content/renderer/render_thread_impl.h" + #include "third_party/blink/public/platform/modules/video_capture/web_video_capture_impl_manager.h" + #include "third_party/blink/public/platform/url_conversion.h" ++#include "third_party/blink/public/platform/web_url_request_util.h" + #include "third_party/blink/public/web/modules/mediastream/web_media_stream_device_observer.h" + #include "third_party/blink/public/web/web_frame_widget.h" + #include "third_party/blink/public/web/web_local_frame.h" +@@ -406,6 +407,10 @@ WebView* RenderViewImpl::CreateView( } params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features); @@ -158,10 +158,10 @@ index c8b9d26590ae0114e592a637b7873606ef2713ac..a39f2daf5a411eaa70326dc94d902d53 // moved on send. bool is_background_tab = diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc -index f0c53c0945d76ce4482ce4c24acb75c3eccb59e9..458919350048f02d07695bef1c4d4e41b0ce043e 100644 +index 6f5ae5bf1938133933f8055824e554a57470bbb9..7391fac052218c660cb122181e16ef84dc1a2e74 100644 --- a/content/web_test/browser/web_test_content_browser_client.cc +++ b/content/web_test/browser/web_test_content_browser_client.cc -@@ -377,6 +377,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( +@@ -378,6 +378,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -171,7 +171,7 @@ index f0c53c0945d76ce4482ce4c24acb75c3eccb59e9..458919350048f02d07695bef1c4d4e41 bool opener_suppressed, bool* no_javascript_access) { diff --git a/content/web_test/browser/web_test_content_browser_client.h b/content/web_test/browser/web_test_content_browser_client.h -index b96c23ec09111b29f9b9349a6324076d26f900bc..d42a00e59cde5195195096237f25eca5d4186797 100644 +index 15262ff3e3a7be037d5eedda3279c8897628e4d8..4e285a97787d9f487b5424b2dfc2b0fff2df53a2 100644 --- a/content/web_test/browser/web_test_content_browser_client.h +++ b/content/web_test/browser/web_test_content_browser_client.h @@ -83,6 +83,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient { @@ -206,10 +206,10 @@ index 4f735ad0d97eaac9a57dad137e479f8a7ec33a36..0a3c5821962c85609b64b3625fa6b8d6 } // namespace blink diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc -index 908aa4dba7470d9bdf6c57ecee04a107e23f93a3..737c597812fb275829630553de28f37c849f099a 100644 +index 2940caafb9f4d5ab3fc493dc15652e232468e3f4..4741ecfb249ccb7e88d3d8c4cf18b878f9b2b58d 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -1971,6 +1971,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -1961,6 +1961,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, } WebWindowFeatures window_features = GetWindowFeaturesFromString(features); diff --git a/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch b/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch index 64461437c434..3cb02b4822da 100644 --- a/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch +++ b/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch @@ -7,10 +7,10 @@ spellchecker uses a few IDS_ resources. We need to load these from Electrons grit header instead of Chromes diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index d540fc079febe3d024fac46d2a17bfe836694e20..047f0fc47eb590dea9cce006810fef6c89694b41 100644 +index e1b02843ed1e06a390f822bdba218582376f7600..7b911979d770ce4dae50c14dc3241102171a2855 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -5962,6 +5962,7 @@ static_library("browser") { +@@ -6010,6 +6010,7 @@ static_library("browser") { deps += [ "//components/spellcheck/browser", "//components/spellcheck/common", diff --git a/patches/chromium/content_browser_main_loop.patch b/patches/chromium/content_browser_main_loop.patch index e68519262f3c..513aee204a1f 100644 --- a/patches/chromium/content_browser_main_loop.patch +++ b/patches/chromium/content_browser_main_loop.patch @@ -8,10 +8,10 @@ run before shutdown. This is required to cleanup WebContents asynchronously in atom::CommonWebContentsDelegate::ResetManageWebContents. diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc -index 7242f26441f93cab50a1fc7d79b086d5ffc63468..75dff99ae3b4803831331c10cd72650713de7e60 100644 +index d35d26b1f572f084d5ffd25d191c62fdf5064ed4..c274bd867d5ca66f49d72eeffee5702825b4c067 100644 --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc -@@ -1453,7 +1453,7 @@ void BrowserMainLoop::MainMessageLoopRun() { +@@ -1457,7 +1457,7 @@ void BrowserMainLoop::MainMessageLoopRun() { NOTREACHED(); #else base::RunLoop run_loop; diff --git a/patches/chromium/dcheck.patch b/patches/chromium/dcheck.patch index 10acc9abde92..8b2661a96408 100644 --- a/patches/chromium/dcheck.patch +++ b/patches/chromium/dcheck.patch @@ -17,10 +17,10 @@ only one or two specific checks fail. Then it's better to simply comment out the failing checks and allow the rest of the target to have them enabled. diff --git a/content/browser/renderer_host/navigation_controller_impl.cc b/content/browser/renderer_host/navigation_controller_impl.cc -index 81eb6e0c54655d36fad537c1573f5faaf6b5ead4..30ccdfa6294500846b9ddcb0dd4b3320afbcede3 100644 +index b3b86c8a6a11712a12632a1a35f4eb836995c4d4..4aa744fb25f2c859f4dbcb9d0ead6d8d9cddf6ef 100644 --- a/content/browser/renderer_host/navigation_controller_impl.cc +++ b/content/browser/renderer_host/navigation_controller_impl.cc -@@ -1275,8 +1275,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation( +@@ -1269,8 +1269,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation( return NAVIGATION_TYPE_NEW_SUBFRAME; } @@ -33,7 +33,7 @@ index 81eb6e0c54655d36fad537c1573f5faaf6b5ead4..30ccdfa6294500846b9ddcb0dd4b3320 if (rfh->GetParent()) { // All manual subframes would be did_create_new_entry and handled above, so -@@ -1551,7 +1553,10 @@ void NavigationControllerImpl::RendererDidNavigateToNewPage( +@@ -1545,7 +1547,10 @@ void NavigationControllerImpl::RendererDidNavigateToNewPage( new_entry->GetFavicon() = GetLastCommittedEntry()->GetFavicon(); } diff --git a/patches/chromium/delay_lock_the_protocol_scheme_registry.patch b/patches/chromium/delay_lock_the_protocol_scheme_registry.patch index 727a598f8b78..71317a317d49 100644 --- a/patches/chromium/delay_lock_the_protocol_scheme_registry.patch +++ b/patches/chromium/delay_lock_the_protocol_scheme_registry.patch @@ -19,10 +19,10 @@ https://chromium-review.googlesource.com/c/chromium/src/+/1901591, we should try re-submitting the patch. diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc -index a85c25303dfc00f862615f0c6e84135d1d8e175c..27951d85338f81406813a9bfddf402fb1aa81f9d 100644 +index 940dce1a37e7a4489952ac394675b8366b291767..f690f5fccbb527bb0c951de8fa192ab8020efb10 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc -@@ -642,7 +642,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) { +@@ -659,7 +659,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) { } #endif diff --git a/patches/chromium/desktop_media_list.patch b/patches/chromium/desktop_media_list.patch index 64318695ff1d..f46074ebda15 100644 --- a/patches/chromium/desktop_media_list.patch +++ b/patches/chromium/desktop_media_list.patch @@ -111,16 +111,17 @@ index ad7f766a36b1b6b2a8bc0f96369f1aaadf6681f7..f6c6c14a0937430df62c9b9c1132c591 protected: virtual ~DesktopMediaListObserver() {} diff --git a/chrome/browser/media/webrtc/native_desktop_media_list.cc b/chrome/browser/media/webrtc/native_desktop_media_list.cc -index e08e556858e4079d953027399e04056f62e2db78..2aa72571e44a9027d5bd84498d65f835da87935b 100644 +index 63ee95a80309357293afa0684c2a1cec6a3ba105..a0098e9450b48f03b98008e0e81fe48cc2a7b293 100644 --- a/chrome/browser/media/webrtc/native_desktop_media_list.cc +++ b/chrome/browser/media/webrtc/native_desktop_media_list.cc -@@ -10,13 +10,14 @@ +@@ -10,14 +10,15 @@ #include "base/hash/hash.h" #include "base/message_loop/message_pump_type.h" #include "base/single_thread_task_runner.h" +#include "base/strings/string_number_conversions.h" #include "base/strings/utf_string_conversions.h" #include "base/threading/thread_restrictions.h" + #include "base/threading/thread_task_runner_handle.h" #include "build/build_config.h" #include "chrome/browser/media/webrtc/desktop_media_list.h" -#include "chrome/grit/generated_resources.h" @@ -130,7 +131,7 @@ index e08e556858e4079d953027399e04056f62e2db78..2aa72571e44a9027d5bd84498d65f835 #include "media/base/video_util.h" #include "third_party/libyuv/include/libyuv/scale_argb.h" #include "third_party/skia/include/core/SkBitmap.h" -@@ -223,6 +224,8 @@ void NativeDesktopMediaList::Worker::RefreshThumbnails( +@@ -257,6 +258,8 @@ void NativeDesktopMediaList::Worker::RefreshNextThumbnail() { FROM_HERE, base::BindOnce(&NativeDesktopMediaList::UpdateNativeThumbnailsFinished, media_list_)); @@ -138,4 +139,4 @@ index e08e556858e4079d953027399e04056f62e2db78..2aa72571e44a9027d5bd84498d65f835 + capturer_.reset(); } - bool NativeDesktopMediaList::Worker::IsCurrentFrameValid() const { + void NativeDesktopMediaList::Worker::OnCaptureResult( diff --git a/patches/chromium/disable-redraw-lock.patch b/patches/chromium/disable-redraw-lock.patch index bcf9f518c98e..beff0bb2a727 100644 --- a/patches/chromium/disable-redraw-lock.patch +++ b/patches/chromium/disable-redraw-lock.patch @@ -15,10 +15,10 @@ the redraw locking mechanism, which fixes these issues. The electron issue can be found at https://github.com/electron/electron/issues/1821 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index 754528f7d280a0b588c491fd928a26e9f32dda76..42eeb16a3d59de7e37eb858a982cc3534ab7cc51 100644 +index efe18b52959ad51b5b9bdef76bddf163eb5addd7..4a0479963b620cc6e50f82b2661df49a4fa202b7 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc -@@ -306,6 +306,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; +@@ -308,6 +308,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; } // namespace @@ -29,7 +29,7 @@ index 754528f7d280a0b588c491fd928a26e9f32dda76..42eeb16a3d59de7e37eb858a982cc353 // A scoping class that prevents a window from being able to redraw in response // to invalidations that may occur within it for the lifetime of the object. // -@@ -357,6 +361,7 @@ class HWNDMessageHandler::ScopedRedrawLock { +@@ -359,6 +363,7 @@ class HWNDMessageHandler::ScopedRedrawLock { cancel_unlock_(false), should_lock_(owner_->IsVisible() && !owner->HasChildRenderingWindow() && ::IsWindow(hwnd_) && @@ -37,7 +37,7 @@ index 754528f7d280a0b588c491fd928a26e9f32dda76..42eeb16a3d59de7e37eb858a982cc353 (!(GetWindowLong(hwnd_, GWL_STYLE) & WS_CAPTION) || !ui::win::IsAeroGlassEnabled())) { if (should_lock_) -@@ -970,6 +975,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() { +@@ -972,6 +977,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() { return scoped_enable; } diff --git a/patches/chromium/disable_color_correct_rendering.patch b/patches/chromium/disable_color_correct_rendering.patch index 4ff3e4d90d7a..212a32845fb1 100644 --- a/patches/chromium/disable_color_correct_rendering.patch +++ b/patches/chromium/disable_color_correct_rendering.patch @@ -20,10 +20,10 @@ to deal with color spaces. That is being tracked at https://crbug.com/634542 and https://crbug.com/711107. diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc -index 7218773c3b74808ca29f7c0bad9444fbdad18c3e..7810ad7138fdafb3aeaf2bd8c4b00e08bcb5be60 100644 +index eca1d1abd226bc2bb2823788a7ceef20bf0b0d9c..345c319d74b90196244e4f978a20a81fbd22cb53 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -1760,6 +1760,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( +@@ -1765,6 +1765,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( gfx::ColorSpace LayerTreeHostImpl::GetRasterColorSpace( gfx::ContentColorUsage content_color_usage) const { @@ -81,7 +81,7 @@ index 5575c90cf05ec43bc787711f1d44b8dd58ead99c..a544d836159522751c1262370d8c1562 !command_line->HasSwitch(switches::kUIDisablePartialSwap); #if defined(OS_APPLE) diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc -index 31fa3d22a28cb673a1eac983acafb7bcd484e6ca..e1bfab6b716fa5d2f552b7af149748b3b0dc0a23 100644 +index fe0db90b46e7aa9c3d867644e54af3013b2121c7..24a726cab9c49a7a302a5b8688f5d4380b7cebb1 100644 --- a/components/viz/service/display/gl_renderer.cc +++ b/components/viz/service/display/gl_renderer.cc @@ -88,6 +88,9 @@ @@ -187,7 +187,7 @@ index 31fa3d22a28cb673a1eac983acafb7bcd484e6ca..e1bfab6b716fa5d2f552b7af149748b3 /*adjust_src_white_level=*/draw_cache_.is_video_frame); if (current_program_->rounded_corner_rect_location() != -1) { -@@ -3649,7 +3659,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color, +@@ -3651,7 +3661,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color, const gfx::ColorSpace& src_color_space, const gfx::ColorSpace& dst_color_space, bool adjust_src_white_level) { @@ -198,7 +198,7 @@ index 31fa3d22a28cb673a1eac983acafb7bcd484e6ca..e1bfab6b716fa5d2f552b7af149748b3 gfx::ColorSpace adjusted_src_color_space = src_color_space; if (adjust_src_white_level) { // If the input color space is HDR, and it did not specify a white level, -@@ -4029,9 +4041,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource( +@@ -4031,9 +4043,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource( cc::MathUtil::CheckedRoundUp(iosurface_height, iosurface_multiple); } @@ -211,7 +211,7 @@ index 31fa3d22a28cb673a1eac983acafb7bcd484e6ca..e1bfab6b716fa5d2f552b7af149748b3 *new_bounds = gfx::RectF(updated_dst_rect.origin(), gfx::SizeF((*overlay_texture)->texture.size())); -@@ -4251,8 +4263,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) { +@@ -4253,8 +4265,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) { PrepareGeometry(SHARED_BINDING); @@ -222,17 +222,17 @@ index 31fa3d22a28cb673a1eac983acafb7bcd484e6ca..e1bfab6b716fa5d2f552b7af149748b3 gfx::Transform render_matrix; render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(), -@@ -4442,3 +4454,5 @@ GLRenderer::OverlayTexture::OverlayTexture() = default; +@@ -4444,3 +4456,5 @@ GLRenderer::OverlayTexture::OverlayTexture() = default; GLRenderer::OverlayTexture::~OverlayTexture() = default; } // namespace viz + +#undef PATCH_CS diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index aa761376f817a91cad293264b05ebcc5cb38def4..5acb7ecb3d6d8024040cda27ed32cfc92a37ee07 100644 +index 7a977d2dcab1d7f9982f32c2d519169bf5439385..d8366a9af7d4b5ae63cd55971195e4a649cd6b0f 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc -@@ -221,6 +221,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( +@@ -223,6 +223,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( // Command-line switches to propagate to the GPU process. static const char* const kSwitchNames[] = { @@ -241,10 +241,10 @@ index aa761376f817a91cad293264b05ebcc5cb38def4..5acb7ecb3d6d8024040cda27ed32cfc9 sandbox::policy::switches::kGpuSandboxAllowSysVShm, sandbox::policy::switches::kGpuSandboxFailuresFatal, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index befc71496fa45101614759d7271314e9ed5feef3..44b96fd0ecfb165af688317b1784bf2d73f6200d 100644 +index a01596138b0b6f05a74ff0668e73e90de155f219..c6837cc027aa5953ae1e0f5887413ce31ff0495a 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -225,6 +225,7 @@ +@@ -224,6 +224,7 @@ #include "ui/accessibility/accessibility_switches.h" #include "ui/base/ui_base_switches.h" #include "ui/display/display_switches.h" @@ -252,7 +252,7 @@ index befc71496fa45101614759d7271314e9ed5feef3..44b96fd0ecfb165af688317b1784bf2d #include "ui/gl/gl_switches.h" #include "ui/native_theme/native_theme_features.h" #include "url/origin.h" -@@ -3302,6 +3303,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3267,6 +3268,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( // Propagate the following switches to the renderer command line (along // with any associated values) if present in the browser command line. static const char* const kSwitchNames[] = { @@ -305,10 +305,10 @@ index 0501709a855b9fae82ab06c4e143b42058ddc12e..e0a457aab29acda134d1da9c798b5472 } diff --git a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc -index 6dc31f543d63afa577422e2d6ec99f4d8b2cd4b8..00e32c9581d7bd4ab68501bcd50578926bad8b0c 100644 +index 8729e948dc9eae8562ea4b45886daf0324c59889..414476a25fc54ad0a1173825ab3cfc7637017444 100644 --- a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc +++ b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc -@@ -23,6 +23,7 @@ +@@ -24,6 +24,7 @@ #include "third_party/blink/renderer/platform/runtime_enabled_features.h" #include "ui/base/ui_base_features.h" #include "ui/base/ui_base_switches.h" @@ -316,7 +316,7 @@ index 6dc31f543d63afa577422e2d6ec99f4d8b2cd4b8..00e32c9581d7bd4ab68501bcd5057892 #include "ui/native_theme/native_theme_features.h" #include "ui/native_theme/overlay_scrollbar_constants_aura.h" -@@ -178,6 +179,9 @@ cc::LayerTreeSettings GenerateLayerTreeSettings( +@@ -179,6 +180,9 @@ cc::LayerTreeSettings GenerateLayerTreeSettings( settings.main_frame_before_activation_enabled = cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation); diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index 723dd4fd748b..91cc0c39ba36 100644 --- a/patches/chromium/disable_hidden.patch +++ b/patches/chromium/disable_hidden.patch @@ -6,10 +6,10 @@ Subject: disable_hidden.patch Electron uses this to disable background throttling for hidden windows. diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index 36ea9339252d2f96c515d2db59eadf906ec70c7a..a2cd30b9aa715153c65a92d802714cf7cd0b3dbf 100644 +index e8fb8793645821940bc41ced7cc14af404a1e229..ffe62ea1114943d1535a806fa515122c47072372 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -692,6 +692,9 @@ void RenderWidgetHostImpl::WasHidden() { +@@ -689,6 +689,9 @@ void RenderWidgetHostImpl::WasHidden() { if (is_hidden_) return; @@ -20,10 +20,10 @@ index 36ea9339252d2f96c515d2db59eadf906ec70c7a..a2cd30b9aa715153c65a92d802714cf7 blink::mojom::PointerLockResult::kWrongDocument); diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h -index 481cf1214f284028f063d717481744625ad745bc..d4675513d72daaa9cf38105ed7ac351cdfc7f979 100644 +index 111ffbd4ee5d6a7093c32f9c1b1f827dc802f4fa..af5d67ff3ebc74c022800fd8ae3c139fc5806639 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h -@@ -173,6 +173,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl +@@ -174,6 +174,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl // RenderWidgetHostImpl. static RenderWidgetHostImpl* From(RenderWidgetHost* rwh); diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index f65a3f9c6a61..275e8a3995e8 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -33,10 +33,10 @@ index 0ccfe130f00ec3b6c75cd8ee04d5a2777e1fd00c..653829457d58bf92057cc36aa8a28970 DISALLOW_COPY_AND_ASSIGN(StaticHttpUserAgentSettings); }; diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index e251376b5765e0a4f277155efb2254440aebfd32..d756fd6a3fdf7fb02eccd10f736b6c2fce2b5d5b 100644 +index 12d4c84230994b1ef2e4914945d1f3617c54eb0c..3206163070281a00d13e95f22215af789cb1214c 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1081,6 +1081,13 @@ void NetworkContext::SetNetworkConditions( +@@ -1091,6 +1091,13 @@ void NetworkContext::SetNetworkConditions( std::move(network_conditions)); } @@ -51,22 +51,22 @@ index e251376b5765e0a4f277155efb2254440aebfd32..d756fd6a3fdf7fb02eccd10f736b6c2f // This may only be called on NetworkContexts created with the constructor // that calls MakeURLRequestContext(). diff --git a/services/network/network_context.h b/services/network/network_context.h -index 1372f6f6ca4899cc7b230a3cd1b26db4c16325b5..0e2c067837cd180ad9b99c082487199d72e5a0ed 100644 +index 95d1aa8cdaf6e0417475bcf95fed28cb2867431c..d081918cf278d1d7b7168b4caeb8264c7e503453 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -244,6 +244,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -246,6 +246,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CloseIdleConnections(CloseIdleConnectionsCallback callback) override; void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id, mojom::NetworkConditionsPtr conditions) override; + void SetUserAgent(const std::string& new_user_agent) override; void SetAcceptLanguage(const std::string& new_accept_language) override; void SetEnableReferrers(bool enable_referrers) override; - #if defined(OS_CHROMEOS) + #if BUILDFLAG(IS_ASH) diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index 7470e225762ead89d411654923b2415f12ab1ecb..7332e25e8a182e35ffdba0a4e98c01641e60ee8a 100644 +index 19a76ea08c4301c6cb10bc65c1a49ac0e93c3c5e..c6e9b42a85d25e613dbe5431db08430c87799e0a 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1057,6 +1057,9 @@ interface NetworkContext { +@@ -1062,6 +1062,9 @@ interface NetworkContext { SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, NetworkConditions? conditions); @@ -77,14 +77,14 @@ index 7470e225762ead89d411654923b2415f12ab1ecb..7332e25e8a182e35ffdba0a4e98c0164 SetAcceptLanguage(string new_accept_language); diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h -index 789be83b3d42d464c1ccc71bf13820187c598fcb..d0eddf77b04f41ae25400647629b4324e4060d7a 100644 +index 3c5e139c9c40fc2844084c48f531ca40041f6112..c27e79d6175c8394681904e144a1925b92794200 100644 --- a/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h -@@ -107,6 +107,7 @@ class TestNetworkContext : public mojom::NetworkContext { +@@ -108,6 +108,7 @@ class TestNetworkContext : public mojom::NetworkContext { void CloseIdleConnections(CloseIdleConnectionsCallback callback) override {} void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id, mojom::NetworkConditionsPtr conditions) override {} + void SetUserAgent(const std::string& new_user_agent) override {} void SetAcceptLanguage(const std::string& new_accept_language) override {} void SetEnableReferrers(bool enable_referrers) override {} - #if defined(OS_CHROMEOS) + #if BUILDFLAG(IS_ASH) diff --git a/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch b/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch index 0cc974f1a3e2..669d1afeeb69 100644 --- a/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch +++ b/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch @@ -13,10 +13,10 @@ uses internally for things like menus and devtools. We can remove this patch once it has in some shape been upstreamed. diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc -index 1883f482fc5c7ab1a4290ea8d165836c2e4d2a52..db1cc45cbb432221ebbc0cf9364ddece7d694045 100644 +index 87e2cd7398a8cee32f76e80ffa29c4addbf8ba4a..b315eab3c482b1517b61153e1d64fc08a99cb548 100644 --- a/ui/native_theme/native_theme.cc +++ b/ui/native_theme/native_theme.cc -@@ -255,6 +255,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors) +@@ -256,6 +256,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors) NativeTheme::~NativeTheme() = default; bool NativeTheme::ShouldUseDarkColors() const { @@ -62,10 +62,10 @@ index e2ca7dd198390ebc923facd690904faeb8300e62..f2f53775abb0ba2954cbb3ec431d84c3 }; diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc -index eaf817b4b5400fa4d2b6af7c86ac69aabf030a38..0f702be38f8e015c4e61677db5cf566259650dc6 100644 +index 255723ec8874920c8b45dbda2a1a5714b60e38be..31e3a345a79c6d228d7c2c501dcd69708de7fd52 100644 --- a/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc -@@ -737,6 +737,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const { +@@ -738,6 +738,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const { // ...unless --force-dark-mode was specified in which case caveat emptor. if (UsesHighContrastColors() && !IsForcedDarkMode()) return false; diff --git a/patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch b/patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch index 4a6816b4da77..42061976adab 100644 --- a/patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -6,10 +6,10 @@ Subject: feat: allow disabling blink scheduler throttling per RenderView This allows us to disable throttling for hidden windows. diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc -index 9076c76fc938c01803b1b0bfc0cd6ce2a7cf6e91..0997fe491bbd0729da6991d9242c7f48cc5fe303 100644 +index 9669200e15533044b91193047ba7348eabee965e..ad130f5934e6a8ce6ef6bdd34a7648eafa1f51ed 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc -@@ -587,6 +587,10 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { +@@ -578,6 +578,10 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); } @@ -21,22 +21,22 @@ index 9076c76fc938c01803b1b0bfc0cd6ce2a7cf6e91..0997fe491bbd0729da6991d9242c7f48 return is_active(); } diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h -index 4eaa941fa7718ca7660578cee7c299da871be84c..ec364e840073f76467ec1b80c09a6ba7fe3ea600 100644 +index 09180f2761f039b4f335998d13ea4c9e09d383b9..6bff529846cb6271c8a7fa62f6e38fd24069b733 100644 --- a/content/browser/renderer_host/render_view_host_impl.h +++ b/content/browser/renderer_host/render_view_host_impl.h -@@ -127,6 +127,7 @@ class CONTENT_EXPORT RenderViewHostImpl +@@ -132,6 +132,7 @@ class CONTENT_EXPORT RenderViewHostImpl SiteInstanceImpl* GetSiteInstance() override; bool IsRenderViewLive() override; void NotifyMoveOrResizeStarted() override; + void SetSchedulerThrottling(bool allowed) override; void SendWebPreferencesToRenderer(); - + void SendRendererPreferencesToRenderer( diff --git a/content/common/view_messages.h b/content/common/view_messages.h -index e836121189cf04b0c20308b12507364e41daca9e..86e8b8fb94af3ea649d28c3231ba72f92eeee60a 100644 +index ccc8f80a123e834fef4fc1e7aade2a35ffb5e223..3010d83f27eca9eede294d11fc3b9d2a6f9014fb 100644 --- a/content/common/view_messages.h +++ b/content/common/view_messages.h -@@ -93,6 +93,9 @@ IPC_STRUCT_TRAITS_END() +@@ -92,6 +92,9 @@ IPC_STRUCT_TRAITS_END() // Messages sent from the browser to the renderer. @@ -61,10 +61,10 @@ index 8a0e60f3a783fd9e21c0d03e23ba421b94fc1ecd..577bf986f9efa45d432ce017663daeb8 // This interface should only be implemented inside content. friend class RenderViewHostImpl; diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc -index a39f2daf5a411eaa70326dc94d902d53405c1c6c..f055d73b6ac8f2902912dbbe6b5195da4e65de5f 100644 +index 3569e6f3940d71c09720ada159f54e524e247f43..47c2342499092d234d15da9bae7549f1795dbaba 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc -@@ -576,6 +576,8 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { +@@ -346,6 +346,8 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { bool handled = true; IPC_BEGIN_MESSAGE_MAP(RenderViewImpl, message) @@ -73,8 +73,8 @@ index a39f2daf5a411eaa70326dc94d902d53405c1c6c..f055d73b6ac8f2902912dbbe6b5195da IPC_MESSAGE_HANDLER(ViewMsg_MoveOrResizeStarted, OnMoveOrResizeStarted) // Page messages. -@@ -1027,6 +1029,12 @@ void RenderViewImpl::OnSetRendererPrefs( - #endif // defined(USE_X11) || defined(USE_OZONE) +@@ -749,6 +751,12 @@ void RenderViewImpl::DidUpdateRendererPreferences() { + #endif } +void RenderViewImpl::OnSetSchedulerThrottling(bool allowed) { @@ -87,22 +87,22 @@ index a39f2daf5a411eaa70326dc94d902d53405c1c6c..f055d73b6ac8f2902912dbbe6b5195da if (GetWebView()) GetWebView()->CancelPagePopup(); diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h -index 5bca3690edd23a76fffe440b1ee0844f9b5822d0..e80c1a350c4218e864ebc4db99f30a5e408e6c30 100644 +index 95113eec6760a6c49d93b174117256b00c7dcecf..eda4abe7fabb32f452ba14e287f39cd89d79e92f 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h -@@ -359,6 +359,7 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, - void OnDeterminePageLanguage(); - void OnDisableScrollbarsForSmallWindows( - const gfx::Size& disable_scrollbars_size_limit); +@@ -323,6 +323,7 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, + static WindowOpenDisposition NavigationPolicyToDisposition( + blink::WebNavigationPolicy policy); + + void OnSetSchedulerThrottling(bool allowed); void OnMoveOrResizeStarted(); - void OnExitFullscreen(); - void OnSetRendererPrefs( + + // Misc private functions ---------------------------------------------------- diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h -index dd30789a4c8e084171bf4fb55b93a8e009e080c0..d2c22f8b97b30384f37a9a5ffd28cdb9cdbd0a7f 100644 +index 396153e3a23a543e89b2a41b6afd8ad441e5b427..496e0388156d60b954ea88f64f3203e93ed5dbea 100644 --- a/third_party/blink/public/web/web_view.h +++ b/third_party/blink/public/web/web_view.h -@@ -365,6 +365,7 @@ class WebView { +@@ -368,6 +368,7 @@ class WebView { // Scheduling ----------------------------------------------------------- virtual PageScheduler* Scheduler() const = 0; @@ -111,10 +111,10 @@ index dd30789a4c8e084171bf4fb55b93a8e009e080c0..d2c22f8b97b30384f37a9a5ffd28cdb9 // Visibility ----------------------------------------------------------- diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc -index 6268de9c7ef15b3e251917a373d4d7f8b8fb51cc..056ce511dbe2e0e14463d1a5fdb18b5fa8714c0e 100644 +index bd3acda8e8bd5cc79be4d0367f4765a2f749f8df..4d4dfd6678a6b4869d3d330447a6989efa8c1b9b 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -4127,6 +4127,13 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -4321,6 +4321,13 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } @@ -128,7 +128,7 @@ index 6268de9c7ef15b3e251917a373d4d7f8b8fb51cc..056ce511dbe2e0e14463d1a5fdb18b5f void WebViewImpl::SetVisibilityState( mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) { -@@ -4137,7 +4144,8 @@ void WebViewImpl::SetVisibilityState( +@@ -4331,7 +4338,8 @@ void WebViewImpl::SetVisibilityState( } GetPage()->SetVisibilityState(visibility_state, is_initial_state); GetPage()->GetPageScheduler()->SetPageVisible( @@ -139,10 +139,10 @@ index 6268de9c7ef15b3e251917a373d4d7f8b8fb51cc..056ce511dbe2e0e14463d1a5fdb18b5f mojom::blink::PageVisibilityState WebViewImpl::GetVisibilityState() { diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h -index 6d041042e3b4636ebf7fffa842bd43801728f18e..84753e1ea7599e53432b983ff795f4147bad323e 100644 +index c47f5db6eb2151d1cdbd07e5e1a311dbda8349b2..19b41f2f09fd1c7e30dc3845c65bedc464acf7b8 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h -@@ -347,6 +347,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -355,6 +355,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, LocalDOMWindow* PagePopupWindow() const; PageScheduler* Scheduler() const override; @@ -150,7 +150,7 @@ index 6d041042e3b4636ebf7fffa842bd43801728f18e..84753e1ea7599e53432b983ff795f414 void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) override; mojom::blink::PageVisibilityState GetVisibilityState() override; -@@ -786,6 +787,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -810,6 +811,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, // WebViewImpl::Close while handling an input event. bool debug_inside_input_handling_ = false; diff --git a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch index 3c6559af4b83..8d8fe2d5f83f 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -94,7 +94,7 @@ index 1026b739d283f0fc252fa2af83a6d4cf51bc8553..fe562ab60ce98b8bb0c5080a6428deb3 private: const HWND hwnd_; diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index f17e070e91c06d28a110437856decc2f4271130d..3eedd746e7f83be3e7b448d88ea1a719f8e75f9b 100644 +index 5d60d2905d01fe0f8e61990e28a35936e926fdbb..84b1be8096ec46ba0fba205b6e813da2fb7e142a 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn @@ -115,6 +115,8 @@ viz_component("service") { @@ -107,10 +107,10 @@ index f17e070e91c06d28a110437856decc2f4271130d..3eedd746e7f83be3e7b448d88ea1a719 "display_embedder/software_output_surface.h", "display_embedder/viz_process_context_provider.cc", diff --git a/components/viz/service/display_embedder/output_surface_provider_impl.cc b/components/viz/service/display_embedder/output_surface_provider_impl.cc -index 89dec4750aac279fe7fc98e549e55a4f1b6d0362..9241ccc5d81dd582a197b3413cc455e00016ce9b 100644 +index bd67d4530c8a77fa3c5c6df9a0fb210944d7792c..303637624a4221de79b9ddf95f23e27c1114e607 100644 --- a/components/viz/service/display_embedder/output_surface_provider_impl.cc +++ b/components/viz/service/display_embedder/output_surface_provider_impl.cc -@@ -22,6 +22,7 @@ +@@ -24,6 +24,7 @@ #include "components/viz/service/display_embedder/server_shared_bitmap_manager.h" #include "components/viz/service/display_embedder/skia_output_surface_dependency_impl.h" #include "components/viz/service/display_embedder/skia_output_surface_impl.h" @@ -118,7 +118,7 @@ index 89dec4750aac279fe7fc98e549e55a4f1b6d0362..9241ccc5d81dd582a197b3413cc455e0 #include "components/viz/service/display_embedder/software_output_surface.h" #include "components/viz/service/display_embedder/viz_process_context_provider.h" #include "components/viz/service/gl/gpu_service_impl.h" -@@ -35,6 +36,7 @@ +@@ -37,6 +38,7 @@ #include "gpu/ipc/scheduler_sequence.h" #include "gpu/ipc/service/gpu_channel_manager_delegate.h" #include "gpu/ipc/service/image_transport_surface.h" @@ -126,7 +126,7 @@ index 89dec4750aac279fe7fc98e549e55a4f1b6d0362..9241ccc5d81dd582a197b3413cc455e0 #include "ui/base/ui_base_switches.h" #include "ui/gl/gl_context.h" #include "ui/gl/init/gl_factory.h" -@@ -245,6 +247,22 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform( +@@ -250,6 +252,22 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform( if (headless_) return std::make_unique(); @@ -527,7 +527,7 @@ index 6b7fbb6cf13dc8ee6ade0878a9a2c1efc5d4d3f1..e2af75168cb914a7b3b4a6c9b6a28549 + Draw(gfx.mojom.Rect damage_rect) => (); }; diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h -index 32cdffd116b768fe20f556a1cebd90e269754bd1..eab5ccc8239e0a5ae84a3bcb97bdfdaee4236801 100644 +index dc011fe48e2a627f9243d6075c107bd3197f575e..a3d367c4be584600abde4dffab4cc66efb6addbb 100644 --- a/ui/compositor/compositor.h +++ b/ui/compositor/compositor.h @@ -75,6 +75,7 @@ class ExternalBeginFrameController; diff --git a/patches/chromium/fix_patch_out_profile_refs_in_accessibility_ui.patch b/patches/chromium/fix_patch_out_profile_refs_in_accessibility_ui.patch index 1d7a37e9a0a9..9b53ee8a705c 100644 --- a/patches/chromium/fix_patch_out_profile_refs_in_accessibility_ui.patch +++ b/patches/chromium/fix_patch_out_profile_refs_in_accessibility_ui.patch @@ -7,7 +7,7 @@ This tweaks Chrome's Accessibility support at chrome://accessibility to make it usable from Electron by removing Profile references. diff --git a/chrome/browser/accessibility/accessibility_ui.cc b/chrome/browser/accessibility/accessibility_ui.cc -index 42d79b5651e204dc8014489f8feb6b6ad7994d8c..bed9a4f98f566d368a891a8247f3e528f9db910d 100644 +index f3152a4d32496c61b4441bc14a693a0965c0f033..1714de54fadb249a24aac528f4db7def9dd1838f 100644 --- a/chrome/browser/accessibility/accessibility_ui.cc +++ b/chrome/browser/accessibility/accessibility_ui.cc @@ -19,7 +19,10 @@ @@ -83,7 +83,7 @@ index 42d79b5651e204dc8014489f8feb6b6ad7994d8c..bed9a4f98f566d368a891a8247f3e528 data.Set(kBrowsersField, std::move(browser_list)); std::string json_string; -@@ -470,8 +473,10 @@ void AccessibilityUIMessageHandler::SetGlobalFlag(const base::ListValue* args) { +@@ -449,8 +452,10 @@ void AccessibilityUIMessageHandler::SetGlobalFlag(const base::ListValue* args) { AllowJavascript(); if (flag_name_str == kInternal) { @@ -94,7 +94,7 @@ index 42d79b5651e204dc8014489f8feb6b6ad7994d8c..bed9a4f98f566d368a891a8247f3e528 return; } -@@ -569,10 +574,12 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree( +@@ -548,10 +553,12 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree( AXPropertyFilter::ALLOW_EMPTY); AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY); @@ -108,7 +108,7 @@ index 42d79b5651e204dc8014489f8feb6b6ad7994d8c..bed9a4f98f566d368a891a8247f3e528 result->SetString(kTreeField, accessibility_contents); FireWebUIListener(request_type, *(result.get())); } -@@ -607,6 +614,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( +@@ -586,6 +593,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( AXPropertyFilter::ALLOW_EMPTY); AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY); @@ -116,7 +116,7 @@ index 42d79b5651e204dc8014489f8feb6b6ad7994d8c..bed9a4f98f566d368a891a8247f3e528 for (Browser* browser : *BrowserList::GetInstance()) { if (browser->session_id().id() == session_id) { std::unique_ptr result( -@@ -621,6 +629,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( +@@ -600,6 +608,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( return; } } @@ -124,7 +124,7 @@ index 42d79b5651e204dc8014489f8feb6b6ad7994d8c..bed9a4f98f566d368a891a8247f3e528 #endif // !defined(OS_ANDROID) // No browser with the specified |session_id| was found. std::unique_ptr result(new base::DictionaryValue()); -@@ -687,5 +696,7 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents( +@@ -666,5 +675,7 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents( // static void AccessibilityUIMessageHandler::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { diff --git a/patches/chromium/fix_route_mouse_event_navigations_through_the_web_contents_delegate.patch b/patches/chromium/fix_route_mouse_event_navigations_through_the_web_contents_delegate.patch index 5e798a2c331d..39b351002c89 100644 --- a/patches/chromium/fix_route_mouse_event_navigations_through_the_web_contents_delegate.patch +++ b/patches/chromium/fix_route_mouse_event_navigations_through_the_web_contents_delegate.patch @@ -13,10 +13,10 @@ This patch can be removed once app.allowRendererProcessReuse is forced to true as then Chromiums assumptions around processes become correct. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 77686b665c4eeb6f40ed7b417aeb236a28673aaf..c02b57d5b8ad23bac1ccd900334dc3f7373ceb97 100644 +index e099a6cc44e73da8b24603fd86b72139f0735fb2..2f207fda8afb44901d2027cb2ec1da1de826521f 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3074,11 +3074,13 @@ bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) { +@@ -3012,11 +3012,13 @@ bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) { WebContentsImpl* outermost = GetOutermostWebContents(); if (event.button == blink::WebPointerProperties::Button::kBack && outermost->controller_.CanGoBack()) { diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index 86c86987de12..17b855110971 100644 --- a/patches/chromium/frame_host_manager.patch +++ b/patches/chromium/frame_host_manager.patch @@ -8,7 +8,7 @@ and respond with custom instance. Also allows for us to at-runtime enable or disable this patch. diff --git a/content/browser/browsing_instance.cc b/content/browser/browsing_instance.cc -index f1d16dc478cee3eded4f056287a318fb1c421343..ab3e6f48547fbcf33577e18b6eaed58f74b50151 100644 +index 0061b2000ed0f00a12346493604e9e0d9f5831ce..ef296a03ee9429373708d9d01c434caadad066b3 100644 --- a/content/browser/browsing_instance.cc +++ b/content/browser/browsing_instance.cc @@ -86,6 +86,13 @@ scoped_refptr BrowsingInstance::GetSiteInstanceForURL( @@ -42,12 +42,12 @@ index 8e22428ddd0c545a94b04942fe9a2bf5f137b374..2436871e3d04ec276620d97ddd0a20dd // another SiteInstance for the same site. void RegisterSiteInstance(SiteInstanceImpl* site_instance); diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc -index ee8fc66ad39283c9732d67c1ae1bf274bc379dfb..6d0a7674886b5e41a8db0e8bf876cdcd7438a75d 100644 +index a81443b8c7941389098ce69941b4a16dfa080b1a..f91ceb7065984ab2559669059d2693806d2cbdf8 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -1419,6 +1419,21 @@ void NavigationRequest::BeginNavigation() { - // it immediately. - EnterChildTraceEvent("ResponseStarted", this); +@@ -1396,6 +1396,21 @@ void NavigationRequest::BeginNavigation() { + is_loaded_from_mhtml_archive_ = IsForMhtmlSubframe(); + ComputeSandboxFlagsToCommit(); + // In Electron, a new process is started for every navigation when node is + // integrated in the renderer. Since GetFrameHostForNavigation is called more @@ -67,7 +67,7 @@ index ee8fc66ad39283c9732d67c1ae1bf274bc379dfb..6d0a7674886b5e41a8db0e8bf876cdcd // Select an appropriate RenderFrameHost. render_frame_host_ = frame_tree_node_->render_manager()->GetFrameHostForNavigation(this); -@@ -5093,6 +5108,7 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { +@@ -5085,6 +5100,7 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { {WILL_START_REQUEST, { WILL_REDIRECT_REQUEST, WILL_PROCESS_RESPONSE, @@ -75,7 +75,7 @@ index ee8fc66ad39283c9732d67c1ae1bf274bc379dfb..6d0a7674886b5e41a8db0e8bf876cdcd READY_TO_COMMIT, DID_COMMIT, CANCELING, -@@ -5106,10 +5122,14 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { +@@ -5098,10 +5114,14 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { WILL_FAIL_REQUEST, }}, {WILL_PROCESS_RESPONSE, { @@ -91,7 +91,7 @@ index ee8fc66ad39283c9732d67c1ae1bf274bc379dfb..6d0a7674886b5e41a8db0e8bf876cdcd NOT_STARTED, DID_COMMIT, diff --git a/content/browser/renderer_host/navigation_request.h b/content/browser/renderer_host/navigation_request.h -index 1bcb9a4c209ff3c97ffbcc715493e483f911e024..e6f290d4adfef9f12f1bf205f5df3f76c4753038 100644 +index 3096bce6a0bacab77c5f480dae0aa3dc85f586f4..9fed13c1fc1b228280036f4add4f4b52efcd9cc0 100644 --- a/content/browser/renderer_host/navigation_request.h +++ b/content/browser/renderer_host/navigation_request.h @@ -130,6 +130,10 @@ class CONTENT_EXPORT NavigationRequest @@ -106,10 +106,10 @@ index 1bcb9a4c209ff3c97ffbcc715493e483f911e024..e6f290d4adfef9f12f1bf205f5df3f76 READY_TO_COMMIT, diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc -index a7c684e192a3890c57d85bb206dd4641686c9a42..05650f4caee399b0d377ed3cc90b0f0c0b029e68 100644 +index a9beb656551babf75c6d64ef1a512e732f327981..f3138cd74e9e6a210c6fd5a6974bf979176030e0 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -2527,6 +2527,16 @@ RenderFrameHostManager::GetCoopCoepCrossOriginIsolationInfo( +@@ -2567,6 +2567,16 @@ RenderFrameHostManager::GetCoopCoepCrossOriginIsolationInfo( scoped_refptr RenderFrameHostManager::GetSiteInstanceForNavigationRequest( NavigationRequest* request) { @@ -126,7 +126,7 @@ index a7c684e192a3890c57d85bb206dd4641686c9a42..05650f4caee399b0d377ed3cc90b0f0c SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance(); // All children of MHTML documents must be MHTML documents. They all live in -@@ -2546,10 +2556,60 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -2586,10 +2596,60 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( // // TODO(clamy): We should also consider as a candidate SiteInstance the // speculative SiteInstance that was computed on redirects. @@ -191,7 +191,7 @@ index a7c684e192a3890c57d85bb206dd4641686c9a42..05650f4caee399b0d377ed3cc90b0f0c // Account for renderer-initiated reload as well. // Needed as a workaround for https://crbug.com/1045524, remove it when it is -@@ -2588,6 +2648,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -2628,6 +2688,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } @@ -202,10 +202,10 @@ index a7c684e192a3890c57d85bb206dd4641686c9a42..05650f4caee399b0d377ed3cc90b0f0c } diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc -index f92beb6251b36731a9e00395c0d1696a1b076794..702c940d24e038b91e60f4359520d94555c44930 100644 +index efa724f07c8365d846c21463636ce4c56546522b..2ae4d19aef4d81a3cb6e6664f71421f7960fd4bc 100644 --- a/content/browser/site_instance_impl.cc +++ b/content/browser/site_instance_impl.cc -@@ -694,6 +694,10 @@ bool SiteInstanceImpl::HasRelatedSiteInstance(const SiteInfo& site_info) { +@@ -707,6 +707,10 @@ bool SiteInstanceImpl::HasRelatedSiteInstance(const SiteInfo& site_info) { return browsing_instance_->HasSiteInstance(site_info); } @@ -217,10 +217,10 @@ index f92beb6251b36731a9e00395c0d1696a1b076794..702c940d24e038b91e60f4359520d945 const GURL& url) { return GetRelatedSiteInstanceImpl( diff --git a/content/browser/site_instance_impl.h b/content/browser/site_instance_impl.h -index 2a69510e624d653fef5125fe6b5f511f537b76a6..eb1bbd8699c851ca750391f3743a6a1dda0708da 100644 +index eaae6149a0a57cfa035f1b1c45c3ec0183a11a4a..c0926477a1de42437c43672b1bd53f87194b1380 100644 --- a/content/browser/site_instance_impl.h +++ b/content/browser/site_instance_impl.h -@@ -299,6 +299,7 @@ class CONTENT_EXPORT SiteInstanceImpl final : public SiteInstance, +@@ -313,6 +313,7 @@ class CONTENT_EXPORT SiteInstanceImpl final : public SiteInstance, BrowserContext* GetBrowserContext() override; const GURL& GetSiteURL() override; scoped_refptr GetRelatedSiteInstance(const GURL& url) override; @@ -229,10 +229,10 @@ index 2a69510e624d653fef5125fe6b5f511f537b76a6..eb1bbd8699c851ca750391f3743a6a1d size_t GetRelatedActiveContentsCount() override; bool RequiresDedicatedProcess() override; diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc -index fc2fb1b9b20cee93796641de85d59b6d794b9a8e..9cab4f021374da0ab9cc4a3cbd57162e25c5250d 100644 +index c180b0ab0081631acfc675dacd2df92d8838ef02..4ebd54c35de3880b4b07e8bade975fa50f1069f1 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -63,6 +63,21 @@ +@@ -64,6 +64,21 @@ namespace content { @@ -255,10 +255,10 @@ index fc2fb1b9b20cee93796641de85d59b6d794b9a8e..9cab4f021374da0ab9cc4a3cbd57162e const MainFunctionParams& parameters) { return nullptr; diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 17bc01e41820cf449d7228f0c5c9a2aa56374e88..195b0975b33af0fc25ef214f2bf41d593d7fa1b9 100644 +index dfee3e388a9097c511d47cf09756dc37c5b63cda..555366e79fdf081c09ec3cdb3406b705947f8a6b 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -253,8 +253,45 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -252,8 +252,45 @@ class CONTENT_EXPORT ContentBrowserClient { using IsClipboardPasteAllowedCallback = base::OnceCallback; diff --git a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch index d84e93ceb8e1..0e1aa04f4af2 100644 --- a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch +++ b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch @@ -12,7 +12,7 @@ rendering and there is no signal from browser process on this event to identify it. diff --git a/content/browser/gpu/gpu_data_manager_impl.cc b/content/browser/gpu/gpu_data_manager_impl.cc -index 694f63ecd2de241fd1a8b7b529bbd4d1bea78337..705d24cb09a2a8b07ac7acd21b18e2e3483856bf 100644 +index 60887eabca674fb07ed02055e7cf113ce933d75e..ad9e7ae3008badc4669deac0b9cc001a8fd13dde 100644 --- a/content/browser/gpu/gpu_data_manager_impl.cc +++ b/content/browser/gpu/gpu_data_manager_impl.cc @@ -229,6 +229,11 @@ void GpuDataManagerImpl::TerminateInfoCollectionGpuProcess() { @@ -28,7 +28,7 @@ index 694f63ecd2de241fd1a8b7b529bbd4d1bea78337..705d24cb09a2a8b07ac7acd21b18e2e3 void GpuDataManagerImpl::UpdateGpuFeatureInfo( diff --git a/content/browser/gpu/gpu_data_manager_impl.h b/content/browser/gpu/gpu_data_manager_impl.h -index 7030549c94196877b690e8f683dda212534176ec..e9b216f65394e36525533768e087cd367d7bfaae 100644 +index 6b3849cfbcba03406f1932c1c958f0456f9572be..dc7ad48d60de5f4a734cadea66ccd360ada09cdc 100644 --- a/content/browser/gpu/gpu_data_manager_impl.h +++ b/content/browser/gpu/gpu_data_manager_impl.h @@ -97,6 +97,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDataManager, @@ -40,7 +40,7 @@ index 7030549c94196877b690e8f683dda212534176ec..e9b216f65394e36525533768e087cd36 // Update the GPU feature info. This updates the blocklist and enabled status // of GPU rasterization. In the future this will be used for more features. diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc -index 1b729fa275f4fa3fea5b9bdabeccb9df0a94713a..c10d08dee7ad5fc26c61b6a5e96e62fa1fb4548c 100644 +index 3323ceed7dee0dd487d2c30eea8428810c9e77ea..3ccc7f449d8d1d1f7f299df715423334f0e525c9 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.cc +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc @@ -1022,6 +1022,11 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() { @@ -56,7 +56,7 @@ index 1b729fa275f4fa3fea5b9bdabeccb9df0a94713a..c10d08dee7ad5fc26c61b6a5e96e62fa void GpuDataManagerImplPrivate::UpdateGpuFeatureInfo( diff --git a/content/browser/gpu/gpu_data_manager_impl_private.h b/content/browser/gpu/gpu_data_manager_impl_private.h -index 27b517d56af0c687c15b7e2d2db37798b63df3e8..aa92f8b6e12c762cdb81090d072c76742ac9489c 100644 +index f634ae502cb42afada67b15bc9c7fa1d5acdbf46..7b1c924021517ba16bd25419cc955774c5338cd9 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.h +++ b/content/browser/gpu/gpu_data_manager_impl_private.h @@ -75,6 +75,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index b7e90c8bd4f6..4e38d280ceb8 100644 --- a/patches/chromium/gritsettings_resource_ids.patch +++ b/patches/chromium/gritsettings_resource_ids.patch @@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch Add electron resources file to the list of resource ids generation. diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec -index 8c4f7b4e0c8838e25c31b6f778e9a94ee1139e9d..c4eaaef4796ec084a7eca749f56fe0438b0e59eb 100644 +index dc32f73214cb19ec7445f756194a985dce66f7a8..30a84955f32c2855996b94efbdba0d0c70e0cfbc 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -672,6 +672,11 @@ +@@ -665,6 +665,11 @@ "includes": [3880], }, diff --git a/patches/chromium/mas_disable_remote_accessibility.patch b/patches/chromium/mas_disable_remote_accessibility.patch index 7fb4c8aa73d3..68864da041ba 100644 --- a/patches/chromium/mas_disable_remote_accessibility.patch +++ b/patches/chromium/mas_disable_remote_accessibility.patch @@ -170,10 +170,10 @@ index b9b67b25e1eba3a1a3ed720e5f2f898fc04bbc5d..0a0784d4ba5c409eb2dbd370cace906a /////////////////////////////////////////////////////////////////////////////// diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn -index 62010c7a3247644a390d2229b05ba6218dc23e3f..efe4d624d71266eb7a1d6fe402a2444f9c2aea57 100644 +index 7964e634163fb343972b2bc8c5e9f5f6c406a763..d07b7f7e1efa92036c11e2c628e5e6d558b6357c 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn -@@ -307,6 +307,13 @@ component("base") { +@@ -309,6 +309,13 @@ component("base") { ] } @@ -184,9 +184,9 @@ index 62010c7a3247644a390d2229b05ba6218dc23e3f..efe4d624d71266eb7a1d6fe402a2444f + ] + } + - if (is_posix) { - sources += [ "l10n/l10n_util_posix.cc" ] - } + if (is_ios) { + sources += [ + "device_form_factor_ios.mm", diff --git a/ui/base/cocoa/remote_accessibility_api.h b/ui/base/cocoa/remote_accessibility_api.h index e7adfee3210ec723c687adfcc4bee8827ef643e7..25a924a47eeb30d783ef83dbb4896c4bed139a27 100644 --- a/ui/base/cocoa/remote_accessibility_api.h @@ -236,7 +236,7 @@ index 492386c61ac6701fc38c5e90976b4e5f638189de..6050916081ebeb426ee6cf5dd67962f0 // Used to force the NSApplication's focused accessibility element to be the // views::Views accessibility tree when the NSView for this is focused. diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm -index 20e8cb0b4aec5a71f496feb6069ac68e03f9f47a..3ea70bea36f8660779d06dfb12eda3aa65675bd4 100644 +index d0be0e2ff2d9477376514ed2e6fd648a9dad94ec..e9d7b4b0a1aa036b4f000cc979c45d7a5a557617 100644 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm @@ -284,14 +284,22 @@ void HandleAccelerator(const ui::Accelerator& accelerator, @@ -262,7 +262,7 @@ index 20e8cb0b4aec5a71f496feb6069ac68e03f9f47a..3ea70bea36f8660779d06dfb12eda3aa } remote_cocoa::mojom::NativeWidgetNSWindow* -@@ -1130,6 +1138,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -1133,6 +1141,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator, void NativeWidgetMacNSWindowHost::SetRemoteAccessibilityTokens( const std::vector& window_token, const std::vector& view_token) { @@ -270,7 +270,7 @@ index 20e8cb0b4aec5a71f496feb6069ac68e03f9f47a..3ea70bea36f8660779d06dfb12eda3aa remote_window_accessible_ = ui::RemoteAccessibility::GetRemoteElementFromToken(window_token); remote_view_accessible_ = -@@ -1137,14 +1146,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -1140,14 +1149,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator, [remote_view_accessible_ setWindowUIElement:remote_window_accessible_.get()]; [remote_view_accessible_ setTopLevelUIElement:remote_window_accessible_.get()]; diff --git a/patches/chromium/mas_no_private_api.patch b/patches/chromium/mas_no_private_api.patch index 01ff2eea6288..6d709ef92a94 100644 --- a/patches/chromium/mas_no_private_api.patch +++ b/patches/chromium/mas_no_private_api.patch @@ -7,7 +7,7 @@ Guard usages in blink of private Mac APIs by MAS_BUILD, so they can be excluded for people who want to submit their apps to the Mac App store. diff --git a/content/browser/accessibility/accessibility_tree_formatter_mac.mm b/content/browser/accessibility/accessibility_tree_formatter_mac.mm -index 5792496e9a0d22522750237edc7f19d045b580a8..f3536463a01f96c22c00c895489a6c15f9d349fd 100644 +index b41aef49ca9c07e36216146abc066b94195a48a2..bf62870243a4d3a783338f149df2cfcd41168fe6 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_mac.mm +++ b/content/browser/accessibility/accessibility_tree_formatter_mac.mm @@ -312,7 +312,7 @@ OptionalNSObject InvokeAttributeFor( @@ -82,10 +82,10 @@ index 320751d301f7cebe40e59127a1a631a010009385..11fabe50abd47d0b0a7ff24a3b979067 } // namespace a11y } // namespace content diff --git a/content/browser/accessibility/browser_accessibility_cocoa.h b/content/browser/accessibility/browser_accessibility_cocoa.h -index 95bff04e5ad407f1abec28d4d39d5d96be92c0d9..567e60fdc07b094f3b830e8fba89962e3a1209bf 100644 +index a5324dfd0c8a6bcd8fb7f89ce30d1f1b1ade0304..02564098d67f044cef54d285772a449d991b8d06 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.h +++ b/content/browser/accessibility/browser_accessibility_cocoa.h -@@ -143,7 +143,9 @@ id AXTextMarkerRangeFrom(id anchor_textmarker, id focus_textmarker); +@@ -151,7 +151,9 @@ id AXTextMarkerRangeFrom(id anchor_textmarker, id focus_textmarker); @property(nonatomic, readonly) NSNumber* enabled; // Returns a text marker that points to the last character in the document that // can be selected with Voiceover. @@ -95,7 +95,7 @@ index 95bff04e5ad407f1abec28d4d39d5d96be92c0d9..567e60fdc07b094f3b830e8fba89962e @property(nonatomic, readonly) NSNumber* expanded; @property(nonatomic, readonly) NSNumber* focused; @property(nonatomic, readonly) NSNumber* grabbed; -@@ -155,7 +157,9 @@ id AXTextMarkerRangeFrom(id anchor_textmarker, id focus_textmarker); +@@ -163,7 +165,9 @@ id AXTextMarkerRangeFrom(id anchor_textmarker, id focus_textmarker); // Index of a row, column, or tree item. @property(nonatomic, readonly) NSNumber* index; @property(nonatomic, readonly) NSNumber* treeItemRowIndex; @@ -105,7 +105,7 @@ index 95bff04e5ad407f1abec28d4d39d5d96be92c0d9..567e60fdc07b094f3b830e8fba89962e @property(nonatomic, readonly) NSString* invalid; @property(nonatomic, readonly) NSNumber* isMultiSelectable; @property(nonatomic, readonly) NSString* placeholderValue; -@@ -178,14 +182,18 @@ id AXTextMarkerRangeFrom(id anchor_textmarker, id focus_textmarker); +@@ -186,14 +190,18 @@ id AXTextMarkerRangeFrom(id anchor_textmarker, id focus_textmarker); // The object is selected as a whole. @property(nonatomic, readonly) NSNumber* selected; @property(nonatomic, readonly) NSArray* selectedChildren; @@ -125,7 +125,7 @@ index 95bff04e5ad407f1abec28d4d39d5d96be92c0d9..567e60fdc07b094f3b830e8fba89962e // is concerned. @property(nonatomic, readonly) NSString* subrole; diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm -index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb487f100c0 100644 +index fc8e75c292dcdd1757ed925718d18acc6ed6f63c..583a8aa16045d772e14dbdd6c9d1499ebe811d86 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.mm +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm @@ -208,6 +208,7 @@ @@ -215,7 +215,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 {NSAccessibilitySizeAttribute, @"size"}, {NSAccessibilitySortDirectionAttribute, @"sortDirection"}, {NSAccessibilitySubroleAttribute, @"subrole"}, -@@ -1337,6 +1351,7 @@ - (NSNumber*)enabled { +@@ -1330,6 +1344,7 @@ - (NSNumber*)enabled { ax::mojom::Restriction::kDisabled]; } @@ -223,7 +223,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 // Returns a text marker that points to the last character in the document that // can be selected with VoiceOver. - (id)endTextMarker { -@@ -1347,6 +1362,7 @@ - (id)endTextMarker { +@@ -1340,6 +1355,7 @@ - (id)endTextMarker { BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0); return CreateTextMarker(position->CreatePositionAtEndOfAnchor()); } @@ -231,7 +231,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 - (NSNumber*)expanded { if (![self instanceActive]) -@@ -1549,6 +1565,7 @@ - (bool)findRowIndex:(BrowserAccessibilityCocoa*)toFind +@@ -1542,6 +1558,7 @@ - (bool)findRowIndex:(BrowserAccessibilityCocoa*)toFind return false; } @@ -239,7 +239,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 - (NSNumber*)insertionPointLineNumber { if (![self instanceActive]) return nil; -@@ -1571,6 +1588,7 @@ - (NSNumber*)insertionPointLineNumber { +@@ -1564,6 +1581,7 @@ - (NSNumber*)insertionPointLineNumber { caretPosition->AsTextPosition()->text_offset()); return @(std::distance(lineBreaks.begin(), iterator)); } @@ -247,7 +247,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 // Returns whether or not this node should be ignored in the // accessibility tree. -@@ -1934,8 +1952,12 @@ - (BOOL)shouldExposeTitleUIElement { +@@ -1922,8 +1940,12 @@ - (BOOL)shouldExposeTitleUIElement { return content::AXTextEdit(newValue, base::string16(), nil); } } @@ -260,7 +260,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 } - (BOOL)instanceActive { -@@ -2265,6 +2287,7 @@ - (NSArray*)selectedChildren { +@@ -2253,6 +2275,7 @@ - (NSArray*)selectedChildren { return ret; } @@ -268,7 +268,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 - (NSString*)selectedText { if (![self instanceActive]) return nil; -@@ -2276,11 +2299,13 @@ - (NSString*)selectedText { +@@ -2264,11 +2287,13 @@ - (NSString*)selectedText { return nil; return base::SysUTF16ToNSString(range.GetText()); } @@ -282,7 +282,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 - (NSValue*)selectedTextRange { if (![self instanceActive]) return nil; -@@ -2301,7 +2326,9 @@ - (NSValue*)selectedTextRange { +@@ -2289,7 +2314,9 @@ - (NSValue*)selectedTextRange { int selLength = range.GetText().length(); return [NSValue valueWithRange:NSMakeRange(selStart, selLength)]; } @@ -292,7 +292,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 - (id)selectedTextMarkerRange { if (![self instanceActive]) return nil; -@@ -2309,6 +2336,7 @@ - (id)selectedTextMarkerRange { +@@ -2297,6 +2324,7 @@ - (id)selectedTextMarkerRange { // words correctly. return CreateTextMarkerRange(GetSelectedRange(*_owner).AsBackwardRange()); } @@ -300,7 +300,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 - (NSValue*)size { if (![self instanceActive]) -@@ -2341,6 +2369,7 @@ - (NSString*)sortDirection { +@@ -2329,6 +2357,7 @@ - (NSString*)sortDirection { return nil; } @@ -308,7 +308,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 // Returns a text marker that points to the first character in the document that // can be selected with VoiceOver. - (id)startTextMarker { -@@ -2351,6 +2380,7 @@ - (id)startTextMarker { +@@ -2339,6 +2368,7 @@ - (id)startTextMarker { BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0); return CreateTextMarker(position->CreatePositionAtStartOfAnchor()); } @@ -316,7 +316,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 // Returns a subrole based upon the role. - (NSString*)subrole { -@@ -2670,11 +2700,13 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range { +@@ -2665,11 +2695,13 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range { NSMutableAttributedString* attributedInnerText = [[[NSMutableAttributedString alloc] initWithString:base::SysUTF16ToNSString(innerText)] autorelease]; @@ -330,7 +330,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 return [attributedInnerText attributedSubstringFromRange:range]; } -@@ -2786,9 +2818,8 @@ - (id)accessibilityAttributeValue:(NSString*)attribute +@@ -2782,9 +2814,8 @@ - (id)accessibilityAttributeValue:(NSString*)attribute return ToBrowserAccessibilityCocoa(cell); } @@ -342,7 +342,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 BrowserAccessibilityPositionInstance position = CreatePositionFromTextMarker(parameter); if (!position->IsNullPosition()) -@@ -3101,6 +3132,7 @@ AXPlatformRange range(std::move(lineStartPosition), +@@ -3097,6 +3128,7 @@ AXPlatformRange range(std::move(lineStartPosition), return CreateTextMarker(root->CreatePositionAt(index)); } @@ -350,7 +350,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 if ([attribute isEqualToString: NSAccessibilityBoundsForRangeParameterizedAttribute]) { -@@ -3131,6 +3163,7 @@ AXPlatformRange range(std::move(lineStartPosition), +@@ -3127,6 +3159,7 @@ AXPlatformRange range(std::move(lineStartPosition), return nil; } @@ -358,7 +358,7 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 if ([attribute isEqualToString: NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) { -@@ -3245,6 +3278,7 @@ AXPlatformRange range(std::move(lineStartPosition), +@@ -3241,6 +3274,7 @@ AXPlatformRange range(std::move(lineStartPosition), return @(child->GetIndexInParent()); } @@ -367,10 +367,10 @@ index 0e8257d76d17a40497237583f3bcac0f57c0393c..22a387302a75629448fc309df1469eb4 return nil; } diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm -index 84c58c7bf32db7804640c5e70f42ee3c6317a0bb..3c013e3535f2dc17e94da5ffb5d514cbab703cf0 100644 +index 0a45c3fc4f4760cb3bb8e20990e279743de8e1e8..302716ddac3290a77f8d6981a93c2a6c412ef5a3 100644 --- a/content/browser/accessibility/browser_accessibility_manager_mac.mm +++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm -@@ -537,6 +537,7 @@ void PostAnnouncementNotification(NSString* announcement) { +@@ -538,6 +538,7 @@ void PostAnnouncementNotification(NSString* announcement) { [user_info setObject:native_focus_object forKey:NSAccessibilityTextChangeElement]; @@ -378,7 +378,7 @@ index 84c58c7bf32db7804640c5e70f42ee3c6317a0bb..3c013e3535f2dc17e94da5ffb5d514cb id selected_text = [native_focus_object selectedTextMarkerRange]; if (selected_text) { NSString* const NSAccessibilitySelectedTextMarkerRangeAttribute = -@@ -544,6 +545,7 @@ void PostAnnouncementNotification(NSString* announcement) { +@@ -545,6 +546,7 @@ void PostAnnouncementNotification(NSString* announcement) { [user_info setObject:selected_text forKey:NSAccessibilitySelectedTextMarkerRangeAttribute]; } @@ -457,10 +457,10 @@ index 1db129740992672a4e8be8100da18b6813f1a4f8..dc18d623869e815d4d1ef64ad8bceb69 } diff --git a/device/bluetooth/bluetooth_adapter_mac.mm b/device/bluetooth/bluetooth_adapter_mac.mm -index 933483c36d94336c8e9cc56a53bc86aee01e12d0..a48b4af66fb4edcf74caef5bec68c53be5469fe8 100644 +index 56864e40431a051dc93ada792a712ca8cf5e9258..c2ee161f02e8cbf901234210671f6dc5d9910908 100644 --- a/device/bluetooth/bluetooth_adapter_mac.mm +++ b/device/bluetooth/bluetooth_adapter_mac.mm -@@ -37,6 +37,7 @@ +@@ -42,6 +42,7 @@ #include "device/bluetooth/bluetooth_socket_mac.h" #include "device/bluetooth/public/cpp/bluetooth_address.h" @@ -468,7 +468,7 @@ index 933483c36d94336c8e9cc56a53bc86aee01e12d0..a48b4af66fb4edcf74caef5bec68c53b extern "C" { // Undocumented IOBluetooth Preference API [1]. Used by `blueutil` [2] and // `Karabiner` [3] to programmatically control the Bluetooth state. Calling the -@@ -50,6 +51,7 @@ +@@ -55,6 +56,7 @@ // [4] https://support.apple.com/kb/PH25091 void IOBluetoothPreferenceSetControllerPowerState(int state); } @@ -476,7 +476,7 @@ index 933483c36d94336c8e9cc56a53bc86aee01e12d0..a48b4af66fb4edcf74caef5bec68c53b namespace { -@@ -119,8 +121,10 @@ CBCentralManagerState GetCBManagerState(CBCentralManager* manager) { +@@ -123,8 +125,10 @@ CBCentralManagerState GetCBManagerState(CBCentralManager* manager) { controller_state_function_( base::BindRepeating(&BluetoothAdapterMac::GetHostControllerState, base::Unretained(this))), @@ -484,10 +484,10 @@ index 933483c36d94336c8e9cc56a53bc86aee01e12d0..a48b4af66fb4edcf74caef5bec68c53b power_state_function_( base::BindRepeating(IOBluetoothPreferenceSetControllerPowerState)), +#endif - should_update_name_(true), classic_discovery_manager_( BluetoothDiscoveryManagerMac::CreateClassic(this)), -@@ -307,8 +311,12 @@ CBCentralManagerState GetCBManagerState(CBCentralManager* manager) { + low_energy_discovery_manager_( +@@ -336,8 +340,12 @@ CBCentralManagerState GetCBManagerState(CBCentralManager* manager) { } bool BluetoothAdapterMac::SetPoweredImpl(bool powered) { @@ -501,10 +501,10 @@ index 933483c36d94336c8e9cc56a53bc86aee01e12d0..a48b4af66fb4edcf74caef5bec68c53b void BluetoothAdapterMac::RemovePairingDelegateInternal( diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn -index 5e4dc90597d093d1763b09f4c46f385f0c120ca9..58846d3cdd8e712ed2302a1772ecfb2538d8538d 100644 +index d56fc21776812d36870767ea04a25d72287a87eb..c3b0a303693439947bbd804df69adf5a23e692a1 100644 --- a/media/audio/BUILD.gn +++ b/media/audio/BUILD.gn -@@ -175,6 +175,12 @@ source_set("audio") { +@@ -177,6 +177,12 @@ source_set("audio") { "mac/scoped_audio_unit.cc", "mac/scoped_audio_unit.h", ] diff --git a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch index f2cda6aeef3e..aaee4a507a1d 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -7,10 +7,10 @@ This adds a callback from the network service that's used to implement session.setCertificateVerifyCallback. diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index 33f453f91f067c821af1cd81fae4b77adab98b55..e251376b5765e0a4f277155efb2254440aebfd32 100644 +index fc37aeb9935326e04f8d2cd18711925899d37e07..12d4c84230994b1ef2e4914945d1f3617c54eb0c 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -114,6 +114,11 @@ +@@ -115,6 +115,11 @@ #include "services/network/url_loader.h" #include "services/network/url_request_context_builder_mojo.h" @@ -22,7 +22,7 @@ index 33f453f91f067c821af1cd81fae4b77adab98b55..e251376b5765e0a4f277155efb225444 #if BUILDFLAG(IS_CT_SUPPORTED) #include "components/certificate_transparency/chrome_ct_policy_enforcer.h" #include "components/certificate_transparency/chrome_require_ct_delegate.h" -@@ -371,6 +376,79 @@ bool SCTAuditingDelegate::IsSCTAuditingEnabled() { +@@ -372,6 +377,79 @@ bool SCTAuditingDelegate::IsSCTAuditingEnabled() { } // namespace @@ -102,7 +102,7 @@ index 33f453f91f067c821af1cd81fae4b77adab98b55..e251376b5765e0a4f277155efb225444 constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; NetworkContext::PendingCertVerify::PendingCertVerify() = default; -@@ -561,6 +639,13 @@ void NetworkContext::SetClient( +@@ -568,6 +646,13 @@ void NetworkContext::SetClient( client_.Bind(std::move(client)); } @@ -116,7 +116,7 @@ index 33f453f91f067c821af1cd81fae4b77adab98b55..e251376b5765e0a4f277155efb225444 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -1819,8 +1904,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -1830,8 +1915,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( "NetworkContext should pass CertVerifierServiceRemoteParams."; std::unique_ptr cert_verifier; @@ -127,7 +127,7 @@ index 33f453f91f067c821af1cd81fae4b77adab98b55..e251376b5765e0a4f277155efb225444 } else { if (params_->cert_verifier_params && params_->cert_verifier_params->is_remote_params()) { -@@ -1848,14 +1934,14 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -1859,14 +1945,14 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( cert_net_fetcher_ = base::MakeRefCounted(); @@ -143,9 +143,9 @@ index 33f453f91f067c821af1cd81fae4b77adab98b55..e251376b5765e0a4f277155efb225444 - std::move(cert_verifier))); + std::move(temp_verifier))); - #if defined(OS_CHROMEOS) + #if BUILDFLAG(IS_ASH) cert_verifier_with_trust_anchors_ = -@@ -1864,13 +1950,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -1875,13 +1961,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( UpdateAdditionalCertificates( std::move(params_->initial_additional_certificates)); cert_verifier_with_trust_anchors_->InitializeOnIOThread( @@ -153,7 +153,7 @@ index 33f453f91f067c821af1cd81fae4b77adab98b55..e251376b5765e0a4f277155efb225444 - cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_); + std::move(temp_verifier)); + temp_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_); - #endif // defined(OS_CHROMEOS) + #endif // BUILDFLAG(IS_ASH) + if (!temp_verifier) { +#if !defined(OS_LINUX) + temp_verifier = std::make_unique( @@ -178,10 +178,10 @@ index 33f453f91f067c821af1cd81fae4b77adab98b55..e251376b5765e0a4f277155efb225444 std::unique_ptr network_delegate = std::make_unique( diff --git a/services/network/network_context.h b/services/network/network_context.h -index e1a8746bcdaf61c181566369b380af5ead3a7796..1372f6f6ca4899cc7b230a3cd1b26db4c16325b5 100644 +index e4727cb9b3722ca09c4908b78c1d90d0b17b7313..95d1aa8cdaf6e0417475bcf95fed28cb2867431c 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -86,6 +86,7 @@ class DomainReliabilityMonitor; +@@ -87,6 +87,7 @@ class DomainReliabilityMonitor; namespace network { class CertVerifierWithTrustAnchors; @@ -189,7 +189,7 @@ index e1a8746bcdaf61c181566369b380af5ead3a7796..1372f6f6ca4899cc7b230a3cd1b26db4 class CookieManager; class ExpectCTReporter; class HostResolver; -@@ -189,6 +190,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -191,6 +192,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) override; @@ -198,7 +198,7 @@ index e1a8746bcdaf61c181566369b380af5ead3a7796..1372f6f6ca4899cc7b230a3cd1b26db4 void ResetURLLoaderFactories() override; void GetCookieManager( mojo::PendingReceiver receiver) override; -@@ -673,6 +676,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -678,6 +681,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext CertVerifierWithTrustAnchors* cert_verifier_with_trust_anchors_ = nullptr; #endif @@ -208,7 +208,7 @@ index e1a8746bcdaf61c181566369b380af5ead3a7796..1372f6f6ca4899cc7b230a3cd1b26db4 // CertNetFetcher is not used by the current platform, or if the actual // net::CertVerifier is instantiated outside of the network service. diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index 184e48c657b91dadb96f81ae17a0828a27a736d6..7470e225762ead89d411654923b2415f12ab1ecb 100644 +index 63c12ed8613143f741d683ae90e5a4b3af67fe80..19a76ea08c4301c6cb10bc65c1a49ac0e93c3c5e 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom @@ -215,6 +215,17 @@ struct CTPolicy { @@ -229,7 +229,7 @@ index 184e48c657b91dadb96f81ae17a0828a27a736d6..7470e225762ead89d411654923b2415f // Parameters for constructing a network context. struct NetworkContextParams { // Name used by memory tools to identify the context. -@@ -861,6 +872,9 @@ interface NetworkContext { +@@ -866,6 +877,9 @@ interface NetworkContext { // Sets a client for this network context. SetClient(pending_remote client); diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index fd9cab11b037..0c47f839fcd8 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -108,10 +108,10 @@ index f9b6a18aa73968506ddeca13de69b368f4ca8606..d45cb1c32be1b5c76840dafcd96fd06c mojo::PendingReceiver receiver); diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 62457ee3aad5de2657e0307bd28a73a7bbf5d01f..3b33f1700f1a5c1485b90d83790429323eee6078 100644 +index 091709af0454b0b79386c79ae81e34b8d075d941..ab676a50ce44dbfe42adde03e5857a5ba16ed053 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2146,7 +2146,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2136,7 +2136,7 @@ void RenderProcessHostImpl::CreateNotificationService( mojo::PendingReceiver receiver) { DCHECK_CURRENTLY_ON(BrowserThread::UI); storage_partition_impl_->GetPlatformNotificationContext()->CreateService( diff --git a/patches/chromium/pepper_plugin_support.patch b/patches/chromium/pepper_plugin_support.patch index 157ce64d22b4..ba758ca3514c 100644 --- a/patches/chromium/pepper_plugin_support.patch +++ b/patches/chromium/pepper_plugin_support.patch @@ -6,39 +6,6 @@ Subject: pepper plugin support This tweaks Chrome's pepper flash and PDF plugin support to make it usable from Electron. -diff --git a/chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc b/chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc -index 82fa5b7026e62cfe69700f30fcc84731fc30afe8..f4ad9fbc72a5cb27ed22ab014ccb2fcb4cb49284 100644 ---- a/chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc -+++ b/chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc -@@ -6,10 +6,12 @@ - - #include - -+#if 0 - #include "chrome/browser/content_settings/host_content_settings_map_factory.h" - #include "chrome/browser/profiles/profile.h" - #include "components/content_settings/core/browser/host_content_settings_map.h" - #include "components/content_settings/core/common/content_settings.h" -+#endif - #include "content/public/browser/browser_ppapi_host.h" - #include "content/public/browser/browser_task_traits.h" - #include "content/public/browser/browser_thread.h" -@@ -58,6 +60,7 @@ int32_t PepperBrokerMessageFilter::OnIsAllowed( - RenderProcessHost::FromID(render_process_id_); - if (!render_process_host) - return PP_ERROR_FAILED; -+#if 0 - Profile* profile = - Profile::FromBrowserContext(render_process_host->GetBrowserContext()); - HostContentSettingsMap* content_settings = -@@ -67,5 +70,6 @@ int32_t PepperBrokerMessageFilter::OnIsAllowed( - std::string()); - if (setting == CONTENT_SETTING_ALLOW) - return PP_OK; -- return PP_ERROR_FAILED; -+#endif -+ return PP_OK; - } diff --git a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc index 0a04a1e0ec56126a7e44537141d024332b22a190..5384d7ac2f2eaf708bf001dd885f401783ac7133 100644 --- a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc diff --git a/patches/chromium/picture-in-picture.patch b/patches/chromium/picture-in-picture.patch index 78818a6e4610..6bf983ba04b5 100644 --- a/patches/chromium/picture-in-picture.patch +++ b/patches/chromium/picture-in-picture.patch @@ -35,7 +35,7 @@ index f35abd09439f96d997ddac672fb3b0ebeec0fd07..16e1c3d908ebce0c55a831299b64d1a7 #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/color_palette.h" diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc -index c2a8d15373d00f098ca79bafb3b3391e7d8c85e6..57eacfe29c40e48f5b6cefb5621089a4948727eb 100644 +index f07d400f5830ca01a0a0cbc897de1be693e646ba..4b74e2301ab6627f954d661f4b327ab730a80cb1 100644 --- a/chrome/browser/ui/views/overlay/overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc @@ -13,16 +13,18 @@ diff --git a/patches/chromium/printing.patch b/patches/chromium/printing.patch index a94057d2efc4..0ad01d915da6 100644 --- a/patches/chromium/printing.patch +++ b/patches/chromium/printing.patch @@ -102,10 +102,10 @@ index 89c7798d8ddf21eb74e726c142377afa05b59c26..dd75b8e82552a54868ce86caf90ba175 } diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc -index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a075c11ffb 100644 +index b0d667b078abe32a1e4e465abe2b07a63c562073..500dca35b35c6633074353c74d5b788abdf33772 100644 --- a/chrome/browser/printing/print_view_manager_base.cc +++ b/chrome/browser/printing/print_view_manager_base.cc -@@ -28,10 +28,7 @@ +@@ -29,10 +29,7 @@ #include "chrome/browser/printing/print_view_manager_common.h" #include "chrome/browser/printing/printer_query.h" #include "chrome/browser/profiles/profile.h" @@ -116,7 +116,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 #include "chromeos/constants/chromeos_features.h" #include "components/prefs/pref_service.h" #include "components/printing/browser/print_composite_client.h" -@@ -48,6 +45,7 @@ +@@ -49,6 +46,7 @@ #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" @@ -124,7 +124,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 #include "mojo/public/cpp/system/buffer.h" #include "printing/buildflags/buildflags.h" #include "printing/metafile_skia.h" -@@ -72,6 +70,8 @@ using PrintSettingsCallback = +@@ -73,6 +71,8 @@ using PrintSettingsCallback = base::OnceCallback)>; void ShowWarningMessageBox(const base::string16& message) { @@ -133,7 +133,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 // Runs always on the UI thread. static bool is_dialog_shown = false; if (is_dialog_shown) -@@ -80,6 +80,7 @@ void ShowWarningMessageBox(const base::string16& message) { +@@ -81,6 +81,7 @@ void ShowWarningMessageBox(const base::string16& message) { base::AutoReset auto_reset(&is_dialog_shown, true); chrome::ShowWarningMessageBox(nullptr, base::string16(), message); @@ -141,7 +141,18 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 } #if BUILDFLAG(ENABLE_PRINT_PREVIEW) -@@ -172,12 +173,14 @@ PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents) +@@ -218,7 +219,9 @@ void UpdatePrintSettingsReplyOnIO( + DCHECK(printer_query); + auto params = mojom::PrintPagesParams::New(); + params->params = mojom::PrintParams::New(); +- if (printer_query->last_status() == PrintingContext::OK) { ++ // We call update without first printing from defaults, ++ // so the last printer status will still be defaulted to PrintingContext::FAILED ++ if (printer_query) { + RenderParamsFromPrintSettings(printer_query->settings(), + params->params.get()); + params->params->document_cookie = printer_query->cookie(); +@@ -271,12 +274,14 @@ PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents) : PrintManager(web_contents), queue_(g_browser_process->print_job_manager()->queue()) { DCHECK(queue_); @@ -156,7 +167,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 } PrintViewManagerBase::~PrintViewManagerBase() { -@@ -185,7 +188,10 @@ PrintViewManagerBase::~PrintViewManagerBase() { +@@ -284,7 +289,10 @@ PrintViewManagerBase::~PrintViewManagerBase() { DisconnectFromCurrentPrintJob(); } @@ -168,7 +179,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 DisconnectFromCurrentPrintJob(); // Don't print / print preview crashed tabs. -@@ -193,7 +199,14 @@ bool PrintViewManagerBase::PrintNow(content::RenderFrameHost* rfh) { +@@ -292,7 +300,14 @@ bool PrintViewManagerBase::PrintNow(content::RenderFrameHost* rfh) { return false; SetPrintingRFH(rfh); @@ -184,7 +195,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 return true; } -@@ -314,9 +327,9 @@ void PrintViewManagerBase::StartLocalPrintJob( +@@ -413,9 +428,9 @@ void PrintViewManagerBase::StartLocalPrintJob( void PrintViewManagerBase::UpdatePrintingEnabled() { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); // The Unretained() is safe because ForEachFrame() is synchronous. @@ -197,7 +208,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 } void PrintViewManagerBase::NavigationStopped() { -@@ -421,12 +434,13 @@ void PrintViewManagerBase::OnDidPrintDocument( +@@ -520,12 +535,13 @@ void PrintViewManagerBase::OnDidPrintDocument( void PrintViewManagerBase::GetDefaultPrintSettings( GetDefaultPrintSettingsCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -212,7 +223,21 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 content::RenderFrameHost* render_frame_host = print_manager_host_receivers_.GetCurrentTargetFrame(); -@@ -441,7 +455,7 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie) { +@@ -541,11 +557,12 @@ void PrintViewManagerBase::UpdatePrintSettings( + base::Value job_settings, + UpdatePrintSettingsCallback callback) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); ++ #if 0 // Printing is always enabled. + if (!printing_enabled_.GetValue()) { + UpdatePrintSettingsReply(std::move(callback), nullptr, false); + return; + } +- ++ #endif + if (!job_settings.FindIntKey(kSettingPrinterType)) { + UpdatePrintSettingsReply(std::move(callback), nullptr, false); + return; +@@ -566,7 +583,7 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie) { PrintManager::PrintingFailed(cookie); #if BUILDFLAG(ENABLE_PRINT_PREVIEW) @@ -221,7 +246,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 #endif ReleasePrinterQuery(); -@@ -460,6 +474,11 @@ void PrintViewManagerBase::OnScriptedPrint( +@@ -585,6 +602,11 @@ void PrintViewManagerBase::OnScriptedPrint( } void PrintViewManagerBase::ShowInvalidPrinterSettingsError() { @@ -233,7 +258,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 base::ThreadTaskRunnerHandle::Get()->PostTask( FROM_HERE, base::BindOnce(&ShowWarningMessageBox, l10n_util::GetStringUTF16( -@@ -529,9 +548,13 @@ void PrintViewManagerBase::OnNotifyPrintJobEvent( +@@ -654,9 +676,13 @@ void PrintViewManagerBase::OnNotifyPrintJobEvent( content::NotificationService::NoDetails()); break; } @@ -249,7 +274,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 NOTREACHED(); break; } -@@ -627,8 +650,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( +@@ -752,8 +778,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( DCHECK(!quit_inner_loop_); DCHECK(query); @@ -262,7 +287,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 // We can't print if there is no renderer. if (!web_contents()->GetRenderViewHost() || -@@ -649,8 +674,6 @@ bool PrintViewManagerBase::CreateNewPrintJob( +@@ -774,8 +802,6 @@ bool PrintViewManagerBase::CreateNewPrintJob( print_job_->SetSource(source, /*source_id=*/""); #endif @@ -271,7 +296,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 printing_succeeded_ = false; return true; } -@@ -699,14 +722,22 @@ void PrintViewManagerBase::ReleasePrintJob() { +@@ -824,14 +850,22 @@ void PrintViewManagerBase::ReleasePrintJob() { content::RenderFrameHost* rfh = printing_rfh_; printing_rfh_ = nullptr; @@ -296,7 +321,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 // Don't close the worker thread. print_job_ = nullptr; } -@@ -742,7 +773,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { +@@ -867,7 +901,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { } bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) { @@ -306,7 +331,7 @@ index ad70dada204132ce44d6613378072a080771148a..75908fc9978db020d752e7fc7211d1a0 if (!cookie) { diff --git a/chrome/browser/printing/print_view_manager_base.h b/chrome/browser/printing/print_view_manager_base.h -index 1498facaafeacebeb38b96ff46c0f48c5a650ad0..095d9dfcc3ee14b646b63c29e406434c1623704a 100644 +index e22cff218a565637d0e0cd4f1290fda7f47fd25d..6c03577126ce0b313c3777f1f1aebebbf39831c7 100644 --- a/chrome/browser/printing/print_view_manager_base.h +++ b/chrome/browser/printing/print_view_manager_base.h @@ -38,6 +38,8 @@ class PrintJob; @@ -330,7 +355,7 @@ index 1498facaafeacebeb38b96ff46c0f48c5a650ad0..095d9dfcc3ee14b646b63c29e406434c #if BUILDFLAG(ENABLE_PRINT_PREVIEW) // Prints the document in |print_data| with settings specified in -@@ -214,9 +219,15 @@ class PrintViewManagerBase : public content::NotificationObserver, +@@ -219,9 +224,15 @@ class PrintViewManagerBase : public content::NotificationObserver, // The current RFH that is printing with a system printing dialog. content::RenderFrameHost* printing_rfh_ = nullptr; @@ -347,7 +372,7 @@ index 1498facaafeacebeb38b96ff46c0f48c5a650ad0..095d9dfcc3ee14b646b63c29e406434c // This means we are _blocking_ until all the necessary pages have been // rendered or the print settings are being loaded. diff --git a/chrome/browser/printing/printing_message_filter.cc b/chrome/browser/printing/printing_message_filter.cc -index 90996efd58d5428e511bf0e656b64871aebe66e9..4f6e07c5eeb215d7bb8577ff39a07b1a6d808615 100644 +index 8d7f4a90ae9f23fc94ebc425c17df8d03a8df36e..ee8152a2f9bfeaad733d1db8ecfa7b3170da101f 100644 --- a/chrome/browser/printing/printing_message_filter.cc +++ b/chrome/browser/printing/printing_message_filter.cc @@ -22,6 +22,7 @@ @@ -358,9 +383,9 @@ index 90996efd58d5428e511bf0e656b64871aebe66e9..4f6e07c5eeb215d7bb8577ff39a07b1a #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/web_contents.h" -@@ -91,19 +92,22 @@ void PrintingMessageFilter::SetDelegateForTesting(TestDelegate* delegate) { - g_test_delegate = delegate; - } +@@ -65,19 +66,22 @@ class PrintingMessageFilterShutdownNotifierFactory + + } // namespace -PrintingMessageFilter::PrintingMessageFilter(int render_process_id, - Profile* profile) @@ -384,33 +409,7 @@ index 90996efd58d5428e511bf0e656b64871aebe66e9..4f6e07c5eeb215d7bb8577ff39a07b1a } PrintingMessageFilter::~PrintingMessageFilter() { -@@ -180,12 +184,13 @@ void PrintingMessageFilter::OnScriptedPrintReply( - void PrintingMessageFilter::OnUpdatePrintSettings(int document_cookie, - base::Value job_settings, - IPC::Message* reply_msg) { -+#if 0 - if (!is_printing_enabled_.GetValue()) { - // Reply with null query. - OnUpdatePrintSettingsReply(nullptr, reply_msg); - return; - } -- -+#endif - if (!job_settings.is_dict() || - !job_settings.FindIntKey(kSettingPrinterType)) { - // Reply with null query. -@@ -219,7 +224,9 @@ void PrintingMessageFilter::OnUpdatePrintSettingsReply( - IPC::Message* reply_msg) { - mojom::PrintPagesParams params; - params.params = mojom::PrintParams::New(); -- if (printer_query && printer_query->last_status() == PrintingContext::OK) { -+ // We call update without first printing from defaults, -+ // so the last printer status will still be defaulted to PrintingContext::FAILED -+ if (printer_query) { - RenderParamsFromPrintSettings(printer_query->settings(), - params.params.get()); - params.params->document_cookie = printer_query->cookie(); -@@ -256,7 +263,7 @@ void PrintingMessageFilter::OnUpdatePrintSettingsReply( +@@ -152,7 +156,7 @@ void PrintingMessageFilter::OnScriptedPrintReply( #if BUILDFLAG(ENABLE_PRINT_PREVIEW) void PrintingMessageFilter::OnCheckForCancel(const mojom::PreviewIds& ids, bool* cancel) { @@ -420,7 +419,7 @@ index 90996efd58d5428e511bf0e656b64871aebe66e9..4f6e07c5eeb215d7bb8577ff39a07b1a #endif diff --git a/chrome/browser/printing/printing_message_filter.h b/chrome/browser/printing/printing_message_filter.h -index 87b1cd59ed79d6b81860fd2deb415020450523c1..a0bd1370a637168a4159c1b24f412dd3507f1ea2 100644 +index 9d6a8900d2b0ec02c421e6f32644cfd3e1cdf1ce..b9018490784d83b98625a40d1e9de55385448a13 100644 --- a/chrome/browser/printing/printing_message_filter.h +++ b/chrome/browser/printing/printing_message_filter.h @@ -22,6 +22,10 @@ @@ -434,10 +433,10 @@ index 87b1cd59ed79d6b81860fd2deb415020450523c1..a0bd1370a637168a4159c1b24f412dd3 namespace printing { class PrintQueriesQueue; -@@ -42,7 +46,8 @@ class PrintingMessageFilter : public content::BrowserMessageFilter { - - static void SetDelegateForTesting(TestDelegate* delegate); - +@@ -31,7 +35,8 @@ class PrinterQuery; + // renderer process on the IPC thread. + class PrintingMessageFilter : public content::BrowserMessageFilter { + public: - PrintingMessageFilter(int render_process_id, Profile* profile); + PrintingMessageFilter(int render_process_id, + content::BrowserContext* browser_context); @@ -445,7 +444,7 @@ index 87b1cd59ed79d6b81860fd2deb415020450523c1..a0bd1370a637168a4159c1b24f412dd3 // content::BrowserMessageFilter: bool OnMessageReceived(const IPC::Message& message) override; diff --git a/components/printing/common/print.mojom b/components/printing/common/print.mojom -index 4b140a2a0f431cd7b06a8d1b6f9e84981f4ce7e7..14779debdacc7b5f78aa0799f197241dba914aff 100644 +index bcd40171250b5d642ac14fb802f22a17fc1f61ec..5877f7d3c2eb27acf61d9bc03b0a8b9873172dc6 100644 --- a/components/printing/common/print.mojom +++ b/components/printing/common/print.mojom @@ -230,7 +230,7 @@ interface PrintPreviewUI { @@ -458,7 +457,7 @@ index 4b140a2a0f431cd7b06a8d1b6f9e84981f4ce7e7..14779debdacc7b5f78aa0799f197241d // Tells the RenderFrame to switch the CSS to print media type, render every // requested page using the print preview document's frame/node, and then diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc -index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9cedab434c 100644 +index 2f1fb861cb516996ef9db7184d9351cc5b31c34a..675fa907da7e3ba784f9bacbadaec762ac5255ac 100644 --- a/components/printing/renderer/print_render_frame_helper.cc +++ b/components/printing/renderer/print_render_frame_helper.cc @@ -38,6 +38,7 @@ @@ -469,7 +468,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c #include "printing/units.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h" -@@ -1143,7 +1144,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) { +@@ -1168,7 +1169,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) { if (!weak_this) return; @@ -479,7 +478,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c if (weak_this) web_frame->DispatchAfterPrintEvent(); -@@ -1170,7 +1172,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver( +@@ -1195,7 +1197,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver( receivers_.Add(this, std::move(receiver)); } @@ -488,7 +487,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c ScopedIPC scoped_ipc(weak_ptr_factory_.GetWeakPtr()); if (ipc_nesting_level_ > 1) return; -@@ -1185,7 +1187,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() { +@@ -1210,7 +1212,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() { // that instead. auto plugin = delegate_->GetPdfElement(frame); @@ -497,7 +496,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c if (!render_frame_gone_) frame->DispatchAfterPrintEvent(); -@@ -1204,7 +1206,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() { +@@ -1229,7 +1231,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() { } Print(frame, print_preview_context_.source_node(), @@ -507,7 +506,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c if (!render_frame_gone_) print_preview_context_.DispatchAfterPrintEvent(); // WARNING: |this| may be gone at this point. Do not do any more work here and -@@ -1252,6 +1255,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value settings) { +@@ -1277,6 +1280,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value settings) { if (ipc_nesting_level_ > 1) return; @@ -516,7 +515,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c print_preview_context_.OnPrintPreview(); if (print_preview_context_.IsForArc()) { -@@ -1788,7 +1793,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -1813,7 +1818,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { return; Print(duplicate_node.GetDocument().GetFrame(), duplicate_node, @@ -526,7 +525,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c // Check if |this| is still valid. if (!weak_this) return; -@@ -1803,7 +1809,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -1828,7 +1834,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, const blink::WebNode& node, @@ -537,7 +536,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c // If still not finished with earlier print request simply ignore. if (prep_frame_view_) return; -@@ -1811,7 +1819,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, +@@ -1836,7 +1844,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, FrameReference frame_ref(frame); uint32_t expected_page_count = 0; @@ -546,7 +545,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c DidFinishPrinting(FAIL_PRINT_INIT); return; // Failed to init print page settings. } -@@ -1830,10 +1838,41 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, +@@ -1855,10 +1863,41 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, print_pages_params_->params->print_scaling_option; mojom::PrintPagesParams print_settings; @@ -591,7 +590,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c // Check if |this| is still valid. if (!self) return; -@@ -2077,7 +2116,9 @@ void PrintRenderFrameHelper::IPCProcessed() { +@@ -2102,7 +2141,9 @@ void PrintRenderFrameHelper::IPCProcessed() { } } @@ -602,7 +601,7 @@ index 58e8aa32aa5f291b000753dc4487835a53df34c5..b5529c8b2697af7e94311707a5d14f9c mojom::PrintPagesParams settings; settings.params = mojom::PrintParams::New(); GetPrintManagerHost()->GetDefaultPrintSettings(&settings.params); -@@ -2101,12 +2142,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) { +@@ -2126,12 +2167,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) { return result; } diff --git a/patches/chromium/put_back_deleted_colors_for_autofill.patch b/patches/chromium/put_back_deleted_colors_for_autofill.patch index b1fdafacf1cd..e9377012b6d4 100644 --- a/patches/chromium/put_back_deleted_colors_for_autofill.patch +++ b/patches/chromium/put_back_deleted_colors_for_autofill.patch @@ -8,10 +8,10 @@ needed in chromium but our autofill implementation uses them. This patch can be our autofill implementation to work like Chromium's. diff --git a/ui/gtk/native_theme_gtk.cc b/ui/gtk/native_theme_gtk.cc -index 4c781b8c35c93676fb0833d3cd920707d1cc408f..68f24d9a9ef07926f285fd0e383aa4ae910cf7b6 100644 +index 977f166904fddc1b7c99b0e3350488e28ce07965..bfecf7bf69f0de16d772c20457ffd8c100b361dc 100644 --- a/ui/gtk/native_theme_gtk.cc +++ b/ui/gtk/native_theme_gtk.cc -@@ -356,6 +356,29 @@ base::Optional SkColorFromColorId( +@@ -357,6 +357,29 @@ base::Optional SkColorFromColorId( case ui::NativeTheme::kColorId_TableHeaderSeparator: return GetBorderColor("GtkTreeView#treeview.view GtkButton#button"); @@ -42,7 +42,7 @@ index 4c781b8c35c93676fb0833d3cd920707d1cc408f..68f24d9a9ef07926f285fd0e383aa4ae // TODO(thomasanderson): Render GtkSpinner directly. case ui::NativeTheme::kColorId_ThrobberSpinningColor: diff --git a/ui/native_theme/common_theme.cc b/ui/native_theme/common_theme.cc -index 7bf3a8ea52ad557c402d8b62da7df02fce3660c8..405822cbe02cee077ac88dd07ef02fedffd9024a 100644 +index 5d675682b77ca0b381f0a39bb5af69dc5b4101c3..e6a6129a40f85e318304df852897f55c06da3b55 100644 --- a/ui/native_theme/common_theme.cc +++ b/ui/native_theme/common_theme.cc @@ -63,7 +63,8 @@ base::Optional GetHighContrastColor( @@ -55,8 +55,8 @@ index 7bf3a8ea52ad557c402d8b62da7df02fce3660c8..405822cbe02cee077ac88dd07ef02fed switch (color_id) { // Dialogs case NativeTheme::kColorId_WindowBackground: -@@ -81,6 +82,14 @@ base::Optional GetDarkSchemeColor(NativeTheme::ColorId color_id) { - case NativeTheme::kColorId_AvatarIcon: +@@ -82,6 +83,14 @@ base::Optional GetDarkSchemeColor(NativeTheme::ColorId color_id) { + case NativeTheme::kColorId_AvatarIconIncognito: return gfx::kGoogleGrey200; + // Results Tables @@ -70,7 +70,7 @@ index 7bf3a8ea52ad557c402d8b62da7df02fce3660c8..405822cbe02cee077ac88dd07ef02fed // FocusableBorder case NativeTheme::kColorId_FocusedBorderColor: return SkColorSetA(gfx::kGoogleBlue300, 0x4D); -@@ -576,6 +585,18 @@ SkColor GetDefaultColor(NativeTheme::ColorId color_id, +@@ -578,6 +587,18 @@ SkColor GetDefaultColor(NativeTheme::ColorId color_id, case NativeTheme::kColorId_UnfocusedBorderColor: return gfx::kGoogleGrey300; @@ -89,7 +89,7 @@ index 7bf3a8ea52ad557c402d8b62da7df02fce3660c8..405822cbe02cee077ac88dd07ef02fed // Material spinner/throbber case NativeTheme::kColorId_ThrobberSpinningColor: return gfx::kGoogleBlue600; -@@ -679,7 +700,7 @@ SkColor GetAuraColor(NativeTheme::ColorId color_id, +@@ -681,7 +702,7 @@ SkColor GetAuraColor(NativeTheme::ColorId color_id, } if (color_scheme == NativeTheme::ColorScheme::kDark) { @@ -99,10 +99,10 @@ index 7bf3a8ea52ad557c402d8b62da7df02fce3660c8..405822cbe02cee077ac88dd07ef02fed return color.value(); } diff --git a/ui/native_theme/native_theme_color_id.h b/ui/native_theme/native_theme_color_id.h -index 589c9f575fafc8d80736a0bf776193ea3ca71a97..372a8d6307718e3e7f353f0afde524bf470d8e50 100644 +index 52ac7e6b292a98da9dbcad64922d2b14e007ddb7..4abf2c37bd8507667bbf30750e084927ca223fc6 100644 --- a/ui/native_theme/native_theme_color_id.h +++ b/ui/native_theme/native_theme_color_id.h -@@ -148,6 +148,11 @@ +@@ -149,6 +149,11 @@ OP(kColorId_TableHeaderText), \ OP(kColorId_TableHeaderBackground), \ OP(kColorId_TableHeaderSeparator), \ @@ -115,10 +115,10 @@ index 589c9f575fafc8d80736a0bf776193ea3ca71a97..372a8d6307718e3e7f353f0afde524bf OP(kColorId_ThrobberSpinningColor), \ OP(kColorId_ThrobberWaitingColor), \ diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc -index 950956142148d2127135386dd2b9d0076b7aa148..eaf817b4b5400fa4d2b6af7c86ac69aabf030a38 100644 +index 02cc213371e9389be427bac7da69901aed908012..255723ec8874920c8b45dbda2a1a5714b60e38be 100644 --- a/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc -@@ -648,6 +648,18 @@ base::Optional NativeThemeWin::GetPlatformHighContrastColor( +@@ -649,6 +649,18 @@ base::Optional NativeThemeWin::GetPlatformHighContrastColor( case kColorId_ThrobberWaitingColor: return system_colors_[SystemThemeColor::kGrayText]; diff --git a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch index 207839a5263c..90bd9f78d2d8 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -8,7 +8,7 @@ Chrome moved the SetCursor IPC message to mojo, which we use to tell OSR about ` Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2172779 diff --git a/content/browser/renderer_host/render_widget_host_delegate.h b/content/browser/renderer_host/render_widget_host_delegate.h -index c44d658372805f0695044c6647c641fbb3fda270..b48dc3c5c435d439b0dbca8fed5a9dd88e1fbf76 100644 +index a8cc695c4c1c1d2d7e3274a2b628894997de5fe8..a7ba417835f217391fa300f41c7fbdc0d0c0a387 100644 --- a/content/browser/renderer_host/render_widget_host_delegate.h +++ b/content/browser/renderer_host/render_widget_host_delegate.h @@ -14,6 +14,7 @@ @@ -19,7 +19,7 @@ index c44d658372805f0695044c6647c641fbb3fda270..b48dc3c5c435d439b0dbca8fed5a9dd8 #include "content/public/common/drop_data.h" #include "services/metrics/public/cpp/ukm_recorder.h" #include "third_party/blink/public/common/input/web_input_event.h" -@@ -280,6 +281,9 @@ class CONTENT_EXPORT RenderWidgetHostDelegate { +@@ -269,6 +270,9 @@ class CONTENT_EXPORT RenderWidgetHostDelegate { // Allow the delegate to handle the cursor update. Returns true if handled. virtual bool OnUpdateDragCursor(); @@ -30,10 +30,10 @@ index c44d658372805f0695044c6647c641fbb3fda270..b48dc3c5c435d439b0dbca8fed5a9dd8 // RenderWidgetHost on the main frame, and false otherwise. virtual bool IsWidgetForMainFrame(RenderWidgetHostImpl*); diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index a2cd30b9aa715153c65a92d802714cf7cd0b3dbf..007e87046a7eac432a5bea72b1cd403ba84e7e9a 100644 +index ffe62ea1114943d1535a806fa515122c47072372..f5f851e4852b045555d5832b7ec72be903b2462b 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -1673,6 +1673,8 @@ void RenderWidgetHostImpl::SetCursor(const WebCursor& cursor) { +@@ -1666,6 +1666,8 @@ void RenderWidgetHostImpl::SetCursor(const WebCursor& cursor) { if (!view_) return; view_->UpdateCursor(cursor); @@ -43,10 +43,10 @@ index a2cd30b9aa715153c65a92d802714cf7cd0b3dbf..007e87046a7eac432a5bea72b1cd403b void RenderWidgetHostImpl::OnCursorVisibilityStateChanged(bool is_visible) { diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 1d9c7c466b3959282916ad410feaf27636f1388b..77e1e0ba5a09ace190b1856e063c339dbf43541e 100644 +index 22cba415650311acd16750e7ad0956ca71aa75e8..eff997916d5dd833d66d3fa9738dee1fe55075f8 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4230,6 +4230,12 @@ bool WebContentsImpl::OnUpdateDragCursor() { +@@ -4123,6 +4123,12 @@ bool WebContentsImpl::OnUpdateDragCursor() { browser_plugin_embedder_->OnUpdateDragCursor(); } @@ -60,10 +60,10 @@ index 1d9c7c466b3959282916ad410feaf27636f1388b..77e1e0ba5a09ace190b1856e063c339d RenderWidgetHostImpl* render_widget_host) { return render_widget_host == GetMainFrame()->GetRenderWidgetHost(); diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index 1123f81496453a333ae687ed6fb4d45b1f96dea1..c3814d26076f41481c325575ceb185a56028cb30 100644 +index da32720cb353986120f3a4d3c53262499192228f..584582157b3f039d435e9cd140166614e9e02fab 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -946,6 +946,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -939,6 +939,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, void SendScreenRects() override; TextInputManager* GetTextInputManager() override; bool OnUpdateDragCursor() override; @@ -72,7 +72,7 @@ index 1123f81496453a333ae687ed6fb4d45b1f96dea1..c3814d26076f41481c325575ceb185a5 bool AddDomainInfoToRapporSample(rappor::Sample* sample) override; bool IsShowingContextMenuOnPage() const override; diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h -index 41c4e51fb449744f01c6b8ba9478a6673c1263c5..1fb7c0c686fb7cc66ab7d2b3afc936f63dee6be1 100644 +index 864b2ba8292649adf7068295d26e112d45e9f884..a9e7d1e91e107f28e2797d286ae4312a6a52f6e4 100644 --- a/content/public/browser/web_contents_observer.h +++ b/content/public/browser/web_contents_observer.h @@ -14,6 +14,7 @@ diff --git a/patches/chromium/render_widget_host_view_base.patch b/patches/chromium/render_widget_host_view_base.patch index 1cfb1e0747df..70a78c765111 100644 --- a/patches/chromium/render_widget_host_view_base.patch +++ b/patches/chromium/render_widget_host_view_base.patch @@ -6,7 +6,7 @@ Subject: render_widget_host_view_base.patch ... something to do with OSR? and maybe as well? terrifying. diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc -index b2139c2e9ee84f7e20feeedfd686f59a85c124b9..534c5ccece65ea2aee52240ee941630a0ae3e3f4 100644 +index 38678fccf52b5e487123456b998d3a9749808740..d79700c16506c02700b11b1f1392345d5cafe9cb 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.cc +++ b/content/browser/renderer_host/render_widget_host_view_base.cc @@ -583,6 +583,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor( diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index a2c6be2065a8..25af750a016f 100644 --- a/patches/chromium/resource_file_conflict.patch +++ b/patches/chromium/resource_file_conflict.patch @@ -52,10 +52,10 @@ Some alternatives to this patch: None of these options seems like a substantial maintainability win over this patch to me (@nornagon). diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index b664b699bed84a1424e96e11bd910931c0366f93..f7a1a0a98e1fd719a978dca14a743f4c12a360fc 100644 +index 9eb44f63571427d021ac8aaa9e8f53aa8dd311c4..ed0dc4afc3dad05575272c931d6b82b632f61115 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1430,7 +1430,7 @@ if (is_chrome_branded && !is_android) { +@@ -1437,7 +1437,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index b664b699bed84a1424e96e11bd910931c0366f93..f7a1a0a98e1fd719a978dca14a743f4c chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1450,6 +1450,12 @@ if (!is_android) { +@@ -1457,6 +1457,12 @@ if (!is_android) { } } diff --git a/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch b/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch index 9cbc8e8a1bd6..911c45eed990 100644 --- a/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch +++ b/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch @@ -9,7 +9,7 @@ for every navigation to keep Node.js working properly. Once Native Modules in th are required to be NAPI or context aware (Electron v11), this patch can be removed. diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc -index 6ed2fa09d79bd35b261cbb028883adc0a71bdbac..42975c626cd4ff3c2c22936e98ebf7e1865e4d0c 100644 +index e558d9b5935e31e1b0386536bbd72c26c18ae370..202678fb5e42ceec878efa5e346ec732a6559c9e 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc @@ -1269,6 +1269,25 @@ bool ChromeContentRendererClient::AllowPopup() { @@ -39,10 +39,10 @@ index 6ed2fa09d79bd35b261cbb028883adc0a71bdbac..42975c626cd4ff3c2c22936e98ebf7e1 WebLocalFrame* frame, ui::PageTransition transition_type, diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h -index b5f29c1f2193dfd0f72ab238c9474dc5a20ee235..771637be7ca510e24e16914d2a3565729f3da301 100644 +index fd190e3ab45317adc4f66c6c7f9c03e99d3f914a..33b1a3e129fe7ae03a3058da5e27825be275c3cd 100644 --- a/chrome/renderer/chrome_content_renderer_client.h +++ b/chrome/renderer/chrome_content_renderer_client.h -@@ -123,6 +123,11 @@ class ChromeContentRendererClient +@@ -122,6 +122,11 @@ class ChromeContentRendererClient base::SingleThreadTaskRunner* compositor_thread_task_runner) override; bool RunIdleHandlerWhenWidgetsHidden() override; bool AllowPopup() override; @@ -55,10 +55,10 @@ index b5f29c1f2193dfd0f72ab238c9474dc5a20ee235..771637be7ca510e24e16914d2a356572 ui::PageTransition transition_type, const blink::WebURL& url, diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc -index 37f552964f5443188ac813713e06d4a7cf960384..1aa65b17d65211a4528db242e22453cbd287865a 100644 +index 098c3e1d6aaabdcf57c8fdbf10bd43035afabdec..68f04e7dd49ca486a4fdcbde5fa64d313b9587a9 100644 --- a/content/public/renderer/content_renderer_client.cc +++ b/content/public/renderer/content_renderer_client.cc -@@ -108,6 +108,14 @@ bool ContentRendererClient::HandleNavigation( +@@ -104,6 +104,14 @@ bool ContentRendererClient::HandleNavigation( } #endif @@ -74,10 +74,10 @@ index 37f552964f5443188ac813713e06d4a7cf960384..1aa65b17d65211a4528db242e22453cb blink::WebLocalFrame* frame, ui::PageTransition transition_type, diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index 541fb915a2096a6ea56860662fff9f1dec9929cf..e4637fc393bafcdeac62cd4257f42451306dbeed 100644 +index 55d8845b0a836569ef9e8bb9dd0c86f98e2a4f5c..2f5d77dbbcf62d93736c8d999b47f6c8cb8c7a25 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -214,6 +214,13 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -210,6 +210,13 @@ class CONTENT_EXPORT ContentRendererClient { bool is_redirect); #endif @@ -92,10 +92,10 @@ index 541fb915a2096a6ea56860662fff9f1dec9929cf..e4637fc393bafcdeac62cd4257f42451 // |url|. If the function returns a valid |new_url|, the request must be // updated to use it. The |force_ignore_site_for_cookies| output parameter diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 3a01380b4fc373f41d631f585d4576b10129b130..5cafa3e47e96327963706e51af1414b76bcff5e7 100644 +index 8c82f4809e4544bb5f12ec5a5e9d6133f0154c47..0007055a8774f45b08e6dcd1a34982992f561181 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -5767,6 +5767,23 @@ void RenderFrameImpl::BeginNavigation( +@@ -5673,6 +5673,23 @@ void RenderFrameImpl::BeginNavigation( // we can do a per-frame check here rather than a process-wide check. bool should_fork = HasWebUIScheme(url) || HasWebUIScheme(old_url) || (enabled_bindings_ & kWebUIBindingsPolicyMask); diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch index 0381b7f79ba2..a8c230b78c03 100644 --- a/patches/chromium/scroll_bounce_flag.patch +++ b/patches/chromium/scroll_bounce_flag.patch @@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch Patch to make scrollBounce option work. diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc -index ecf345a180bb9515d8fe5469d74faaef14330121..29919a844f03f80923e64c37e22c364b14dc94ba 100644 +index 52f812523cfe3371e3335b319c03740a1d526335..1d9bf63805edcab08b7bf03bec65a2665574335a 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1309,7 +1309,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1295,7 +1295,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { } bool RenderThreadImpl::IsElasticOverscrollEnabled() { diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index 8419d6186ac1..675cd3f8718a 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it does touch a security-sensitive class. diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 3b33f1700f1a5c1485b90d83790429323eee6078..befc71496fa45101614759d7271314e9ed5feef3 100644 +index ab676a50ce44dbfe42adde03e5857a5ba16ed053..a01596138b0b6f05a74ff0668e73e90de155f219 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -410,6 +410,11 @@ class RendererSandboxedProcessLauncherDelegate +@@ -409,6 +409,11 @@ class RendererSandboxedProcessLauncherDelegate { } @@ -37,7 +37,7 @@ index 3b33f1700f1a5c1485b90d83790429323eee6078..befc71496fa45101614759d7271314e9 ~RendererSandboxedProcessLauncherDelegate() override {} #if defined(OS_WIN) -@@ -431,6 +436,9 @@ class RendererSandboxedProcessLauncherDelegate +@@ -430,6 +435,9 @@ class RendererSandboxedProcessLauncherDelegate #if BUILDFLAG(USE_ZYGOTE_HANDLE) ZygoteHandle GetZygote() override { @@ -47,7 +47,7 @@ index 3b33f1700f1a5c1485b90d83790429323eee6078..befc71496fa45101614759d7271314e9 const base::CommandLine& browser_command_line = *base::CommandLine::ForCurrentProcess(); base::CommandLine::StringType renderer_prefix = -@@ -445,10 +453,13 @@ class RendererSandboxedProcessLauncherDelegate +@@ -444,10 +452,13 @@ class RendererSandboxedProcessLauncherDelegate return sandbox::policy::SandboxType::kRenderer; } @@ -62,7 +62,7 @@ index 3b33f1700f1a5c1485b90d83790429323eee6078..befc71496fa45101614759d7271314e9 }; const char kSessionStorageHolderKey[] = "kSessionStorageHolderKey"; -@@ -1852,11 +1863,18 @@ bool RenderProcessHostImpl::Init() { +@@ -1844,11 +1855,18 @@ bool RenderProcessHostImpl::Init() { cmd_line->PrependWrapper(renderer_prefix); AppendRendererCommandLine(cmd_line.get()); diff --git a/patches/chromium/ui_gtk_public_header.patch b/patches/chromium/ui_gtk_public_header.patch index f04846a1f2f1..4fee13708781 100644 --- a/patches/chromium/ui_gtk_public_header.patch +++ b/patches/chromium/ui_gtk_public_header.patch @@ -6,7 +6,7 @@ Subject: ui_gtk_public_header.patch Allow electron to depend on //ui/gtk/gtk_util.h diff --git a/ui/gtk/BUILD.gn b/ui/gtk/BUILD.gn -index 4c6b4691b769b80ec54835676bb35e6af992a11c..362b900a3410e1849cea502f1e63f8bdd6a27a74 100644 +index e1106392113310ca0ac702467ae49b48088d9383..4f78cde2fbf92770a010feb8f67cdcb5139e9778 100644 --- a/ui/gtk/BUILD.gn +++ b/ui/gtk/BUILD.gn @@ -21,13 +21,15 @@ component("gtk_ui_delegate") { diff --git a/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch b/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch index 722649f84852..e4025f59303d 100644 --- a/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch +++ b/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch @@ -6,10 +6,10 @@ Subject: unsandboxed_ppapi_processes_skip_zygote.patch Unsandboxed ppapi processes should skip zygote. diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc -index f93b4199d2b23cc88ed81a86742d3c4b1d9b5698..e98d3bb8313c705535574430045f5167ea8357fa 100644 +index 5f96dc27370ee015ea15f06b655098d1e837a43d..959ab3c3e989085af8fe4b2f52e5fb1b4ef20222 100644 --- a/content/browser/ppapi_plugin_process_host.cc +++ b/content/browser/ppapi_plugin_process_host.cc -@@ -122,6 +122,9 @@ class PpapiPluginSandboxedProcessLauncherDelegate +@@ -112,6 +112,9 @@ class PpapiPluginSandboxedProcessLauncherDelegate ZygoteHandle GetZygote() override { const base::CommandLine& browser_command_line = *base::CommandLine::ForCurrentProcess(); @@ -18,4 +18,4 @@ index f93b4199d2b23cc88ed81a86742d3c4b1d9b5698..e98d3bb8313c705535574430045f5167 + } base::CommandLine::StringType plugin_launcher = browser_command_line .GetSwitchValueNative(switches::kPpapiPluginLauncher); - if (is_broker_ || !plugin_launcher.empty()) + if (!plugin_launcher.empty()) diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index 52672d7daf32..7215f50a9ae7 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -9,10 +9,10 @@ is needed for OSR. Originally landed in https://github.com/electron/libchromiumcontent/pull/226. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index c02b57d5b8ad23bac1ccd900334dc3f7373ceb97..1d9c7c466b3959282916ad410feaf27636f1388b 100644 +index 2f207fda8afb44901d2027cb2ec1da1de826521f..22cba415650311acd16750e7ad0956ca71aa75e8 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -2769,6 +2769,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2744,6 +2744,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { std::string unique_name; frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name); @@ -25,7 +25,7 @@ index c02b57d5b8ad23bac1ccd900334dc3f7373ceb97..1d9c7c466b3959282916ad410feaf276 WebContentsViewDelegate* delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -2779,6 +2785,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2754,6 +2760,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { view_.reset(CreateWebContentsView(this, delegate, &render_view_host_delegate_view_)); } @@ -34,10 +34,10 @@ index c02b57d5b8ad23bac1ccd900334dc3f7373ceb97..1d9c7c466b3959282916ad410feaf276 CHECK(view_.get()); diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index 416cfe39a91742c5c5992447cc6d95f2b9f711d9..e62239a5ebe662d6ce5ba6c7d3e08e1538865305 100644 +index 5922d418d6c046f1db44abc49489166aa532eddc..df2dd0bb3e84b2d14e5db71cb5884d0a584b14af 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h -@@ -86,8 +86,11 @@ class BrowserContext; +@@ -84,8 +84,11 @@ class BrowserContext; class BrowserPluginGuestDelegate; class RenderFrameHost; class RenderViewHost; @@ -49,7 +49,7 @@ index 416cfe39a91742c5c5992447cc6d95f2b9f711d9..e62239a5ebe662d6ce5ba6c7d3e08e15 class WebUI; struct CustomContextMenuContext; struct DropData; -@@ -221,6 +224,10 @@ class WebContents : public PageNavigator, +@@ -219,6 +222,10 @@ class WebContents : public PageNavigator, // Sandboxing flags set on the new WebContents. network::mojom::WebSandboxFlags starting_sandbox_flags; diff --git a/patches/chromium/webview_cross_drag.patch b/patches/chromium/webview_cross_drag.patch index a65733fee250..5e5865d44016 100644 --- a/patches/chromium/webview_cross_drag.patch +++ b/patches/chromium/webview_cross_drag.patch @@ -8,7 +8,7 @@ This allows dragging and dropping between s. Originally landed in https://github.com/electron/libchromiumcontent/pull/267 diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc -index 66e001469a794567e85728fee67c7f88d861f150..70dd15aeae2d9d393e45c77495c7b10ee2bf76f1 100644 +index 88e0a39279d1ce0bbdc1dfb7ae4ea0745b2239d1..03ca97b8a80dd445e72bdca43edbc2bf2e735dba 100644 --- a/content/browser/web_contents/web_contents_view_aura.cc +++ b/content/browser/web_contents/web_contents_view_aura.cc @@ -786,9 +786,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const { diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index 05be2330b1e1..67a22de5d169 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -10,10 +10,10 @@ An attempt to upstream this was made, but rejected: https://chromium-review.googlesource.com/c/chromium/src/+/1954347 diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index 12e091c7c13d1ce80f435d5c243864dff3c16d44..541fb915a2096a6ea56860662fff9f1dec9929cf 100644 +index 8bfb77d3f69c97d062ea56dfe7894ec380bfd00f..55d8845b0a836569ef9e8bb9dd0c86f98e2a4f5c 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -385,6 +385,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -381,6 +381,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} @@ -26,10 +26,10 @@ index 12e091c7c13d1ce80f435d5c243864dff3c16d44..541fb915a2096a6ea56860662fff9f1d // An empty URL is returned if the URL is not overriden. virtual GURL OverrideFlashEmbedWithHTML(const GURL& url); diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc -index 498627f5d17697a449a438249f3d8ca9fe50a98a..44b11cbc1a58c844d807f8ad1c9e169622868b5b 100644 +index b58a920a4f6abeaddc2eb6daaf9af6c26a95d896..a8e31aabf99a3129471317df5a4de6c9628ba1c3 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -889,6 +889,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -893,6 +893,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } @@ -43,10 +43,10 @@ index 498627f5d17697a449a438249f3d8ca9fe50a98a..44b11cbc1a58c844d807f8ad1c9e1696 const v8::Local& worker) { GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread( diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h -index c535bffd5146bdf3d4677b0b077a8bbc080be437..493081de3140a8a24dea7c5b17388f883f656ca3 100644 +index d66c255d4fa5b053ea908c447df0fdec6f4f43ae..04f13f3b8d1b66937ba9e383185e9a35407cad71 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -198,6 +198,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -190,6 +190,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { void DidStartWorkerThread() override; void WillStopWorkerThread() override; void WorkerContextCreated(const v8::Local& worker) override; @@ -55,10 +55,10 @@ index c535bffd5146bdf3d4677b0b077a8bbc080be437..493081de3140a8a24dea7c5b17388f88 const blink::WebSecurityOrigin& script_origin) override; bool IsExcludedHeaderForServiceWorkerFetchEvent( diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index 54c364f36bebeab6de84454db9313391c37ca28f..7b0b92cffe8c90da6b9e982488776bf9a87258b2 100644 +index 96d20cbb05d1d5c0d00b0118a23c1815fc6b06bb..488ff32f8c398a8bf97b50241ae147fa70821d2e 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -672,6 +672,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -674,6 +674,7 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} diff --git a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch index ed4d2b9b2220..7b386a90e2a9 100644 --- a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch +++ b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch @@ -19,10 +19,10 @@ that clearly establishes the worker script is ready for evaluation with the scop initialized. diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index e4637fc393bafcdeac62cd4257f42451306dbeed..999288da0fdc7bb584469530d97638e0811b339d 100644 +index 2f5d77dbbcf62d93736c8d999b47f6c8cb8c7a25..1da00f46cf7b7d7afb5b627f786f51d73c48f133 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -392,6 +392,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -388,6 +388,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} @@ -35,10 +35,10 @@ index e4637fc393bafcdeac62cd4257f42451306dbeed..999288da0fdc7bb584469530d97638e0 // from the worker thread. virtual void WillDestroyWorkerContextOnWorkerThread( diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc -index 44b11cbc1a58c844d807f8ad1c9e169622868b5b..3cd087d645983810c51cea35d989961f5bb77479 100644 +index a8e31aabf99a3129471317df5a4de6c9628ba1c3..34cb8986cff56445fb0bfd2f8670d2bf7e5e8ea5 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -901,6 +901,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( +@@ -905,6 +905,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( worker); } @@ -52,10 +52,10 @@ index 44b11cbc1a58c844d807f8ad1c9e169622868b5b..3cd087d645983810c51cea35d989961f const blink::WebSecurityOrigin& script_origin) { return GetContentClient()->renderer()->AllowScriptExtensionForServiceWorker( diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h -index 493081de3140a8a24dea7c5b17388f883f656ca3..cbf5e58d5853c27210dce77a19eb0b2cf25be78f 100644 +index 04f13f3b8d1b66937ba9e383185e9a35407cad71..b4c49b941cafbaefaf353cff14314afc3813dd49 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -198,6 +198,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -190,6 +190,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { void DidStartWorkerThread() override; void WillStopWorkerThread() override; void WorkerContextCreated(const v8::Local& worker) override; @@ -65,10 +65,10 @@ index 493081de3140a8a24dea7c5b17388f883f656ca3..cbf5e58d5853c27210dce77a19eb0b2c bool AllowScriptExtensionForServiceWorker( const blink::WebSecurityOrigin& script_origin) override; diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index 7b0b92cffe8c90da6b9e982488776bf9a87258b2..57820d9a59eedf491e62754ef157a00a09ebfc91 100644 +index 488ff32f8c398a8bf97b50241ae147fa70821d2e..c1f6f2c253cb343c0ebe6a9b97314bfc59fd1211 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -672,6 +672,8 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -674,6 +674,8 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} @@ -78,10 +78,10 @@ index 7b0b92cffe8c90da6b9e982488776bf9a87258b2..57820d9a59eedf491e62754ef157a00a virtual bool AllowScriptExtensionForServiceWorker( const WebSecurityOrigin& script_origin) { diff --git a/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc b/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc -index 5103c2860f57f26c778a4383c037c8a2aed410b9..2416783199c0d34082c6b9acd544e524f33b9a56 100644 +index 4f3b691b63382fb75b6d3b4e753f166395548496..72d9f0bc799002c0b7a4190f537e8754f23a6a46 100644 --- a/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc +++ b/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc -@@ -272,6 +272,7 @@ void WorkerOrWorkletScriptController::PrepareForEvaluation() { +@@ -273,6 +273,7 @@ void WorkerOrWorkletScriptController::PrepareForEvaluation() { V8PerContextData* per_context_data = script_state_->PerContextData(); ignore_result(per_context_data->ConstructorForType( global_scope_->GetWrapperTypeInfo())); @@ -89,7 +89,7 @@ index 5103c2860f57f26c778a4383c037c8a2aed410b9..2416783199c0d34082c6b9acd544e524 #else // USE_BLINK_V8_BINDING_NEW_IDL_INTERFACE ScriptState::Scope scope(script_state_); v8::Local context = script_state_->GetContext(); -@@ -297,6 +298,8 @@ void WorkerOrWorkletScriptController::PrepareForEvaluation() { +@@ -298,6 +299,8 @@ void WorkerOrWorkletScriptController::PrepareForEvaluation() { wrapper_type_info->InstallConditionalFeatures( context, *world_, global_object, v8::Local(), v8::Local(), global_interface_template); diff --git a/patches/v8/.patches b/patches/v8/.patches index ed9b3ff1b0af..85f53e06fd60 100644 --- a/patches/v8/.patches +++ b/patches/v8/.patches @@ -7,5 +7,4 @@ workaround_an_undefined_symbol_error.patch do_not_export_private_v8_symbols_on_windows.patch revert_cleanup_switch_offset_of_to_offsetof_where_possible.patch fix_build_deprecated_attirbute_for_older_msvc_versions.patch -chore_add_v8_apple_silicon_patches.patch fix_use_proper_page_size_for_mac_arm64.patch diff --git a/patches/v8/add_realloc.patch b/patches/v8/add_realloc.patch index 49d8aa4439a6..db5bdc7dbbab 100644 --- a/patches/v8/add_realloc.patch +++ b/patches/v8/add_realloc.patch @@ -12,10 +12,10 @@ when we override ReallocateBufferMemory, so we therefore need to implement Realloc on the v8 side. diff --git a/include/v8.h b/include/v8.h -index b63cce199188f20c3d35c43f26774632d415d445..59b3939dda57facfffc18c3a7096918649a6ea4a 100644 +index 9cd2d451031f6bba582d17c9c468404a827d30a6..d11c9d7bd24560fac1ff6c1869ececb1cd0e7b31 100644 --- a/include/v8.h +++ b/include/v8.h -@@ -5139,6 +5139,13 @@ class V8_EXPORT ArrayBuffer : public Object { +@@ -5152,6 +5152,13 @@ class V8_EXPORT ArrayBuffer : public Object { */ virtual void* AllocateUninitialized(size_t length) = 0; @@ -30,10 +30,10 @@ index b63cce199188f20c3d35c43f26774632d415d445..59b3939dda57facfffc18c3a70969186 * Free the memory block of size |length|, pointed to by |data|. * That memory is guaranteed to be previously allocated by |Allocate|. diff --git a/src/api/api.cc b/src/api/api.cc -index 482ab1933f76878d1087fced4a1f8dbda4839a6f..d1632be48cb7237fc4d0242034bc30b3c3fb03bd 100644 +index bd956f1d62f53ba703d530bc0349c05847739609..84765e2c77723279061e6581e209028db7d7c16a 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -536,6 +536,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) { +@@ -538,6 +538,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) { i::V8::SetSnapshotBlob(snapshot_blob); } diff --git a/patches/v8/build_gn.patch b/patches/v8/build_gn.patch index 31a5573b3f8d..a9fe43bea538 100644 --- a/patches/v8/build_gn.patch +++ b/patches/v8/build_gn.patch @@ -9,10 +9,10 @@ necessary for native modules to load. Also, some fixes relating to mksnapshot on ARM. diff --git a/BUILD.gn b/BUILD.gn -index 6d0ab72ad3fa9d5c3d5731643d7c31ed2dcb9a44..ab11ae7c1b1c36df349ff581d12e020718ddd9f4 100644 +index 12f776c76f194e54bed45e014b18c6acedd6239d..cd93c9e860057e5ccdeb0bd9a66ff61b518a8a2f 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -428,7 +428,7 @@ config("internal_config") { +@@ -422,7 +422,7 @@ config("internal_config") { ":v8_header_features", ] @@ -21,7 +21,7 @@ index 6d0ab72ad3fa9d5c3d5731643d7c31ed2dcb9a44..ab11ae7c1b1c36df349ff581d12e0207 defines += [ "BUILDING_V8_SHARED" ] } } -@@ -4524,7 +4524,7 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -4541,7 +4541,7 @@ if (current_toolchain == v8_generator_toolchain) { "src/interpreter/bytecodes.h", ] @@ -30,7 +30,7 @@ index 6d0ab72ad3fa9d5c3d5731643d7c31ed2dcb9a44..ab11ae7c1b1c36df349ff581d12e0207 deps = [ ":v8_libbase", -@@ -4561,6 +4561,8 @@ if (current_toolchain == v8_snapshot_toolchain) { +@@ -4578,6 +4578,8 @@ if (current_toolchain == v8_snapshot_toolchain) { configs = [ ":internal_config" ] diff --git a/patches/v8/chore_add_v8_apple_silicon_patches.patch b/patches/v8/chore_add_v8_apple_silicon_patches.patch deleted file mode 100644 index 3129b8a67452..000000000000 --- a/patches/v8/chore_add_v8_apple_silicon_patches.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Samuel Attard -Date: Mon, 6 Jul 2020 20:47:43 -0700 -Subject: chore: add v8 apple silicon patches - -Once these are available upstream we can remove this patch. - -diff --git a/src/codegen/arm64/macro-assembler-arm64.cc b/src/codegen/arm64/macro-assembler-arm64.cc -index fef1758aaa81a85009461839ec9aa816e7d196a6..c0f7a1cf5fd4787896b06bce911aabf17b290e88 100644 ---- a/src/codegen/arm64/macro-assembler-arm64.cc -+++ b/src/codegen/arm64/macro-assembler-arm64.cc -@@ -2975,6 +2975,35 @@ void TurboAssembler::PrintfNoPreserve(const char* format, - - int arg_count = kPrintfMaxArgCount; - -+#if V8_OS_MACOSX && !USE_SIMULATOR -+ CPURegList tmp_list = kCallerSaved; -+ tmp_list.Remove(x0); // Used to pass the format string. -+ tmp_list.Remove(arg0, arg1, arg2, arg3); -+ -+ // Override the MacroAssembler's scratch register list. The lists will be -+ // reset automatically at the end of the UseScratchRegisterScope. -+ UseScratchRegisterScope temps(this); -+ TmpList()->set_list(tmp_list.list()); -+ -+ VRegister temp_D = temps.AcquireD(); -+ -+ // https://developer.apple.com/library/archive/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARM64FunctionCallingConventions.html#//apple_ref/doc/uid/TP40013702-SW1 -+ Claim(kPrintfMaxArgCount, 8); -+ int64_t offset = 0; -+ for (unsigned i = 0; i < kPrintfMaxArgCount; i++) { -+ CPURegister arg = args[i]; -+ if (arg.IsNone()) { -+ break; -+ } -+ if (arg.IsS()) { -+ fcvt(temp_D, arg.S()); -+ arg = temp_D; -+ } -+ // FIXME: Use stp. -+ str(arg, MemOperand(sp, offset, Offset)); -+ offset += 8; -+ } -+#else - // The PCS varargs registers for printf. Note that x0 is used for the printf - // format string. - static const CPURegList kPCSVarargs = -@@ -3085,7 +3114,7 @@ void TurboAssembler::PrintfNoPreserve(const char* format, - } - #endif - } -- -+#endif - // Load the format string into x0, as per the procedure-call standard. - // - // To make the code as portable as possible, the format string is encoded -@@ -3107,6 +3136,10 @@ void TurboAssembler::PrintfNoPreserve(const char* format, - } - - CallPrintf(arg_count, pcs); -+ -+#if V8_OS_MACOSX && !USE_SIMULATOR -+ Drop(kPrintfMaxArgCount, 8); -+#endif - } - - void TurboAssembler::CallPrintf(int arg_count, const CPURegister* args) { -diff --git a/src/compiler/backend/arm64/instruction-selector-arm64.cc b/src/compiler/backend/arm64/instruction-selector-arm64.cc -index 78ae11f0d17c156b3debd1d501a22edc42c9fff5..564e6a1a71073727fe6daa847093c556c532620b 100644 ---- a/src/compiler/backend/arm64/instruction-selector-arm64.cc -+++ b/src/compiler/backend/arm64/instruction-selector-arm64.cc -@@ -1905,6 +1905,7 @@ void InstructionSelector::EmitPrepareArguments( - - // Poke the arguments into the stack. - while (slot >= 0) { -+ // FIXME: In the Apple ARM64 ABI parameters should be packed on the stack. - PushParameter input0 = (*arguments)[slot]; - PushParameter input1 = slot > 0 ? (*arguments)[slot - 1] : PushParameter(); - // Emit a poke-pair if consecutive parameters have the same type. -diff --git a/src/flags/flag-definitions.h b/src/flags/flag-definitions.h -index 3137eb2ad31847efb9a0c526a2e0f84209d71cfe..723845eee8439f6dc8b5d1de3cc578ecdd1d3e99 100644 ---- a/src/flags/flag-definitions.h -+++ b/src/flags/flag-definitions.h -@@ -776,7 +776,12 @@ DEFINE_INT(wasm_num_compilation_tasks, 128, - "maximum number of parallel compilation tasks for wasm") - DEFINE_DEBUG_BOOL(trace_wasm_native_heap, false, - "trace wasm native heap events") --DEFINE_BOOL(wasm_write_protect_code_memory, false, -+#if V8_OS_MACOSX && V8_TARGET_ARCH_ARM64 -+#define V8_DEFAULT_WASM_WRITE_PROTECT_CODE_MEMORY true -+#else -+#define V8_DEFAULT_WASM_WRITE_PROTECT_CODE_MEMORY false -+#endif -+DEFINE_BOOL(wasm_write_protect_code_memory, V8_DEFAULT_WASM_WRITE_PROTECT_CODE_MEMORY, - "write protect code memory on the wasm native heap") - DEFINE_DEBUG_BOOL(trace_wasm_serialization, false, - "trace serialization/deserialization") -diff --git a/src/wasm/function-compiler.cc b/src/wasm/function-compiler.cc -index 5c35f69f2af2199025dddfa577564996dbb6145f..a4e6b0128e909d371d0ede3627494002e281d547 100644 ---- a/src/wasm/function-compiler.cc -+++ b/src/wasm/function-compiler.cc -@@ -258,6 +258,7 @@ void WasmCompilationUnit::CompileWasmFunction(Isolate* isolate, - isolate->counters(), detected); - if (result.succeeded()) { - WasmCodeRefScope code_ref_scope; -+ NativeModuleModificationScope native_module_modification_scope(native_module); - native_module->PublishCode( - native_module->AddCompiledCode(std::move(result))); - } else { -diff --git a/src/wasm/wasm-code-manager.h b/src/wasm/wasm-code-manager.h -index 5e8ed5475bb064cb657069242ce7517de7f5f8e2..5652bb407da3646e55c42492b3e9facec4556367 100644 ---- a/src/wasm/wasm-code-manager.h -+++ b/src/wasm/wasm-code-manager.h -@@ -886,7 +886,7 @@ class V8_EXPORT_PRIVATE WasmCodeManager final { - // and even if we did, the resulting set of pages may be fragmented. - // Currently, we try and keep the number of syscalls low. - // - similar argument for debug time. --class NativeModuleModificationScope final { -+class V8_EXPORT_PRIVATE NativeModuleModificationScope final { - public: - explicit NativeModuleModificationScope(NativeModule* native_module); - ~NativeModuleModificationScope(); -diff --git a/src/wasm/wasm-objects.cc b/src/wasm/wasm-objects.cc -index 0666f88619b9e724fe79d8fad817b8acf99a01b7..5274cad0d0aed50bbdea66ff1666af556d994879 100644 ---- a/src/wasm/wasm-objects.cc -+++ b/src/wasm/wasm-objects.cc -@@ -1512,6 +1512,7 @@ void WasmInstanceObject::ImportWasmJSFunctionIntoTable( - wasm::WasmCompilationResult result = compiler::CompileWasmImportCallWrapper( - isolate->wasm_engine(), &env, kind, sig, false, - shared.internal_formal_parameter_count()); -+ wasm::NativeModuleModificationScope native_module_modification_scope(native_module); - std::unique_ptr wasm_code = native_module->AddCode( - result.func_index, result.code_desc, result.frame_slot_count, - result.tagged_parameter_slots, diff --git a/patches/v8/dcheck.patch b/patches/v8/dcheck.patch index f63ab25d9126..ff1103b82b7e 100644 --- a/patches/v8/dcheck.patch +++ b/patches/v8/dcheck.patch @@ -6,10 +6,10 @@ Subject: dcheck.patch https://github.com/auchenberg/volkswagen diff --git a/src/api/api.cc b/src/api/api.cc -index d1632be48cb7237fc4d0242034bc30b3c3fb03bd..10b3f57ce2f79147f3d5795b94c07a0c5f3bad91 100644 +index 84765e2c77723279061e6581e209028db7d7c16a..432a79b2d51863727edb88638276e4c7c1b70342 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -8809,7 +8809,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { +@@ -8811,7 +8811,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { } void Isolate::PerformMicrotaskCheckpoint() { @@ -19,10 +19,10 @@ index d1632be48cb7237fc4d0242034bc30b3c3fb03bd..10b3f57ce2f79147f3d5795b94c07a0c isolate->default_microtask_queue()->PerformCheckpoint(this); } diff --git a/src/heap/heap.cc b/src/heap/heap.cc -index c60ae367c24be4ca7445233671784dcd2d89d697..5898f6fd8f92da3034f5227ce5dc5091642307c0 100644 +index 3efcd9412715a7de46ede444ed89b3e0dfd96e68..2d0026f3be7f422eced8eb14697bebe5f634a2e8 100644 --- a/src/heap/heap.cc +++ b/src/heap/heap.cc -@@ -5540,9 +5540,9 @@ void Heap::TearDown() { +@@ -5450,9 +5450,9 @@ void Heap::TearDown() { void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback, GCType gc_type, void* data) { DCHECK_NOT_NULL(callback); diff --git a/patches/v8/do_not_export_private_v8_symbols_on_windows.patch b/patches/v8/do_not_export_private_v8_symbols_on_windows.patch index 29ff7aebb6bd..90c0066322c8 100644 --- a/patches/v8/do_not_export_private_v8_symbols_on_windows.patch +++ b/patches/v8/do_not_export_private_v8_symbols_on_windows.patch @@ -12,10 +12,10 @@ This patch can be safely removed if, when it is removed, `node.lib` does not contain any standard C++ library exports (e.g. `std::ostringstream`). diff --git a/BUILD.gn b/BUILD.gn -index 04ad7b8510dbbdce3b52cba710f5dafee2a7c03e..54ecd3bc6d1caf5b11c19a0d8559636df64b4d82 100644 +index ff13e8ca7fc0de9c24449e39d0e9056c399f4797..dd0a2abed165d0eb3583e3171da73b156cb28872 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -428,6 +428,10 @@ config("internal_config") { +@@ -422,6 +422,10 @@ config("internal_config") { ":v8_header_features", ] diff --git a/patches/v8/export_symbols_needed_for_windows_build.patch b/patches/v8/export_symbols_needed_for_windows_build.patch index 06cf3074fc99..c8c8492639ca 100644 --- a/patches/v8/export_symbols_needed_for_windows_build.patch +++ b/patches/v8/export_symbols_needed_for_windows_build.patch @@ -19,7 +19,7 @@ index 70efa0136023b47bcf054c3414170dff32be01dd..f967a2b62fe19d5f729bece878e0d93f explicit inline Relocatable(Isolate* isolate); inline virtual ~Relocatable(); diff --git a/src/objects/ordered-hash-table.h b/src/objects/ordered-hash-table.h -index 5f3c45a110aa48cf7c9c189d0e37e07193f06b75..01bfb2a73dbfb6d5a5d41baea946c783abfd1558 100644 +index 0dfc50d7e0484c3f9fb170ac28027d642f64ce13..f81b0e3e2cf9b368522916de643b416d2e0a5999 100644 --- a/src/objects/ordered-hash-table.h +++ b/src/objects/ordered-hash-table.h @@ -60,7 +60,7 @@ namespace internal { diff --git a/patches/v8/expose_mksnapshot.patch b/patches/v8/expose_mksnapshot.patch index cc041f18b6c1..f4a133666b84 100644 --- a/patches/v8/expose_mksnapshot.patch +++ b/patches/v8/expose_mksnapshot.patch @@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch Needed in order to target mksnapshot for mksnapshot zip. diff --git a/BUILD.gn b/BUILD.gn -index ab11ae7c1b1c36df349ff581d12e020718ddd9f4..04ad7b8510dbbdce3b52cba710f5dafee2a7c03e 100644 +index cd93c9e860057e5ccdeb0bd9a66ff61b518a8a2f..ff13e8ca7fc0de9c24449e39d0e9056c399f4797 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -4535,7 +4535,6 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -4552,7 +4552,6 @@ if (current_toolchain == v8_generator_toolchain) { if (current_toolchain == v8_snapshot_toolchain) { v8_executable("mksnapshot") { diff --git a/patches/v8/fix_build_deprecated_attirbute_for_older_msvc_versions.patch b/patches/v8/fix_build_deprecated_attirbute_for_older_msvc_versions.patch index 39e7ae0adecf..62a76ac67fbf 100644 --- a/patches/v8/fix_build_deprecated_attirbute_for_older_msvc_versions.patch +++ b/patches/v8/fix_build_deprecated_attirbute_for_older_msvc_versions.patch @@ -9,7 +9,7 @@ higher versions, but native module compiling with this version will have an issue. diff --git a/include/v8config.h b/include/v8config.h -index a047874c4064f651d4dda64e15fc1507990fcab4..52546a0b74c9a7d8d2df6afe7ac61987f67b130c 100644 +index ae89edb2c9b791abd0aa2662fc7b4f3bc431b146..fdf2a690d50bb7835ce584b3b8940ed919b29b75 100644 --- a/include/v8config.h +++ b/include/v8config.h @@ -391,10 +391,13 @@ diff --git a/patches/v8/revert_cleanup_switch_offset_of_to_offsetof_where_possible.patch b/patches/v8/revert_cleanup_switch_offset_of_to_offsetof_where_possible.patch index 7a33faa0005f..80945f08b786 100644 --- a/patches/v8/revert_cleanup_switch_offset_of_to_offsetof_where_possible.patch +++ b/patches/v8/revert_cleanup_switch_offset_of_to_offsetof_where_possible.patch @@ -6,11 +6,11 @@ Subject: Revert "[cleanup] Switch {OFFSET_OF} to {offsetof} where possible." This reverts commit d287e4bc46243841c77cf9798516ee4dcc54bf43. diff --git a/src/deoptimizer/deoptimizer.h b/src/deoptimizer/deoptimizer.h -index 152e5e510e9bb030a0c4ab489750573488bac7a6..1adc3f1eeb856ca5cee9acc4723e9003d069fe3a 100644 +index 5f438ada7635f622c4f102cd6114f7e6f2ba56bc..a18f4bfea7f529d16c486fcf6a96255be792a92c 100644 --- a/src/deoptimizer/deoptimizer.h +++ b/src/deoptimizer/deoptimizer.h -@@ -508,14 +508,14 @@ class Deoptimizer : public Malloced { - DeoptimizeKind* type); +@@ -509,14 +509,14 @@ class Deoptimizer : public Malloced { + DeoptimizeKind* type_out); // Code generation support. - static int input_offset() { return offsetof(Deoptimizer, input_); } @@ -28,7 +28,7 @@ index 152e5e510e9bb030a0c4ab489750573488bac7a6..1adc3f1eeb856ca5cee9acc4723e9003 } V8_EXPORT_PRIVATE static int GetDeoptimizedCodeCount(Isolate* isolate); -@@ -776,11 +776,11 @@ class FrameDescription { +@@ -771,11 +771,11 @@ class FrameDescription { int parameter_count() { return parameter_count_; } static int registers_offset() { diff --git a/shell/app/electron_main_delegate.cc b/shell/app/electron_main_delegate.cc index b1d6f5505d2e..0c907bd5de90 100644 --- a/shell/app/electron_main_delegate.cc +++ b/shell/app/electron_main_delegate.cc @@ -94,7 +94,6 @@ bool SubprocessNeedsResourceBundle(const std::string& process_type) { // Mac needs them too for scrollbar related images and for sandbox // profiles. process_type == ::switches::kPpapiPluginProcess || - process_type == ::switches::kPpapiBrokerProcess || process_type == ::switches::kGpuProcess || #endif process_type == ::switches::kRendererProcess || @@ -213,7 +212,7 @@ bool ElectronMainDelegate::BasicStartupComplete(int* exit_code) { if (!command_line->HasSwitch(::switches::kEnableLogging) && !env->HasVar("ELECTRON_ENABLE_LOGGING")) { settings.logging_dest = logging::LOG_NONE; - logging::SetMinLogLevel(logging::LOG_NUM_SEVERITIES); + logging::SetMinLogLevel(logging::LOGGING_NUM_SEVERITIES); } logging::InitLogging(settings); diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc index 9435b375225b..65ffaa269d05 100644 --- a/shell/browser/api/electron_api_web_contents.cc +++ b/shell/browser/api/electron_api_web_contents.cc @@ -2881,7 +2881,7 @@ v8::Local WebContents::TakeHeapSnapshot( electron_renderer.get()); auto* raw_ptr = electron_renderer.get(); (*raw_ptr)->TakeHeapSnapshot( - mojo::WrapPlatformFile(file.TakePlatformFile()), + mojo::WrapPlatformFile(base::ScopedPlatformFile(file.TakePlatformFile())), base::BindOnce( [](mojo::AssociatedRemote* ep, gin_helper::Promise promise, bool success) { diff --git a/shell/browser/browser_process_impl.cc b/shell/browser/browser_process_impl.cc index 045aea03ae81..bde499d6c083 100644 --- a/shell/browser/browser_process_impl.cc +++ b/shell/browser/browser_process_impl.cc @@ -10,7 +10,6 @@ #include "base/command_line.h" #include "chrome/common/chrome_switches.h" -#include "components/federated_learning/floc_blocklist_service.h" // nogncheck #include "components/prefs/in_memory_pref_store.h" #include "components/prefs/overlay_user_pref_store.h" #include "components/prefs/pref_registry.h" @@ -239,11 +238,6 @@ BrowserProcessImpl::subresource_filter_ruleset_service() { return nullptr; } -federated_learning::FlocBlocklistService* -BrowserProcessImpl::floc_blocklist_service() { - return nullptr; -} - federated_learning::FlocSortingLshClustersService* BrowserProcessImpl::floc_sorting_lsh_clusters_service() { return nullptr; diff --git a/shell/browser/browser_process_impl.h b/shell/browser/browser_process_impl.h index b6086e4468c5..d9d9e52f60ab 100644 --- a/shell/browser/browser_process_impl.h +++ b/shell/browser/browser_process_impl.h @@ -79,7 +79,6 @@ class BrowserProcessImpl : public BrowserProcess { safe_browsing::SafeBrowsingService* safe_browsing_service() override; subresource_filter::RulesetService* subresource_filter_ruleset_service() override; - federated_learning::FlocBlocklistService* floc_blocklist_service() override; federated_learning::FlocSortingLshClustersService* floc_sorting_lsh_clusters_service() override; optimization_guide::OptimizationGuideService* optimization_guide_service() diff --git a/shell/browser/electron_browser_client.cc b/shell/browser/electron_browser_client.cc index bdbfd7db35e5..2d9701e38e5c 100644 --- a/shell/browser/electron_browser_client.cc +++ b/shell/browser/electron_browser_client.cc @@ -1285,7 +1285,7 @@ void ElectronBrowserClient::SetUserAgent(const std::string& user_agent) { void ElectronBrowserClient::RegisterNonNetworkNavigationURLLoaderFactories( int frame_tree_node_id, - base::UkmSourceId ukm_source_id, + ukm::SourceIdObj ukm_source_id, NonNetworkURLLoaderFactoryMap* factories) { content::WebContents* web_contents = content::WebContents::FromFrameTreeNodeId(frame_tree_node_id); @@ -1488,7 +1488,7 @@ bool ElectronBrowserClient::WillCreateURLLoaderFactory( URLLoaderFactoryType type, const url::Origin& request_initiator, base::Optional navigation_id, - base::UkmSourceId ukm_source_id, + ukm::SourceIdObj ukm_source_id, mojo::PendingReceiver* factory_receiver, mojo::PendingRemote* header_client, diff --git a/shell/browser/electron_browser_client.h b/shell/browser/electron_browser_client.h index 94ce137ef204..5e6bfef8da5d 100644 --- a/shell/browser/electron_browser_client.h +++ b/shell/browser/electron_browser_client.h @@ -18,6 +18,7 @@ #include "content/public/browser/web_contents.h" #include "electron/buildflags/buildflags.h" #include "net/ssl/client_cert_identity.h" +#include "services/metrics/public/cpp/ukm_source_id.h" #include "shell/browser/serial/electron_serial_delegate.h" namespace content { @@ -179,7 +180,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient, std::string GetProduct() override; void RegisterNonNetworkNavigationURLLoaderFactories( int frame_tree_node_id, - base::UkmSourceId ukm_source_id, + ukm::SourceIdObj ukm_source_id, NonNetworkURLLoaderFactoryMap* factories) override; void RegisterNonNetworkWorkerMainResourceURLLoaderFactories( content::BrowserContext* browser_context, @@ -204,7 +205,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient, URLLoaderFactoryType type, const url::Origin& request_initiator, base::Optional navigation_id, - base::UkmSourceId ukm_source_id, + ukm::SourceIdObj ukm_source_id, mojo::PendingReceiver* factory_receiver, mojo::PendingRemote* header_client, diff --git a/shell/browser/electron_browser_context.cc b/shell/browser/electron_browser_context.cc index 74669053784c..173d9f14f1a4 100644 --- a/shell/browser/electron_browser_context.cc +++ b/shell/browser/electron_browser_context.cc @@ -337,7 +337,7 @@ ElectronBrowserContext::GetURLLoaderFactory() { ->WillCreateURLLoaderFactory( this, nullptr, -1, content::ContentBrowserClient::URLLoaderFactoryType::kNavigation, - url::Origin(), base::nullopt, base::kInvalidUkmSourceId, + url::Origin(), base::nullopt, ukm::kInvalidSourceIdObj, &factory_receiver, &header_client, nullptr, nullptr, nullptr); network::mojom::URLLoaderFactoryParamsPtr params = diff --git a/shell/browser/extensions/api/resources_private/resources_private_api.cc b/shell/browser/extensions/api/resources_private/resources_private_api.cc index d23d20d9d531..5d45a3206740 100644 --- a/shell/browser/extensions/api/resources_private/resources_private_api.cc +++ b/shell/browser/extensions/api/resources_private/resources_private_api.cc @@ -107,7 +107,8 @@ ExtensionFunction::ResponseAction ResourcesPrivateGetStringsFunction::Run() { const std::string& app_locale = g_browser_process->GetApplicationLocale(); webui::SetLoadTimeDataDefaults(app_locale, dict.get()); - return RespondNow(OneArgument(std::move(dict))); + return RespondNow( + OneArgument(base::Value::FromUniquePtrValue(std::move(dict)))); } } // namespace extensions diff --git a/shell/browser/net/proxying_url_loader_factory.cc b/shell/browser/net/proxying_url_loader_factory.cc index 53cce55a8d46..9f1335d08ea2 100644 --- a/shell/browser/net/proxying_url_loader_factory.cc +++ b/shell/browser/net/proxying_url_loader_factory.cc @@ -15,6 +15,7 @@ #include "net/base/completion_repeating_callback.h" #include "net/base/load_flags.h" #include "net/http/http_util.h" +#include "services/metrics/public/cpp/ukm_source_id.h" #include "services/network/public/cpp/features.h" #include "shell/browser/net/asar/asar_url_loader.h" #include "shell/common/options_switches.h" @@ -110,7 +111,7 @@ void ProxyingURLLoaderFactory::InProgressRequest::UpdateRequestInfo() { routing_id_, request_for_info, false, !(options_ & network::mojom::kURLLoadOptionSynchronous), factory_->IsForServiceWorkerScript(), factory_->navigation_id_, - base::kInvalidUkmSourceId)); + ukm::kInvalidSourceIdObj)); current_request_uses_header_client_ = factory_->url_loader_header_client_receiver_.is_bound() && diff --git a/shell/browser/net/proxying_websocket.cc b/shell/browser/net/proxying_websocket.cc index f3cc42574070..f610e71a8ce3 100644 --- a/shell/browser/net/proxying_websocket.cc +++ b/shell/browser/net/proxying_websocket.cc @@ -46,7 +46,7 @@ ProxyingWebSocket::ProxyingWebSocket( /*is_async=*/true, /*is_service_worker_script=*/false, /*navigation_id=*/base::nullopt, - /*ukm_source_id=*/base::kInvalidUkmSourceId)) {} + /*ukm_source_id=*/ukm::kInvalidSourceIdObj)) {} ProxyingWebSocket::~ProxyingWebSocket() { if (on_before_send_headers_callback_) { diff --git a/shell/browser/ui/inspectable_web_contents.cc b/shell/browser/ui/inspectable_web_contents.cc index 33e9a7fff540..9476152cb0bc 100644 --- a/shell/browser/ui/inspectable_web_contents.cc +++ b/shell/browser/ui/inspectable_web_contents.cc @@ -343,6 +343,7 @@ InspectableWebContents::InspectableWebContents( pref_service_(pref_service), web_contents_(web_contents), is_guest_(is_guest), + is_docked_(true), view_(CreateInspectableContentsView(this)), weak_factory_(this) { const base::Value* bounds_dict = pref_service_->Get(kDevToolsBoundsPref); @@ -626,7 +627,7 @@ void InspectableWebContents::AddDevToolsExtensionsToClient() { #endif void InspectableWebContents::SetInspectedPageBounds(const gfx::Rect& rect) { - DevToolsContentsResizingStrategy strategy(rect); + DevToolsContentsResizingStrategy strategy(rect, is_docked_); if (contents_resizing_strategy_.Equals(strategy)) return; @@ -703,6 +704,7 @@ void InspectableWebContents::LoadNetworkResource( void InspectableWebContents::SetIsDocked(const DispatchCallback& callback, bool docked) { + is_docked_ = docked; if (managed_devtools_web_contents_) view_->SetIsDocked(docked, activate_); if (!callback.is_null()) diff --git a/shell/browser/ui/inspectable_web_contents.h b/shell/browser/ui/inspectable_web_contents.h index fe196f455a58..2ec8906e05bf 100644 --- a/shell/browser/ui/inspectable_web_contents.h +++ b/shell/browser/ui/inspectable_web_contents.h @@ -224,6 +224,7 @@ class InspectableWebContents content::WebContents* external_devtools_web_contents_ = nullptr; bool is_guest_; + bool is_docked_; std::unique_ptr view_; class NetworkResourceLoader; diff --git a/shell/browser/ui/views/submenu_button.cc b/shell/browser/ui/views/submenu_button.cc index ba9badc80eea..9f106eaa8ce6 100644 --- a/shell/browser/ui/views/submenu_button.cc +++ b/shell/browser/ui/views/submenu_button.cc @@ -24,7 +24,7 @@ SubmenuButton::SubmenuButton(views::ButtonListener* button_listener, const base::string16& title, const SkColor& background_color) : views::MenuButton( - button_listener, + views::Button::PressedCallback(button_listener, this), gfx::RemoveAcceleratorChar(title, '&', nullptr, nullptr)), background_color_(background_color) { #if defined(OS_LINUX) diff --git a/shell/renderer/electron_api_service_impl.cc b/shell/renderer/electron_api_service_impl.cc index 0bd93fee7bdc..7625bdf70637 100644 --- a/shell/renderer/electron_api_service_impl.cc +++ b/shell/renderer/electron_api_service_impl.cc @@ -222,14 +222,14 @@ void ElectronApiServiceImpl::TakeHeapSnapshot( TakeHeapSnapshotCallback callback) { base::ThreadRestrictions::ScopedAllowIO allow_io; - base::PlatformFile platform_file; + base::ScopedPlatformFile platform_file; if (mojo::UnwrapPlatformFile(std::move(file), &platform_file) != MOJO_RESULT_OK) { LOG(ERROR) << "Unable to get the file handle from mojo."; std::move(callback).Run(false); return; } - base::File base_file(platform_file); + base::File base_file(std::move(platform_file)); bool success = electron::TakeHeapSnapshot(blink::MainThreadIsolate(), &base_file); diff --git a/spec-main/api-web-contents-spec.ts b/spec-main/api-web-contents-spec.ts index 1586afbe4e4c..25f7f507f45a 100644 --- a/spec-main/api-web-contents-spec.ts +++ b/spec-main/api-web-contents-spec.ts @@ -1196,7 +1196,8 @@ describe('webContents module', () => { expect(currentRenderViewDeletedEmitted).to.be.false('current-render-view-deleted was emitted'); }); - it('does not emit current-render-view-deleted when speculative RVHs are deleted and nativeWindowOpen is set to true', async () => { + // TODO (jkleinsc) - this test is very flaky on WOA due to its dependence on a setTimeout; disabling until it can be rewritten + ifit(process.platform !== 'win32' || process.arch !== 'arm64')('does not emit current-render-view-deleted when speculative RVHs are deleted and nativeWindowOpen is set to true', async () => { const parentWindow = new BrowserWindow({ show: false, webPreferences: { nativeWindowOpen: true } }); let currentRenderViewDeletedEmitted = false; let childWindow:BrowserWindow;