From e017d8714e75fdc861af612404ea67229e827665 Mon Sep 17 00:00:00 2001 From: Electron Bot Date: Fri, 13 Nov 2020 16:16:56 -0800 Subject: [PATCH] chore: bump chromium to adc5df74b86afdff676989ced8cd3 (master) (#26223) Co-authored-by: Shelley Vohr Co-authored-by: Jeremy Rose Co-authored-by: John Kleinschmidt --- DEPS | 2 +- electron_paks.gni | 3 +- patches/chromium/.patches | 2 - ...client_precreatemessageloop_callback.patch | 6 +- .../add_didinstallconditionalfeatures.patch | 22 +- patches/chromium/add_realloc.patch | 4 +- ...rustedauthclient_to_urlloaderfactory.patch | 20 +- ..._windows_to_have_different_web_prefs.patch | 29 +-- ...ink-worker-enable-csp-in-file-scheme.patch | 4 +- patches/chromium/blink_local_frame.patch | 6 +- patches/chromium/blink_world_context.patch | 10 +- patches/chromium/can_create_window.patch | 42 ++-- ..._v8_initialization_isolate_callbacks.patch | 4 +- ...screationoverridden_with_full_params.patch | 40 ++-- ...esources_not_chrome_for_spellchecker.patch | 4 +- patches/chromium/chrome_key_systems.patch | 2 +- patches/chromium/command-ismediakey.patch | 6 +- .../chromium/content_browser_main_loop.patch | 2 +- .../crash_allow_setting_more_options.patch | 6 +- patches/chromium/dcheck.patch | 6 +- ...ay_lock_the_protocol_scheme_registry.patch | 4 +- patches/chromium/disable-redraw-lock.patch | 6 +- .../disable_color_correct_rendering.patch | 32 +-- .../disable_compositor_recycling.patch | 4 +- patches/chromium/disable_hidden.patch | 10 +- ...locator_for_usage_outside_of_the_gin.patch | 4 +- ...xpose_setuseragent_on_networkcontext.patch | 16 +- ...dd_set_theme_source_to_allow_apps_to.patch | 19 +- ..._scheduler_throttling_per_renderview.patch | 114 ++++------ ...screen_rendering_with_viz_compositor.patch | 8 +- ...chdir_np_and_pthread_chdir_np_in_mas.patch | 8 +- ...out_profile_refs_in_accessibility_ui.patch | 4 +- ...ns_through_the_web_contents_delegate.patch | 4 +- ...ore_initializing_the_windows_proxies.patch | 79 ------- ...fix_use_electron_generated_resources.patch | 2 +- patches/chromium/frame_host_manager.patch | 36 +-- .../gin_enable_disable_v8_platform.patch | 4 +- ...gpu_notify_when_dxdiag_request_fails.patch | 8 +- .../chromium/gritsettings_resource_ids.patch | 4 +- .../mas_disable_remote_accessibility.patch | 18 +- .../chromium/mas_disable_remote_layer.patch | 2 +- patches/chromium/mas_no_private_api.patch | 56 +++-- ...emote_certificate_verification_logic.patch | 20 +- patches/chromium/no_cache_storage_check.patch | 2 +- .../chromium/notification_provenance.patch | 18 +- patches/chromium/picture-in-picture.patch | 12 +- patches/chromium/printing.patch | 18 +- ...put_back_deleted_colors_for_autofill.patch | 4 +- ...r_changes_to_the_webcontentsobserver.patch | 26 +-- ...ntext_snapshot_on_arm64_macos_builds.patch | 214 ------------------ .../render_widget_host_view_base.patch | 12 +- patches/chromium/resource_file_conflict.patch | 6 +- ...ove_contentrendererclient_shouldfork.patch | 28 +-- patches/chromium/scroll_bounce_flag.patch | 4 +- .../support_mixed_sandbox_with_zygote.patch | 10 +- ...andboxed_ppapi_processes_skip_zygote.patch | 2 +- .../v8_context_snapshot_generator.patch | 4 +- patches/chromium/web_contents.patch | 12 +- .../worker_context_will_destroy.patch | 20 +- ...feat_add_hook_to_notify_script_ready.patch | 14 +- patches/v8/add_realloc.patch | 8 +- patches/v8/build_gn.patch | 8 +- patches/v8/dcheck.patch | 8 +- ...export_private_v8_symbols_on_windows.patch | 8 +- ...ort_symbols_needed_for_windows_build.patch | 12 +- patches/v8/expose_mksnapshot.patch | 4 +- ...x_use_proper_page_size_for_mac_arm64.patch | 2 +- ...offset_of_to_offsetof_where_possible.patch | 11 +- ...workaround_an_undefined_symbol_error.patch | 4 +- script/node-disabled-tests.json | 13 +- shell/browser/api/electron_api_app.cc | 2 - shell/browser/api/electron_api_cookies.cc | 5 +- .../api/electron_api_power_save_blocker.cc | 2 +- .../browser/api/electron_api_web_contents.cc | 9 +- shell/browser/api/electron_api_web_contents.h | 3 - shell/browser/api/electron_api_web_request.cc | 21 +- shell/browser/electron_browser_main_parts.cc | 2 +- .../electron_management_api_delegate.cc | 1 - .../electron_extension_message_filter.cc | 2 +- shell/browser/native_window_views.cc | 2 +- .../osr/osr_render_widget_host_view.cc | 9 +- .../browser/osr/osr_render_widget_host_view.h | 3 + shell/browser/ui/inspectable_web_contents.cc | 4 +- shell/browser/ui/inspectable_web_contents.h | 6 +- shell/browser/ui/views/global_menu_bar_x11.cc | 2 +- shell/browser/ui/views/menu_bar.cc | 5 +- shell/browser/ui/views/menu_bar.h | 11 +- shell/browser/ui/views/submenu_button.cc | 5 +- shell/browser/ui/views/submenu_button.h | 4 +- shell/browser/ui/webui/accessibility_ui.cc | 2 +- shell/browser/ui/x/window_state_watcher.h | 2 +- shell/browser/ui/x/x_window_utils.h | 2 +- shell/common/platform_util_win.cc | 2 +- .../electron_content_utility_client.cc | 20 +- .../utility/electron_content_utility_client.h | 8 +- 95 files changed, 496 insertions(+), 804 deletions(-) delete mode 100644 patches/chromium/fix_swap_global_proxies_before_initializing_the_windows_proxies.patch delete mode 100644 patches/chromium/rename_the_v8_context_snapshot_on_arm64_macos_builds.patch diff --git a/DEPS b/DEPS index d702ebbcb339..80ea3a690b99 100644 --- a/DEPS +++ b/DEPS @@ -14,7 +14,7 @@ gclient_gn_args = [ vars = { 'chromium_version': - '2a55c4f55b99b2191ea59cba1e2f6da4dbb7dee0', + '2935b18f375adc5df74b86afdff676989ced8cd3', 'node_version': 'v14.15.0', 'nan_version': diff --git a/electron_paks.gni b/electron_paks.gni index 82807df44e44..3814ee0e38ee 100644 --- a/electron_paks.gni +++ b/electron_paks.gni @@ -96,7 +96,8 @@ template("electron_extra_paks") { deps += [ "//content/browser/devtools:devtools_resources" ] if (enable_print_preview) { sources += [ "$root_gen_dir/chrome/print_preview_resources.pak" ] - deps += [ "//chrome/browser/resources:print_preview_resources" ] + deps += + [ "//chrome/browser/resources/print_preview:print_preview_resources" ] } if (enable_electron_extensions) { sources += [ diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 71dc75c0bfa9..581d1b5adf15 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -91,7 +91,6 @@ upload_list_add_loadsync_method.patch breakpad_allow_getting_string_values_for_crash_keys.patch crash_allow_disabling_compression_on_linux.patch allow_setting_secondary_label_via_simplemenumodel.patch -fix_swap_global_proxies_before_initializing_the_windows_proxies.patch feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch fix_patch_out_profile_refs_in_accessibility_ui.patch remove_some_deps_that_do_not_work_on_arm64.patch @@ -102,5 +101,4 @@ chore_provide_iswebcontentscreationoverridden_with_full_params.patch fix_properly_honor_printing_page_ranges.patch fix_use_electron_generated_resources.patch chore_expose_v8_initialization_isolate_callbacks.patch -rename_the_v8_context_snapshot_on_arm64_macos_builds.patch export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch diff --git a/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch b/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch index a6f9848915ed..14c1008256cf 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 4ee038653b069be1e03040c01db55c8923bcdb1c..8a57a9a301960be03f1cf9a79c39713fc1bae95c 100644 +index 70b4ac882ed335c1e623f4cbb6d2c1dc5aca4caa..7e9972660b4006d4f83b2cd812f084fd8a2fe289 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc -@@ -263,6 +263,10 @@ int GpuMain(const MainFunctionParams& parameters) { +@@ -260,6 +260,10 @@ int GpuMain(const MainFunctionParams& parameters) { // to the GpuProcessHost once the GpuServiceImpl has started. viz::GpuServiceImpl::InstallPreInitializeLogHandler(); @@ -24,7 +24,7 @@ index 4ee038653b069be1e03040c01db55c8923bcdb1c..8a57a9a301960be03f1cf9a79c39713f // 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 -@@ -400,7 +404,6 @@ int GpuMain(const MainFunctionParams& parameters) { +@@ -397,7 +401,6 @@ int GpuMain(const MainFunctionParams& parameters) { } #endif diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index ad4a6a0db4f2..d73661c12d81 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -10,7 +10,7 @@ DidCreateScriptContext is called, not all JS APIs are available in the context, which can cause some preload scripts to trip. diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h -index f63b17435218d0d67bba044da67c1c80015fc996..d0fe24182f2cb48a1333054ce44b6a7f49b2f053 100644 +index 615b7359548d93fa408688e1d90d2bc8082c0c9c..5c4ba7f603f2780d07794473624e7525bcc89a8d 100644 --- a/content/public/renderer/render_frame_observer.h +++ b/content/public/renderer/render_frame_observer.h @@ -116,6 +116,8 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener, @@ -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 9b63b6caae325f0e29ccfccbbea23b27c7b8cd65..8c82f4809e4544bb5f12ec5a5e9d6133f0154c47 100644 +index 340642fd854c915e55f6668426f218eafa6c0de9..4f0e7563d263569f34eb336426a9bd4e28800032 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -4910,6 +4910,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, +@@ -4792,6 +4792,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, observer.DidCreateScriptContext(context, world_id); } @@ -40,10 +40,10 @@ index 9b63b6caae325f0e29ccfccbbea23b27c7b8cd65..8c82f4809e4544bb5f12ec5a5e9d6133 int world_id) { for (auto& observer : observers_) diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h -index 161f911589360a4eba18f289e66fb1534089aec4..ba4c9389fb877a3a4fd05960ed8609d0fb25de7e 100644 +index 22851071fcb54803f107f4d657373b2318420e63..39d229571a58c7d3ddca1f88d2a57c9b1d4ad185 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h -@@ -683,6 +683,8 @@ class CONTENT_EXPORT RenderFrameImpl +@@ -669,6 +669,8 @@ class CONTENT_EXPORT RenderFrameImpl blink::WebLocalFrameClient::LazyLoadBehavior lazy_load_behavior) override; void DidCreateScriptContext(v8::Local context, int world_id) override; @@ -53,10 +53,10 @@ index 161f911589360a4eba18f289e66fb1534089aec4..ba4c9389fb877a3a4fd05960ed8609d0 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 a1ffdddc549f328d16bf7641e2079320a02cb07d..fe8149b9440851d99b0592d134cccfe5237865d6 100644 +index 1c8db147e7a031157cc02535177ec42cf1855c30..a0b7fedfb6d330e48dd191cefb47c55c4d2e7eb8 100644 --- a/third_party/blink/public/web/web_local_frame_client.h +++ b/third_party/blink/public/web/web_local_frame_client.h -@@ -539,6 +539,9 @@ class BLINK_EXPORT WebLocalFrameClient { +@@ -540,6 +540,9 @@ class BLINK_EXPORT WebLocalFrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) {} @@ -79,7 +79,7 @@ index 16d2cc458b3a61c0974b258111ad154be61d55db..119f080e0ea00300dc4df8e9ec14d735 if (World().IsMainWorld()) { GetFrame()->Loader().DispatchDidClearWindowObjectInMainWorld(); 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 +index d83455d1fb453792fa5d3666ec0667e5e34fb2bb..022a859f8762f203feedc62bafa945b4c6d36b82 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 { @@ -92,10 +92,10 @@ index d76577dbecf8f9e86e356d50661184fe465200e9..8b0defa85f4e204188885d966fd0bc26 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 +index 1cb22fc5f0ec21bf2af6fdf2bea06a2580d4fa14..2b66327d7da7ecf4e5420022fa377ea3c8cb73f7 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( +@@ -393,6 +393,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( web_frame_->Client()->DidCreateScriptContext(context, world_id); } @@ -110,7 +110,7 @@ index 5f2ff8d701936be593e722912b01e12ee618f941..d663e53ef38df99f4bc4c586452d244b v8::Local context, int32_t world_id) { 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 +index 537639f6b7854de38e95bf514d1c0618e20447b2..8104e89c7805c9f59f51efe153b039262595b958 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 { diff --git a/patches/chromium/add_realloc.patch b/patches/chromium/add_realloc.patch index 0860e054fafb..ce1aac2c0769 100644 --- a/patches/chromium/add_realloc.patch +++ b/patches/chromium/add_realloc.patch @@ -39,10 +39,10 @@ index 2aef366ac8194aa261cbca6abc051f7da8a988d3..3c7d66c81032636abcca4f1538ce9b7f GIN_EXPORT static ArrayBufferAllocator* SharedInstance(); diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc -index 3c7a7a5675fce7ba4065f8b2f52e29dc083551a6..85ac9d5d95856470707d320d382743673cd1451a 100644 +index 3252caf936465b36afc0ea0df294f91913723b98..ebb6db2929f2192ca73fb677986b9e07737f8569 100644 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc -@@ -685,6 +685,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator { +@@ -698,6 +698,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator { return result; } diff --git a/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch b/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch index 4e0bdab64b40..9b89cb8e9e1c 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 c6e9b42a85d25e613dbe5431db08430c87799e0a..397a2e0b8afe7aa78729132dad1eb8a307a730f3 100644 +index ec89eeb056d686f8cab6003e456973ff8649df23..108b3a8082d10fd655b965bd6a703a75115801aa 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 c6e9b42a85d25e613dbe5431db08430c87799e0a..397a2e0b8afe7aa78729132dad1eb8a3 // 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 794fcd3774af9bc119a310bf93412da2a7dfd8fe..4a55b407b4647e16906b3b28bbd31a7ccd65e0f4 100644 +index aa893590a39753f1ad200c95c508315b9158695b..e8f01b2d1333f4a0c60212310d7df77f8e32356e 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc @@ -459,6 +459,7 @@ URLLoader::URLLoader( @@ -72,7 +72,7 @@ index 794fcd3774af9bc119a310bf93412da2a7dfd8fe..4a55b407b4647e16906b3b28bbd31a7c if (want_raw_headers_) { options_ |= mojom::kURLLoadOptionSendSSLInfoWithResponse | mojom::kURLLoadOptionSendSSLInfoForCertificateError; -@@ -1126,7 +1132,7 @@ void URLLoader::OnAuthRequired(net::URLRequest* url_request, +@@ -1134,7 +1140,7 @@ void URLLoader::OnAuthRequired(net::URLRequest* url_request, // |this| may have been deleted. return; } @@ -81,7 +81,7 @@ index 794fcd3774af9bc119a310bf93412da2a7dfd8fe..4a55b407b4647e16906b3b28bbd31a7c OnAuthCredentials(base::nullopt); return; } -@@ -1142,11 +1148,20 @@ void URLLoader::OnAuthRequired(net::URLRequest* url_request, +@@ -1150,11 +1156,20 @@ void URLLoader::OnAuthRequired(net::URLRequest* url_request, if (url_request->response_headers()) head->headers = url_request->response_headers(); head->auth_challenge_info = auth_info; @@ -108,10 +108,10 @@ index 794fcd3774af9bc119a310bf93412da2a7dfd8fe..4a55b407b4647e16906b3b28bbd31a7c auth_challenge_responder_receiver_.set_disconnect_handler( base::BindOnce(&URLLoader::DeleteSelf, base::Unretained(this))); diff --git a/services/network/url_loader.h b/services/network/url_loader.h -index 70518f42849e5d1d6e1dd0faf4cae866ba39ef09..b081be5d939b17ecaffa85e75ebb012444bb2bf1 100644 +index 22515b2c0518d5807c3ad001c2b7b7db7bed55d1..3691d8ef63d022fbe9293a5cadaeae438d8b3f8b 100644 --- a/services/network/url_loader.h +++ b/services/network/url_loader.h -@@ -118,6 +118,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader +@@ -120,6 +120,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader base::WeakPtr keepalive_statistics_recorder, base::WeakPtr network_usage_accumulator, mojom::TrustedURLLoaderHeaderClient* url_loader_header_client, @@ -119,7 +119,7 @@ index 70518f42849e5d1d6e1dd0faf4cae866ba39ef09..b081be5d939b17ecaffa85e75ebb0124 mojom::OriginPolicyManager* origin_policy_manager, std::unique_ptr trust_token_helper_factory, -@@ -481,6 +482,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader +@@ -485,6 +486,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader base::Optional fetch_window_id_; mojo::Remote header_client_; @@ -128,10 +128,10 @@ 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 7b9ec0454dfde7e1b950c51eb8d00dcb89e1f900..07da4723043fef85dd8530a844008859f92e3937 100644 +index 2b18ba12e28eab2f91bfbcb53c84a12915a08d9f..73857385d840dd631945a49ed6ff49dbc49dec39 100644 --- a/services/network/url_loader_factory.cc +++ b/services/network/url_loader_factory.cc -@@ -75,6 +75,7 @@ URLLoaderFactory::URLLoaderFactory( +@@ -76,6 +76,7 @@ URLLoaderFactory::URLLoaderFactory( resource_scheduler_client_(std::move(resource_scheduler_client)), header_client_(std::move(params_->header_client)), coep_reporter_(std::move(params_->coep_reporter)), @@ -139,7 +139,7 @@ index 7b9ec0454dfde7e1b950c51eb8d00dcb89e1f900..07da4723043fef85dd8530a844008859 cors_url_loader_factory_(cors_url_loader_factory), cookie_observer_(std::move(params_->cookie_observer)) { DCHECK(context); -@@ -254,6 +255,7 @@ void URLLoaderFactory::CreateLoaderAndStart( +@@ -260,6 +261,7 @@ void URLLoaderFactory::CreateLoaderAndStart( std::move(keepalive_statistics_recorder), std::move(network_usage_accumulator), header_client_.is_bound() ? header_client_.get() : nullptr, diff --git a/patches/chromium/allow_in_process_windows_to_have_different_web_prefs.patch b/patches/chromium/allow_in_process_windows_to_have_different_web_prefs.patch index 0cf7f111d105..9e91a8d7f4e6 100644 --- a/patches/chromium/allow_in_process_windows_to_have_different_web_prefs.patch +++ b/patches/chromium/allow_in_process_windows_to_have_different_web_prefs.patch @@ -8,10 +8,10 @@ WebPreferences of in-process child windows, rather than relying on process-level command line switches, as before. diff --git a/third_party/blink/common/web_preferences/web_preferences.cc b/third_party/blink/common/web_preferences/web_preferences.cc -index 1e51bb68df930c44e165b32c8c03b99986792209..9535330e3e7a3c4621e96eadbf90f4da2bf2daf0 100644 +index 030a534b2fd1aa1635c0a01a7c40e334435611ac..9ad1b84e656339b4075b29e86c6f5c7a9eb10aa6 100644 --- a/third_party/blink/common/web_preferences/web_preferences.cc +++ b/third_party/blink/common/web_preferences/web_preferences.cc -@@ -143,6 +143,29 @@ WebPreferences::WebPreferences() +@@ -144,6 +144,29 @@ WebPreferences::WebPreferences() navigate_on_drag_drop(true), v8_cache_options(blink::mojom::V8CacheOptions::kDefault), record_whole_document(false), @@ -42,7 +42,7 @@ index 1e51bb68df930c44e165b32c8c03b99986792209..9535330e3e7a3c4621e96eadbf90f4da accelerated_video_decode_enabled(false), animation_policy( diff --git a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc -index 912c1bf5919bc657a4903d3fbca60c1013aa9d98..b3759ab22c071ad94062f6c3f7c24920ba3cde47 100644 +index 945a58c91efa27d25b873e39035588a6e3e809cc..3014d779f8dfde02d9c460968d68bb16a7e4d6af 100644 --- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc +++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc @@ -144,6 +144,11 @@ bool StructTraitslazy_frame_loading_distance_thresholds_px) || !data.ReadLazyImageLoadingDistanceThresholdsPx( -@@ -267,6 +272,27 @@ bool StructTraitsnavigate_on_drag_drop = data.navigate_on_drag_drop(); out->v8_cache_options = data.v8_cache_options(); out->record_whole_document = data.record_whole_document(); @@ -86,7 +86,7 @@ index 912c1bf5919bc657a4903d3fbca60c1013aa9d98..b3759ab22c071ad94062f6c3f7c24920 out->accelerated_video_decode_enabled = data.accelerated_video_decode_enabled(); diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h -index 81e4729f540ff272a43c77045187fe3d4bde3ea0..3a2c60f7616f724d3a0399f7fe8becae60d6ae88 100644 +index e2fb2d1d46d3f697515d9dfb36213662cdd0c5e4..0f1e190d9249a23477e99273a2a19c82059f75f6 100644 --- a/third_party/blink/public/common/web_preferences/web_preferences.h +++ b/third_party/blink/public/common/web_preferences/web_preferences.h @@ -9,6 +9,7 @@ @@ -97,7 +97,7 @@ index 81e4729f540ff272a43c77045187fe3d4bde3ea0..3a2c60f7616f724d3a0399f7fe8becae #include "base/strings/string16.h" #include "base/time/time.h" #include "build/build_config.h" -@@ -154,6 +155,29 @@ struct BLINK_COMMON_EXPORT WebPreferences { +@@ -156,6 +157,29 @@ struct BLINK_COMMON_EXPORT WebPreferences { blink::mojom::V8CacheOptions v8_cache_options; bool record_whole_document; @@ -128,7 +128,7 @@ index 81e4729f540ff272a43c77045187fe3d4bde3ea0..3a2c60f7616f724d3a0399f7fe8becae // only controls whether or not the "document.cookie" field is properly // connected to the backing store, for instance if you wanted to be able to diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h -index 74b22fbaad5c8ae911dca4b26bbfffd8e9079856..decef06a6d0cda2da8aa3c88d589dbff75ff369e 100644 +index c40048e55b163e92e7efc46853c968e72cdc7c28..0333a1241f43390a885bbc57d38a434b22fb5b45 100644 --- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h +++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h @@ -6,6 +6,7 @@ @@ -139,7 +139,7 @@ index 74b22fbaad5c8ae911dca4b26bbfffd8e9079856..decef06a6d0cda2da8aa3c88d589dbff #include "mojo/public/cpp/bindings/struct_traits.h" #include "net/nqe/effective_connection_type.h" #include "third_party/blink/public/common/common_export.h" -@@ -452,6 +453,88 @@ struct BLINK_COMMON_EXPORT StructTraitsIsAttached()); @@ -28,7 +28,7 @@ index 8ffe4511fb8327334e4f5eddb1b61300abd30813..069d76b55837f25d4a0de4f1868f815f if (!Client()) return; -@@ -604,6 +600,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) { +@@ -655,6 +651,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) { // Notify WindowProxyManager that the frame is closing, since its cleanup ends // up calling back to LocalFrameClient via WindowProxy. GetWindowProxyManager()->ClearForClose(); diff --git a/patches/chromium/blink_world_context.patch b/patches/chromium/blink_world_context.patch index 300c0e0c037e..c71942e92063 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 747166ac20d4ecc28ec340ed0b91f01b7d8cdb82..2824ca52ba1fe21ac40176e07f40200fcf296ac9 100644 +index 8d52e6302ff08b8c567926557d8b4889faaf0035..e040e340b823893e2c18b2a76b3fe6bc3e24459d 100644 --- a/third_party/blink/public/web/web_local_frame.h +++ b/third_party/blink/public/web/web_local_frame.h -@@ -354,6 +354,8 @@ class WebLocalFrame : public WebFrame { +@@ -350,6 +350,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 747166ac20d4ecc28ec340ed0b91f01b7d8cdb82..2824ca52ba1fe21ac40176e07f40200f // 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 a0d9765370600c652a0ac9025dae2804d5efe245..eb31c99c15a5159295be87330cbafe4931789e00 100644 +index db17b939fe31c66e371b6f67fa5675089d48e76c..9c66747f364a1f55faadd6cb076b7fbe7efec6d8 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,10 +38,10 @@ index a0d9765370600c652a0ac9025dae2804d5efe245..eb31c99c15a5159295be87330cbafe49 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 2aa4d5a60054eb68d79e5d1c4e9afc0a63b866e6..4f4a0dbb87de4e720418f37406a8df328dcb88bd 100644 +index e238b16310c144f1abf25c4bfff94f2fd47374b1..eca3728c5687ab1135c7b6c2f572306049128ee8 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 +@@ -161,6 +161,8 @@ class CORE_EXPORT WebLocalFrameImpl final v8::Local MainWorldScriptContext() const override; int32_t GetScriptContextWorldId( v8::Local script_context) const override; diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index 587fe2eff458..95b5e43e2cc8 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 365d0d8cf45c664160048a7a9606907cb5414292..dd52048e922904826c5b31d13f17dfc954dff6d3 100644 +index 382127e4aa4bf85f8fe5342db987c81973618395..45a9a5211906040fd70477ca04b8fb35d1ec4b37 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -5030,6 +5030,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -5105,6 +5105,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 365d0d8cf45c664160048a7a9606907cb5414292..dd52048e922904826c5b31d13f17dfc9 &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 962cd0fb5a428530cd9e2f8e689f2d09bc95ce1b..ea458219bd182bd9ff21b203c282e7d0738049dd 100644 +index 165f6000cd9b572ddf0341b614a9e8fcf72cae14..3fe2ea96cfa0c920d4d0a3542f1b8457d5375f4e 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3582,6 +3582,14 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( +@@ -3586,6 +3586,14 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( } auto* new_contents_impl = new_contents.get(); @@ -39,7 +39,7 @@ index 962cd0fb5a428530cd9e2f8e689f2d09bc95ce1b..ea458219bd182bd9ff21b203c282e7d0 new_contents_impl->GetController().SetSessionStorageNamespace( partition_id, session_storage_namespace); -@@ -3623,12 +3631,6 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( +@@ -3627,12 +3635,6 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( AddDestructionObserver(new_contents_impl); } @@ -53,10 +53,10 @@ index 962cd0fb5a428530cd9e2f8e689f2d09bc95ce1b..ea458219bd182bd9ff21b203c282e7d0 observer->DidOpenRequestedURL(new_contents_impl, opener, params.target_url, params.referrer.To(), diff --git a/content/common/frame.mojom b/content/common/frame.mojom -index 703c4611691b72380423576eebdadcd23e6ae913..2be0f93b7ea3791bb776158795a44aa7422e19ac 100644 +index 599059dd6d9098cd2deec39a5601ebe2bae6e8c7..c01a459f48960d1f9060ba2ce6e1cc2cda10dfce 100644 --- a/content/common/frame.mojom +++ b/content/common/frame.mojom -@@ -289,6 +289,10 @@ struct CreateNewWindowParams { +@@ -292,6 +292,10 @@ struct CreateNewWindowParams { // The window features to use for the new window. blink.mojom.WindowFeatures features; @@ -68,7 +68,7 @@ index 703c4611691b72380423576eebdadcd23e6ae913..2be0f93b7ea3791bb776158795a44aa7 // 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 df7dd27659ab16f81b5960610eb883e5dd1df7f4..c180b0ab0081631acfc675dacd2df92d8838ef02 100644 +index 3a29578361516484febe20950c7321d661cda7e7..1c10e687a745b261cd57c045c2d7abfc5d1ae6e8 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -543,6 +543,8 @@ bool ContentBrowserClient::CanCreateWindow( @@ -81,7 +81,7 @@ index df7dd27659ab16f81b5960610eb883e5dd1df7f4..c180b0ab0081631acfc675dacd2df92d 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 0f1befe8b66a32e079f087bdbb3cd072162faa1a..dfee3e388a9097c511d47cf09756dc37c5b63cda 100644 +index ce69e43769b267ba0e96a7006fa4352639b49a1e..e90958ad2c59e0ce54713af341ed7f69f8915564 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -153,6 +153,7 @@ class NetworkService; @@ -92,7 +92,7 @@ index 0f1befe8b66a32e079f087bdbb3cd072162faa1a..dfee3e388a9097c511d47cf09756dc37 } // namespace network namespace sandbox { -@@ -864,6 +865,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -875,6 +876,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -102,10 +102,10 @@ index 0f1befe8b66a32e079f087bdbb3cd072162faa1a..dfee3e388a9097c511d47cf09756dc37 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 331be91414da82a8311b55c7568a4c6f5c5a6977..b0513d20bd48fe8ffe8398b5387e13545749c508 100644 +index 88e89a64cd0333de5fd38aaf2e29f39c8c6a2a20..3abbd89cf26a5e9d53352ad8c9f70d9d0bc52399 100644 --- a/content/public/browser/web_contents_delegate.cc +++ b/content/public/browser/web_contents_delegate.cc -@@ -26,6 +26,17 @@ namespace content { +@@ -27,6 +27,17 @@ namespace content { WebContentsDelegate::WebContentsDelegate() = default; @@ -124,7 +124,7 @@ index 331be91414da82a8311b55c7568a4c6f5c5a6977..b0513d20bd48fe8ffe8398b5387e1354 const OpenURLParams& params) { return nullptr; diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 5f8ccea8e3a48057bdb0180ae5a9b499be4e710a..94f576a6d52731f92c65adb958be5ca0a3391d4c 100644 +index 775591c60fc916bf4193d009b4e1dfe684f764ae..f03649cb9c4ffb83d87031bdad6eb55cf9b9c9bf 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -17,6 +17,7 @@ @@ -132,10 +132,10 @@ index 5f8ccea8e3a48057bdb0180ae5a9b499be4e710a..94f576a6d52731f92c65adb958be5ca0 #include "build/build_config.h" #include "content/common/content_export.h" +#include "content/common/frame.mojom.h" - #include "content/public/browser/bluetooth_chooser.h" - #include "content/public/browser/bluetooth_scanning_prompt.h" #include "content/public/browser/eye_dropper.h" -@@ -338,6 +339,13 @@ class CONTENT_EXPORT WebContentsDelegate { + #include "content/public/browser/invalidate_type.h" + #include "content/public/browser/media_stream_request.h" +@@ -337,6 +338,13 @@ class CONTENT_EXPORT WebContentsDelegate { const std::string& partition_id, SessionStorageNamespace* session_storage_namespace); @@ -150,10 +150,10 @@ index 5f8ccea8e3a48057bdb0180ae5a9b499be4e710a..94f576a6d52731f92c65adb958be5ca0 // 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 253d22d0f171fc4897e8ae3c01c053ea24ce1d26..3569e6f3940d71c09720ada159f54e524e247f43 100644 +index c1c157be3bc03191238e277c37bcbaa538044ac6..56078bfb65032a6556516c2c69d891beb28e048f 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc -@@ -27,6 +27,7 @@ +@@ -25,6 +25,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" @@ -161,7 +161,7 @@ index 253d22d0f171fc4897e8ae3c01c053ea24ce1d26..3569e6f3940d71c09720ada159f54e52 #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( +@@ -383,6 +384,10 @@ WebView* RenderViewImpl::CreateView( } params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features); @@ -221,10 +221,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 2940caafb9f4d5ab3fc493dc15652e232468e3f4..4741ecfb249ccb7e88d3d8c4cf18b878f9b2b58d 100644 +index 1b7d52acbd161bc37cbcbd1ee5581dd230b07643..d2f1e27489ac0767c3390f0a80c453844191944f 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -1961,6 +1961,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -1955,6 +1955,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, } WebWindowFeatures window_features = GetWindowFeaturesFromString(features); diff --git a/patches/chromium/chore_expose_v8_initialization_isolate_callbacks.patch b/patches/chromium/chore_expose_v8_initialization_isolate_callbacks.patch index bdef1a23644f..1f5b9afbb6bc 100644 --- a/patches/chromium/chore_expose_v8_initialization_isolate_callbacks.patch +++ b/patches/chromium/chore_expose_v8_initialization_isolate_callbacks.patch @@ -9,10 +9,10 @@ we're running with contextIsolation enabled, we should be falling back to Blink's logic. This will be upstreamed in some form. diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc -index 85ac9d5d95856470707d320d382743673cd1451a..398095d8890cee3f8838170a86ccb48010ff74a0 100644 +index ebb6db2929f2192ca73fb677986b9e07737f8569..a1450c55841de39bbf3f1809ad2507991c01ced1 100644 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc -@@ -438,7 +438,7 @@ CodeGenerationCheckCallbackInMainThread(v8::Local context, +@@ -451,7 +451,7 @@ CodeGenerationCheckCallbackInMainThread(v8::Local context, return {true, std::move(stringified_source)}; } diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index 8b09f1fdb941..29f4994ce5d3 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -67,7 +67,7 @@ index a52c550f1aeadcdb36948078ed5fec24838c3da8..4aaddf84c0b3574218df5bdea77a7296 return extension && extension->id() == app_id_; } diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc -index aba8e2273c98d2dc9a01a698f8de187056b3ce01..5141b4d1a711416f4dfc030838b9cf22e7613f8b 100644 +index e6caf513b77c8f59627ba090a6f1bcd97a213c83..1fda47d0397c44792da895055a06e4ef60bfa43b 100644 --- a/chrome/browser/media/offscreen_tab.cc +++ b/chrome/browser/media/offscreen_tab.cc @@ -282,8 +282,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden( @@ -126,7 +126,7 @@ index 07014765f33bdddebcc5bc32a2713d6523faf394..f866f69f9c810d89f1a0e9e4952293f6 content::WebContents* source, const content::OpenURLParams& params) override; diff --git a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc -index 3d9b343765bdca5723a94e00db1426308a641a50..57afd89cb06ff255f126c7f7784f10e7689cefe3 100644 +index dc7f3bc886e7130c66d98ae6de73c17db746cbe5..6197db3570c860f39f381370e1af37f86a0785ea 100644 --- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc +++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc @@ -64,8 +64,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate, @@ -140,10 +140,10 @@ index 3d9b343765bdca5723a94e00db1426308a641a50..57afd89cb06ff255f126c7f7784f10e7 } diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index 30a8f5eeaedb9bc186faabca645917bc53e7f041..8e7316a1255f9de8f3374b7ed99a8c8f42701b43 100644 +index f0dd940d751d96264ac72005299bfeb9302f59da..af2e6b4b5f2844b3b9980fa1217c1a4d80bf36cb 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -1818,12 +1818,11 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -1794,12 +1794,11 @@ bool Browser::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -159,10 +159,10 @@ index 30a8f5eeaedb9bc186faabca645917bc53e7f041..8e7316a1255f9de8f3374b7ed99a8c8f WebContents* Browser::CreateCustomWebContents( diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h -index 79cde7e1b913e91a15405a0ae1cd7e97fa11971e..b5f00b336b0e15e675f8ce03997343f24b5b0e51 100644 +index afd852999cd7716d246a31aa407fc262bb5dc128..eda30ed795d6599fa6ee25bfde155fc17148d761 100644 --- a/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h -@@ -769,8 +769,7 @@ class Browser : public TabStripModelObserver, +@@ -776,8 +776,7 @@ class Browser : public TabStripModelObserver, content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -173,10 +173,10 @@ index 79cde7e1b913e91a15405a0ae1cd7e97fa11971e..b5f00b336b0e15e675f8ce03997343f2 content::RenderFrameHost* opener, content::SiteInstance* source_site_instance, diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc -index 41177655d0608837ff7af7b944f22b1e657c68f6..6068228781eb1dabe1890f9121a3f86df4f6ac52 100644 +index 03e8c4f0a78567e487603f1f6a686d489c9f8ffc..27223fce30c9de33fde3fd2bdcf7ce866452d35b 100644 --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc -@@ -201,8 +201,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden( +@@ -200,8 +200,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -264,10 +264,10 @@ index c5c5a7b63b5b3b62a9517cbef3ae23ce57a3c89c..4f1b7e88d6d2ae89a60311c8aeb1fcee void AddNewContents(content::WebContents* source, std::unique_ptr new_contents, diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 2a80aaa5d4421bf2b3a46cc1674256944b33a1fa..409c300c3831bb3fd3f0a019fb6e85bd866a705a 100644 +index bd74e5c793144ecc08f7594a448f7fda36699cd6..4b103f7d8597a1b54a44aeec5fe3a6bf585cc5a7 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3543,8 +3543,7 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( +@@ -3547,8 +3547,7 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( source_site_instance, params.window_container_type, @@ -278,10 +278,10 @@ index 2a80aaa5d4421bf2b3a46cc1674256944b33a1fa..409c300c3831bb3fd3f0a019fb6e85bd opener, source_site_instance, is_new_browsing_instance, opener->GetLastCommittedURL(), params.frame_name, params.target_url, diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc -index b0513d20bd48fe8ffe8398b5387e13545749c508..7ce75c95771cc0053db01ec5318a68624bae9f4d 100644 +index 3abbd89cf26a5e9d53352ad8c9f70d9d0bc52399..c5b4c9ef5b508de0bc41e9c3ece15c52d8e30fbf 100644 --- a/content/public/browser/web_contents_delegate.cc +++ b/content/public/browser/web_contents_delegate.cc -@@ -134,8 +134,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden( +@@ -135,8 +135,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden( SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -292,10 +292,10 @@ index b0513d20bd48fe8ffe8398b5387e13545749c508..7ce75c95771cc0053db01ec5318a6862 } diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 94f576a6d52731f92c65adb958be5ca0a3391d4c..33359363fa18364d254aab5360f4c952f358bd17 100644 +index f03649cb9c4ffb83d87031bdad6eb55cf9b9c9bf..042599ae463cf6b20ba59efefd22a049457a1e36 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h -@@ -317,8 +317,7 @@ class CONTENT_EXPORT WebContentsDelegate { +@@ -316,8 +316,7 @@ class CONTENT_EXPORT WebContentsDelegate { SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -362,10 +362,10 @@ index a7f0b19a8ab9bac6f1315ebd715d8e1b134edfe1..cbe2912d4ab2d9015396bbddf7836e10 content::RenderFrameHost* opener, content::SiteInstance* source_site_instance, diff --git a/fuchsia/engine/browser/frame_impl.cc b/fuchsia/engine/browser/frame_impl.cc -index 32a8e39b23bdf962b88eba3a40346febfbac298a..bc120621e1df1921651f3323650a8644ff688933 100644 +index 26e369985a4c9d74a9cdb0b3f5a4fb54b362446b..49313fcbdb0087ae2760e2349d525e5db3d83226 100644 --- a/fuchsia/engine/browser/frame_impl.cc +++ b/fuchsia/engine/browser/frame_impl.cc -@@ -346,8 +346,7 @@ bool FrameImpl::IsWebContentsCreationOverridden( +@@ -350,8 +350,7 @@ bool FrameImpl::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -376,10 +376,10 @@ index 32a8e39b23bdf962b88eba3a40346febfbac298a..bc120621e1df1921651f3323650a8644 // can catch bad client behavior while not interfering with normal operation. constexpr size_t kMaxPendingWebContentsCount = 10; diff --git a/fuchsia/engine/browser/frame_impl.h b/fuchsia/engine/browser/frame_impl.h -index 7027e5ee119d52ce9a43a1901beb18a81161512c..f20f7b169b10f68b8e0a3115a058378c6058e229 100644 +index e9659cf47b84660351dbe3651d9b35551cfa0b54..43e9c896c0d963e45f4a84d68f3fd01d2c892e2f 100644 --- a/fuchsia/engine/browser/frame_impl.h +++ b/fuchsia/engine/browser/frame_impl.h -@@ -198,8 +198,7 @@ class FrameImpl : public fuchsia::web::Frame, +@@ -202,8 +202,7 @@ class FrameImpl : public fuchsia::web::Frame, content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -390,10 +390,10 @@ index 7027e5ee119d52ce9a43a1901beb18a81161512c..f20f7b169b10f68b8e0a3115a058378c int opener_render_process_id, int opener_render_frame_id, diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc -index ebe323930ac3298b182c08e6b78c635e785ea4fa..5c1846d948cd6394252a8c94790aa3094f8c9c33 100644 +index b3e8582ca50b70b88c1e4804a93db42eac938337..367e25b1a50032413aa981252107d138d772893b 100644 --- a/headless/lib/browser/headless_web_contents_impl.cc +++ b/headless/lib/browser/headless_web_contents_impl.cc -@@ -164,8 +164,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate { +@@ -170,8 +170,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate { content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, 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 3cb02b4822da..9a0e0d2b85e7 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 e1b02843ed1e06a390f822bdba218582376f7600..7b911979d770ce4dae50c14dc3241102171a2855 100644 +index 8d975d91cfe395ba756bb72558a01358c5c580e5..00bcbab2d0aad81027a1c6e8781c446cde55ba8c 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -6010,6 +6010,7 @@ static_library("browser") { +@@ -6070,6 +6070,7 @@ static_library("browser") { deps += [ "//components/spellcheck/browser", "//components/spellcheck/common", diff --git a/patches/chromium/chrome_key_systems.patch b/patches/chromium/chrome_key_systems.patch index 9a7cb541f34f..7ff56208f05d 100644 --- a/patches/chromium/chrome_key_systems.patch +++ b/patches/chromium/chrome_key_systems.patch @@ -7,7 +7,7 @@ Disable persiste licence support check for widevine cdm, as its not supported in the current version of chrome. diff --git a/chrome/renderer/media/chrome_key_systems.cc b/chrome/renderer/media/chrome_key_systems.cc -index 045f2d628300646eab7eda44f3786b6d38181679..7cf666b96d97777588f6890bbf592476f2d70d8f 100644 +index 3e5362e972a8534882ace7de24009f3175ed1b44..6060301bfb982a4b2130e3dcca5992d76588e280 100644 --- a/chrome/renderer/media/chrome_key_systems.cc +++ b/chrome/renderer/media/chrome_key_systems.cc @@ -15,7 +15,9 @@ diff --git a/patches/chromium/command-ismediakey.patch b/patches/chromium/command-ismediakey.patch index e26685306067..7ed812f1873a 100644 --- a/patches/chromium/command-ismediakey.patch +++ b/patches/chromium/command-ismediakey.patch @@ -11,7 +11,7 @@ and electron/electron@d2368d2d3b3de9eec4cc32b6aaf035cc89921bf1 as patches. diff --git a/chrome/browser/extensions/global_shortcut_listener_win.cc b/chrome/browser/extensions/global_shortcut_listener_win.cc -index c5125495b4d178ffb18be4d2d9670f7556412cbd..cddb321abb938c667a4a2089f87eab999510e9b1 100644 +index 0f344ee352a48497e77a72bb298146c61e7fcf2a..3bad4263ea552fc63445bf5613f8add746a3a374 100644 --- a/chrome/browser/extensions/global_shortcut_listener_win.cc +++ b/chrome/browser/extensions/global_shortcut_listener_win.cc @@ -62,6 +62,8 @@ void GlobalShortcutListenerWin::OnWndProc(HWND hwnd, @@ -32,10 +32,10 @@ index c5125495b4d178ffb18be4d2d9670f7556412cbd..cddb321abb938c667a4a2089f87eab99 // Create an observer that registers a hot key for |accelerator|. std::unique_ptr observer = diff --git a/chrome/browser/extensions/global_shortcut_listener_x11.cc b/chrome/browser/extensions/global_shortcut_listener_x11.cc -index 47284879c3c16d355e476a8d283f97df93a3e021..d40d7fedeff3283f9108f938edf55c7f7197601e 100644 +index e1c49f5cd9bd249398a14905a6fb41d54238e1ec..ad1c76e77e029d759547f6aded492ae62a7ce946 100644 --- a/chrome/browser/extensions/global_shortcut_listener_x11.cc +++ b/chrome/browser/extensions/global_shortcut_listener_x11.cc -@@ -38,7 +38,8 @@ x11::ModMask GetNativeModifiers(const ui::Accelerator& accelerator) { +@@ -37,7 +37,8 @@ x11::ModMask GetNativeModifiers(const ui::Accelerator& accelerator) { constexpr auto kNoMods = x11::ModMask{}; return (accelerator.IsShiftDown() ? x11::ModMask::Shift : kNoMods) | (accelerator.IsCtrlDown() ? x11::ModMask::Control : kNoMods) | diff --git a/patches/chromium/content_browser_main_loop.patch b/patches/chromium/content_browser_main_loop.patch index 4796a3df5ecc..4fc6082ea975 100644 --- a/patches/chromium/content_browser_main_loop.patch +++ b/patches/chromium/content_browser_main_loop.patch @@ -8,7 +8,7 @@ run before shutdown. This is required to cleanup WebContents asynchronously in electron::api::WebContents::ResetManagedWebContents. diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc -index d35d26b1f572f084d5ffd25d191c62fdf5064ed4..c274bd867d5ca66f49d72eeffee5702825b4c067 100644 +index 339b5f24416acbab0a3f184b91781df620991cf4..aac9db90a59b6f442abab6286b59dffd39c55cab 100644 --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc @@ -1457,7 +1457,7 @@ void BrowserMainLoop::MainMessageLoopRun() { diff --git a/patches/chromium/crash_allow_setting_more_options.patch b/patches/chromium/crash_allow_setting_more_options.patch index 35a3f74d199c..f6dc7a6e7ff5 100644 --- a/patches/chromium/crash_allow_setting_more_options.patch +++ b/patches/chromium/crash_allow_setting_more_options.patch @@ -75,10 +75,10 @@ index aaa9ad1d58d7f584cbf391e0cb0a61a0d25d5c69..5b02834b5ecaf4bcb7e051d9ee98cd5e // Used by WebView to sample crashes without generating the unwanted dumps. If // the returned value is less than 100, crash dumping will be sampled to that diff --git a/components/crash/core/app/crashpad_mac.mm b/components/crash/core/app/crashpad_mac.mm -index aa7c3302f2e3fc7129381b355ed4fa1bc386f8cb..d7dd05118f3c90f5ab570f59685c43bd180885e5 100644 +index eb675321436a53e82432144d43f258bed6e938e2..ae2032a12eac7c789d790e53857d11ba3e03d510 100644 --- a/components/crash/core/app/crashpad_mac.mm +++ b/components/crash/core/app/crashpad_mac.mm -@@ -71,6 +71,8 @@ +@@ -77,6 +77,8 @@ } // @autoreleasepool return process_annotations; }(); @@ -87,7 +87,7 @@ index aa7c3302f2e3fc7129381b355ed4fa1bc386f8cb..d7dd05118f3c90f5ab570f59685c43bd return annotations; } -@@ -141,6 +143,13 @@ void DumpProcessWithoutCrashing(task_t task_port) { +@@ -147,6 +149,13 @@ void DumpProcessWithoutCrashing(task_t task_port) { std::vector arguments; diff --git a/patches/chromium/dcheck.patch b/patches/chromium/dcheck.patch index 8b2661a96408..7a8b0e55c202 100644 --- a/patches/chromium/dcheck.patch +++ b/patches/chromium/dcheck.patch @@ -17,7 +17,7 @@ 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 b3b86c8a6a11712a12632a1a35f4eb836995c4d4..4aa744fb25f2c859f4dbcb9d0ead6d8d9cddf6ef 100644 +index 218d8a44cac5eb835ba3f0dc7eb3790e6f766b4c..178645bff0ccd891d1344c80e3c2b20b8acf17c2 100644 --- a/content/browser/renderer_host/navigation_controller_impl.cc +++ b/content/browser/renderer_host/navigation_controller_impl.cc @@ -1269,8 +1269,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation( @@ -46,10 +46,10 @@ index b3b86c8a6a11712a12632a1a35f4eb836995c4d4..4aa744fb25f2c859f4dbcb9d0ead6d8d // navigation. Now we know that the renderer has updated its state accordingly // and it is safe to also clear the browser side history. diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc -index d9e0b1e5820dc1d847cd1e74338476bf22f5cb12..ca75b9b34fe191c430e524bb9828a051cdeab157 100644 +index 344b847b0e272ed999cf9a58418f5857491f678c..b0191ba503f7206ee5432e4ccd0a5d62441419db 100644 --- a/ui/base/clipboard/clipboard_win.cc +++ b/ui/base/clipboard/clipboard_win.cc -@@ -850,10 +850,10 @@ SkBitmap ClipboardWin::ReadImageInternal(ClipboardBuffer buffer) const { +@@ -817,10 +817,10 @@ SkBitmap ClipboardWin::ReadImageInternal(ClipboardBuffer buffer) const { void ClipboardWin::WriteToClipboard(ClipboardFormatType format, HANDLE handle) { UINT cf_format = format.ToFormatEtc().cfFormat; diff --git a/patches/chromium/delay_lock_the_protocol_scheme_registry.patch b/patches/chromium/delay_lock_the_protocol_scheme_registry.patch index 71317a317d49..f593e8de19a7 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 940dce1a37e7a4489952ac394675b8366b291767..f690f5fccbb527bb0c951de8fa192ab8020efb10 100644 +index 6f5d40dd324d84a5142327cfaf65913688d486b5..ff1a793b45eebfe8686c8af56ebac8d760bc6dbc 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc -@@ -659,7 +659,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) { +@@ -660,7 +660,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) { } #endif diff --git a/patches/chromium/disable-redraw-lock.patch b/patches/chromium/disable-redraw-lock.patch index beff0bb2a727..123f1c1eee64 100644 --- a/patches/chromium/disable-redraw-lock.patch +++ b/patches/chromium/disable-redraw-lock.patch @@ -15,7 +15,7 @@ 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 efe18b52959ad51b5b9bdef76bddf163eb5addd7..4a0479963b620cc6e50f82b2661df49a4fa202b7 100644 +index 5e202cabf38c81ce540d0f25d1fc32b2e787a148..9efbc5d9bdfb3fc659560b57394446158babe6b3 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -308,6 +308,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; @@ -37,7 +37,7 @@ index efe18b52959ad51b5b9bdef76bddf163eb5addd7..4a0479963b620cc6e50f82b2661df49a (!(GetWindowLong(hwnd_, GWL_STYLE) & WS_CAPTION) || !ui::win::IsAeroGlassEnabled())) { if (should_lock_) -@@ -972,6 +977,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() { +@@ -973,6 +978,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() { return scoped_enable; } @@ -49,7 +49,7 @@ index efe18b52959ad51b5b9bdef76bddf163eb5addd7..4a0479963b620cc6e50f82b2661df49a // HWNDMessageHandler, gfx::WindowImpl overrides: diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h -index 7118ff56f0dd1c6291e4095ce7f3d8fc723f0398..5dbaab15ee1667ed1caf0b746b8e31d1b12a7b52 100644 +index 5e5845b4b953bbf6343032a89d9da6ca6ee73426..fe0f5272307a5d51fbc9455873fed9e563abc196 100644 --- a/ui/views/win/hwnd_message_handler.h +++ b/ui/views/win/hwnd_message_handler.h @@ -203,6 +203,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl, diff --git a/patches/chromium/disable_color_correct_rendering.patch b/patches/chromium/disable_color_correct_rendering.patch index 212a32845fb1..460d3836b9a1 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 eca1d1abd226bc2bb2823788a7ceef20bf0b0d9c..345c319d74b90196244e4f978a20a81fbd22cb53 100644 +index 9efdf67d48cb99254f5e0d6d375939f8ac0a7d36..7798cd55827c9a8402fb490c15916feb0f1ef104 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -1765,6 +1765,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( +@@ -1773,6 +1773,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( gfx::ColorSpace LayerTreeHostImpl::GetRasterColorSpace( gfx::ContentColorUsage content_color_usage) const { @@ -35,10 +35,10 @@ index eca1d1abd226bc2bb2823788a7ceef20bf0b0d9c..345c319d74b90196244e4f978a20a81f // If we are likely to software composite the resource, we use sRGB because diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h -index 64fe3c1c3f60758c25f9bc88daedf35633508aa7..a2e9ebb3dc31b4e8665376ffb1f805c6093bce5c 100644 +index 3d411412c72f3d23f71529617e7d11fe34509c34..f7d66bc1e075c0313d16b3c426ebefa0f5c85d72 100644 --- a/cc/trees/layer_tree_settings.h +++ b/cc/trees/layer_tree_settings.h -@@ -98,6 +98,8 @@ class CC_EXPORT LayerTreeSettings { +@@ -97,6 +97,8 @@ class CC_EXPORT LayerTreeSettings { bool use_rgba_4444 = false; bool unpremultiply_and_dither_low_bit_depth_tiles = false; @@ -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 fe0db90b46e7aa9c3d867644e54af3013b2121c7..24a726cab9c49a7a302a5b8688f5d4380b7cebb1 100644 +index be7906b3e02af81aac501bd8861d8d55aa9c19e4..5b958e84c089122f1b7242fb48d7048cf0333c69 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 fe0db90b46e7aa9c3d867644e54af3013b2121c7..24a726cab9c49a7a302a5b8688f5d438 /*adjust_src_white_level=*/draw_cache_.is_video_frame); if (current_program_->rounded_corner_rect_location() != -1) { -@@ -3651,7 +3661,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color, +@@ -3654,7 +3664,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 fe0db90b46e7aa9c3d867644e54af3013b2121c7..24a726cab9c49a7a302a5b8688f5d438 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, -@@ -4031,9 +4043,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource( +@@ -4034,9 +4046,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource( cc::MathUtil::CheckedRoundUp(iosurface_height, iosurface_multiple); } @@ -211,7 +211,7 @@ index fe0db90b46e7aa9c3d867644e54af3013b2121c7..24a726cab9c49a7a302a5b8688f5d438 *new_bounds = gfx::RectF(updated_dst_rect.origin(), gfx::SizeF((*overlay_texture)->texture.size())); -@@ -4253,8 +4265,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) { +@@ -4256,8 +4268,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) { PrepareGeometry(SHARED_BINDING); @@ -222,14 +222,14 @@ index fe0db90b46e7aa9c3d867644e54af3013b2121c7..24a726cab9c49a7a302a5b8688f5d438 gfx::Transform render_matrix; render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(), -@@ -4444,3 +4456,5 @@ GLRenderer::OverlayTexture::OverlayTexture() = default; +@@ -4447,3 +4459,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 7a977d2dcab1d7f9982f32c2d519169bf5439385..d8366a9af7d4b5ae63cd55971195e4a649cd6b0f 100644 +index b875d6eb58f64cf071dc8609cab529a32ed909dc..8817caab8cce6f7b0d96ca04ca43e9eaf4644e7b 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc @@ -223,6 +223,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( @@ -241,10 +241,10 @@ index 7a977d2dcab1d7f9982f32c2d519169bf5439385..d8366a9af7d4b5ae63cd55971195e4a6 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 a01596138b0b6f05a74ff0668e73e90de155f219..c6837cc027aa5953ae1e0f5887413ce31ff0495a 100644 +index b85f1869b42d7b485bba5872d70da6c0d5f17d82..8f68b3c14c712bedaa987325a1799ffa693c2f29 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -224,6 +224,7 @@ +@@ -223,6 +223,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 a01596138b0b6f05a74ff0668e73e90de155f219..c6837cc027aa5953ae1e0f5887413ce3 #include "ui/gl/gl_switches.h" #include "ui/native_theme/native_theme_features.h" #include "url/origin.h" -@@ -3267,6 +3268,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3268,6 +3269,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,7 +305,7 @@ 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 8729e948dc9eae8562ea4b45886daf0324c59889..414476a25fc54ad0a1173825ab3cfc7637017444 100644 +index 151ecd87db422422355bcf316ec3d7e0391d7a2b..29e6f43b088141a9084e0005896083c2312ebd4a 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 @@ -24,6 +24,7 @@ @@ -327,7 +327,7 @@ index 8729e948dc9eae8562ea4b45886daf0324c59889..414476a25fc54ad0a1173825ab3cfc76 // is what the renderer uses if its not threaded. settings.enable_checker_imaging = diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc -index 3e80dc40c83bd4eb96f9029643c4a0856253494e..8e19a78f106daf4185ee69970832ea1237d3d03b 100644 +index ec83bd814a0d5d6802b349d08b22013a0d99e015..043e769e7db9773de2054dcc66f13f062823f58f 100644 --- a/ui/gfx/mac/io_surface.cc +++ b/ui/gfx/mac/io_surface.cc @@ -18,6 +18,7 @@ @@ -353,7 +353,7 @@ index 3e80dc40c83bd4eb96f9029643c4a0856253494e..8e19a78f106daf4185ee69970832ea12 // Allow but ignore invalid color spaces. if (!color_space.IsValid()) return true; -@@ -265,6 +274,15 @@ IOSurfaceRef CreateIOSurface(const gfx::Size& size, +@@ -286,6 +295,15 @@ IOSurfaceRef CreateIOSurface(const gfx::Size& size, DCHECK_EQ(kIOReturnSuccess, r); } diff --git a/patches/chromium/disable_compositor_recycling.patch b/patches/chromium/disable_compositor_recycling.patch index 7aa31487de06..018059e8b9a1 100644 --- a/patches/chromium/disable_compositor_recycling.patch +++ b/patches/chromium/disable_compositor_recycling.patch @@ -6,10 +6,10 @@ Subject: fix: disabling compositor recycling Compositor recycling is useful for Chrome because there can be many tabs and spinning up a compositor for each one would be costly. In practice, Chrome uses the parent compositor code path of browser_compositor_view_mac.mm; the NSView of each tab is detached when it's hidden and attached when it's shown. For Electron, there is no parent compositor, so we're forced into the "own compositor" code path, which seems to be non-optimal and pretty ruthless in terms of the release of resources. Electron has no real concept of multiple tabs per window, so it should be okay to disable this ruthless recycling altogether in Electron. diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm -index 0a0784d4ba5c409eb2dbd370cace906a63fbbc05..42b8addaecb58e53fe0d5d684ccb3c110919a3ba 100644 +index 47b6310b96198f6c759026cda28f782fd0431430..be8c3574a0a064e1476bdcd0317ddb2539e19e42 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm -@@ -481,7 +481,11 @@ +@@ -484,7 +484,11 @@ return; host()->WasHidden(); diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index 91cc0c39ba36..f441fd6e33ff 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 e8fb8793645821940bc41ced7cc14af404a1e229..ffe62ea1114943d1535a806fa515122c47072372 100644 +index bf546bdc9b79f4dd126850a49865923178c0813f..8cd93fb2a795fe3b5158fe7f9446c570859aeb7b 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -689,6 +689,9 @@ void RenderWidgetHostImpl::WasHidden() { +@@ -676,6 +676,9 @@ void RenderWidgetHostImpl::WasHidden() { if (is_hidden_) return; @@ -20,10 +20,10 @@ index e8fb8793645821940bc41ced7cc14af404a1e229..ffe62ea1114943d1535a806fa515122c 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 111ffbd4ee5d6a7093c32f9c1b1f827dc802f4fa..af5d67ff3ebc74c022800fd8ae3c139fc5806639 100644 +index 770605ddbb4b15545144eb145d7421f3004123f6..7be03ae10815e4b811a87350966e294748822188 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h -@@ -174,6 +174,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl +@@ -173,6 +173,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl // RenderWidgetHostImpl. static RenderWidgetHostImpl* From(RenderWidgetHost* rwh); @@ -34,7 +34,7 @@ index 111ffbd4ee5d6a7093c32f9c1b1f827dc802f4fa..af5d67ff3ebc74c022800fd8ae3c139f const base::TimeDelta& delay) { new_content_rendering_delay_ = delay; diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc -index f32ba1d31ddb1ca68e889f0ae0cc7a5b3357f58c..08122746971e88792481af96b9270c5ff503c3b2 100644 +index 92e5c944d44b947a9f9cecfdf89fe09b2c8a5960..2023b4774e745e83f86250a06278c2ce70d9fdfb 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc @@ -625,7 +625,7 @@ void RenderWidgetHostViewAura::HideImpl() { diff --git a/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch b/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch index cabde43051bc..5ce3ab98276b 100644 --- a/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch +++ b/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch @@ -21,10 +21,10 @@ index da2aeb2f2da84fe47d5cc7d721f8d3dade0c0972..4ddad9065782fad5927bc0481ad77201 #endif std::shared_ptr GetForegroundTaskRunner( diff --git a/gin/v8_platform.cc b/gin/v8_platform.cc -index 9cec7468189af7f290ff32c184f0a7baa636be62..e4f20e56680e652ca99b416d352e4a2ec1b79509 100644 +index 432c4aa82775a5faf53dfbc9c0e7036b753b3304..dc7097f466abc119839666e0a95db63a75a39e00 100644 --- a/gin/v8_platform.cc +++ b/gin/v8_platform.cc -@@ -439,6 +439,10 @@ v8::PageAllocator* V8Platform::GetPageAllocator() { +@@ -454,6 +454,10 @@ v8::PageAllocator* V8Platform::GetPageAllocator() { return g_page_allocator.Pointer(); } diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index 275e8a3995e8..ae4aa62a303d 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 12d4c84230994b1ef2e4914945d1f3617c54eb0c..3206163070281a00d13e95f22215af789cb1214c 100644 +index daec1d32ea084aadc86a455daaf5466a5a274554..c07b3ac39d4e5ee94dbb10b281cc95c32683f213 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1091,6 +1091,13 @@ void NetworkContext::SetNetworkConditions( +@@ -1104,6 +1104,13 @@ void NetworkContext::SetNetworkConditions( std::move(network_conditions)); } @@ -51,10 +51,10 @@ index 12d4c84230994b1ef2e4914945d1f3617c54eb0c..3206163070281a00d13e95f22215af78 // 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 95d1aa8cdaf6e0417475bcf95fed28cb2867431c..d081918cf278d1d7b7168b4caeb8264c7e503453 100644 +index 748e6219ad44baa100ebb0f9620e5079caae75cc..96527e9ef3ba3251b21f52a23e6b8febb5c474ce 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -246,6 +246,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -248,6 +248,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CloseIdleConnections(CloseIdleConnectionsCallback callback) override; void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id, mojom::NetworkConditionsPtr conditions) override; @@ -63,10 +63,10 @@ index 95d1aa8cdaf6e0417475bcf95fed28cb2867431c..d081918cf278d1d7b7168b4caeb8264c void SetEnableReferrers(bool enable_referrers) override; #if BUILDFLAG(IS_ASH) diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index 19a76ea08c4301c6cb10bc65c1a49ac0e93c3c5e..c6e9b42a85d25e613dbe5431db08430c87799e0a 100644 +index b0065647d08f3208446d0c996276d6394d80409e..ec89eeb056d686f8cab6003e456973ff8649df23 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1062,6 +1062,9 @@ interface NetworkContext { +@@ -1074,6 +1074,9 @@ interface NetworkContext { SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, NetworkConditions? conditions); @@ -77,10 +77,10 @@ index 19a76ea08c4301c6cb10bc65c1a49ac0e93c3c5e..c6e9b42a85d25e613dbe5431db08430c SetAcceptLanguage(string new_accept_language); diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h -index 3c5e139c9c40fc2844084c48f531ca40041f6112..c27e79d6175c8394681904e144a1925b92794200 100644 +index ff87a952a866b490aadc732786fcb6e54e03b0d6..a8005f98f5a619df03193a9e132a12c9a6c82d6f 100644 --- a/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h -@@ -108,6 +108,7 @@ class TestNetworkContext : public mojom::NetworkContext { +@@ -110,6 +110,7 @@ class TestNetworkContext : public mojom::NetworkContext { void CloseIdleConnections(CloseIdleConnectionsCallback callback) override {} void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id, mojom::NetworkConditionsPtr conditions) override {} 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 669d1afeeb69..bdd45568b1df 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 87e2cd7398a8cee32f76e80ffa29c4addbf8ba4a..b315eab3c482b1517b61153e1d64fc08a99cb548 100644 +index 32b264749c2ccd933e06d033ecca85b2721d0801..0caa3a4408abda7444471c8048a0bdbceab9b673 100644 --- a/ui/native_theme/native_theme.cc +++ b/ui/native_theme/native_theme.cc -@@ -256,6 +256,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors) +@@ -257,6 +257,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors) NativeTheme::~NativeTheme() = default; bool NativeTheme::ShouldUseDarkColors() const { @@ -26,10 +26,10 @@ index 87e2cd7398a8cee32f76e80ffa29c4addbf8ba4a..b315eab3c482b1517b61153e1d64fc08 } diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h -index e2ca7dd198390ebc923facd690904faeb8300e62..f2f53775abb0ba2954cbb3ec431d84c3e03ad6f8 100644 +index 726f588a682e810aad32441cbd5cfe744c719d7d..6561658eabff95481f2cd108002b021e06b43a98 100644 --- a/ui/native_theme/native_theme.h +++ b/ui/native_theme/native_theme.h -@@ -392,6 +392,22 @@ class NATIVE_THEME_EXPORT NativeTheme { +@@ -400,6 +400,22 @@ class NATIVE_THEME_EXPORT NativeTheme { ColorId color_id, ColorScheme color_scheme = ColorScheme::kDefault) const; @@ -52,20 +52,19 @@ index e2ca7dd198390ebc923facd690904faeb8300e62..f2f53775abb0ba2954cbb3ec431d84c3 // Returns a shared instance of the native theme that should be used for web // rendering. Do not use it in a normal application context (i.e. browser). // The returned object should not be deleted by the caller. This function is -@@ -530,6 +546,8 @@ class NATIVE_THEME_EXPORT NativeTheme { +@@ -547,6 +563,7 @@ class NATIVE_THEME_EXPORT NativeTheme { bool is_high_contrast_ = false; PreferredColorScheme preferred_color_scheme_ = PreferredColorScheme::kLight; - + PreferredContrast preferred_contrast_ = PreferredContrast::kNoPreference; + ThemeSource theme_source_ = ThemeSource::kSystem; -+ + DISALLOW_COPY_AND_ASSIGN(NativeTheme); }; - diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc -index 255723ec8874920c8b45dbda2a1a5714b60e38be..31e3a345a79c6d228d7c2c501dcd69708de7fd52 100644 +index 6bcec4c618ae2ee4e544ff0204a6349dee460707..0842657c39c0c0ecc8d2b3aa75dddefd9b5961d3 100644 --- a/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc -@@ -738,6 +738,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const { +@@ -741,6 +741,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 42061976adab..4b94a600c0f5 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,53 +6,40 @@ 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 9669200e15533044b91193047ba7348eabee965e..ad130f5934e6a8ce6ef6bdd34a7648eafa1f51ed 100644 +index e74ad6694c23ccf7440de4fa158b002e510fab5b..08cc326ca4a06575902359d16b60b9a897b2c581 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc -@@ -578,6 +578,10 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { +@@ -586,6 +586,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); } +void RenderViewHostImpl::SetSchedulerThrottling(bool allowed) { -+ Send(new ViewMsg_SetSchedulerThrottling(GetRoutingID(), allowed)); ++ if (auto& broadcast = GetAssociatedPageBroadcast()) ++ broadcast->SetSchedulerThrottling(allowed); +} + bool RenderViewHostImpl::IsMainFrameActive() { 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 09180f2761f039b4f335998d13ea4c9e09d383b9..6bff529846cb6271c8a7fa62f6e38fd24069b733 100644 +index 1b27f1ed91696dd0f644a9cea3fb058645245e79..7b7e4e0bdcc6a39be398a495f63d5e325abe1982 100644 --- a/content/browser/renderer_host/render_view_host_impl.h +++ b/content/browser/renderer_host/render_view_host_impl.h @@ -132,6 +132,7 @@ class CONTENT_EXPORT RenderViewHostImpl SiteInstanceImpl* GetSiteInstance() override; bool IsRenderViewLive() override; - void NotifyMoveOrResizeStarted() override; -+ void SetSchedulerThrottling(bool allowed) 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 ccc8f80a123e834fef4fc1e7aade2a35ffb5e223..3010d83f27eca9eede294d11fc3b9d2a6f9014fb 100644 ---- a/content/common/view_messages.h -+++ b/content/common/view_messages.h -@@ -92,6 +92,9 @@ IPC_STRUCT_TRAITS_END() - - // Messages sent from the browser to the renderer. - -+// Whether to enable the Renderer scheduler background throttling. -+IPC_MESSAGE_ROUTED1(ViewMsg_SetSchedulerThrottling, bool /* allowed */) -+ - // Notification that a move or resize renderer's containing window has - // started. - IPC_MESSAGE_ROUTED0(ViewMsg_MoveOrResizeStarted) + const blink::RendererPreferences& preferences); diff --git a/content/public/browser/render_view_host.h b/content/public/browser/render_view_host.h -index 8a0e60f3a783fd9e21c0d03e23ba421b94fc1ecd..577bf986f9efa45d432ce017663daeb8e9369729 100644 +index 2f2375ca2889ae2b91b6aca7842456663fcddee0..3ab9fb51fd0b9a73d338236a86a7ec05d16f4fe7 100644 --- a/content/public/browser/render_view_host.h +++ b/content/public/browser/render_view_host.h -@@ -95,6 +95,9 @@ class CONTENT_EXPORT RenderViewHost : public IPC::Sender { - // started. - virtual void NotifyMoveOrResizeStarted() = 0; +@@ -91,6 +91,9 @@ class CONTENT_EXPORT RenderViewHost : public IPC::Sender { + // Returns true if the RenderView is active and has not crashed. + virtual bool IsRenderViewLive() = 0; + // Disable/Enable scheduler throttling. + virtual void SetSchedulerThrottling(bool allowed) = 0; @@ -60,49 +47,36 @@ index 8a0e60f3a783fd9e21c0d03e23ba421b94fc1ecd..577bf986f9efa45d432ce017663daeb8 private: // 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 3569e6f3940d71c09720ada159f54e524e247f43..47c2342499092d234d15da9bae7549f1795dbaba 100644 ---- a/content/renderer/render_view_impl.cc -+++ b/content/renderer/render_view_impl.cc -@@ -346,6 +346,8 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { - - bool handled = true; - IPC_BEGIN_MESSAGE_MAP(RenderViewImpl, message) -+ IPC_MESSAGE_HANDLER(ViewMsg_SetSchedulerThrottling, -+ OnSetSchedulerThrottling) - IPC_MESSAGE_HANDLER(ViewMsg_MoveOrResizeStarted, OnMoveOrResizeStarted) - - // Page messages. -@@ -749,6 +751,12 @@ void RenderViewImpl::DidUpdateRendererPreferences() { - #endif - } - -+void RenderViewImpl::OnSetSchedulerThrottling(bool allowed) { -+ if (!GetWebView()) -+ return; -+ GetWebView()->SetSchedulerThrottling(allowed); -+} -+ - void RenderViewImpl::OnMoveOrResizeStarted() { - if (GetWebView()) - GetWebView()->CancelPagePopup(); diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h -index 95113eec6760a6c49d93b174117256b00c7dcecf..eda4abe7fabb32f452ba14e287f39cd89d79e92f 100644 +index 85e7f06c1fe140c02f05e464bb561e076e86a2ee..1f632b29baf6090236406cb4b664e0c34c427f37 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h -@@ -323,6 +323,7 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, +@@ -323,6 +323,8 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, static WindowOpenDisposition NavigationPolicyToDisposition( blink::WebNavigationPolicy policy); + void OnSetSchedulerThrottling(bool allowed); - void OnMoveOrResizeStarted(); - ++ // Misc private functions ---------------------------------------------------- + + #if defined(OS_ANDROID) +diff --git a/third_party/blink/public/mojom/page/page.mojom b/third_party/blink/public/mojom/page/page.mojom +index 962bbb5074871ee5bb55fb8d0551ef799bc1f615..6513b67b6d2126f99f0f57731c7835e2ec25b875 100644 +--- a/third_party/blink/public/mojom/page/page.mojom ++++ b/third_party/blink/public/mojom/page/page.mojom +@@ -67,4 +67,7 @@ interface PageBroadcast { + + // Set history offset and length. + SetHistoryOffsetAndLength(int32 offset, int32 length); ++ ++ // Whether to enable the Renderer scheduler background throttling. ++ SetSchedulerThrottling(bool allowed); + }; diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h -index 396153e3a23a543e89b2a41b6afd8ad441e5b427..496e0388156d60b954ea88f64f3203e93ed5dbea 100644 +index 500f7da6e87a1ce7a822b88d56cef8c09c7fccc3..19f4e08ffe5b95e33d4d17b36ef89c963f62fa18 100644 --- a/third_party/blink/public/web/web_view.h +++ b/third_party/blink/public/web/web_view.h -@@ -368,6 +368,7 @@ class WebView { +@@ -369,6 +369,7 @@ class WebView { // Scheduling ----------------------------------------------------------- virtual PageScheduler* Scheduler() const = 0; @@ -111,10 +85,10 @@ index 396153e3a23a543e89b2a41b6afd8ad441e5b427..496e0388156d60b954ea88f64f3203e9 // 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 bd3acda8e8bd5cc79be4d0367f4765a2f749f8df..4d4dfd6678a6b4869d3d330447a6989efa8c1b9b 100644 +index 7a6c4b5ad56e4cf8177935ac07e5b8ca14af3ca1..83b7030856137a980f325071e6637b52e5cdf610 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -4321,6 +4321,13 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3614,6 +3614,13 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } @@ -128,7 +102,7 @@ index bd3acda8e8bd5cc79be4d0367f4765a2f749f8df..4d4dfd6678a6b4869d3d330447a6989e void WebViewImpl::SetVisibilityState( mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) { -@@ -4331,7 +4338,8 @@ void WebViewImpl::SetVisibilityState( +@@ -3624,7 +3631,8 @@ void WebViewImpl::SetVisibilityState( } GetPage()->SetVisibilityState(visibility_state, is_initial_state); GetPage()->GetPageScheduler()->SetPageVisible( @@ -139,10 +113,10 @@ index bd3acda8e8bd5cc79be4d0367f4765a2f749f8df..4d4dfd6678a6b4869d3d330447a6989e 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 c47f5db6eb2151d1cdbd07e5e1a311dbda8349b2..19b41f2f09fd1c7e30dc3845c65bedc464acf7b8 100644 +index 9b117076cac31255d96afa2bc202ec6f377c6bad..f9bfafd9effd1ff0c559d5b549a23318aef7a199 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h -@@ -355,6 +355,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -352,6 +352,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, LocalDOMWindow* PagePopupWindow() const; PageScheduler* Scheduler() const override; @@ -150,12 +124,22 @@ index c47f5db6eb2151d1cdbd07e5e1a311dbda8349b2..19b41f2f09fd1c7e30dc3845c65bedc4 void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) override; mojom::blink::PageVisibilityState GetVisibilityState() override; -@@ -810,6 +811,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, - // WebViewImpl::Close while handling an input event. - bool debug_inside_input_handling_ = false; +@@ -761,11 +762,18 @@ class CORE_EXPORT WebViewImpl final : public WebView, + bool should_dispatch_first_layout_after_finished_parsing_ = false; + bool should_dispatch_first_layout_after_finished_loading_ = false; -+ bool scheduler_throttling_allowed_ = true; ++ // TODO(bokan): Temporary debugging added to diagnose ++ // https://crbug.com/992315. Somehow we're synchronously calling ++ // WebViewImpl::Close while handling an input event. ++ bool debug_inside_input_handling_ = false; + FloatSize elastic_overscroll_; // If true, we send IPC messages when |preferred_size_| changes. + bool send_preferred_size_changes_ = false; + ++ bool scheduler_throttling_allowed_ = true; ++ + // Whether the preferred size may have changed and |UpdatePreferredSize| needs + // to be called. + bool needs_preferred_size_update_ = true; 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 8d8fe2d5f83f..f539d4623c6e 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -94,10 +94,10 @@ index 1026b739d283f0fc252fa2af83a6d4cf51bc8553..fe562ab60ce98b8bb0c5080a6428deb3 private: const HWND hwnd_; diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index 5d60d2905d01fe0f8e61990e28a35936e926fdbb..84b1be8096ec46ba0fba205b6e813da2fb7e142a 100644 +index 92acbc3a25c6174cdb92b9c4d4003b6a51ca2110..1f5191a2a171f664b0d01b8dc5eda2d8d660fb3d 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn -@@ -115,6 +115,8 @@ viz_component("service") { +@@ -117,6 +117,8 @@ viz_component("service") { "display_embedder/output_surface_provider_impl.h", "display_embedder/server_shared_bitmap_manager.cc", "display_embedder/server_shared_bitmap_manager.h", @@ -107,7 +107,7 @@ index 5d60d2905d01fe0f8e61990e28a35936e926fdbb..84b1be8096ec46ba0fba205b6e813da2 "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 bd67d4530c8a77fa3c5c6df9a0fb210944d7792c..303637624a4221de79b9ddf95f23e27c1114e607 100644 +index 54686950a28c935d0067da1b62a7dbe0df04fabc..7c535c22cb56232efd78139c9c1748dd491d2a85 100644 --- a/components/viz/service/display_embedder/output_surface_provider_impl.cc +++ b/components/viz/service/display_embedder/output_surface_provider_impl.cc @@ -24,6 +24,7 @@ @@ -126,7 +126,7 @@ index bd67d4530c8a77fa3c5c6df9a0fb210944d7792c..303637624a4221de79b9ddf95f23e27c #include "ui/base/ui_base_switches.h" #include "ui/gl/gl_context.h" #include "ui/gl/init/gl_factory.h" -@@ -250,6 +252,22 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform( +@@ -244,6 +246,22 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform( if (headless_) return std::make_unique(); diff --git a/patches/chromium/fix_disable_usage_of_pthread_fchdir_np_and_pthread_chdir_np_in_mas.patch b/patches/chromium/fix_disable_usage_of_pthread_fchdir_np_and_pthread_chdir_np_in_mas.patch index 5b1e75561d6c..d66b5daace7c 100644 --- a/patches/chromium/fix_disable_usage_of_pthread_fchdir_np_and_pthread_chdir_np_in_mas.patch +++ b/patches/chromium/fix_disable_usage_of_pthread_fchdir_np_and_pthread_chdir_np_in_mas.patch @@ -7,10 +7,10 @@ Subject: Disable usage of pthread_fchdir_np and pthread_chdir_np in MAS builds. diff --git a/base/process/launch_mac.cc b/base/process/launch_mac.cc -index 2841b7735430ca3fb03fff7a737b393a8d168747..e356bfe7fdfc11b3b1df429337cf460037788dd8 100644 +index c074f0d73eab1993b580f317c42480688e6669e6..2a86b0c6897efd10c483d0816b3f7a54f1e13d2a 100644 --- a/base/process/launch_mac.cc +++ b/base/process/launch_mac.cc -@@ -26,8 +26,10 @@ extern "C" { +@@ -27,8 +27,10 @@ extern "C" { // descriptor. libpthread only exposes a syscall wrapper starting in // macOS 10.12, but the system call dates back to macOS 10.5. On older OSes, // the syscall is issued directly. @@ -21,7 +21,7 @@ index 2841b7735430ca3fb03fff7a737b393a8d168747..e356bfe7fdfc11b3b1df429337cf4600 int responsibility_spawnattrs_setdisclaim(posix_spawnattr_t attrs, int disclaim) API_AVAILABLE(macosx(10.14)); -@@ -102,21 +104,29 @@ class PosixSpawnFileActions { +@@ -103,21 +105,29 @@ class PosixSpawnFileActions { }; int ChangeCurrentThreadDirectory(const char* path) { @@ -51,7 +51,7 @@ index 2841b7735430ca3fb03fff7a737b393a8d168747..e356bfe7fdfc11b3b1df429337cf4600 } struct GetAppOutputOptions { -@@ -232,11 +242,13 @@ Process LaunchProcess(const std::vector& argv, +@@ -233,11 +243,13 @@ Process LaunchProcess(const std::vector& argv, file_actions.Inherit(STDERR_FILENO); } 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 9b53ee8a705c..7204fb0dd37d 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 f3152a4d32496c61b4441bc14a693a0965c0f033..1714de54fadb249a24aac528f4db7def9dd1838f 100644 +index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a57fc0c115 100644 --- a/chrome/browser/accessibility/accessibility_ui.cc +++ b/chrome/browser/accessibility/accessibility_ui.cc @@ -19,7 +19,10 @@ @@ -22,7 +22,7 @@ index f3152a4d32496c61b4441bc14a693a0965c0f033..1714de54fadb249a24aac528f4db7def #include "chrome/common/webui_url_constants.h" #include "chrome/grit/dev_ui_browser_resources.h" @@ -43,7 +46,7 @@ - #include "ui/accessibility/platform/ax_platform_node_delegate.h" + #include "ui/accessibility/platform/inspect/tree_formatter.h" #include "ui/base/webui/web_ui_util.h" -#if !defined(OS_ANDROID) 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 3a425464539d..1d3274cec0b7 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 ea458219bd182bd9ff21b203c282e7d0738049dd..1455dfcae9e1ded39d351f6569919f0c313e3de5 100644 +index 3fe2ea96cfa0c920d4d0a3542f1b8457d5375f4e..0d0c5b88edbee1e8d9e5cf93811038fd65311a31 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3012,11 +3012,13 @@ bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) { +@@ -3008,11 +3008,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/fix_swap_global_proxies_before_initializing_the_windows_proxies.patch b/patches/chromium/fix_swap_global_proxies_before_initializing_the_windows_proxies.patch deleted file mode 100644 index 0cfcf86b36c0..000000000000 --- a/patches/chromium/fix_swap_global_proxies_before_initializing_the_windows_proxies.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Samuel Attard -Date: Wed, 20 May 2020 13:48:51 -0700 -Subject: fix: swap global proxies before initializing the windows proxies - -Electron's Context Isolation implementation has a side-effect of initializing -the isolated worlds WindowProxy during the initialization of the main world -WindowProxy as a result of creating the isolated world inside the DidCreateScriptContext -hook. This results in an assertion failing in Chromium during a frame -swap where it expects to be able to set a new global_proxy in the WindowProxy -of the isolated world BEFORE it is initialized. - -To meet this assumption this patch splits SetGlobalProxy into two calls, -SetGlobalProxyWithoutInitializing and InitializeIfNeeded which has the same -resultant effect but means that all of the global_proxy objects are set -BEFORE any WindowProxy's are initialized. - -This could probably be upstreamed as it doesn't affect the way Chromium works -but also it has no benefit for them at this time. - -diff --git a/third_party/blink/renderer/bindings/core/v8/window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/window_proxy.cc -index 3139b74a464888159cbb6b93f15e54b578986f92..784f3b31e1258ff29e01f556a0d37f45ddc9b117 100644 ---- a/third_party/blink/renderer/bindings/core/v8/window_proxy.cc -+++ b/third_party/blink/renderer/bindings/core/v8/window_proxy.cc -@@ -104,10 +104,7 @@ v8::Local WindowProxy::ReleaseGlobalProxy() { - } - - void WindowProxy::SetGlobalProxy(v8::Local global_proxy) { -- DCHECK_EQ(lifecycle_, Lifecycle::kContextIsUninitialized); -- -- CHECK(global_proxy_.IsEmpty()); -- global_proxy_.Set(isolate_, global_proxy); -+ SetGlobalProxyWithoutInitializing(global_proxy); - - // Initialize the window proxy now, to re-establish the connection between - // the global object and the v8::Context. This is really only needed for a -@@ -118,6 +115,13 @@ void WindowProxy::SetGlobalProxy(v8::Local global_proxy) { - Initialize(); - } - -+void WindowProxy::SetGlobalProxyWithoutInitializing(v8::Local global_proxy) { -+ DCHECK_EQ(lifecycle_, Lifecycle::kContextIsUninitialized); -+ -+ CHECK(global_proxy_.IsEmpty()); -+ global_proxy_.Set(isolate_, global_proxy); -+} -+ - // Create a new environment and setup the global object. - // - // The global object corresponds to a DOMWindow instance. However, to -diff --git a/third_party/blink/renderer/bindings/core/v8/window_proxy.h b/third_party/blink/renderer/bindings/core/v8/window_proxy.h -index 33d85e22813ee15ced7e8c41d1bc070c8dbbdd26..d9ff55f67ffa4208a6fa342ed24cd6e1a3af145e 100644 ---- a/third_party/blink/renderer/bindings/core/v8/window_proxy.h -+++ b/third_party/blink/renderer/bindings/core/v8/window_proxy.h -@@ -156,6 +156,7 @@ class WindowProxy : public GarbageCollected { - CORE_EXPORT v8::Local GlobalProxyIfNotDetached(); - v8::Local ReleaseGlobalProxy(); - void SetGlobalProxy(v8::Local); -+ void SetGlobalProxyWithoutInitializing(v8::Local); - - // TODO(dcheng): Temporarily exposed to avoid include cycles. Remove the need - // for this and remove this getter. -diff --git a/third_party/blink/renderer/bindings/core/v8/window_proxy_manager.cc b/third_party/blink/renderer/bindings/core/v8/window_proxy_manager.cc -index f13c18e345543733cfb733f8083be2462079bb9a..1fb9cfa329dcd9d54b38bef3f1a282358e5cf2c4 100644 ---- a/third_party/blink/renderer/bindings/core/v8/window_proxy_manager.cc -+++ b/third_party/blink/renderer/bindings/core/v8/window_proxy_manager.cc -@@ -55,8 +55,11 @@ void WindowProxyManager::ReleaseGlobalProxies( - - void WindowProxyManager::SetGlobalProxies( - const GlobalProxyVector& global_proxies) { -+ for (const auto& entry : global_proxies) { -+ WindowProxyMaybeUninitialized(*entry.first)->SetGlobalProxyWithoutInitializing(entry.second); -+ } - for (const auto& entry : global_proxies) -- WindowProxyMaybeUninitialized(*entry.first)->SetGlobalProxy(entry.second); -+ WindowProxyMaybeUninitialized(*entry.first)->InitializeIfNeeded(); - } - - WindowProxyManager::WindowProxyManager(Frame& frame, FrameType frame_type) diff --git a/patches/chromium/fix_use_electron_generated_resources.patch b/patches/chromium/fix_use_electron_generated_resources.patch index cb111cbbd718..d5dea8b284a3 100644 --- a/patches/chromium/fix_use_electron_generated_resources.patch +++ b/patches/chromium/fix_use_electron_generated_resources.patch @@ -12,7 +12,7 @@ as they will loaded as empty strings. * IDS_UTILITY_PROCESS_PRINTING_SERVICE_NAME on Windows diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc -index b471f462c1a79be50497e72bfe672bb8fad7e85b..986351b7b0f9fd62c90a2c6c134119f41412b291 100644 +index a6d491e7f42214f99a042deca6a59188cae6af5b..a9e0f358b3bf7c2b4802650e3280ae7414ce89c9 100644 --- a/chrome/browser/pdf/pdf_extension_util.cc +++ b/chrome/browser/pdf/pdf_extension_util.cc @@ -8,8 +8,7 @@ diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index 17b855110971..d1aedceced53 100644 --- a/patches/chromium/frame_host_manager.patch +++ b/patches/chromium/frame_host_manager.patch @@ -42,10 +42,10 @@ 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 a81443b8c7941389098ce69941b4a16dfa080b1a..f91ceb7065984ab2559669059d2693806d2cbdf8 100644 +index ba52e78d28d4198ca028ff678ef58c0121c665e9..2880e8f8f03ecd226c156ac9899917413cb88453 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -1396,6 +1396,21 @@ void NavigationRequest::BeginNavigation() { +@@ -1422,6 +1422,21 @@ void NavigationRequest::BeginNavigation() { is_loaded_from_mhtml_archive_ = IsForMhtmlSubframe(); ComputeSandboxFlagsToCommit(); @@ -65,9 +65,9 @@ index a81443b8c7941389098ce69941b4a16dfa080b1a..f91ceb7065984ab2559669059d269380 + SetState(REUSE_SITE_INSTANCE); + // Select an appropriate RenderFrameHost. + std::string frame_host_choice_reason; render_frame_host_ = - frame_tree_node_->render_manager()->GetFrameHostForNavigation(this); -@@ -5085,6 +5100,7 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { +@@ -5239,6 +5254,7 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { {WILL_START_REQUEST, { WILL_REDIRECT_REQUEST, WILL_PROCESS_RESPONSE, @@ -75,7 +75,7 @@ index a81443b8c7941389098ce69941b4a16dfa080b1a..f91ceb7065984ab2559669059d269380 READY_TO_COMMIT, DID_COMMIT, CANCELING, -@@ -5098,10 +5114,14 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { +@@ -5252,10 +5268,14 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { WILL_FAIL_REQUEST, }}, {WILL_PROCESS_RESPONSE, { @@ -91,10 +91,10 @@ index a81443b8c7941389098ce69941b4a16dfa080b1a..f91ceb7065984ab2559669059d269380 NOT_STARTED, DID_COMMIT, diff --git a/content/browser/renderer_host/navigation_request.h b/content/browser/renderer_host/navigation_request.h -index 3096bce6a0bacab77c5f480dae0aa3dc85f586f4..9fed13c1fc1b228280036f4add4f4b52efcd9cc0 100644 +index 5ea4a6cbcfdc462783e248293b7c0633812fcd3c..fc6fe28372a1f6cf67db18b76011da20c786193e 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 +@@ -131,6 +131,10 @@ class CONTENT_EXPORT NavigationRequest // asynchronous. WILL_PROCESS_RESPONSE, @@ -106,13 +106,13 @@ index 3096bce6a0bacab77c5f480dae0aa3dc85f586f4..9fed13c1fc1b228280036f4add4f4b52 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 a9beb656551babf75c6d64ef1a512e732f327981..f3138cd74e9e6a210c6fd5a6974bf979176030e0 100644 +index af2a0a2e5559f3ed58a9c4a74885f74e7779f8a0..229e33b7baed57fb65549dd22a0371289e3847c5 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -2567,6 +2567,16 @@ RenderFrameHostManager::GetCoopCoepCrossOriginIsolationInfo( - scoped_refptr +@@ -2631,6 +2631,16 @@ scoped_refptr RenderFrameHostManager::GetSiteInstanceForNavigationRequest( - NavigationRequest* request) { + NavigationRequest* request, + std::string* reason) { + // Compute the SiteInstance that the navigation should use, which will be + // either the current SiteInstance or a new one. + // @@ -126,7 +126,7 @@ index a9beb656551babf75c6d64ef1a512e732f327981..f3138cd74e9e6a210c6fd5a6974bf979 SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance(); // All children of MHTML documents must be MHTML documents. They all live in -@@ -2586,10 +2596,60 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -2658,10 +2668,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 a9beb656551babf75c6d64ef1a512e732f327981..f3138cd74e9e6a210c6fd5a6974bf979 // Account for renderer-initiated reload as well. // Needed as a workaround for https://crbug.com/1045524, remove it when it is -@@ -2628,6 +2688,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -2700,6 +2760,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } @@ -202,7 +202,7 @@ index a9beb656551babf75c6d64ef1a512e732f327981..f3138cd74e9e6a210c6fd5a6974bf979 } diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc -index efa724f07c8365d846c21463636ce4c56546522b..2ae4d19aef4d81a3cb6e6664f71421f7960fd4bc 100644 +index 814cc90ee58f0606bb41b3703b17e92602e84813..dfa649b86a683005a4c59863034e986decade20e 100644 --- a/content/browser/site_instance_impl.cc +++ b/content/browser/site_instance_impl.cc @@ -707,6 +707,10 @@ bool SiteInstanceImpl::HasRelatedSiteInstance(const SiteInfo& site_info) { @@ -217,10 +217,10 @@ index efa724f07c8365d846c21463636ce4c56546522b..2ae4d19aef4d81a3cb6e6664f71421f7 const GURL& url) { return GetRelatedSiteInstanceImpl( diff --git a/content/browser/site_instance_impl.h b/content/browser/site_instance_impl.h -index eaae6149a0a57cfa035f1b1c45c3ec0183a11a4a..c0926477a1de42437c43672b1bd53f87194b1380 100644 +index 2c215c8761f202d7bd29e14693dcbf7596a0b89b..d613c1ac74c2c6a4560bfecd2c79352a36b229ba 100644 --- a/content/browser/site_instance_impl.h +++ b/content/browser/site_instance_impl.h -@@ -313,6 +313,7 @@ class CONTENT_EXPORT SiteInstanceImpl final : public SiteInstance, +@@ -321,6 +321,7 @@ class CONTENT_EXPORT SiteInstanceImpl final : public SiteInstance, BrowserContext* GetBrowserContext() override; const GURL& GetSiteURL() override; scoped_refptr GetRelatedSiteInstance(const GURL& url) override; @@ -229,7 +229,7 @@ index eaae6149a0a57cfa035f1b1c45c3ec0183a11a4a..c0926477a1de42437c43672b1bd53f87 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 c180b0ab0081631acfc675dacd2df92d8838ef02..4ebd54c35de3880b4b07e8bade975fa50f1069f1 100644 +index 1c10e687a745b261cd57c045c2d7abfc5d1ae6e8..1d6c523c8d3a59fe3b35e8ec765f69a68cc873a1 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -64,6 +64,21 @@ @@ -255,7 +255,7 @@ index c180b0ab0081631acfc675dacd2df92d8838ef02..4ebd54c35de3880b4b07e8bade975fa5 const MainFunctionParams& parameters) { return nullptr; diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index dfee3e388a9097c511d47cf09756dc37c5b63cda..555366e79fdf081c09ec3cdb3406b705947f8a6b 100644 +index e90958ad2c59e0ce54713af341ed7f69f8915564..9e2443720e0532281a7a5970a15ac9639cf545f2 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -252,8 +252,45 @@ class CONTENT_EXPORT ContentBrowserClient { diff --git a/patches/chromium/gin_enable_disable_v8_platform.patch b/patches/chromium/gin_enable_disable_v8_platform.patch index 3ed6148c85f7..5fca694b0f76 100644 --- a/patches/chromium/gin_enable_disable_v8_platform.patch +++ b/patches/chromium/gin_enable_disable_v8_platform.patch @@ -38,10 +38,10 @@ index f23af2d9738f3aa76e3a49301e1c3216ee4a64b4..ede178acabc63c3c33d6ce93efd5632b v8::Isolate* isolate() { return isolate_; } diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc -index 9ba60a7f928a24b4829dafdf9a7362ad58bd7c64..51fe2fa000e47ced3661ba581c52dceba93447fe 100644 +index 4174fd98f3a1d9ed6c9a4b57651e8122a2d37770..07d970b84b770b06019dc1de441cf108d67b1782 100644 --- a/gin/v8_initializer.cc +++ b/gin/v8_initializer.cc -@@ -191,12 +191,14 @@ enum LoadV8FileResult { +@@ -198,12 +198,14 @@ enum LoadV8FileResult { } // namespace // static diff --git a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch index 0e1aa04f4af2..53a505d6f687 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 60887eabca674fb07ed02055e7cf113ce933d75e..ad9e7ae3008badc4669deac0b9cc001a8fd13dde 100644 +index 443bdfdae846e494cf211daf6577ab0e2f58ec78..e425ee95415b51d7c108822494d9fcd8f2b43086 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 60887eabca674fb07ed02055e7cf113ce933d75e..ad9e7ae3008badc4669deac0b9cc001a void GpuDataManagerImpl::UpdateGpuFeatureInfo( diff --git a/content/browser/gpu/gpu_data_manager_impl.h b/content/browser/gpu/gpu_data_manager_impl.h -index 6b3849cfbcba03406f1932c1c958f0456f9572be..dc7ad48d60de5f4a734cadea66ccd360ada09cdc 100644 +index f8df36a25932346ba0f1b40805a72cd78aa95e01..7156db588e819f952d81e41e455d2e10921ca5b7 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 6b3849cfbcba03406f1932c1c958f0456f9572be..dc7ad48d60de5f4a734cadea66ccd360 // 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 3323ceed7dee0dd487d2c30eea8428810c9e77ea..3ccc7f449d8d1d1f7f299df715423334f0e525c9 100644 +index 57b5cccbb75a486221279f33592c7409ef3f08eb..ab3d855f593628f2a194787db596188a5fe64f79 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 3323ceed7dee0dd487d2c30eea8428810c9e77ea..3ccc7f449d8d1d1f7f299df715423334 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 f634ae502cb42afada67b15bc9c7fa1d5acdbf46..7b1c924021517ba16bd25419cc955774c5338cd9 100644 +index 25ff864d1b4f65edf01c334f1d4a2bd272452385..771279e91078646e17c9a8eeae46c778baf0e835 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 4e38d280ceb8..36d4a421fcc9 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 dc32f73214cb19ec7445f756194a985dce66f7a8..30a84955f32c2855996b94efbdba0d0c70e0cfbc 100644 +index cb06259b198c2b3a2017be1e6607e48db7862fed..7b570132e353577720665156a6d949b98ac1b38f 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -665,6 +665,11 @@ +@@ -678,6 +678,11 @@ "includes": [3880], }, diff --git a/patches/chromium/mas_disable_remote_accessibility.patch b/patches/chromium/mas_disable_remote_accessibility.patch index 68864da041ba..9281257334bb 100644 --- a/patches/chromium/mas_disable_remote_accessibility.patch +++ b/patches/chromium/mas_disable_remote_accessibility.patch @@ -90,7 +90,7 @@ index c3a9fbf0f9d2b80c1de42a22ad094a286f0b559b..02493d4b62c98a3aebd3e460c459218a DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostNSViewBridgeOwner); }; diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h -index c46876b6533c8cfb8b59449e4029b7e20a551bdd..9a2d070791020d86ea5ee0164068037d1ca7bf37 100644 +index b6da376a59b9d7391215fd2bca31476a550a311f..0d32be1e22fbb1aef242ba2a581434d51b6fd730 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.h +++ b/content/browser/renderer_host/render_widget_host_view_mac.h @@ -47,7 +47,9 @@ class ScopedPasswordInputEnabler; @@ -103,7 +103,7 @@ index c46876b6533c8cfb8b59449e4029b7e20a551bdd..9a2d070791020d86ea5ee0164068037d @class RenderWidgetHostViewCocoa; namespace content { -@@ -646,10 +648,12 @@ class CONTENT_EXPORT RenderWidgetHostViewMac +@@ -649,10 +651,12 @@ class CONTENT_EXPORT RenderWidgetHostViewMac // EnsureSurfaceSynchronizedForWebTest(). uint32_t latest_capture_sequence_number_ = 0u; @@ -117,10 +117,10 @@ index c46876b6533c8cfb8b59449e4029b7e20a551bdd..9a2d070791020d86ea5ee0164068037d // Used to force the NSApplication's focused accessibility element to be the // content::BrowserAccessibilityCocoa accessibility tree when the NSView for diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm -index b9b67b25e1eba3a1a3ed720e5f2f898fc04bbc5d..0a0784d4ba5c409eb2dbd370cace906a63fbbc05 100644 +index 27a102ae11c2b18404de92d3dd895c4ac6bcb7f4..47b6310b96198f6c759026cda28f782fd0431430 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm -@@ -235,8 +235,10 @@ +@@ -234,8 +234,10 @@ void RenderWidgetHostViewMac::MigrateNSViewBridge( remote_cocoa::mojom::Application* remote_cocoa_application, uint64_t parent_ns_view_id) { @@ -131,7 +131,7 @@ index b9b67b25e1eba3a1a3ed720e5f2f898fc04bbc5d..0a0784d4ba5c409eb2dbd370cace906a // Disconnect from the previous bridge (this will have the effect of // destroying the associated bridge), and close the receiver (to allow it -@@ -1385,8 +1387,10 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, +@@ -1400,8 +1402,10 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, gfx::NativeViewAccessible RenderWidgetHostViewMac::AccessibilityGetNativeViewAccessibleForWindow() { @@ -142,7 +142,7 @@ index b9b67b25e1eba3a1a3ed720e5f2f898fc04bbc5d..0a0784d4ba5c409eb2dbd370cace906a return [GetInProcessNSView() window]; } -@@ -1418,9 +1422,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, +@@ -1433,9 +1437,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, } void RenderWidgetHostViewMac::SetAccessibilityWindow(NSWindow* window) { @@ -154,7 +154,7 @@ index b9b67b25e1eba3a1a3ed720e5f2f898fc04bbc5d..0a0784d4ba5c409eb2dbd370cace906a } bool RenderWidgetHostViewMac::SyncIsWidgetForMainFrame( -@@ -1907,12 +1913,14 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, +@@ -1922,12 +1928,14 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, void RenderWidgetHostViewMac::SetRemoteAccessibilityWindowToken( const std::vector& window_token) { @@ -170,10 +170,10 @@ index b9b67b25e1eba3a1a3ed720e5f2f898fc04bbc5d..0a0784d4ba5c409eb2dbd370cace906a /////////////////////////////////////////////////////////////////////////////// diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn -index 7964e634163fb343972b2bc8c5e9f5f6c406a763..d07b7f7e1efa92036c11e2c628e5e6d558b6357c 100644 +index df0db2e2e26acd83223d687f69b6b328f06ef6c2..e3b363d57c690c7eaa8cf8f5c0200ba616b70e89 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn -@@ -309,6 +309,13 @@ component("base") { +@@ -311,6 +311,13 @@ component("base") { ] } diff --git a/patches/chromium/mas_disable_remote_layer.patch b/patches/chromium/mas_disable_remote_layer.patch index 8fe8a36c388c..0da392287073 100644 --- a/patches/chromium/mas_disable_remote_layer.patch +++ b/patches/chromium/mas_disable_remote_layer.patch @@ -41,7 +41,7 @@ index d565d2ab23d7a42e6787b58103fd40a8675b8e28..4cb9681c1f810a0cbd7f7ef04c4a7c73 gfx::Size pixel_size_; diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.mm b/gpu/ipc/service/image_transport_surface_overlay_mac.mm -index 67e0efb23c717c3194f27695215a8bd20dbbb957..cf02fab328d9fe7a6e9f53c712a7c1c871b8b304 100644 +index cd73f9e5669adf0ab94c12eadd3c1e66d57c9d12..c2e4c709d48111177d89f9ba0c2e7590d107d749 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm @@ -51,7 +51,7 @@ diff --git a/patches/chromium/mas_no_private_api.patch b/patches/chromium/mas_no_private_api.patch index 6d709ef92a94..3972556f42d4 100644 --- a/patches/chromium/mas_no_private_api.patch +++ b/patches/chromium/mas_no_private_api.patch @@ -7,10 +7,10 @@ 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 b41aef49ca9c07e36216146abc066b94195a48a2..bf62870243a4d3a783338f149df2cfcd41168fe6 100644 +index 77bc8739d38464676c6e649dee7abfadb2dbe551..5ac9fc521cce68020ae138bde741e3b8aed2152d 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( +@@ -303,7 +303,7 @@ OptionalNSObject InvokeAttributeFor( 0 == strcmp([value objCType], @encode(NSRange))) { return PopulateRange([value rangeValue]); } @@ -19,7 +19,7 @@ index b41aef49ca9c07e36216146abc066b94195a48a2..bf62870243a4d3a783338f149df2cfcd // AXTextMarker if (content::IsAXTextMarker(value)) { return PopulateTextPosition(content::AXTextMarkerToPosition(value).get(), -@@ -323,6 +323,7 @@ OptionalNSObject InvokeAttributeFor( +@@ -314,6 +314,7 @@ OptionalNSObject InvokeAttributeFor( if (content::IsAXTextMarkerRange(value)) { return PopulateTextMarkerRange(value, line_indexer); } @@ -27,7 +27,7 @@ index b41aef49ca9c07e36216146abc066b94195a48a2..bf62870243a4d3a783338f149df2cfcd // AXValue if (CFGetTypeID(value) == AXValueGetTypeID()) { -@@ -433,7 +434,7 @@ OptionalNSObject InvokeAttributeFor( +@@ -424,7 +425,7 @@ OptionalNSObject InvokeAttributeFor( kConstValuePrefix + affinity); return set; } @@ -36,7 +36,7 @@ index b41aef49ca9c07e36216146abc066b94195a48a2..bf62870243a4d3a783338f149df2cfcd base::Value AccessibilityTreeFormatterMac::PopulateTextMarkerRange( id object, const LineIndexer* line_indexer) const { -@@ -447,7 +448,7 @@ OptionalNSObject InvokeAttributeFor( +@@ -438,7 +439,7 @@ OptionalNSObject InvokeAttributeFor( dict.SetPath("focus", PopulateTextPosition(range.focus(), line_indexer)); return dict; } @@ -46,10 +46,10 @@ index b41aef49ca9c07e36216146abc066b94195a48a2..bf62870243a4d3a783338f149df2cfcd NSArray* node_array, const LineIndexer* line_indexer) const { diff --git a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm -index 320751d301f7cebe40e59127a1a631a010009385..11fabe50abd47d0b0a7ff24a3b979067452f53db 100644 +index bd4804528b8b023655f6cfd61d051b8675cd65f6..eeb5855e06d7869d6c0579f4b3035c85234bee95 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm +++ b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm -@@ -156,6 +156,7 @@ +@@ -206,6 +206,7 @@ if (property_name == "AXIndexForChildUIElement") { // UIElement return OptionalNSObject::NotNilOrError(PropertyNodeToUIElement(arg_node)); } @@ -57,7 +57,7 @@ index 320751d301f7cebe40e59127a1a631a010009385..11fabe50abd47d0b0a7ff24a3b979067 if (property_name == "AXIndexForTextMarker") { // TextMarker return OptionalNSObject::NotNilOrError(PropertyNodeToTextMarker(arg_node)); } -@@ -163,6 +164,7 @@ +@@ -213,6 +214,7 @@ return OptionalNSObject::NotNilOrError( PropertyNodeToTextMarkerRange(arg_node)); } @@ -65,22 +65,22 @@ index 320751d301f7cebe40e59127a1a631a010009385..11fabe50abd47d0b0a7ff24a3b979067 return OptionalNSObject::NotApplicable(); } -@@ -228,6 +230,7 @@ +@@ -278,6 +280,7 @@ return uielement; } +#ifndef MAS_BUILD - id AttributeInvoker::DictNodeToTextMarker(const PropertyNode& dictnode) const { + id AttributeInvoker::DictNodeToTextMarker( + const AXPropertyNode& dictnode) const { if (!dictnode.IsDict()) { - TEXTMARKER_FAIL(dictnode, "dictionary is expected") -@@ -295,6 +298,7 @@ - - return content::AXTextMarkerRangeFrom(anchor_textmarker, focus_textmarker); +@@ -382,6 +385,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) { + return OptionalNSObject::NotNilOrError(content::AXTextMarkerFrom( + cocoa_node, position->text_offset(), position->affinity())); } +#endif - } // namespace a11y - } // namespace content + OptionalNSObject MakePairArray(const OptionalNSObject& obj1, + const OptionalNSObject& obj2) { diff --git a/content/browser/accessibility/browser_accessibility_cocoa.h b/content/browser/accessibility/browser_accessibility_cocoa.h index a5324dfd0c8a6bcd8fb7f89ce30d1f1b1ade0304..02564098d67f044cef54d285772a449d991b8d06 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.h @@ -125,7 +125,7 @@ index a5324dfd0c8a6bcd8fb7f89ce30d1f1b1ade0304..02564098d67f044cef54d285772a449d // 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 fc8e75c292dcdd1757ed925718d18acc6ed6f63c..583a8aa16045d772e14dbdd6c9d1499ebe811d86 100644 +index d792b573258714648c8ce66bedc2fbb4e7417028..2fed4257026236b22eba912e95284c42050baab8 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.mm +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm @@ -208,6 +208,7 @@ @@ -366,11 +366,27 @@ index fc8e75c292dcdd1757ed925718d18acc6ed6f63c..583a8aa16045d772e14dbdd6c9d1499e return nil; } +@@ -3786,6 +3820,7 @@ - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { + AXPlatformRange(_owner->CreatePositionAt(range.location), + _owner->CreatePositionAt(NSMaxRange(range)))); + } ++#ifndef MAS_BUILD + if ([attribute + isEqualToString:NSAccessibilitySelectedTextMarkerRangeAttribute]) { + AXPlatformRange range = CreateRangeFromTextMarkerRange(value); +@@ -3795,6 +3830,7 @@ - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { + manager->SetSelection(AXPlatformRange(range.anchor()->AsLeafTextPosition(), + range.focus()->AsLeafTextPosition())); + } ++#endif + } + + // Returns the deepest accessibility child that should not be ignored. diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm -index 0a45c3fc4f4760cb3bb8e20990e279743de8e1e8..302716ddac3290a77f8d6981a93c2a6c412ef5a3 100644 +index 8252732604b324e2abf970af4082b521ae896b85..34d5905aa9e68b915fda1eb5ef3b14df14c74968 100644 --- a/content/browser/accessibility/browser_accessibility_manager_mac.mm +++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm -@@ -538,6 +538,7 @@ void PostAnnouncementNotification(NSString* announcement) { +@@ -549,6 +549,7 @@ void PostAnnouncementNotification(NSString* announcement) { [user_info setObject:native_focus_object forKey:NSAccessibilityTextChangeElement]; @@ -378,7 +394,7 @@ index 0a45c3fc4f4760cb3bb8e20990e279743de8e1e8..302716ddac3290a77f8d6981a93c2a6c id selected_text = [native_focus_object selectedTextMarkerRange]; if (selected_text) { NSString* const NSAccessibilitySelectedTextMarkerRangeAttribute = -@@ -545,6 +546,7 @@ void PostAnnouncementNotification(NSString* announcement) { +@@ -556,6 +557,7 @@ void PostAnnouncementNotification(NSString* announcement) { [user_info setObject:selected_text forKey:NSAccessibilitySelectedTextMarkerRangeAttribute]; } 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 aaee4a507a1d..169c19e5a892 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -7,7 +7,7 @@ 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 fc37aeb9935326e04f8d2cd18711925899d37e07..12d4c84230994b1ef2e4914945d1f3617c54eb0c 100644 +index 3773583bedd00e94e86c172c4a110db3e4e038d5..daec1d32ea084aadc86a455daaf5466a5a274554 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc @@ -115,6 +115,11 @@ @@ -102,7 +102,7 @@ index fc37aeb9935326e04f8d2cd18711925899d37e07..12d4c84230994b1ef2e4914945d1f361 constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; NetworkContext::PendingCertVerify::PendingCertVerify() = default; -@@ -568,6 +646,13 @@ void NetworkContext::SetClient( +@@ -571,6 +649,13 @@ void NetworkContext::SetClient( client_.Bind(std::move(client)); } @@ -116,7 +116,7 @@ index fc37aeb9935326e04f8d2cd18711925899d37e07..12d4c84230994b1ef2e4914945d1f361 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -1830,8 +1915,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -1851,8 +1936,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( "NetworkContext should pass CertVerifierServiceRemoteParams."; std::unique_ptr cert_verifier; @@ -127,7 +127,7 @@ index fc37aeb9935326e04f8d2cd18711925899d37e07..12d4c84230994b1ef2e4914945d1f361 } else { if (params_->cert_verifier_params && params_->cert_verifier_params->is_remote_params()) { -@@ -1859,14 +1945,14 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -1880,14 +1966,14 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( cert_net_fetcher_ = base::MakeRefCounted(); @@ -145,7 +145,7 @@ index fc37aeb9935326e04f8d2cd18711925899d37e07..12d4c84230994b1ef2e4914945d1f361 #if BUILDFLAG(IS_ASH) cert_verifier_with_trust_anchors_ = -@@ -1875,13 +1961,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -1896,13 +1982,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( UpdateAdditionalCertificates( std::move(params_->initial_additional_certificates)); cert_verifier_with_trust_anchors_->InitializeOnIOThread( @@ -178,10 +178,10 @@ index fc37aeb9935326e04f8d2cd18711925899d37e07..12d4c84230994b1ef2e4914945d1f361 std::unique_ptr network_delegate = std::make_unique( diff --git a/services/network/network_context.h b/services/network/network_context.h -index e4727cb9b3722ca09c4908b78c1d90d0b17b7313..95d1aa8cdaf6e0417475bcf95fed28cb2867431c 100644 +index c324481d1556a684184da96a5f6f3afd38468bc9..748e6219ad44baa100ebb0f9620e5079caae75cc 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -87,6 +87,7 @@ class DomainReliabilityMonitor; +@@ -88,6 +88,7 @@ class DomainReliabilityMonitor; namespace network { class CertVerifierWithTrustAnchors; @@ -189,7 +189,7 @@ index e4727cb9b3722ca09c4908b78c1d90d0b17b7313..95d1aa8cdaf6e0417475bcf95fed28cb class CookieManager; class ExpectCTReporter; class HostResolver; -@@ -191,6 +192,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -192,6 +193,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) override; @@ -198,7 +198,7 @@ index e4727cb9b3722ca09c4908b78c1d90d0b17b7313..95d1aa8cdaf6e0417475bcf95fed28cb void ResetURLLoaderFactories() override; void GetCookieManager( mojo::PendingReceiver receiver) override; -@@ -678,6 +681,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -683,6 +686,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext CertVerifierWithTrustAnchors* cert_verifier_with_trust_anchors_ = nullptr; #endif @@ -208,7 +208,7 @@ index e4727cb9b3722ca09c4908b78c1d90d0b17b7313..95d1aa8cdaf6e0417475bcf95fed28cb // 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 63c12ed8613143f741d683ae90e5a4b3af67fe80..19a76ea08c4301c6cb10bc65c1a49ac0e93c3c5e 100644 +index 0a09398cf50e8ef8dac952c3cf89a64d6df53798..b0065647d08f3208446d0c996276d6394d80409e 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom @@ -215,6 +215,17 @@ struct CTPolicy { diff --git a/patches/chromium/no_cache_storage_check.patch b/patches/chromium/no_cache_storage_check.patch index 250bf039637c..6cae74e38218 100644 --- a/patches/chromium/no_cache_storage_check.patch +++ b/patches/chromium/no_cache_storage_check.patch @@ -7,7 +7,7 @@ Do not check for unique origin in CacheStorage, in Electron we may have scripts running without an origin. diff --git a/content/browser/cache_storage/legacy/legacy_cache_storage.cc b/content/browser/cache_storage/legacy/legacy_cache_storage.cc -index 6915a3b34cfed0237155f47ca612930954d9059d..2b4e3fa53177fafd88bae4e4eeb9647dde414263 100644 +index 0c0beb628e1a57ffd288e05203b75b82373932b0..2cd698a42391520de36594294e6f2ad243e70481 100644 --- a/content/browser/cache_storage/legacy/legacy_cache_storage.cc +++ b/content/browser/cache_storage/legacy/legacy_cache_storage.cc @@ -107,7 +107,7 @@ class LegacyCacheStorage::CacheLoader { diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index 0c47f839fcd8..0bf88f1d43c3 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -7,10 +7,10 @@ Pass RenderProcessHost through to PlatformNotificationService so Electron can identify which renderer a notification came from. diff --git a/content/browser/notifications/blink_notification_service_impl.cc b/content/browser/notifications/blink_notification_service_impl.cc -index 659149f4c5dea45bead88d26369d8aeb9462b729..7105781e0019b456f287fd0ebb6e309efe2cecad 100644 +index d756a1b8cfeba5900c95863ca29cb15d9e1b15e4..3159df3456483453b9b362bb8942b45160d67b4d 100644 --- a/content/browser/notifications/blink_notification_service_impl.cc +++ b/content/browser/notifications/blink_notification_service_impl.cc -@@ -88,9 +88,11 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl( +@@ -87,9 +87,11 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl( PlatformNotificationContextImpl* notification_context, BrowserContext* browser_context, scoped_refptr service_worker_context, @@ -22,7 +22,7 @@ index 659149f4c5dea45bead88d26369d8aeb9462b729..7105781e0019b456f287fd0ebb6e309e browser_context_(browser_context), service_worker_context_(std::move(service_worker_context)), origin_(origin), -@@ -151,8 +153,9 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification( +@@ -150,8 +152,9 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification( notification_id, std::move(event_listener_remote)); GetNotificationService(browser_context_) @@ -55,10 +55,10 @@ index 5253f6be778cc78571b3df0a33d364a9b1e6ef52..dc5307e6500b0bfb5da83e8d8ff8886b scoped_refptr service_worker_context_; diff --git a/content/browser/notifications/blink_notification_service_impl_unittest.cc b/content/browser/notifications/blink_notification_service_impl_unittest.cc -index 8465aa1395d0d4fa90a2702e697291508441bdd5..c5efb602468161a44e98836d507bdc67224c2863 100644 +index dcb0b03f0b814238860a17f88c1d7ed00546dad4..17184d672af88947c04b30de0aa62acda84084fb 100644 --- a/content/browser/notifications/blink_notification_service_impl_unittest.cc +++ b/content/browser/notifications/blink_notification_service_impl_unittest.cc -@@ -140,7 +140,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test { +@@ -139,7 +139,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test { notification_service_ = std::make_unique( notification_context_.get(), &browser_context_, @@ -68,7 +68,7 @@ index 8465aa1395d0d4fa90a2702e697291508441bdd5..c5efb602468161a44e98836d507bdc67 notification_service_remote_.BindNewPipeAndPassReceiver()); diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc -index ab588373be7ff0398d1835997e5216d955313f39..b0afd19d0cbc020874cd3ea31125443ede0a354f 100644 +index 15ba957ffdd3742912b7f7cac3e7ac57931c8954..5dc153c2a0f5680e05e7f397b2102982b28021bc 100644 --- a/content/browser/notifications/platform_notification_context_impl.cc +++ b/content/browser/notifications/platform_notification_context_impl.cc @@ -257,12 +257,13 @@ void PlatformNotificationContextImpl::Shutdown() { @@ -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 091709af0454b0b79386c79ae81e34b8d075d941..ab676a50ce44dbfe42adde03e5857a5ba16ed053 100644 +index 1383007152eef52859978e0640eab0fe51f89ce7..f9511932779e8e72460d581e2999c121255eec06 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2136,7 +2136,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2135,7 +2135,7 @@ void RenderProcessHostImpl::CreateNotificationService( mojo::PendingReceiver receiver) { DCHECK_CURRENTLY_ON(BrowserThread::UI); storage_partition_impl_->GetPlatformNotificationContext()->CreateService( @@ -142,7 +142,7 @@ index ca61088079c4150fcf389504ddcf26bcf6bf69cd..d9c034c39890eef1fe3d95c6d7c0ae68 const GURL& origin, const blink::PlatformNotificationData& notification_data, diff --git a/content/test/mock_platform_notification_service.cc b/content/test/mock_platform_notification_service.cc -index 639a93ac8d4f295910fcfb64d69d1498c9dbbe94..25d7b29b53b426d02664bc904f1c646662d9a5d5 100644 +index 2f5b8be21c8b37bb6a0c7fe52c87cb7f9debbca0..7934f6e625584466ff0aabc69583343c728759ea 100644 --- a/content/test/mock_platform_notification_service.cc +++ b/content/test/mock_platform_notification_service.cc @@ -30,6 +30,7 @@ MockPlatformNotificationService::MockPlatformNotificationService( diff --git a/patches/chromium/picture-in-picture.patch b/patches/chromium/picture-in-picture.patch index 6bf983ba04b5..a3eb620d4ce0 100644 --- a/patches/chromium/picture-in-picture.patch +++ b/patches/chromium/picture-in-picture.patch @@ -9,7 +9,7 @@ don't get errors for Chrome's generated resources, which are non-existent because we don't generate them in our build. diff --git a/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc b/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc -index 8c1466ff0b7862ac350fc981abc65f712bf577fc..de757dca84cdfd6a091193398d27b38db1ce0ff2 100644 +index 664500224b99779388b5fabfface02a9ff599fdc..2be06a3e1934a73b9825953a3b897f5bc0f12540 100644 --- a/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc +++ b/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc @@ -4,7 +4,7 @@ @@ -22,7 +22,7 @@ index 8c1466ff0b7862ac350fc981abc65f712bf577fc..de757dca84cdfd6a091193398d27b38d #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/color_palette.h" diff --git a/chrome/browser/ui/views/overlay/close_image_button.cc b/chrome/browser/ui/views/overlay/close_image_button.cc -index f35abd09439f96d997ddac672fb3b0ebeec0fd07..16e1c3d908ebce0c55a831299b64d1a7b9d43b1e 100644 +index 7bc1f27c0d2c181aa365e8b7b71877969567a8b0..6a43456834fa62df17419153d25474892088b559 100644 --- a/chrome/browser/ui/views/overlay/close_image_button.cc +++ b/chrome/browser/ui/views/overlay/close_image_button.cc @@ -4,7 +4,7 @@ @@ -77,7 +77,7 @@ index f07d400f5830ca01a0a0cbc897de1be693e646ba..4b74e2301ab6627f954d661f4b327ab7 Browser* browser = chrome::FindBrowserWithWebContents(controller->GetWebContents()); diff --git a/chrome/browser/ui/views/overlay/playback_image_button.cc b/chrome/browser/ui/views/overlay/playback_image_button.cc -index 5f90df7fc899e2ca47fce69ac109653f51587131..2c209a3d4a1f9a2aa3bfef85990ce36c9a565bb7 100644 +index 36261d8e71b00aadbecc4d5e7c5d0568742481f4..13f4f6b451cd73e67792a5d8750a89af483b2d12 100644 --- a/chrome/browser/ui/views/overlay/playback_image_button.cc +++ b/chrome/browser/ui/views/overlay/playback_image_button.cc @@ -5,7 +5,7 @@ @@ -90,7 +90,7 @@ index 5f90df7fc899e2ca47fce69ac109653f51587131..2c209a3d4a1f9a2aa3bfef85990ce36c #include "third_party/skia/include/core/SkColor.h" #include "ui/base/l10n/l10n_util.h" diff --git a/chrome/browser/ui/views/overlay/resize_handle_button.cc b/chrome/browser/ui/views/overlay/resize_handle_button.cc -index 583900afa70e217f23ead999535bdebe674a25d5..f0cde61f3d95894281c13cc82a1d18405f6993c6 100644 +index b1272d8664afdd5c05afcb38a2f533741f210554..20f7ffa8be09b046122430c4497edce807f5d69f 100644 --- a/chrome/browser/ui/views/overlay/resize_handle_button.cc +++ b/chrome/browser/ui/views/overlay/resize_handle_button.cc @@ -5,7 +5,7 @@ @@ -103,7 +103,7 @@ index 583900afa70e217f23ead999535bdebe674a25d5..f0cde61f3d95894281c13cc82a1d1840 #include "ui/base/hit_test.h" #include "ui/base/l10n/l10n_util.h" diff --git a/chrome/browser/ui/views/overlay/skip_ad_label_button.cc b/chrome/browser/ui/views/overlay/skip_ad_label_button.cc -index cda0a756c8c2934b166127b36f9618c194f6a80b..9f10712c37740b63828beac225e4d0d213cf5adf 100644 +index 251503cb7154c77333d85be892fe89253523a94a..052e74bb54e8b32985af7b5f870159c80ca44d87 100644 --- a/chrome/browser/ui/views/overlay/skip_ad_label_button.cc +++ b/chrome/browser/ui/views/overlay/skip_ad_label_button.cc @@ -4,7 +4,7 @@ @@ -116,7 +116,7 @@ index cda0a756c8c2934b166127b36f9618c194f6a80b..9f10712c37740b63828beac225e4d0d2 #include "ui/gfx/color_palette.h" #include "ui/views/background.h" diff --git a/chrome/browser/ui/views/overlay/track_image_button.cc b/chrome/browser/ui/views/overlay/track_image_button.cc -index 3390876fe53a68a814dc5adcfa5d76bdd126f6c5..fb1420d2c4ed67da0135df8ffb59ba1e03934e54 100644 +index d5fe4187200354d18c778591e2383d9c23f4783f..ccb0ed6fef88b7ec228055ded708637c3e094571 100644 --- a/chrome/browser/ui/views/overlay/track_image_button.cc +++ b/chrome/browser/ui/views/overlay/track_image_button.cc @@ -5,7 +5,7 @@ diff --git a/patches/chromium/printing.patch b/patches/chromium/printing.patch index 0ad01d915da6..62c3cb58334a 100644 --- a/patches/chromium/printing.patch +++ b/patches/chromium/printing.patch @@ -11,7 +11,7 @@ majority of changes originally come from these PRs: This patch also fixes callback for manual user cancellation and success. diff --git a/chrome/browser/printing/print_job.cc b/chrome/browser/printing/print_job.cc -index 4f3b68135f9bb29f2c36055f50e1725a9b36a856..c788d412544fdcc8992512784449752631aaf595 100644 +index a5b0e4ff00b7c3886c484e5a6a307816bc3f5de4..eb2e22fb2f9ac39f2fb33393e72d9248b8c30736 100644 --- a/chrome/browser/printing/print_job.cc +++ b/chrome/browser/printing/print_job.cc @@ -349,18 +349,25 @@ void PrintJob::StartPdfToEmfConversion( @@ -43,7 +43,7 @@ index 4f3b68135f9bb29f2c36055f50e1725a9b36a856..c788d412544fdcc89925127844497526 using RenderMode = PdfRenderSettings::Mode; RenderMode mode; diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc -index 89c7798d8ddf21eb74e726c142377afa05b59c26..dd75b8e82552a54868ce86caf90ba175af64e937 100644 +index 8e648fa8d563ab4ce98ffcca6825e4ddde1f60ce..47ba61f7b8d37b51587f75ae027c409603e03c63 100644 --- a/chrome/browser/printing/print_job_worker.cc +++ b/chrome/browser/printing/print_job_worker.cc @@ -21,7 +21,6 @@ @@ -102,7 +102,7 @@ index 89c7798d8ddf21eb74e726c142377afa05b59c26..dd75b8e82552a54868ce86caf90ba175 } diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc -index b0d667b078abe32a1e4e465abe2b07a63c562073..500dca35b35c6633074353c74d5b788abdf33772 100644 +index 277f2ca033d1be253da6c489897bb9cbedceb9e9..82d920addbb1bb8a07986d75004a0e73c1078650 100644 --- a/chrome/browser/printing/print_view_manager_base.cc +++ b/chrome/browser/printing/print_view_manager_base.cc @@ -29,10 +29,7 @@ @@ -274,7 +274,7 @@ index b0d667b078abe32a1e4e465abe2b07a63c562073..500dca35b35c6633074353c74d5b788a NOTREACHED(); break; } -@@ -752,8 +778,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( +@@ -754,8 +780,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( DCHECK(!quit_inner_loop_); DCHECK(query); @@ -286,8 +286,8 @@ index b0d667b078abe32a1e4e465abe2b07a63c562073..500dca35b35c6633074353c74d5b788a + } // We can't print if there is no renderer. - if (!web_contents()->GetRenderViewHost() || -@@ -774,8 +802,6 @@ bool PrintViewManagerBase::CreateNewPrintJob( + if (!web_contents()->GetMainFrame()->GetRenderViewHost() || +@@ -779,8 +807,6 @@ bool PrintViewManagerBase::CreateNewPrintJob( print_job_->SetSource(source, /*source_id=*/""); #endif @@ -296,7 +296,7 @@ index b0d667b078abe32a1e4e465abe2b07a63c562073..500dca35b35c6633074353c74d5b788a printing_succeeded_ = false; return true; } -@@ -824,14 +850,22 @@ void PrintViewManagerBase::ReleasePrintJob() { +@@ -829,14 +855,22 @@ void PrintViewManagerBase::ReleasePrintJob() { content::RenderFrameHost* rfh = printing_rfh_; printing_rfh_ = nullptr; @@ -321,7 +321,7 @@ index b0d667b078abe32a1e4e465abe2b07a63c562073..500dca35b35c6633074353c74d5b788a // Don't close the worker thread. print_job_ = nullptr; } -@@ -867,7 +901,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { +@@ -872,7 +906,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { } bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) { @@ -457,7 +457,7 @@ index bcd40171250b5d642ac14fb802f22a17fc1f61ec..5877f7d3c2eb27acf61d9bc03b0a8b98 // 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 2f1fb861cb516996ef9db7184d9351cc5b31c34a..675fa907da7e3ba784f9bacbadaec762ac5255ac 100644 +index cc147dbfedbb5f16a8527d3720a0d55c73d019ab..ccbbfd297158ce5e696af36eb53fd8ad21ce491f 100644 --- a/components/printing/renderer/print_render_frame_helper.cc +++ b/components/printing/renderer/print_render_frame_helper.cc @@ -38,6 +38,7 @@ diff --git a/patches/chromium/put_back_deleted_colors_for_autofill.patch b/patches/chromium/put_back_deleted_colors_for_autofill.patch index e9377012b6d4..e040a6e13458 100644 --- a/patches/chromium/put_back_deleted_colors_for_autofill.patch +++ b/patches/chromium/put_back_deleted_colors_for_autofill.patch @@ -115,10 +115,10 @@ index 52ac7e6b292a98da9dbcad64922d2b14e007ddb7..4abf2c37bd8507667bbf30750e084927 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 02cc213371e9389be427bac7da69901aed908012..255723ec8874920c8b45dbda2a1a5714b60e38be 100644 +index c45c48d9de73004ed89651920247f65fa3035aac..6bcec4c618ae2ee4e544ff0204a6349dee460707 100644 --- a/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc -@@ -649,6 +649,18 @@ base::Optional NativeThemeWin::GetPlatformHighContrastColor( +@@ -652,6 +652,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 8495e30f2d7a..30496aad7cd1 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -30,23 +30,23 @@ index a8cc695c4c1c1d2d7e3274a2b628894997de5fe8..a7ba417835f217391fa300f41c7fbdc0 // 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 ffe62ea1114943d1535a806fa515122c47072372..f5f851e4852b045555d5832b7ec72be903b2462b 100644 +index 8cd93fb2a795fe3b5158fe7f9446c570859aeb7b..89428b65e2bf6944018f8520a2910b3d6ba16241 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -1666,6 +1666,8 @@ void RenderWidgetHostImpl::SetCursor(const WebCursor& cursor) { - if (!view_) - return; - view_->UpdateCursor(cursor); +@@ -1849,6 +1849,8 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& unsafe_cursor) { + + if (view_) + view_->UpdateCursor(WebCursor(cursor)); + if (delegate_) -+ delegate_->OnCursorChanged(cursor); ++ delegate_->OnCursorChanged(WebCursor(cursor)); } - void RenderWidgetHostImpl::OnCursorVisibilityStateChanged(bool is_visible) { + void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 37d02e3c950bdb0a1e0f9ef20be71c24fdbde10d..2a80aaa5d4421bf2b3a46cc1674256944b33a1fa 100644 +index f2cbb7de01a8cca10103ed2795faa551a31b2883..bd74e5c793144ecc08f7594a448f7fda36699cd6 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4125,6 +4125,12 @@ bool WebContentsImpl::OnUpdateDragCursor() { +@@ -4129,6 +4129,12 @@ bool WebContentsImpl::OnUpdateDragCursor() { browser_plugin_embedder_->OnUpdateDragCursor(); } @@ -60,10 +60,10 @@ index 37d02e3c950bdb0a1e0f9ef20be71c24fdbde10d..2a80aaa5d4421bf2b3a46cc167425694 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 da32720cb353986120f3a4d3c53262499192228f..584582157b3f039d435e9cd140166614e9e02fab 100644 +index c3419791dac7ef5029560e3a792adac1a14d9165..a3c207631bac0a3168e22e40dbdd191c61c24437 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -939,6 +939,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -937,6 +937,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, void SendScreenRects() override; TextInputManager* GetTextInputManager() override; bool OnUpdateDragCursor() override; @@ -72,7 +72,7 @@ index da32720cb353986120f3a4d3c53262499192228f..584582157b3f039d435e9cd140166614 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 864b2ba8292649adf7068295d26e112d45e9f884..a9e7d1e91e107f28e2797d286ae4312a6a52f6e4 100644 +index 6f9a949f9e67ed2532012a826fceae682309283d..1e17a5681750b15ebcee85aac2313672983a37fe 100644 --- a/content/public/browser/web_contents_observer.h +++ b/content/public/browser/web_contents_observer.h @@ -14,6 +14,7 @@ @@ -83,7 +83,7 @@ index 864b2ba8292649adf7068295d26e112d45e9f884..a9e7d1e91e107f28e2797d286ae4312a #include "content/public/browser/allow_service_worker_result.h" #include "content/public/browser/cookie_access_details.h" #include "content/public/browser/navigation_controller.h" -@@ -368,6 +369,9 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener { +@@ -367,6 +368,9 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener { // Invoked every time the WebContents changes visibility. virtual void OnVisibilityChanged(Visibility visibility) {} diff --git a/patches/chromium/rename_the_v8_context_snapshot_on_arm64_macos_builds.patch b/patches/chromium/rename_the_v8_context_snapshot_on_arm64_macos_builds.patch deleted file mode 100644 index 4be63ae11355..000000000000 --- a/patches/chromium/rename_the_v8_context_snapshot_on_arm64_macos_builds.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Samuel Attard -Date: Wed, 21 Oct 2020 13:13:00 -0700 -Subject: rename the v8 context snapshot on arm64 macOS builds - -This is done so that the arm64 and x64 v8 context snapshots can -live side by side in a universal app build of a Chromium based -application. All other files can be Mach-O universal binaries -generated using "lipo" but these snapshot files have to be uniquely -named so that both can exist in the Resources folder at the same time -and the correct one is chosen at runtime. - -Bug: 1142017 -Change-Id: I8449b72ba3a36e7ce69b9d9ec7768bd80ecc3e3a - -diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn -index 3c15429a9db345644192648a55696d9c94f82fcc..8eab9949c34cb71f44f9a332af9f489ed3f6f178 100644 ---- a/android_webview/BUILD.gn -+++ b/android_webview/BUILD.gn -@@ -802,7 +802,7 @@ if (android_64bit_target_cpu) { - "32-bit targets shouldn't have secondary abi") - arch_suffix = "32" - if (use_v8_context_snapshot) { -- renaming_sources = [ "$_secondary_abi_out_dir/v8_context_snapshot.bin" ] -+ renaming_sources = [ "$_secondary_abi_out_dir/$v8_context_snapshot_filename" ] - renaming_destinations = [ "v8_context_snapshot_$arch_suffix.bin" ] - } else { - renaming_sources = [ "$_secondary_abi_out_dir/snapshot_blob.bin" ] -diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index ed0dc4afc3dad05575272c931d6b82b632f61115..bda4b844a1c9fb1ac1bdb8dbd7ef380f0147382f 100644 ---- a/chrome/BUILD.gn -+++ b/chrome/BUILD.gn -@@ -774,7 +774,7 @@ if (is_win) { - if (v8_use_external_startup_data) { - public_deps += [ "//v8" ] - if (use_v8_context_snapshot) { -- sources += [ "$root_out_dir/v8_context_snapshot.bin" ] -+ sources += [ "$root_out_dir/$v8_context_snapshot_filename" ] - public_deps += [ "//tools/v8_context_snapshot" ] - } else { - sources += [ "$root_out_dir/snapshot_blob.bin" ] -diff --git a/chrome/installer/mini_installer/BUILD.gn b/chrome/installer/mini_installer/BUILD.gn -index 7c7af8c0d9487abcd82ecd9d2d5b1ab4b737148b..df39ea145cc6b05775db7fbfb680fce892b8941a 100644 ---- a/chrome/installer/mini_installer/BUILD.gn -+++ b/chrome/installer/mini_installer/BUILD.gn -@@ -228,7 +228,7 @@ template("generate_mini_installer") { - if (v8_use_external_startup_data) { - deps += [ "//v8" ] - if (use_v8_context_snapshot) { -- inputs += [ "$root_out_dir/v8_context_snapshot.bin" ] -+ inputs += [ "$root_out_dir/$v8_context_snapshot_filename" ] - deps += [ "//tools/v8_context_snapshot" ] - } else { - inputs += [ "$root_out_dir/snapshot_blob.bin" ] -diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn -index fed29f648218c47c07dd6b23c0787d13016ee3c0..daf8d17a9d3035b857f83aa1935ed0a0c1987bc7 100644 ---- a/content/browser/BUILD.gn -+++ b/content/browser/BUILD.gn -@@ -36,6 +36,7 @@ source_set("browser") { - configs += [ - "//build/config:precompiled_headers", - "//content:content_implementation", -+ "//tools/v8_context_snapshot:use_v8_context_snapshot", - "//v8:external_startup_data", - ] - defines = [] -diff --git a/content/browser/v8_snapshot_files.cc b/content/browser/v8_snapshot_files.cc -index d557c41a38e17c61e1b91d3daa47ea17e13a6a9e..43c93e3f50290d2aef230083a4bcebf307ef0c6e 100644 ---- a/content/browser/v8_snapshot_files.cc -+++ b/content/browser/v8_snapshot_files.cc -@@ -13,7 +13,7 @@ std::map GetV8SnapshotFilesToPreload() { - #if defined(OS_LINUX) || defined(OS_CHROMEOS) - #if defined(USE_V8_CONTEXT_SNAPSHOT) - return {{kV8ContextSnapshotDataDescriptor, -- base::FilePath(FILE_PATH_LITERAL("v8_context_snapshot.bin"))}}; -+ base::FilePath(FILE_PATH_LITERAL(V8_CONTEXT_SNAPSHOT_FILENAME))}}; - #else - return {{kV8SnapshotDataDescriptor, - base::FilePath(FILE_PATH_LITERAL("snapshot_blob.bin"))}}; -diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn -index 831caaf67c31f4fdb1df47d434803ffe44d7db85..51a0b31eb616ee39d672ead2aafe470bdebaa6bd 100644 ---- a/content/shell/BUILD.gn -+++ b/content/shell/BUILD.gn -@@ -562,7 +562,7 @@ if (is_mac) { - if (v8_use_external_startup_data) { - public_deps += [ "//v8" ] - if (use_v8_context_snapshot) { -- sources += [ "$root_out_dir/v8_context_snapshot.bin" ] -+ sources += [ "$root_out_dir/$v8_context_snapshot_filename" ] - public_deps += [ "//tools/v8_context_snapshot" ] - } else { - sources += [ "$root_out_dir/snapshot_blob.bin" ] -diff --git a/gin/BUILD.gn b/gin/BUILD.gn -index 9ec6eb1b898bc87d066bdc75867ff624f7ef1f50..dfc59c17382f8463e82185032d977a1868c71985 100644 ---- a/gin/BUILD.gn -+++ b/gin/BUILD.gn -@@ -85,7 +85,10 @@ component("gin") { - frameworks = [ "CoreFoundation.framework" ] - } - -- configs += [ "//v8:external_startup_data" ] -+ configs += [ -+ "//tools/v8_context_snapshot:use_v8_context_snapshot", -+ "//v8:external_startup_data", -+ ] - } - - executable("gin_shell") { -diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc -index 51fe2fa000e47ced3661ba581c52dceba93447fe..07d970b84b770b06019dc1de441cf108d67b1782 100644 ---- a/gin/v8_initializer.cc -+++ b/gin/v8_initializer.cc -@@ -76,7 +76,9 @@ const char kSnapshotFileName32[] = "snapshot_blob_32.bin"; - #endif - - #else // defined(OS_ANDROID) --const char kV8ContextSnapshotFileName[] = "v8_context_snapshot.bin"; -+#if defined(USE_V8_CONTEXT_SNAPSHOT) -+const char kV8ContextSnapshotFileName[] = V8_CONTEXT_SNAPSHOT_FILENAME; -+#endif - const char kSnapshotFileName[] = "snapshot_blob.bin"; - #endif // defined(OS_ANDROID) - -@@ -86,7 +88,12 @@ const char* GetSnapshotFileName( - case V8Initializer::V8SnapshotFileType::kDefault: - return kSnapshotFileName; - case V8Initializer::V8SnapshotFileType::kWithAdditionalContext: -+#if defined(USE_V8_CONTEXT_SNAPSHOT) - return kV8ContextSnapshotFileName; -+#else -+ NOTREACHED(); -+ return nullptr; -+#endif - } - NOTREACHED(); - return nullptr; -diff --git a/headless/BUILD.gn b/headless/BUILD.gn -index 1bd826a5562fc388f3b936e24a316902a8459ad5..1d099ce725d369fb0fea5f690ed2dee7934ef0b0 100644 ---- a/headless/BUILD.gn -+++ b/headless/BUILD.gn -@@ -475,7 +475,7 @@ component("headless_non_renderer") { - if (v8_use_external_startup_data) { - public_deps += [ "//v8" ] - if (use_v8_context_snapshot) { -- data += [ "$root_out_dir/v8_context_snapshot.bin" ] -+ data += [ "$root_out_dir/$v8_context_snapshot_filename" ] - data_deps += [ "//tools/v8_context_snapshot" ] - } else { - data += [ "$root_out_dir/snapshot_blob.bin" ] -diff --git a/tools/v8_context_snapshot/BUILD.gn b/tools/v8_context_snapshot/BUILD.gn -index 2f20f684d89021dcd0e64421a0553a3e4a66334d..7662cc8ee83e39709eee6e0919c85370fedbb983 100644 ---- a/tools/v8_context_snapshot/BUILD.gn -+++ b/tools/v8_context_snapshot/BUILD.gn -@@ -21,14 +21,17 @@ group("v8_context_snapshot") { - if (use_v8_context_snapshot) { - public_deps = [ ":generate_v8_context_snapshot" ] - if (!is_android) { -- data = [ "$root_out_dir/v8_context_snapshot.bin" ] -+ data = [ "$root_out_dir/$v8_context_snapshot_filename" ] - } - } - } - - config("use_v8_context_snapshot") { - if (use_v8_context_snapshot) { -- defines = [ "USE_V8_CONTEXT_SNAPSHOT" ] -+ defines = [ -+ "USE_V8_CONTEXT_SNAPSHOT", -+ "V8_CONTEXT_SNAPSHOT_FILENAME=\"$v8_context_snapshot_filename\"", -+ ] - } - } - -@@ -36,7 +39,7 @@ if (use_v8_context_snapshot) { - if (is_android && enable_java_templates) { - android_assets("v8_context_snapshot_assets") { - deps = [ ":v8_context_snapshot" ] -- renaming_sources = [ "$root_out_dir/v8_context_snapshot.bin" ] -+ renaming_sources = [ "$root_out_dir/$v8_context_snapshot_filename" ] - if (current_cpu == "arm" || current_cpu == "x86" || - current_cpu == "mipsel") { - renaming_destinations = [ "v8_context_snapshot_32.bin" ] -@@ -49,7 +52,7 @@ if (use_v8_context_snapshot) { - - action("generate_v8_context_snapshot") { - script = "//build/gn_run_binary.py" -- output_file = "$root_out_dir/v8_context_snapshot.bin" -+ output_file = "$root_out_dir/$v8_context_snapshot_filename" - output_path = rebase_path(output_file, root_build_dir) - - args = [ -diff --git a/tools/v8_context_snapshot/v8_context_snapshot.gni b/tools/v8_context_snapshot/v8_context_snapshot.gni -index 6a6f477ad3f543680cd6485bdf6b0e82d567012c..7f485e135cef8e3f0c01ede28b4cfe76067bc624 100644 ---- a/tools/v8_context_snapshot/v8_context_snapshot.gni -+++ b/tools/v8_context_snapshot/v8_context_snapshot.gni -@@ -18,6 +18,18 @@ declare_args() { - !is_chromeos && !is_android && !is_chromecast && !is_fuchsia && - !(host_os == "mac" && current_cpu == "x86") && - (v8_target_cpu == target_cpu || is_msan) && !(is_win && host_os != "win") -+ -+ # We use a different filename for arm64 macOS builds so that the arm64 and -+ # x64 snapshots can live side-by-side in a universal macOS app. -+ if (is_mac) { -+ if (v8_target_cpu == "x64") { -+ v8_context_snapshot_filename = "v8_context_snapshot.x86_64.bin" -+ } else if (v8_target_cpu == "arm64") { -+ v8_context_snapshot_filename = "v8_context_snapshot.arm64.bin" -+ } -+ } else { -+ v8_context_snapshot_filename = "v8_context_snapshot.bin" -+ } - } - - # We cannot use V8 context snapshot, if V8 doesn't use snapshot files. diff --git a/patches/chromium/render_widget_host_view_base.patch b/patches/chromium/render_widget_host_view_base.patch index 70a78c765111..fa3e0607f5b2 100644 --- a/patches/chromium/render_widget_host_view_base.patch +++ b/patches/chromium/render_widget_host_view_base.patch @@ -6,10 +6,10 @@ 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 38678fccf52b5e487123456b998d3a9749808740..d79700c16506c02700b11b1f1392345d5cafe9cb 100644 +index 2c87779ffd036d999c089fd2c1551d04778c5c10..eeddca055d1e552c775b938feaee28de5780c411 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( +@@ -574,6 +574,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor( return false; } @@ -24,7 +24,7 @@ index 38678fccf52b5e487123456b998d3a9749808740..d79700c16506c02700b11b1f1392345d const blink::WebMouseEvent& event, const ui::LatencyInfo& latency) { diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h -index e36fac493c11e896efd87d4e0a854d103ae66a37..ee3f9179c49cbc725946dddd68e7f9a5dd8d67d2 100644 +index 1dbaa5f457cfe6b343f84bd0b3d46b62daad5480..7b487eb2ce7645bf40526f103fcffbba4e8082c4 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.h +++ b/content/browser/renderer_host/render_widget_host_view_base.h @@ -25,8 +25,10 @@ @@ -49,8 +49,8 @@ index e36fac493c11e896efd87d4e0a854d103ae66a37..ee3f9179c49cbc725946dddd68e7f9a5 +class WebContentsView; class WebCursor; class DelegatedFrameHost; - struct DisplayFeature; -@@ -121,6 +125,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { + +@@ -120,6 +124,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { bool show_reason_unoccluded, bool show_reason_bfcache_restore) final; @@ -60,7 +60,7 @@ index e36fac493c11e896efd87d4e0a854d103ae66a37..ee3f9179c49cbc725946dddd68e7f9a5 // This only needs to be overridden by RenderWidgetHostViewBase subclasses // that handle content embedded within other RenderWidgetHostViews. gfx::PointF TransformPointToRootCoordSpaceF( -@@ -287,6 +294,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { +@@ -286,6 +293,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { virtual void ProcessGestureEvent(const blink::WebGestureEvent& event, const ui::LatencyInfo& latency); diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index 25af750a016f..9f1c58fbac2f 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 9eb44f63571427d021ac8aaa9e8f53aa8dd311c4..ed0dc4afc3dad05575272c931d6b82b632f61115 100644 +index f721f1aff4781fa5936010dfb5b0c97587e81c05..7dd531f3d01590687ec14a013bb67503ce3347b0 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1437,7 +1437,7 @@ if (is_chrome_branded && !is_android) { +@@ -1448,7 +1448,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index 9eb44f63571427d021ac8aaa9e8f53aa8dd311c4..ed0dc4afc3dad05575272c931d6b82b6 chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1457,6 +1457,12 @@ if (!is_android) { +@@ -1468,6 +1468,12 @@ if (!is_android) { } } diff --git a/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch b/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch index 911c45eed990..f960ce946747 100644 --- a/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch +++ b/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch @@ -9,10 +9,10 @@ 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 e558d9b5935e31e1b0386536bbd72c26c18ae370..202678fb5e42ceec878efa5e346ec732a6559c9e 100644 +index 7dbbe8742ca4f680ac99b5e286f7522e2b91dc14..82fb42b76f8a7dafab79018f1919e55cbe964569 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -1269,6 +1269,25 @@ bool ChromeContentRendererClient::AllowPopup() { +@@ -1265,6 +1265,25 @@ ChromeContentRendererClient::GetProtocolHandlerSecurityLevel() { #endif } @@ -39,7 +39,7 @@ index e558d9b5935e31e1b0386536bbd72c26c18ae370..202678fb5e42ceec878efa5e346ec732 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 fd190e3ab45317adc4f66c6c7f9c03e99d3f914a..33b1a3e129fe7ae03a3058da5e27825be275c3cd 100644 +index b76ed96d41c174aaf225e35b72d03b9f870b3d70..429f5b3be9ae1bb92200ed44e26085f8db04169d 100644 --- a/chrome/renderer/chrome_content_renderer_client.h +++ b/chrome/renderer/chrome_content_renderer_client.h @@ -122,6 +122,11 @@ class ChromeContentRendererClient @@ -47,18 +47,18 @@ index fd190e3ab45317adc4f66c6c7f9c03e99d3f914a..33b1a3e129fe7ae03a3058da5e27825b bool RunIdleHandlerWhenWidgetsHidden() override; bool AllowPopup() override; + bool ShouldFork(blink::WebLocalFrame* frame, -+ const GURL& url, -+ const std::string& http_method, -+ bool is_initial_navigation, -+ bool is_server_redirect) override; ++ const GURL& url, ++ const std::string& http_method, ++ bool is_initial_navigation, ++ bool is_server_redirect) override; + blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel() + override; void WillSendRequest(blink::WebLocalFrame* frame, - 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 098c3e1d6aaabdcf57c8fdbf10bd43035afabdec..68f04e7dd49ca486a4fdcbde5fa64d313b9587a9 100644 +index 6a4f2e42f18e53e337e18333618803ebeaef2eb2..e475101a596d9b89a5fed27f81e8e46320beba0b 100644 --- a/content/public/renderer/content_renderer_client.cc +++ b/content/public/renderer/content_renderer_client.cc -@@ -104,6 +104,14 @@ bool ContentRendererClient::HandleNavigation( +@@ -115,6 +115,14 @@ bool ContentRendererClient::HandleNavigation( } #endif @@ -74,7 +74,7 @@ index 098c3e1d6aaabdcf57c8fdbf10bd43035afabdec..68f04e7dd49ca486a4fdcbde5fa64d31 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 55d8845b0a836569ef9e8bb9dd0c86f98e2a4f5c..2f5d77dbbcf62d93736c8d999b47f6c8cb8c7a25 100644 +index c311fd6e4094c56698575c492042644fc5bccf28..1337b1acd88a6e7fbffb23a0ca1f03c53b3a9718 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h @@ -210,6 +210,13 @@ class CONTENT_EXPORT ContentRendererClient { @@ -92,10 +92,10 @@ index 55d8845b0a836569ef9e8bb9dd0c86f98e2a4f5c..2f5d77dbbcf62d93736c8d999b47f6c8 // |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 8c82f4809e4544bb5f12ec5a5e9d6133f0154c47..0007055a8774f45b08e6dcd1a34982992f561181 100644 +index 4f0e7563d263569f34eb336426a9bd4e28800032..25f786b85b41945a44380e5aedfd2b3fb3f68fc2 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -5673,6 +5673,23 @@ void RenderFrameImpl::BeginNavigation( +@@ -5570,6 +5570,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 a8c230b78c03..cb683a321249 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 52f812523cfe3371e3335b319c03740a1d526335..1d9bf63805edcab08b7bf03bec65a2665574335a 100644 +index a4240c7c75a3fabc1472bd0cebc6b5a5f0eb3b24..cf841406399aa12972640544ad2bb293181b9a4c 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1295,7 +1295,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1293,7 +1293,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 675cd3f8718a..13411c647d98 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 ab676a50ce44dbfe42adde03e5857a5ba16ed053..a01596138b0b6f05a74ff0668e73e90de155f219 100644 +index f9511932779e8e72460d581e2999c121255eec06..b85f1869b42d7b485bba5872d70da6c0d5f17d82 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -409,6 +409,11 @@ class RendererSandboxedProcessLauncherDelegate +@@ -408,6 +408,11 @@ class RendererSandboxedProcessLauncherDelegate { } @@ -37,7 +37,7 @@ index ab676a50ce44dbfe42adde03e5857a5ba16ed053..a01596138b0b6f05a74ff0668e73e90d ~RendererSandboxedProcessLauncherDelegate() override {} #if defined(OS_WIN) -@@ -430,6 +435,9 @@ class RendererSandboxedProcessLauncherDelegate +@@ -429,6 +434,9 @@ class RendererSandboxedProcessLauncherDelegate #if BUILDFLAG(USE_ZYGOTE_HANDLE) ZygoteHandle GetZygote() override { @@ -47,7 +47,7 @@ index ab676a50ce44dbfe42adde03e5857a5ba16ed053..a01596138b0b6f05a74ff0668e73e90d const base::CommandLine& browser_command_line = *base::CommandLine::ForCurrentProcess(); base::CommandLine::StringType renderer_prefix = -@@ -444,10 +452,13 @@ class RendererSandboxedProcessLauncherDelegate +@@ -443,10 +451,13 @@ class RendererSandboxedProcessLauncherDelegate return sandbox::policy::SandboxType::kRenderer; } @@ -62,7 +62,7 @@ index ab676a50ce44dbfe42adde03e5857a5ba16ed053..a01596138b0b6f05a74ff0668e73e90d }; const char kSessionStorageHolderKey[] = "kSessionStorageHolderKey"; -@@ -1844,11 +1855,18 @@ bool RenderProcessHostImpl::Init() { +@@ -1843,11 +1854,18 @@ bool RenderProcessHostImpl::Init() { cmd_line->PrependWrapper(renderer_prefix); AppendRendererCommandLine(cmd_line.get()); diff --git a/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch b/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch index e4025f59303d..1db48be62ce3 100644 --- a/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch +++ b/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch @@ -6,7 +6,7 @@ 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 5f96dc27370ee015ea15f06b655098d1e837a43d..959ab3c3e989085af8fe4b2f52e5fb1b4ef20222 100644 +index 5353f3b10d3d3a59c716e82111cce22ec23e482c..f000b9e436f9ef200607460b6af0e7c7d5179987 100644 --- a/content/browser/ppapi_plugin_process_host.cc +++ b/content/browser/ppapi_plugin_process_host.cc @@ -112,6 +112,9 @@ class PpapiPluginSandboxedProcessLauncherDelegate diff --git a/patches/chromium/v8_context_snapshot_generator.patch b/patches/chromium/v8_context_snapshot_generator.patch index 2d2338446632..5575e262cb2e 100644 --- a/patches/chromium/v8_context_snapshot_generator.patch +++ b/patches/chromium/v8_context_snapshot_generator.patch @@ -7,10 +7,10 @@ v8_context_snapshot_generator is a build time executable. The patch adds the config. diff --git a/tools/v8_context_snapshot/BUILD.gn b/tools/v8_context_snapshot/BUILD.gn -index 7728ccccee97e747d476500baf0ae46a52b66ae3..2f20f684d89021dcd0e64421a0553a3e4a66334d 100644 +index c238e7e3837e0ee521374045b28340a8fc223a7d..7662cc8ee83e39709eee6e0919c85370fedbb983 100644 --- a/tools/v8_context_snapshot/BUILD.gn +++ b/tools/v8_context_snapshot/BUILD.gn -@@ -112,6 +112,7 @@ if (use_v8_context_snapshot) { +@@ -115,6 +115,7 @@ if (use_v8_context_snapshot) { configs += [ "//v8:external_startup_data", ":disable_icf", diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index 1e965cf0b3ee..09d868e19cfd 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 1455dfcae9e1ded39d351f6569919f0c313e3de5..37d02e3c950bdb0a1e0f9ef20be71c24fdbde10d 100644 +index 0d0c5b88edbee1e8d9e5cf93811038fd65311a31..f2cbb7de01a8cca10103ed2795faa551a31b2883 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -2744,6 +2744,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2745,6 +2745,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 1455dfcae9e1ded39d351f6569919f0c313e3de5..37d02e3c950bdb0a1e0f9ef20be71c24 WebContentsViewDelegate* delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -2754,6 +2760,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2755,6 +2761,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { view_.reset(CreateWebContentsView(this, delegate, &render_view_host_delegate_view_)); } @@ -34,10 +34,10 @@ index 1455dfcae9e1ded39d351f6569919f0c313e3de5..37d02e3c950bdb0a1e0f9ef20be71c24 CHECK(view_.get()); diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index 5922d418d6c046f1db44abc49489166aa532eddc..df2dd0bb3e84b2d14e5db71cb5884d0a584b14af 100644 +index 0270206115ff21dab1179db26e8cf20a05c2304e..8096123704e1dae9760692736e2059fd6a794767 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h -@@ -84,8 +84,11 @@ class BrowserContext; +@@ -87,8 +87,11 @@ class BrowserContext; class BrowserPluginGuestDelegate; class RenderFrameHost; class RenderViewHost; @@ -49,7 +49,7 @@ index 5922d418d6c046f1db44abc49489166aa532eddc..df2dd0bb3e84b2d14e5db71cb5884d0a class WebUI; struct CustomContextMenuContext; struct DropData; -@@ -219,6 +222,10 @@ class WebContents : public PageNavigator, +@@ -222,6 +225,10 @@ class WebContents : public PageNavigator, // Sandboxing flags set on the new WebContents. network::mojom::WebSandboxFlags starting_sandbox_flags; diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index 67a22de5d169..1b192b196f18 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -10,7 +10,7 @@ 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 8bfb77d3f69c97d062ea56dfe7894ec380bfd00f..55d8845b0a836569ef9e8bb9dd0c86f98e2a4f5c 100644 +index e9def973e93c0456afe8c2829b01b0592e87e45a..c311fd6e4094c56698575c492042644fc5bccf28 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h @@ -381,6 +381,11 @@ class CONTENT_EXPORT ContentRendererClient { @@ -26,10 +26,10 @@ index 8bfb77d3f69c97d062ea56dfe7894ec380bfd00f..55d8845b0a836569ef9e8bb9dd0c86f9 // 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 b58a920a4f6abeaddc2eb6daaf9af6c26a95d896..a8e31aabf99a3129471317df5a4de6c9628ba1c3 100644 +index 1fa8724436170413c0256afb5d3a8bb154493083..3e3ca9c7b908044c27343d879d084c8a883132f2 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -893,6 +893,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -891,6 +891,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } @@ -43,22 +43,22 @@ index b58a920a4f6abeaddc2eb6daaf9af6c26a95d896..a8e31aabf99a3129471317df5a4de6c9 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 d66c255d4fa5b053ea908c447df0fdec6f4f43ae..04f13f3b8d1b66937ba9e383185e9a35407cad71 100644 +index 0bbe077c86a74e6fb3ce52969fad49a3319283e0..de42716cc1969e485a40cf59f735e48e1948443b 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -190,6 +190,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -191,6 +191,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { void DidStartWorkerThread() override; void WillStopWorkerThread() override; void WorkerContextCreated(const v8::Local& worker) override; + void WorkerContextWillDestroy(const v8::Local& worker) override; bool AllowScriptExtensionForServiceWorker( const blink::WebSecurityOrigin& script_origin) override; - bool IsExcludedHeaderForServiceWorkerFetchEvent( + blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel() diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index 96d20cbb05d1d5c0d00b0118a23c1815fc6b06bb..488ff32f8c398a8bf97b50241ae147fa70821d2e 100644 +index 358f3c1d004c93096a78955e850f8dd0b473b0a8..5a9ae1626c22de04080ad8e6d613dd183632922e 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -674,6 +674,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -673,6 +673,7 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} @@ -67,10 +67,10 @@ index 96d20cbb05d1d5c0d00b0118a23c1815fc6b06bb..488ff32f8c398a8bf97b50241ae147fa const WebSecurityOrigin& script_origin) { return false; diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc -index f2ecee885ab4dedd07f953f4877e03e4bbb3e236..54a54e2424d88d7ef3a797ea8d020410c63ddf4f 100644 +index 4fc91c606d0cc954c08db087abfe3eb7371faea1..bdf96c40ba7b6aa44d0e504df6f422e53f3ecbb0 100644 --- a/third_party/blink/renderer/core/workers/worker_thread.cc +++ b/third_party/blink/renderer/core/workers/worker_thread.cc -@@ -744,6 +744,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { +@@ -739,6 +739,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { nested_runner_->QuitNow(); } 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 7b386a90e2a9..a2dd8d24364a 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,7 +19,7 @@ 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 2f5d77dbbcf62d93736c8d999b47f6c8cb8c7a25..1da00f46cf7b7d7afb5b627f786f51d73c48f133 100644 +index 1337b1acd88a6e7fbffb23a0ca1f03c53b3a9718..d4d9aa6e82793eba3d0a7978d7976e8f868f6661 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h @@ -388,6 +388,11 @@ class CONTENT_EXPORT ContentRendererClient { @@ -35,10 +35,10 @@ index 2f5d77dbbcf62d93736c8d999b47f6c8cb8c7a25..1da00f46cf7b7d7afb5b627f786f51d7 // 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 a8e31aabf99a3129471317df5a4de6c9628ba1c3..34cb8986cff56445fb0bfd2f8670d2bf7e5e8ea5 100644 +index 3e3ca9c7b908044c27343d879d084c8a883132f2..711bbf47dbbd0f423e0034c6a6bfd788026cdf0b 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -905,6 +905,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( +@@ -903,6 +903,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( worker); } @@ -52,10 +52,10 @@ index a8e31aabf99a3129471317df5a4de6c9628ba1c3..34cb8986cff56445fb0bfd2f8670d2bf 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 04f13f3b8d1b66937ba9e383185e9a35407cad71..b4c49b941cafbaefaf353cff14314afc3813dd49 100644 +index de42716cc1969e485a40cf59f735e48e1948443b..0e6bb9cd2d4948d69c3f137767bc20e9d6214718 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -190,6 +190,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -191,6 +191,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 04f13f3b8d1b66937ba9e383185e9a35407cad71..b4c49b941cafbaefaf353cff14314afc 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 488ff32f8c398a8bf97b50241ae147fa70821d2e..c1f6f2c253cb343c0ebe6a9b97314bfc59fd1211 100644 +index 5a9ae1626c22de04080ad8e6d613dd183632922e..cd1252f12c355d56b31e664d24eb67ab4eee92a3 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -674,6 +674,8 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -673,6 +673,8 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} diff --git a/patches/v8/add_realloc.patch b/patches/v8/add_realloc.patch index db5bdc7dbbab..9094acb353d3 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 9cd2d451031f6bba582d17c9c468404a827d30a6..d11c9d7bd24560fac1ff6c1869ececb1cd0e7b31 100644 +index 835178204ad01db34d0573fe397b1810c719b302..aca7109160c5465d3bf1f97078ad909c809e35cf 100644 --- a/include/v8.h +++ b/include/v8.h -@@ -5152,6 +5152,13 @@ class V8_EXPORT ArrayBuffer : public Object { +@@ -5176,6 +5176,13 @@ class V8_EXPORT ArrayBuffer : public Object { */ virtual void* AllocateUninitialized(size_t length) = 0; @@ -30,10 +30,10 @@ index 9cd2d451031f6bba582d17c9c468404a827d30a6..d11c9d7bd24560fac1ff6c1869ececb1 * 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 bd956f1d62f53ba703d530bc0349c05847739609..84765e2c77723279061e6581e209028db7d7c16a 100644 +index a29747da62ff4e853abfc2736109d808e3481fbb..65bd2586d5b3b59a977aadc5985fffc16cd0b251 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -538,6 +538,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) { +@@ -539,6 +539,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 a9fe43bea538..2b53c2b019dd 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 12f776c76f194e54bed45e014b18c6acedd6239d..cd93c9e860057e5ccdeb0bd9a66ff61b518a8a2f 100644 +index 3b79cb0eb9c5996c08b504fc4436a364d0c68ab0..03f703a7340d04ee20e39c49e6844cc539bfea03 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -422,7 +422,7 @@ config("internal_config") { +@@ -424,7 +424,7 @@ config("internal_config") { ":v8_header_features", ] @@ -21,7 +21,7 @@ index 12f776c76f194e54bed45e014b18c6acedd6239d..cd93c9e860057e5ccdeb0bd9a66ff61b defines += [ "BUILDING_V8_SHARED" ] } } -@@ -4541,7 +4541,7 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -4576,7 +4576,7 @@ if (current_toolchain == v8_generator_toolchain) { "src/interpreter/bytecodes.h", ] @@ -30,7 +30,7 @@ index 12f776c76f194e54bed45e014b18c6acedd6239d..cd93c9e860057e5ccdeb0bd9a66ff61b deps = [ ":v8_libbase", -@@ -4578,6 +4578,8 @@ if (current_toolchain == v8_snapshot_toolchain) { +@@ -4613,6 +4613,8 @@ if (current_toolchain == v8_snapshot_toolchain) { configs = [ ":internal_config" ] diff --git a/patches/v8/dcheck.patch b/patches/v8/dcheck.patch index ff1103b82b7e..3f4e2e9afc36 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 84765e2c77723279061e6581e209028db7d7c16a..432a79b2d51863727edb88638276e4c7c1b70342 100644 +index 65bd2586d5b3b59a977aadc5985fffc16cd0b251..4767cfcbfac97a899bdd22784753e51464ae23db 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -8811,7 +8811,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { +@@ -8812,7 +8812,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { } void Isolate::PerformMicrotaskCheckpoint() { @@ -19,10 +19,10 @@ index 84765e2c77723279061e6581e209028db7d7c16a..432a79b2d51863727edb88638276e4c7 isolate->default_microtask_queue()->PerformCheckpoint(this); } diff --git a/src/heap/heap.cc b/src/heap/heap.cc -index 3efcd9412715a7de46ede444ed89b3e0dfd96e68..2d0026f3be7f422eced8eb14697bebe5f634a2e8 100644 +index e818600d5b3326bf3c87cb73d43f2db10a94c73b..276d8d5ebe01e1e544e422d34e15e54e72fd3c3c 100644 --- a/src/heap/heap.cc +++ b/src/heap/heap.cc -@@ -5450,9 +5450,9 @@ void Heap::TearDown() { +@@ -5457,9 +5457,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 90c0066322c8..d814ad4f102b 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 ff13e8ca7fc0de9c24449e39d0e9056c399f4797..dd0a2abed165d0eb3583e3171da73b156cb28872 100644 +index f5295922ff1a87a7c3710be5c334eaa3323a9fed..e1a9e15679213aba8e2639fba4079ac144b771f2 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -422,6 +422,10 @@ config("internal_config") { +@@ -424,6 +424,10 @@ config("internal_config") { ":v8_header_features", ] @@ -27,10 +27,10 @@ index ff13e8ca7fc0de9c24449e39d0e9056c399f4797..dd0a2abed165d0eb3583e3171da73b15 defines += [ "BUILDING_V8_SHARED" ] } diff --git a/src/base/macros.h b/src/base/macros.h -index 37cab78f08fcbc859d549a3188afe234d1e03ad5..a7b628cae296c7c97e58b46502bafebe92963597 100644 +index 8b39da2451f70222563f8072603464c5e0bcbf0d..b49238cd4948753de4221bf331f8401256f686d5 100644 --- a/src/base/macros.h +++ b/src/base/macros.h -@@ -396,13 +396,17 @@ bool is_inbounds(float_t v) { +@@ -400,13 +400,17 @@ bool is_inbounds(float_t v) { #ifdef V8_OS_WIN // Setup for Windows shared library export. diff --git a/patches/v8/export_symbols_needed_for_windows_build.patch b/patches/v8/export_symbols_needed_for_windows_build.patch index c8c8492639ca..e2b00ed4c40f 100644 --- a/patches/v8/export_symbols_needed_for_windows_build.patch +++ b/patches/v8/export_symbols_needed_for_windows_build.patch @@ -6,10 +6,10 @@ Subject: Export symbols needed for Windows build These symbols are required to build v8 with BUILD_V8_SHARED on Windows. diff --git a/src/objects/objects.h b/src/objects/objects.h -index 70efa0136023b47bcf054c3414170dff32be01dd..f967a2b62fe19d5f729bece878e0d93f2c4c0aea 100644 +index 81117c24db8d88bb9e3984ebadc5371b8cb6fe54..8d9e847766a105ab7cf56a76c82b5762185cd908 100644 --- a/src/objects/objects.h +++ b/src/objects/objects.h -@@ -823,7 +823,7 @@ enum class KeyCollectionMode { +@@ -826,7 +826,7 @@ enum class KeyCollectionMode { // Utility superclass for stack-allocated objects that must be updated // on gc. It provides two ways for the gc to update instances, either // iterating or updating after gc. @@ -19,12 +19,12 @@ 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 0dfc50d7e0484c3f9fb170ac28027d642f64ce13..f81b0e3e2cf9b368522916de643b416d2e0a5999 100644 +index 0172986d1f8638f922d0a7dada9a43d6a667de1f..d6fecc7870af2fc70bc28bc2fcf5f9f7e8a6c74a 100644 --- a/src/objects/ordered-hash-table.h +++ b/src/objects/ordered-hash-table.h -@@ -60,7 +60,7 @@ namespace internal { - // of the removed holes. - // [kPrefixSize + 3 + NumberOfRemovedHoles()..length]: Not used +@@ -63,7 +63,7 @@ namespace internal { + // deleted elements count. + // [kPrefixSize + 3 + NumberOfDeletedElements()..length]: Not used template -class OrderedHashTable : public FixedArray { +class V8_EXPORT_PRIVATE OrderedHashTable : public FixedArray { diff --git a/patches/v8/expose_mksnapshot.patch b/patches/v8/expose_mksnapshot.patch index f4a133666b84..967041ee6789 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 cd93c9e860057e5ccdeb0bd9a66ff61b518a8a2f..ff13e8ca7fc0de9c24449e39d0e9056c399f4797 100644 +index 03f703a7340d04ee20e39c49e6844cc539bfea03..f5295922ff1a87a7c3710be5c334eaa3323a9fed 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -4552,7 +4552,6 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -4587,7 +4587,6 @@ if (current_toolchain == v8_generator_toolchain) { if (current_toolchain == v8_snapshot_toolchain) { v8_executable("mksnapshot") { diff --git a/patches/v8/fix_use_proper_page_size_for_mac_arm64.patch b/patches/v8/fix_use_proper_page_size_for_mac_arm64.patch index 18ac399b8203..7a704c1619dd 100644 --- a/patches/v8/fix_use_proper_page_size_for_mac_arm64.patch +++ b/patches/v8/fix_use_proper_page_size_for_mac_arm64.patch @@ -7,7 +7,7 @@ This fix temporarily sets page size to 16k for mac arm64 so that mksnapshot can and generate a mac arm64 snapshot diff --git a/src/base/platform/platform-posix.cc b/src/base/platform/platform-posix.cc -index 68d651b15fefdcf71c2caae71ab7fe0e795fa63a..c82eb6e25f48ec92706683a5da4d2127c4c2f15e 100644 +index ab0d7839a453d87a8404ca791c1022871e8fd606..821a3925e91c229873f75ac024c1b388b4d0c06e 100644 --- a/src/base/platform/platform-posix.cc +++ b/src/base/platform/platform-posix.cc @@ -165,9 +165,19 @@ void* Allocate(void* hint, size_t size, OS::MemoryPermission access, 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 80945f08b786..73bffe24dd2d 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,7 +6,7 @@ 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 5f438ada7635f622c4f102cd6114f7e6f2ba56bc..a18f4bfea7f529d16c486fcf6a96255be792a92c 100644 +index df13009acd3653f13648b250e0f1d4d130038427..51c1f8d9f765036194ac26d40885c535c484053d 100644 --- a/src/deoptimizer/deoptimizer.h +++ b/src/deoptimizer/deoptimizer.h @@ -509,14 +509,14 @@ class Deoptimizer : public Malloced { @@ -28,7 +28,7 @@ index 5f438ada7635f622c4f102cd6114f7e6f2ba56bc..a18f4bfea7f529d16c486fcf6a96255b } V8_EXPORT_PRIVATE static int GetDeoptimizedCodeCount(Isolate* isolate); -@@ -771,11 +771,11 @@ class FrameDescription { +@@ -779,7 +779,7 @@ class FrameDescription { int parameter_count() { return parameter_count_; } static int registers_offset() { @@ -36,9 +36,4 @@ index 5f438ada7635f622c4f102cd6114f7e6f2ba56bc..a18f4bfea7f529d16c486fcf6a96255b + return OFFSET_OF(FrameDescription, register_values_.registers_); } - static int double_registers_offset() { -- return offsetof(FrameDescription, register_values_.double_registers_); -+ return OFFSET_OF(FrameDescription, register_values_.double_registers_); - } - - static int frame_size_offset() { + static constexpr int double_registers_offset() { diff --git a/patches/v8/workaround_an_undefined_symbol_error.patch b/patches/v8/workaround_an_undefined_symbol_error.patch index 4c1e74246f8b..f0d50e145b5f 100644 --- a/patches/v8/workaround_an_undefined_symbol_error.patch +++ b/patches/v8/workaround_an_undefined_symbol_error.patch @@ -12,10 +12,10 @@ By moving some functions out of the the arm64-assembler header file, this error no longer seems to happen. diff --git a/src/codegen/arm64/assembler-arm64.cc b/src/codegen/arm64/assembler-arm64.cc -index 2e21ab913d7b5ebc62857883ce3907c451b56399..e6a6b39086b2d5a6bf39b5a88df970cec662edf5 100644 +index 4aaa413d2d588dffc59ff62c3992e7b5076b9547..ae7c545ed965e2218e3dbd691fadc595c0682d76 100644 --- a/src/codegen/arm64/assembler-arm64.cc +++ b/src/codegen/arm64/assembler-arm64.cc -@@ -3600,6 +3600,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift, +@@ -3613,6 +3613,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift, ImmMoveWide(static_cast(imm)) | ShiftMoveWide(shift)); } diff --git a/script/node-disabled-tests.json b/script/node-disabled-tests.json index f73de4d425f8..19d762c56613 100644 --- a/script/node-disabled-tests.json +++ b/script/node-disabled-tests.json @@ -44,8 +44,8 @@ "parallel/test-freeze-intrinsics", "parallel/test-fs-write-sigxfsz", "parallel/test-gc-tls-external-memory", - "parallel/test-https-agent-session-reuse", "parallel/test-http2-reset-flood", + "parallel/test-https-agent-session-reuse", "parallel/test-https-options-boolean-check", "parallel/test-inspector-inspect-brk-node", "parallel/test-inspector-multisession-ws", @@ -154,27 +154,28 @@ "parallel/test-worker-message-port", "parallel/test-worker-message-port-transfer-duplicate", "parallel/test-worker-message-port-transfer-target", - "parallel/test-worker-workerdata-messageport", + "parallel/test-worker-resource-limits", "parallel/test-worker-sharedarraybuffer-from-worker-thread", "parallel/test-worker-stdio", + "parallel/test-worker-workerdata-messageport", "parallel/test-zlib-unused-weak", "pseudo-tty/test-set-raw-mode-reset-process-exit", "pseudo-tty/test-set-raw-mode-reset-signal", + "report/test-report-fatal-error", "report/test-report-getreport", "report/test-report-signal", "report/test-report-uncaught-exception", "report/test-report-uncaught-exception-compat", - "report/test-report-writereport", - "report/test-report-worker", "report/test-report-uv-handles", - "report/test-report-fatal-error", + "report/test-report-worker", + "report/test-report-writereport", "sequential/test-inspector-contexts", "sequential/test-inspector-port-zero", "sequential/test-inspector-resource-name-to-url", "sequential/test-inspector-stress-http", - "sequential/test-worker-prof", "sequential/test-perf-hooks", "sequential/test-tls-connect", "sequential/test-vm-timeout-rethrow", + "sequential/test-worker-prof", "wpt/test-encoding" ] diff --git a/shell/browser/api/electron_api_app.cc b/shell/browser/api/electron_api_app.cc index 4e4cf7bae53b..5c7b6e17acdb 100644 --- a/shell/browser/api/electron_api_app.cc +++ b/shell/browser/api/electron_api_app.cc @@ -473,8 +473,6 @@ int GetPathConstant(const std::string& name) { else if (name == "recent") return electron::DIR_RECENT; #endif - else if (name == "pepperFlashSystemPlugin") - return chrome::FILE_PEPPER_FLASH_SYSTEM_PLUGIN; else return -1; } diff --git a/shell/browser/api/electron_api_cookies.cc b/shell/browser/api/electron_api_cookies.cc index 385d5af31274..7b4654a9e821 100644 --- a/shell/browser/api/electron_api_cookies.cc +++ b/shell/browser/api/electron_api_cookies.cc @@ -307,6 +307,9 @@ v8::Local Cookies::Set(v8::Isolate* isolate, promise.RejectWithErrorMessage(error); return handle; } + bool same_party = + details.FindBoolKey("sameParty") + .value_or(secure && same_site != net::CookieSameSite::STRICT_MODE); GURL url(url_string ? *url_string : ""); if (!url.is_valid()) { @@ -322,7 +325,7 @@ v8::Local Cookies::Set(v8::Isolate* isolate, ParseTimeProperty(details.FindDoubleKey("creationDate")), ParseTimeProperty(details.FindDoubleKey("expirationDate")), ParseTimeProperty(details.FindDoubleKey("lastAccessDate")), secure, - http_only, same_site, net::COOKIE_PRIORITY_DEFAULT); + http_only, same_site, net::COOKIE_PRIORITY_DEFAULT, same_party); if (!canonical_cookie || !canonical_cookie->IsCanonical()) { promise.RejectWithErrorMessage( InclusionStatusToString(net::CookieInclusionStatus( diff --git a/shell/browser/api/electron_api_power_save_blocker.cc b/shell/browser/api/electron_api_power_save_blocker.cc index 7b52165f3291..b94a52f78a57 100644 --- a/shell/browser/api/electron_api_power_save_blocker.cc +++ b/shell/browser/api/electron_api_power_save_blocker.cc @@ -6,7 +6,7 @@ #include -#include "base/bind_helpers.h" +#include "base/callback_helpers.h" #include "base/task/post_task.h" #include "base/threading/thread_task_runner_handle.h" #include "content/public/browser/device_service.h" diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc index c7eec7d425aa..c1f5eabe8192 100644 --- a/shell/browser/api/electron_api_web_contents.cc +++ b/shell/browser/api/electron_api_web_contents.cc @@ -38,8 +38,6 @@ #include "content/browser/renderer_host/render_frame_host_manager.h" // nogncheck #include "content/browser/renderer_host/render_widget_host_impl.h" // nogncheck #include "content/browser/renderer_host/render_widget_host_view_base.h" // nogncheck -#include "content/common/widget_messages.h" -#include "content/public/browser/browser_thread.h" #include "content/public/browser/child_process_security_policy.h" #include "content/public/browser/context_menu_params.h" #include "content/public/browser/download_request_utils.h" @@ -62,6 +60,7 @@ #include "content/public/browser/storage_partition.h" #include "content/public/browser/web_contents.h" #include "content/public/common/referrer_type_converters.h" +#include "content/public/common/webplugininfo.h" #include "electron/buildflags/buildflags.h" #include "electron/shell/common/api/api.mojom.h" #include "gin/arguments.h" @@ -1315,12 +1314,6 @@ void WebContents::RequestToLockMouse(content::WebContents* web_contents, permission_helper->RequestPointerLockPermission(user_gesture); } -std::unique_ptr WebContents::RunBluetoothChooser( - content::RenderFrameHost* frame, - const content::BluetoothChooser::EventHandler& event_handler) { - return std::make_unique(this, event_handler); -} - content::JavaScriptDialogManager* WebContents::GetJavaScriptDialogManager( content::WebContents* source) { if (!dialog_manager_) diff --git a/shell/browser/api/electron_api_web_contents.h b/shell/browser/api/electron_api_web_contents.h index 35465feedff1..ae7e92fcfe1c 100644 --- a/shell/browser/api/electron_api_web_contents.h +++ b/shell/browser/api/electron_api_web_contents.h @@ -571,9 +571,6 @@ class WebContents : public gin::Wrappable, void RequestToLockMouse(content::WebContents* web_contents, bool user_gesture, bool last_unlocked_by_target) override; - std::unique_ptr RunBluetoothChooser( - content::RenderFrameHost* frame, - const content::BluetoothChooser::EventHandler& handler) override; content::JavaScriptDialogManager* GetJavaScriptDialogManager( content::WebContents* source) override; void OnAudioStateChanged(bool audible) override; diff --git a/shell/browser/api/electron_api_web_request.cc b/shell/browser/api/electron_api_web_request.cc index d002b532fd53..f69ddad18d61 100644 --- a/shell/browser/api/electron_api_web_request.cc +++ b/shell/browser/api/electron_api_web_request.cc @@ -10,6 +10,7 @@ #include "base/stl_util.h" #include "base/values.h" +#include "extensions/browser/api/web_request/web_request_resource_type.h" #include "gin/converter.h" #include "gin/dictionary.h" #include "gin/object_template_builder.h" @@ -40,30 +41,30 @@ struct Converter { }; template <> -struct Converter { +struct Converter { static v8::Local ToV8(v8::Isolate* isolate, - blink::mojom::ResourceType type) { + extensions::WebRequestResourceType type) { const char* result; switch (type) { - case blink::mojom::ResourceType::kMainFrame: + case extensions::WebRequestResourceType::MAIN_FRAME: result = "mainFrame"; break; - case blink::mojom::ResourceType::kSubFrame: + case extensions::WebRequestResourceType::SUB_FRAME: result = "subFrame"; break; - case blink::mojom::ResourceType::kStylesheet: + case extensions::WebRequestResourceType::STYLESHEET: result = "stylesheet"; break; - case blink::mojom::ResourceType::kScript: + case extensions::WebRequestResourceType::SCRIPT: result = "script"; break; - case blink::mojom::ResourceType::kImage: + case extensions::WebRequestResourceType::IMAGE: result = "image"; break; - case blink::mojom::ResourceType::kObject: + case extensions::WebRequestResourceType::OBJECT: result = "object"; break; - case blink::mojom::ResourceType::kXhr: + case extensions::WebRequestResourceType::XHR: result = "xhr"; break; default: @@ -144,7 +145,7 @@ void ToDictionary(gin::Dictionary* details, extensions::WebRequestInfo* info) { details->Set("url", info->url); details->Set("method", info->method); details->Set("timestamp", base::Time::Now().ToDoubleT() * 1000); - details->Set("resourceType", info->type); + details->Set("resourceType", info->web_request_type); if (!info->response_ip.empty()) details->Set("ip", info->response_ip); if (info->response_headers) { diff --git a/shell/browser/electron_browser_main_parts.cc b/shell/browser/electron_browser_main_parts.cc index 06efb366ff52..313eef67b46d 100644 --- a/shell/browser/electron_browser_main_parts.cc +++ b/shell/browser/electron_browser_main_parts.cc @@ -73,7 +73,7 @@ #include "ui/base/x/x11_util.h" #include "ui/events/devices/x11/touch_factory_x11.h" #include "ui/gfx/color_utils.h" -#include "ui/gfx/x/x11_types.h" +#include "ui/gfx/x/connection.h" #include "ui/gfx/x/xproto_util.h" #include "ui/gtk/x/gtk_ui_delegate_x11.h" #endif diff --git a/shell/browser/extensions/api/management/electron_management_api_delegate.cc b/shell/browser/extensions/api/management/electron_management_api_delegate.cc index 19e0cd9c84c8..9e45a8ed0673 100644 --- a/shell/browser/extensions/api/management/electron_management_api_delegate.cc +++ b/shell/browser/extensions/api/management/electron_management_api_delegate.cc @@ -16,7 +16,6 @@ #include "base/task/post_task.h" #include "chrome/common/extensions/extension_metrics.h" #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" -#include "chrome/common/web_application_info.h" #include "chrome/common/webui_url_constants.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/web_contents.h" diff --git a/shell/browser/extensions/electron_extension_message_filter.cc b/shell/browser/extensions/electron_extension_message_filter.cc index 9c548a5e73c8..4ddd1b4fab50 100644 --- a/shell/browser/extensions/electron_extension_message_filter.cc +++ b/shell/browser/extensions/electron_extension_message_filter.cc @@ -8,7 +8,7 @@ #include #include "base/bind.h" -#include "base/bind_helpers.h" +#include "base/callback_helpers.h" #include "base/files/file_path.h" #include "base/logging.h" #include "base/memory/ptr_util.h" diff --git a/shell/browser/native_window_views.cc b/shell/browser/native_window_views.cc index ca36457c2e2d..cb53ac2fd104 100644 --- a/shell/browser/native_window_views.cc +++ b/shell/browser/native_window_views.cc @@ -61,7 +61,7 @@ #include "ui/base/x/x11_util.h" #include "ui/gfx/x/shape.h" #include "ui/gfx/x/x11_atom_cache.h" -#include "ui/gfx/x/x11_types.h" +#include "ui/gfx/x/xproto.h" #endif #if defined(USE_OZONE) || defined(USE_X11) diff --git a/shell/browser/osr/osr_render_widget_host_view.cc b/shell/browser/osr/osr_render_widget_host_view.cc index d8b67cb4c5e1..ea5a2b84db57 100644 --- a/shell/browser/osr/osr_render_widget_host_view.cc +++ b/shell/browser/osr/osr_render_widget_host_view.cc @@ -25,7 +25,6 @@ #include "content/browser/renderer_host/input/synthetic_gesture_target.h" // nogncheck #include "content/browser/renderer_host/render_widget_host_delegate.h" // nogncheck #include "content/browser/renderer_host/render_widget_host_owner_delegate.h" // nogncheck -#include "content/common/view_messages.h" #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/context_factory.h" @@ -501,6 +500,14 @@ gfx::Rect OffScreenRenderWidgetHostView::GetBoundsInRootWindow() { return gfx::Rect(size_); } +base::Optional +OffScreenRenderWidgetHostView::GetDisplayFeature() { + return base::nullopt; +} + +void OffScreenRenderWidgetHostView::SetDisplayFeatureForTesting( + const content::DisplayFeature* display_feature) {} + viz::SurfaceId OffScreenRenderWidgetHostView::GetCurrentSurfaceId() const { return GetDelegatedFrameHost() ? GetDelegatedFrameHost()->GetCurrentSurfaceId() diff --git a/shell/browser/osr/osr_render_widget_host_view.h b/shell/browser/osr/osr_render_widget_host_view.h index e93c2ee2e3f9..9842224ece5a 100644 --- a/shell/browser/osr/osr_render_widget_host_view.h +++ b/shell/browser/osr/osr_render_widget_host_view.h @@ -128,6 +128,9 @@ class OffScreenRenderWidgetHostView : public content::RenderWidgetHostViewBase, void GetScreenInfo(blink::ScreenInfo* results) override; void TransformPointToRootSurface(gfx::PointF* point) override; gfx::Rect GetBoundsInRootWindow(void) override; + base::Optional GetDisplayFeature() override; + void SetDisplayFeatureForTesting( + const content::DisplayFeature* display_feature) override; viz::SurfaceId GetCurrentSurfaceId() const override; std::unique_ptr CreateSyntheticGestureTarget() override; diff --git a/shell/browser/ui/inspectable_web_contents.cc b/shell/browser/ui/inspectable_web_contents.cc index 9476152cb0bc..33e9a7fff540 100644 --- a/shell/browser/ui/inspectable_web_contents.cc +++ b/shell/browser/ui/inspectable_web_contents.cc @@ -343,7 +343,6 @@ 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); @@ -627,7 +626,7 @@ void InspectableWebContents::AddDevToolsExtensionsToClient() { #endif void InspectableWebContents::SetInspectedPageBounds(const gfx::Rect& rect) { - DevToolsContentsResizingStrategy strategy(rect, is_docked_); + DevToolsContentsResizingStrategy strategy(rect); if (contents_resizing_strategy_.Equals(strategy)) return; @@ -704,7 +703,6 @@ 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 d9c8bb9c1f77..986463d33f61 100644 --- a/shell/browser/ui/inspectable_web_contents.h +++ b/shell/browser/ui/inspectable_web_contents.h @@ -150,7 +150,10 @@ class InspectableWebContents void RecordPerformanceHistogram(const std::string& name, double duration) override {} void RecordUserMetricsAction(const std::string& name) override {} - void GetSurveyAPIKey(const DispatchCallback& callback) override {} + void ShowSurvey(const DispatchCallback& callback, + const std::string& trigger) override {} + void CanShowSurvey(const DispatchCallback& callback, + const std::string& trigger) override {} // content::DevToolsFrontendHostDelegate: void HandleMessageFromDevToolsFrontend(const std::string& message); @@ -223,7 +226,6 @@ 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/global_menu_bar_x11.cc b/shell/browser/ui/views/global_menu_bar_x11.cc index e9924a964ff7..d96fad6e0e35 100644 --- a/shell/browser/ui/views/global_menu_bar_x11.cc +++ b/shell/browser/ui/views/global_menu_bar_x11.cc @@ -20,8 +20,8 @@ #include "ui/events/keycodes/keyboard_code_conversion_x.h" #include "ui/events/keycodes/keysym_to_unicode.h" #include "ui/gfx/x/connection.h" +#include "ui/gfx/x/event.h" #include "ui/gfx/x/keysyms/keysyms.h" -#include "ui/gfx/x/x11.h" #include "ui/gfx/x/xproto.h" // libdbusmenu-glib types diff --git a/shell/browser/ui/views/menu_bar.cc b/shell/browser/ui/views/menu_bar.cc index c6be05620494..0ccf916f964f 100644 --- a/shell/browser/ui/views/menu_bar.cc +++ b/shell/browser/ui/views/menu_bar.cc @@ -305,8 +305,11 @@ void MenuBar::RebuildChildren() { RemoveAllChildViews(true); for (int i = 0, n = GetItemCount(); i < n; ++i) { auto* button = - new SubmenuButton(this, menu_model_->GetLabelAt(i), background_color_); + new SubmenuButton(menu_model_->GetLabelAt(i), background_color_); button->set_tag(i); + button->SetCallback(base::BindRepeating(&MenuBar::ButtonPressed, + base::Unretained(this), + base::Unretained(button))); AddChildView(button); } UpdateViewColors(); diff --git a/shell/browser/ui/views/menu_bar.h b/shell/browser/ui/views/menu_bar.h index d2411a0a978b..b570a0fa3cb2 100644 --- a/shell/browser/ui/views/menu_bar.h +++ b/shell/browser/ui/views/menu_bar.h @@ -37,7 +37,6 @@ class MenuBarColorUpdater : public views::FocusChangeListener { }; class MenuBar : public views::AccessiblePaneView, - public views::ButtonListener, public electron::MenuDelegate::Observer { public: static const char kViewClassName[]; @@ -75,15 +74,13 @@ class MenuBar : public views::AccessiblePaneView, void RemovePaneFocus() override; void OnThemeChanged() override; - protected: + private: + friend class MenuBarColorUpdater; + // views::View: const char* GetClassName() const override; - // views::ButtonListener: - void ButtonPressed(views::Button* source, const ui::Event& event) override; - - private: - friend class MenuBarColorUpdater; + void ButtonPressed(views::Button* source, const ui::Event& event); void RebuildChildren(); void UpdateViewColors(); diff --git a/shell/browser/ui/views/submenu_button.cc b/shell/browser/ui/views/submenu_button.cc index 9f106eaa8ce6..af948d9cbb9c 100644 --- a/shell/browser/ui/views/submenu_button.cc +++ b/shell/browser/ui/views/submenu_button.cc @@ -20,11 +20,10 @@ namespace electron { -SubmenuButton::SubmenuButton(views::ButtonListener* button_listener, - const base::string16& title, +SubmenuButton::SubmenuButton(const base::string16& title, const SkColor& background_color) : views::MenuButton( - views::Button::PressedCallback(button_listener, this), + PressedCallback(), gfx::RemoveAcceleratorChar(title, '&', nullptr, nullptr)), background_color_(background_color) { #if defined(OS_LINUX) diff --git a/shell/browser/ui/views/submenu_button.h b/shell/browser/ui/views/submenu_button.h index def3587f57dc..171ea8797934 100644 --- a/shell/browser/ui/views/submenu_button.h +++ b/shell/browser/ui/views/submenu_button.h @@ -16,9 +16,7 @@ namespace electron { // Special button that used by menu bar to show submenus. class SubmenuButton : public views::MenuButton { public: - SubmenuButton(views::ButtonListener* button_listener, - const base::string16& title, - const SkColor& background_color); + SubmenuButton(const base::string16& title, const SkColor& background_color); ~SubmenuButton() override; void SetAcceleratorVisibility(bool visible); diff --git a/shell/browser/ui/webui/accessibility_ui.cc b/shell/browser/ui/webui/accessibility_ui.cc index 26c9ee4d7b19..1ecc6b65712a 100644 --- a/shell/browser/ui/webui/accessibility_ui.cc +++ b/shell/browser/ui/webui/accessibility_ui.cc @@ -7,7 +7,7 @@ #include #include "base/bind.h" -#include "base/bind_helpers.h" +#include "base/callback_helpers.h" #include "base/command_line.h" #include "base/json/json_writer.h" #include "base/optional.h" diff --git a/shell/browser/ui/x/window_state_watcher.h b/shell/browser/ui/x/window_state_watcher.h index 6091dfccbf9c..a168b2508f6f 100644 --- a/shell/browser/ui/x/window_state_watcher.h +++ b/shell/browser/ui/x/window_state_watcher.h @@ -6,7 +6,7 @@ #define SHELL_BROWSER_UI_X_WINDOW_STATE_WATCHER_H_ #include "ui/events/platform/x11/x11_event_source.h" -#include "ui/gfx/x/x11.h" +#include "ui/gfx/x/event.h" #include "shell/browser/native_window_views.h" diff --git a/shell/browser/ui/x/x_window_utils.h b/shell/browser/ui/x/x_window_utils.h index 3663a4f47928..07a36215a8ac 100644 --- a/shell/browser/ui/x/x_window_utils.h +++ b/shell/browser/ui/x/x_window_utils.h @@ -7,7 +7,7 @@ #include -#include "ui/gfx/x/x11.h" +#include "ui/gfx/x/xproto.h" namespace electron { diff --git a/shell/common/platform_util_win.cc b/shell/common/platform_util_win.cc index a8d4697fdbff..9f95c5ce72a8 100644 --- a/shell/common/platform_util_win.cc +++ b/shell/common/platform_util_win.cc @@ -16,7 +16,7 @@ #include #include "base/bind.h" -#include "base/bind_helpers.h" +#include "base/callback_helpers.h" #include "base/files/file_path.h" #include "base/files/file_util.h" #include "base/logging.h" diff --git a/shell/utility/electron_content_utility_client.cc b/shell/utility/electron_content_utility_client.cc index 6e531f9d9351..771d18a2ef61 100644 --- a/shell/utility/electron_content_utility_client.cc +++ b/shell/utility/electron_content_utility_client.cc @@ -121,29 +121,25 @@ bool ElectronContentUtilityClient::OnMessageReceived( return false; } -mojo::ServiceFactory* -ElectronContentUtilityClient::GetMainThreadServiceFactory() { - static base::NoDestructor factory { +void ElectronContentUtilityClient::RegisterMainThreadServices( + mojo::ServiceFactory& services) { #if defined(OS_WIN) - RunWindowsIconReader, + services.Add(RunWindowsIconReader); #endif #if BUILDFLAG(ENABLE_PRINTING) - RunPrintCompositor, + services.Add(RunPrintCompositor); #endif #if BUILDFLAG(ENABLE_PRINT_PREVIEW) || \ (BUILDFLAG(ENABLE_PRINTING) && defined(OS_WIN)) - RunPrintingService, + services.Add(RunPrintingService); #endif - }; - return factory.get(); } -mojo::ServiceFactory* -ElectronContentUtilityClient::GetIOThreadServiceFactory() { - static base::NoDestructor factory{RunProxyResolver}; - return factory.get(); +void ElectronContentUtilityClient::RegisterIOThreadServices( + mojo::ServiceFactory& services) { + services.Add(RunProxyResolver); } } // namespace electron diff --git a/shell/utility/electron_content_utility_client.h b/shell/utility/electron_content_utility_client.h index 621a7c1eb1d2..f4789001c06d 100644 --- a/shell/utility/electron_content_utility_client.h +++ b/shell/utility/electron_content_utility_client.h @@ -18,6 +18,10 @@ namespace printing { class PrintingHandler; } +namespace mojo { +class ServiceFactory; +} // namespace mojo + namespace electron { class ElectronContentUtilityClient : public content::ContentUtilityClient { @@ -27,8 +31,8 @@ class ElectronContentUtilityClient : public content::ContentUtilityClient { void ExposeInterfacesToBrowser(mojo::BinderMap* binders) override; bool OnMessageReceived(const IPC::Message& message) override; - mojo::ServiceFactory* GetMainThreadServiceFactory() override; - mojo::ServiceFactory* GetIOThreadServiceFactory() override; + void RegisterMainThreadServices(mojo::ServiceFactory& services) override; + void RegisterIOThreadServices(mojo::ServiceFactory& services) override; private: #if BUILDFLAG(ENABLE_PRINT_PREVIEW) && defined(OS_WIN)