From 8383c14aba6257bae16cd11ad6026901516db801 Mon Sep 17 00:00:00 2001 From: Electron Bot Date: Tue, 22 Dec 2020 14:14:44 -0800 Subject: [PATCH] chore: bump chromium to 7264889ce3aad1568ff3d211c81fe (master) (#27003) * chore: bump chromium in DEPS to 91c9f44297abe2844f593ec7956e6ce79c81f463 * chore: update chromium patches * chore: update v8 patches * build: service_names.mojom has been deleted Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2568681 * chore: add DISPLAY_CAPTURE permission to converter Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2551098 * chore: handle AXPropertyFilter::SCRIPT in accessibility_ui Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2563923 * refactor: web_isolated_world_ids.h has been deleted Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2585255 * refactor: ResourceType has been deprecated / removed in ExtensionsBrowserClient Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2562002 * chore: fix lint * chore: remove deleted headers * build: disable gn check for blink header * fix: refactor X11 event handling Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2577887 Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2585750 * chore: update patches * chore: bump chromium in DEPS to bfd8e7dbd37af8b1bc40d887815edd5a29496fa3 * chore: update patches * refactor: xeventobserver is now x11:eventobserver Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2585750 * refactor: remove UseWebUIBindingsForURL Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2583590 * chore: DidProcessXEvent has been removed * chore: bump chromium in DEPS to b13e791d7244a08d9d61dbfa2bb2b6cdf1ff6294 * chore: update patches * build: change gfx::GetAtom to x11:GetAtom Refs: https://source.chromium.org/chromium/chromium/src/+/d972a0ae4a17e05ddc8bae1d4227c6f071c4829e * build: change gfx namespace to x11 Ref: https://source.chromium.org/chromium/chromium/src/+/d972a0ae4a17e05ddc8bae1d4227c6f071c4829e * build: change ui namespace to x11 Refs: https://source.chromium.org/chromium/chromium/src/+/c38f8571a813449837e595cc5be5f451d090523a:ui/gfx/x/xproto_util.h;dlc=ba9145d0c7f2b10e869e2ba482ca05b75ca35812 * chore: add patch to fix blink prefs fetching during frame swap * chore: fix lint * fix: do not make invalid SKImageRep in FrameSubscriber Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2572896 Co-authored-by: Samuel Attard --- BUILD.gn | 1 - DEPS | 2 +- docs/api/session.md | 1 + patches/chromium/.patches | 1 + ...client_precreatemessageloop_callback.patch | 6 +- .../add_didinstallconditionalfeatures.patch | 30 +++---- patches/chromium/add_realloc.patch | 4 +- ...rustedauthclient_to_urlloaderfactory.patch | 26 +++--- ..._windows_to_have_different_web_prefs.patch | 2 +- patches/chromium/blink_local_frame.patch | 6 +- patches/chromium/blink_world_context.patch | 12 +-- .../build_add_electron_tracing_category.patch | 2 +- patches/chromium/can_create_window.patch | 38 ++++----- ..._v8_initialization_isolate_callbacks.patch | 4 +- ...screationoverridden_with_full_params.patch | 38 ++++----- ...esources_not_chrome_for_spellchecker.patch | 12 +-- patches/chromium/chrome_key_systems.patch | 4 +- .../chromium/content_browser_main_loop.patch | 4 +- patches/chromium/dcheck.patch | 2 +- ...ay_lock_the_protocol_scheme_registry.patch | 4 +- patches/chromium/disable-redraw-lock.patch | 10 +-- .../disable_color_correct_rendering.patch | 34 +++----- patches/chromium/disable_hidden.patch | 10 +-- ...ll_getwebframe_-_view_when_get_blink.patch | 25 ++++++ ...xpose_setuseragent_on_networkcontext.patch | 18 ++-- ...dd_set_theme_source_to_allow_apps_to.patch | 2 +- ..._scheduler_throttling_per_renderview.patch | 20 ++--- ...to_add_observers_on_created_hunspell.patch | 2 +- ...screen_rendering_with_viz_compositor.patch | 10 +-- ...chdir_np_and_pthread_chdir_np_in_mas.patch | 6 +- ...out_profile_refs_in_accessibility_ui.patch | 45 +++++----- ...ns_through_the_web_contents_delegate.patch | 4 +- ...fix_use_electron_generated_resources.patch | 6 +- patches/chromium/frame_host_manager.patch | 28 +++--- ...gpu_notify_when_dxdiag_request_fails.patch | 10 +-- .../chromium/gritsettings_resource_ids.patch | 4 +- patches/chromium/gtk_visibility.patch | 4 +- .../mas_disable_remote_accessibility.patch | 4 +- patches/chromium/mas_no_private_api.patch | 62 +++++++------- ...emote_certificate_verification_logic.patch | 37 ++++---- .../chromium/notification_provenance.patch | 4 +- patches/chromium/picture-in-picture.patch | 12 +-- patches/chromium/printing.patch | 38 ++++----- ...put_back_deleted_colors_for_autofill.patch | 2 +- ...r_changes_to_the_webcontentsobserver.patch | 14 +-- ..._some_deps_that_do_not_work_on_arm64.patch | 17 +--- .../render_widget_host_view_base.patch | 2 +- patches/chromium/resource_file_conflict.patch | 6 +- ...ove_contentrendererclient_shouldfork.patch | 12 +-- patches/chromium/scroll_bounce_flag.patch | 4 +- .../ssl_security_state_tab_helper.patch | 25 +++--- .../support_mixed_sandbox_with_zygote.patch | 10 +-- .../v8_context_snapshot_generator.patch | 4 +- patches/chromium/web_contents.patch | 6 +- patches/chromium/webview_cross_drag.patch | 4 +- .../worker_context_will_destroy.patch | 12 +-- ...feat_add_hook_to_notify_script_ready.patch | 12 +-- patches/v8/add_realloc.patch | 6 +- patches/v8/build_gn.patch | 2 +- ...disallow_copying_cppheapcreateparams.patch | 2 +- patches/v8/dcheck.patch | 8 +- ...export_private_v8_symbols_on_windows.patch | 6 +- patches/v8/expose_mksnapshot.patch | 2 +- ...offset_of_to_offsetof_where_possible.patch | 4 +- shell/browser/api/frame_subscriber.cc | 3 +- shell/browser/electron_browser_client.cc | 1 - .../electron_web_ui_controller_factory.cc | 6 -- .../electron_web_ui_controller_factory.h | 2 - .../electron_extensions_browser_client.cc | 25 +++--- .../electron_extensions_browser_client.h | 4 +- shell/browser/native_window_views.cc | 19 +++-- .../net/system_network_context_manager.cc | 1 - shell/browser/ui/webui/accessibility_ui.cc | 1 + shell/browser/ui/x/window_state_watcher.cc | 85 +++++++++++-------- shell/browser/ui/x/window_state_watcher.h | 12 +-- shell/browser/ui/x/x_window_utils.cc | 10 +-- .../gin_converters/content_converter.cc | 2 + shell/common/world_ids.h | 2 +- 78 files changed, 465 insertions(+), 462 deletions(-) create mode 100644 patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch diff --git a/BUILD.gn b/BUILD.gn index 1b2712e305..143935f336 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -337,7 +337,6 @@ source_set("electron_lib") { "//components/viz/service", "//content/public/browser", "//content/public/child", - "//content/public/common:service_names", "//content/public/gpu", "//content/public/renderer", "//content/public/utility", diff --git a/DEPS b/DEPS index 62ca930e70..38795c1ce6 100644 --- a/DEPS +++ b/DEPS @@ -14,7 +14,7 @@ gclient_gn_args = [ vars = { 'chromium_version': - '89292a4ae29096e5313aaf19dfa0c4710145c34d', + 'b13e791d7244a08d9d61dbfa2bb2b6cdf1ff6294', 'node_version': 'v14.15.2', 'nan_version': diff --git a/docs/api/session.md b/docs/api/session.md index 1905395097..73e197e523 100644 --- a/docs/api/session.md +++ b/docs/api/session.md @@ -492,6 +492,7 @@ win.webContents.session.setCertificateVerifyProc((request, callback) => { * `permission` String - The type of requested permission. * `clipboard-read` - Request access to read from the clipboard. * `media` - Request access to media devices such as camera, microphone and speakers. + * `display-capture` - Request access to capture the screen. * `mediaKeySystem` - Request access to DRM protected content. * `geolocation` - Request access to user's current location. * `notifications` - Request notification creation and the ability to display them in the user's system tray. diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 6e8749f1d2..6ce5e5f8a5 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -105,3 +105,4 @@ export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch use_public_apis_to_determine_if_a_font_is_a_system_font_in_mas_build.patch fix_setparentacessibile_crash_win.patch fix_export_zlib_symbols.patch +don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch diff --git a/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch b/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch index 14c1008256..58b1f5d929 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 70b4ac882ed335c1e623f4cbb6d2c1dc5aca4caa..7e9972660b4006d4f83b2cd812f084fd8a2fe289 100644 +index 5bcbb68864ed193a519b34a37f1e50c29422235a..c33f108158538c49f9d4d27b8fa89852e829c787 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc -@@ -260,6 +260,10 @@ int GpuMain(const MainFunctionParams& parameters) { +@@ -261,6 +261,10 @@ int GpuMain(const MainFunctionParams& parameters) { // to the GpuProcessHost once the GpuServiceImpl has started. viz::GpuServiceImpl::InstallPreInitializeLogHandler(); @@ -24,7 +24,7 @@ index 70b4ac882ed335c1e623f4cbb6d2c1dc5aca4caa..7e9972660b4006d4f83b2cd812f084fd // 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 -@@ -397,7 +401,6 @@ int GpuMain(const MainFunctionParams& parameters) { +@@ -398,7 +402,6 @@ int GpuMain(const MainFunctionParams& parameters) { } #endif diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index e9c3104be5..76437b5f78 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -10,10 +10,10 @@ 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 c005ab29708f0d5b172f7a06f340ff01d35dc5dc..62c6f5e1527ff9bc546ba40f49a2255116c37bb7 100644 +index b6b4e0b27ae971f45ab6d50b2eaede6c4d5b7a8d..b785e23bb7e9bb61cb4434ab0bd2b8df9d83caaf 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, +@@ -119,6 +119,8 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener, virtual void DidHandleOnloadEvents() {} virtual void DidCreateScriptContext(v8::Local context, int32_t world_id) {} @@ -23,10 +23,10 @@ index c005ab29708f0d5b172f7a06f340ff01d35dc5dc..62c6f5e1527ff9bc546ba40f49a22551 int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 33e6dfca2df06ecf538ad48eb2b89f794ea207ad..536b5a72f4994bde01c6c96ffbca74499ad39a7c 100644 +index 5ee447f5e028a6793d88e8a1d436ea2c5bdba045..efbfb14678cc28dbf3ea918aa6c280e7518a673f 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -4716,6 +4716,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, +@@ -4683,6 +4683,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, observer.DidCreateScriptContext(context, world_id); } @@ -40,10 +40,10 @@ index 33e6dfca2df06ecf538ad48eb2b89f794ea207ad..536b5a72f4994bde01c6c96ffbca7449 int world_id) { for (auto& observer : observers_) diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h -index 3a72bb59fa3cb7748d1ca038504e11d72bf6a09b..9c50ea4ea8a231b55a9097515c7de316605c927a 100644 +index ade3e6607ce80bbf35d1618c19fb73ac38c15435..733a095c45b978694e240a0d256d4c2914f4bef9 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h -@@ -657,6 +657,8 @@ class CONTENT_EXPORT RenderFrameImpl +@@ -651,6 +651,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 3a72bb59fa3cb7748d1ca038504e11d72bf6a09b..9c50ea4ea8a231b55a9097515c7de316 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 a298cc726c817e97110dbe6cd22e45c8cec38fa7..59db0ad6d5334499806a0837901742335f2a9b03 100644 +index 85a51e356241d8c9078ccb0b299cf64a6751c9dd..a209b3fcce3ae9e7ff57b5e47b64a63710fca624 100644 --- a/third_party/blink/public/web/web_local_frame_client.h +++ b/third_party/blink/public/web/web_local_frame_client.h -@@ -551,6 +551,9 @@ class BLINK_EXPORT WebLocalFrameClient { +@@ -558,6 +558,9 @@ class BLINK_EXPORT WebLocalFrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) {} @@ -79,10 +79,10 @@ 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 f84f72609f7e7dbb248db96756f01704fd2047ac..b1053f337d1b4b7560bb5dd0927602b357f20aac 100644 +index ef7391a22f661981480c86a709f33c55474d3396..45cec4203c9165940e78cf040e0752f29d056279 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client.h +++ b/third_party/blink/renderer/core/frame/local_frame_client.h -@@ -292,6 +292,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { +@@ -293,6 +293,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) = 0; @@ -92,10 +92,10 @@ index f84f72609f7e7dbb248db96756f01704fd2047ac..b1053f337d1b4b7560bb5dd0927602b3 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 c7caa0e7a8a4ba021ce9c8fbbedda3c61db796b6..a437303911bfa62b001da44256518b12aa342a3c 100644 +index 1a5a792fb38246b78b6048a42c968ab3bd7d897c..b63e8ceb72b95754823304d66ade50e7ee86b098 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 -@@ -417,6 +417,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( +@@ -415,6 +415,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( web_frame_->Client()->DidCreateScriptContext(context, world_id); } @@ -110,7 +110,7 @@ index c7caa0e7a8a4ba021ce9c8fbbedda3c61db796b6..a437303911bfa62b001da44256518b12 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 cb73777817af019cc807e400dd0efcf632688215..e57af1cb37e3d73eb12819dc2e3926ecaf600b07 100644 +index e720a4915a83ede1bfba70c1c43777879d62db38..9b0d89bb124915627d0f08f81321f83f78b73493 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 { @@ -123,10 +123,10 @@ index cb73777817af019cc807e400dd0efcf632688215..e57af1cb37e3d73eb12819dc2e3926ec int32_t world_id) override; diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h -index 871023f276bf8a3c47764477f0037c5ab97a349d..ee451fc5e0d7c395b9b73b9612d92c20fe228565 100644 +index 1bc22007a15f26840373e42e01ec787c0d1d4451..158c2be36cd098ba2c07f8c00cf71dc00040daaf 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.h +++ b/third_party/blink/renderer/core/loader/empty_clients.h -@@ -334,6 +334,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { +@@ -336,6 +336,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { void DidCreateScriptContext(v8::Local, int32_t world_id) override {} diff --git a/patches/chromium/add_realloc.patch b/patches/chromium/add_realloc.patch index ce1aac2c07..fa45c4d3f6 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 3252caf936465b36afc0ea0df294f91913723b98..ebb6db2929f2192ca73fb677986b9e07737f8569 100644 +index 4fbbdb2304a40ae4bca03dd51ce55615c5babae2..e2213b00d73f399bb14b7edfa0fb719aa12a6be5 100644 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc -@@ -698,6 +698,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator { +@@ -697,6 +697,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 b00f770a5c..dd996bf10e 100644 --- a/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch +++ b/patches/chromium/add_trustedauthclient_to_urlloaderfactory.patch @@ -10,10 +10,10 @@ 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 ec89eeb056d686f8cab6003e456973ff8649df23..108b3a8082d10fd655b965bd6a703a75115801aa 100644 +index cd4519d88c3bb8688e772eb0ed2d68e368a32052..12544d1a531ac353802f452d49713d309d4322bb 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -215,6 +215,25 @@ struct CTPolicy { +@@ -228,6 +228,25 @@ struct CTPolicy { array excluded_legacy_spkis; }; @@ -39,7 +39,7 @@ index ec89eeb056d686f8cab6003e456973ff8649df23..108b3a8082d10fd655b965bd6a703a75 interface CertVerifierClient { Verify( int32 default_error, -@@ -641,6 +660,8 @@ struct URLLoaderFactoryParams { +@@ -660,6 +679,8 @@ struct URLLoaderFactoryParams { // impact because of the extra process hops, so use should be minimized. pending_remote? header_client; @@ -49,10 +49,10 @@ index ec89eeb056d686f8cab6003e456973ff8649df23..108b3a8082d10fd655b965bd6a703a75 // 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 65bb883657aab4b588d505d78ad9e84a8eb36d16..f4ffe42e45ff2e821ae175cf3eb2dd9da40f93ba 100644 +index c92b8a079b759bb53b47ac96511b4dcd6a31d1fd..f6cae1fe60140362efa062b314f6dd9782afb37f 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc -@@ -463,6 +463,7 @@ URLLoader::URLLoader( +@@ -462,6 +462,7 @@ URLLoader::URLLoader( base::WeakPtr keepalive_statistics_recorder, base::WeakPtr network_usage_accumulator, mojom::TrustedURLLoaderHeaderClient* url_loader_header_client, @@ -60,7 +60,7 @@ index 65bb883657aab4b588d505d78ad9e84a8eb36d16..f4ffe42e45ff2e821ae175cf3eb2dd9d mojom::OriginPolicyManager* origin_policy_manager, std::unique_ptr trust_token_helper_factory, const cors::OriginAccessList* origin_access_list, -@@ -527,6 +528,11 @@ URLLoader::URLLoader( +@@ -526,6 +527,11 @@ URLLoader::URLLoader( header_client_.set_disconnect_handler( base::BindOnce(&URLLoader::OnMojoDisconnect, base::Unretained(this))); } @@ -72,7 +72,7 @@ index 65bb883657aab4b588d505d78ad9e84a8eb36d16..f4ffe42e45ff2e821ae175cf3eb2dd9d if (want_raw_headers_) { options_ |= mojom::kURLLoadOptionSendSSLInfoWithResponse | mojom::kURLLoadOptionSendSSLInfoForCertificateError; -@@ -1159,7 +1165,7 @@ void URLLoader::OnAuthRequired(net::URLRequest* url_request, +@@ -1166,7 +1172,7 @@ void URLLoader::OnAuthRequired(net::URLRequest* url_request, // |this| may have been deleted. return; } @@ -81,7 +81,7 @@ index 65bb883657aab4b588d505d78ad9e84a8eb36d16..f4ffe42e45ff2e821ae175cf3eb2dd9d OnAuthCredentials(base::nullopt); return; } -@@ -1175,11 +1181,20 @@ void URLLoader::OnAuthRequired(net::URLRequest* url_request, +@@ -1182,11 +1188,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,7 +108,7 @@ index 65bb883657aab4b588d505d78ad9e84a8eb36d16..f4ffe42e45ff2e821ae175cf3eb2dd9d 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 6b2e6d3cbbc300ee15a9085271720b87b0d97635..2fe910c7debbc3caac1d809941fc098c9e677417 100644 +index 600dd2f10bda513428c16ba6537e5a262f8f6b4b..814662e3bcc2c574ef8e63e607da77f03f655326 100644 --- a/services/network/url_loader.h +++ b/services/network/url_loader.h @@ -124,6 +124,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader @@ -119,7 +119,7 @@ index 6b2e6d3cbbc300ee15a9085271720b87b0d97635..2fe910c7debbc3caac1d809941fc098c mojom::OriginPolicyManager* origin_policy_manager, std::unique_ptr trust_token_helper_factory, -@@ -494,6 +495,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader +@@ -489,6 +490,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader base::Optional fetch_window_id_; mojo::Remote header_client_; @@ -128,10 +128,10 @@ index 6b2e6d3cbbc300ee15a9085271720b87b0d97635..2fe910c7debbc3caac1d809941fc098c std::unique_ptr file_opener_for_upload_; diff --git a/services/network/url_loader_factory.cc b/services/network/url_loader_factory.cc -index 26c07f7b77991a3f7987949bd964d067814a289c..8df2d90f65f323c448b2dacd3b07b26284bf95ce 100644 +index df541bd7513638b4d9b4942e010343b1fdb665c6..1289ed6cc898d3b1c06dd7c4ac9f959727e0b0b2 100644 --- a/services/network/url_loader_factory.cc +++ b/services/network/url_loader_factory.cc -@@ -76,6 +76,7 @@ URLLoaderFactory::URLLoaderFactory( +@@ -77,6 +77,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 26c07f7b77991a3f7987949bd964d067814a289c..8df2d90f65f323c448b2dacd3b07b262 cors_url_loader_factory_(cors_url_loader_factory), cookie_observer_(std::move(params_->cookie_observer)) { DCHECK(context); -@@ -260,6 +261,7 @@ void URLLoaderFactory::CreateLoaderAndStart( +@@ -296,6 +297,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 c04c0f183c..77e9ebf68a 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,7 +8,7 @@ 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 ef215562237f8450f78133c3685623d93edb2660..27004b5a41abd48572bd70542385012d008ac6cc 100644 +index 758b0b1616ecf86b7dd090adce94395851d9baf2..55f20eb6266368c65fc0ec80d52caa332f85ecfb 100644 --- a/third_party/blink/common/web_preferences/web_preferences.cc +++ b/third_party/blink/common/web_preferences/web_preferences.cc @@ -146,6 +146,29 @@ WebPreferences::WebPreferences() diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch index affae4fc68..3088489a89 100644 --- a/patches/chromium/blink_local_frame.patch +++ b/patches/chromium/blink_local_frame.patch @@ -14,10 +14,10 @@ when there is code doing that. This patch reverts the change to fix the crash in Electron. diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index 7494f3eaa8dda5c4f8d5d8e46514fa0767b4b750..ba30bb5d4f50d9f536af2bcbf1cbb84f20ba78e9 100644 +index 235d2b2ae975974daa33c72ef6767ba1ae3d3776..21247ac3539a80badd7c3f7821961492beeba6bf 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -641,10 +641,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) { +@@ -646,10 +646,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) { } DCHECK(!view_ || !view_->IsAttached()); @@ -28,7 +28,7 @@ index 7494f3eaa8dda5c4f8d5d8e46514fa0767b4b750..ba30bb5d4f50d9f536af2bcbf1cbb84f if (!Client()) return; -@@ -661,6 +657,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) { +@@ -666,6 +662,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 b5167991ba..4186cd8d6b 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 847eeee9ae3ba29f7afd1b4cca58e262ef06c773..ffeaf89a493d93e34480d3b5ed02536a4e264ff7 100644 +index e397b71732828ffdce2a1a2d006e5f6b0ef531c1..a56deb181dce34de6f9bec459f9745ec92245916 100644 --- a/third_party/blink/public/web/web_local_frame.h +++ b/third_party/blink/public/web/web_local_frame.h -@@ -350,6 +350,8 @@ class WebLocalFrame : public WebFrame { +@@ -367,6 +367,8 @@ class WebLocalFrame : public WebFrame { // Returns the world ID associated with |script_context|. virtual int32_t GetScriptContextWorldId( v8::Local script_context) const = 0; @@ -20,10 +20,10 @@ index 847eeee9ae3ba29f7afd1b4cca58e262ef06c773..ffeaf89a493d93e34480d3b5ed02536a // 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 20392b149a0f7468e33ea7e055092152b7b30c99..99cf7f0d5484d2a3c4412dea2b883b7d55de7f94 100644 +index 0f69556bf3040cab4a8c5feca86cad2b2bd89ec2..069d91cda24868cdead1745e6d43d4519b59a534 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 -@@ -997,6 +997,13 @@ v8::Local WebLocalFrameImpl::GlobalProxy() const { +@@ -1032,6 +1032,13 @@ v8::Local WebLocalFrameImpl::GlobalProxy() const { return MainWorldScriptContext()->Global(); } @@ -38,10 +38,10 @@ index 20392b149a0f7468e33ea7e055092152b7b30c99..99cf7f0d5484d2a3c4412dea2b883b7d 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 debc4b14fbde344a0fa675f5b8c334da1eedc3dd..300e8e19d5aa0397ee85421f31aa8c6d0794d14c 100644 +index 4e62d1fddd3c605b8fafc65c35523665f1f351cc..34bfc8aac4093e226f6a20ebbf6b849210e48321 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 -@@ -161,6 +161,8 @@ class CORE_EXPORT WebLocalFrameImpl final +@@ -162,6 +162,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/build_add_electron_tracing_category.patch b/patches/chromium/build_add_electron_tracing_category.patch index 9c9e833555..a3bf3781b5 100644 --- a/patches/chromium/build_add_electron_tracing_category.patch +++ b/patches/chromium/build_add_electron_tracing_category.patch @@ -8,7 +8,7 @@ categories in use are known / declared. This patch is required for us to introduce a new Electron category for Electron-specific tracing. diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h -index b2d0c9e5fc6bd7617a47b34b0bc390bdac37d8f2..011d103a45b85c0dfeff847cf63633480f34dc0f 100644 +index 0bf7fd50a8a151d3a13e8e815c73da62ebac0e61..032d86c9647c7b82edfb5ba626a20fa590508a9a 100644 --- a/base/trace_event/builtin_categories.h +++ b/base/trace_event/builtin_categories.h @@ -73,6 +73,7 @@ diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index 95b17a4b3e..0b54b3906d 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 bd4f5fefc10ea5366846baca5e936440e861c3d4..d4fbb821e35335fd69820e429447690b01a7fe59 100644 +index 6c0bb3d6b85d31d4a80a57a7bcee481ed721b158..145c09e1d27a0142c36640001c618081c8e6ecaf 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -5116,6 +5116,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -5220,6 +5220,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 bd4f5fefc10ea5366846baca5e936440e861c3d4..d4fbb821e35335fd69820e429447690b &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 16d2127e706bf4839f596c975e88a0bf4337b3c4..382e7d01444f55650971a0cade2211fab2a37754 100644 +index d5309b32ad9fa4e85d6574bbed062c985fa49baa..5289f745a02e3df7157197b515031f9749b101fd 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3598,6 +3598,14 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( +@@ -3585,6 +3585,14 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( } auto* new_contents_impl = new_contents.get(); @@ -39,7 +39,7 @@ index 16d2127e706bf4839f596c975e88a0bf4337b3c4..382e7d01444f55650971a0cade2211fa new_contents_impl->GetController().SetSessionStorageNamespace( partition_id, session_storage_namespace); -@@ -3639,12 +3647,6 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( +@@ -3626,12 +3634,6 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( AddDestructionObserver(new_contents_impl); } @@ -53,10 +53,10 @@ index 16d2127e706bf4839f596c975e88a0bf4337b3c4..382e7d01444f55650971a0cade2211fa 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 e959809bb8d20294e3946a73631667e71fca8ec7..68923a8f48ccec81cbc24cff70958cc19f2c00b1 100644 +index 68fcf36b593374bb21ef5f6471d43c5b47df6368..c20549d289d82d45c855dd7ae558595f267537e1 100644 --- a/content/common/frame.mojom +++ b/content/common/frame.mojom -@@ -275,6 +275,10 @@ struct CreateNewWindowParams { +@@ -280,6 +280,10 @@ struct CreateNewWindowParams { // The window features to use for the new window. blink.mojom.WindowFeatures features; @@ -68,7 +68,7 @@ index e959809bb8d20294e3946a73631667e71fca8ec7..68923a8f48ccec81cbc24cff70958cc1 // 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 e1c6c1f7ca02fc5b8d379e435be6d52572e16266..2b0dd7cd7bdfcdc0c5a2e947e7f5faee86546330 100644 +index 84f1ea2245477d3a64ad3e550e5ff3b500e4cbfa..05b2d9b76ae5c5f2a39303282a9c5c7326489d3b 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -544,6 +544,8 @@ bool ContentBrowserClient::CanCreateWindow( @@ -81,10 +81,10 @@ index e1c6c1f7ca02fc5b8d379e435be6d52572e16266..2b0dd7cd7bdfcdc0c5a2e947e7f5faee 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 2a341fb5d2f9636c827b9f162d7bf0fcd66fe2e1..79d88cab12a1bce6e386fc470622d670bfaa6730 100644 +index 4bb333f23c05d078bc0894b2a4953b46c36e48bc..bdb9c61af7c5b84c358a8e0282e4c06fcb05fdfe 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -150,6 +150,7 @@ class NetworkService; +@@ -153,6 +153,7 @@ class NetworkService; class TrustedURLLoaderHeaderClient; } // namespace mojom struct ResourceRequest; @@ -92,7 +92,7 @@ index 2a341fb5d2f9636c827b9f162d7bf0fcd66fe2e1..79d88cab12a1bce6e386fc470622d670 } // namespace network namespace sandbox { -@@ -874,6 +875,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -877,6 +878,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -102,7 +102,7 @@ index 2a341fb5d2f9636c827b9f162d7bf0fcd66fe2e1..79d88cab12a1bce6e386fc470622d670 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 88e89a64cd0333de5fd38aaf2e29f39c8c6a2a20..3abbd89cf26a5e9d53352ad8c9f70d9d0bc52399 100644 +index 23ef0fe1e0275778bccd1bbae8ec46fa3dc24a7c..41bae2ebe3c6db1fc81a90763f304e90b8a1005c 100644 --- a/content/public/browser/web_contents_delegate.cc +++ b/content/public/browser/web_contents_delegate.cc @@ -27,6 +27,17 @@ namespace content { @@ -124,7 +124,7 @@ index 88e89a64cd0333de5fd38aaf2e29f39c8c6a2a20..3abbd89cf26a5e9d53352ad8c9f70d9d const OpenURLParams& params) { return nullptr; diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 49771a2f3db4d0d17822da81cd0cdc46453c1fd2..91fa6ef49923afdd39a5bb9848c88ee9979e2770 100644 +index 21d30d1b60ba870a35be87f8d1823ef5e3902a01..73b85693d59f25160df21c3b535869b3d03c3a76 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -17,6 +17,7 @@ @@ -150,7 +150,7 @@ index 49771a2f3db4d0d17822da81cd0cdc46453c1fd2..91fa6ef49923afdd39a5bb9848c88ee9 // 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 2024bbc8dd91defdda32ad058c7450facf2c3382..bc49833e7788c312bfe38db56f4444f2e294ae13 100644 +index 95450cc45b57977f75644da65b878a6ab259485b..37f3ddc08388112916d52156d791a758ea7d7d48 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -27,6 +27,7 @@ @@ -161,7 +161,7 @@ index 2024bbc8dd91defdda32ad058c7450facf2c3382..bc49833e7788c312bfe38db56f4444f2 #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" -@@ -381,6 +382,10 @@ WebView* RenderViewImpl::CreateView( +@@ -380,6 +381,10 @@ WebView* RenderViewImpl::CreateView( } params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features); @@ -173,10 +173,10 @@ index 2024bbc8dd91defdda32ad058c7450facf2c3382..bc49833e7788c312bfe38db56f4444f2 // moved on send. bool is_background_tab = diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc -index 6f5ae5bf1938133933f8055824e554a57470bbb9..7391fac052218c660cb122181e16ef84dc1a2e74 100644 +index 565e73f6c43fb8e20d31a094768fddda388d3768..a0acffed269faa7c9e3715744fa6c6b099813469 100644 --- a/content/web_test/browser/web_test_content_browser_client.cc +++ b/content/web_test/browser/web_test_content_browser_client.cc -@@ -378,6 +378,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( +@@ -377,6 +377,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& 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 fa07443f71c1a0ab3780290157cbe6db04dae8f7..271da1447c0efe17b245f556d5ce3f9b3fb22ae2 100644 +index 9016c40b451c8f3a43737f24b120e3ffce5f9d04..f55023b59fdc76322d7415501a67331c427b3098 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -1952,6 +1952,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -1954,6 +1954,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 1f5b9afbb6..ba93072340 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 ebb6db2929f2192ca73fb677986b9e07737f8569..a1450c55841de39bbf3f1809ad2507991c01ced1 100644 +index e2213b00d73f399bb14b7edfa0fb719aa12a6be5..363f9e7a823864f67faa7ce9ec6fd914f371652e 100644 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc -@@ -451,7 +451,7 @@ CodeGenerationCheckCallbackInMainThread(v8::Local context, +@@ -450,7 +450,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 9f01d8e552..ba41436cde 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -140,10 +140,10 @@ index dc7f3bc886e7130c66d98ae6de73c17db746cbe5..6197db3570c860f39f381370e1af37f8 } diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index 93bc1b4289ed14bd59c640351a83efee949bf75a..d36a754c8abc98f124c2d295b78beadddf5ae2d9 100644 +index 081402dcc955e071a1b797e26d7b4e72f409f85a..a7d96775dde9f53ab6935130c8ad768de19d7f3e 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -1798,12 +1798,11 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -1805,12 +1805,11 @@ bool Browser::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -159,7 +159,7 @@ index 93bc1b4289ed14bd59c640351a83efee949bf75a..d36a754c8abc98f124c2d295b78beadd WebContents* Browser::CreateCustomWebContents( diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h -index 923b9d25f98431c7d44c9abdd070d6358d2476a4..5a434f45d319d03f9dc8db2211f199ed1265c702 100644 +index 3d854e68bbf95165463e1df4c8d26f54dfce59fa..50fc87bada7dcd3bba0b02b92f53910c5f4249f8 100644 --- a/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h @@ -780,8 +780,7 @@ class Browser : public TabStripModelObserver, @@ -201,10 +201,10 @@ index 058ec72442d59989c4d6df4a7c791ecfeff0ef99..f7c8c2139382cb2e290c561624291afe // The profile used for the presentation. Profile* otr_profile_; diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc -index 9573beffd60b8445be4e2b53f8a9ad041f7d35d2..716946bd6a054b42ff4e0a3b1bdbd2e291412e08 100644 +index e8cee3297c218cd86b1200003e574c3713ab7afe..48216c9fccf1452f869fcfb24ba5206798c4c4e6 100644 --- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc -@@ -167,14 +167,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden( +@@ -168,14 +168,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -215,11 +215,11 @@ index 9573beffd60b8445be4e2b53f8a9ad041f7d35d2..716946bd6a054b42ff4e0a3b1bdbd2e2 ScopedJavaLocalRef obj = GetJavaDelegate(env); if (obj.is_null()) return false; - ScopedJavaLocalRef java_url = -- ConvertUTF8ToJavaString(env, target_url.spec()); -+ ConvertUTF8ToJavaString(env, params.target_url.spec()); + ScopedJavaLocalRef java_gurl = +- url::GURLAndroid::FromNativeGURL(env, target_url); ++ url::GURLAndroid::FromNativeGURL(env, params.target_url.spec()); return !Java_WebContentsDelegateAndroid_shouldCreateWebContents(env, obj, - java_url); + java_gurl); } diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h index 348c65a323c6104030f50e1336ccbd9ada9e7628..c7d6a0041de46784bb28146d5ffd53ded3e5685d 100644 @@ -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 f940851b87541cb245a7439f100275c6694cee0f..97623546b3d8c44759338f3dab02aa34be71a8e4 100644 +index ad7be058905cce2c4cc7e5829c80e0c47ba54fe3..6567db08ee125b67afbd549efb08f5dd46357be5 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3559,8 +3559,7 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( +@@ -3546,8 +3546,7 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( source_site_instance, params.window_container_type, @@ -278,10 +278,10 @@ index f940851b87541cb245a7439f100275c6694cee0f..97623546b3d8c44759338f3dab02aa34 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 3abbd89cf26a5e9d53352ad8c9f70d9d0bc52399..c5b4c9ef5b508de0bc41e9c3ece15c52d8e30fbf 100644 +index 41bae2ebe3c6db1fc81a90763f304e90b8a1005c..b1b2a4e20d58c7eeb5bbaca3d908ce13c06140b7 100644 --- a/content/public/browser/web_contents_delegate.cc +++ b/content/public/browser/web_contents_delegate.cc -@@ -135,8 +135,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden( +@@ -139,8 +139,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden( SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -292,7 +292,7 @@ index 3abbd89cf26a5e9d53352ad8c9f70d9d0bc52399..c5b4c9ef5b508de0bc41e9c3ece15c52 } diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 91fa6ef49923afdd39a5bb9848c88ee9979e2770..5f1cb33a890a9bdc09445dd180f06946999f6237 100644 +index 73b85693d59f25160df21c3b535869b3d03c3a76..7f70aca41af3d12bccac751f8a8639bc16598891 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -316,8 +316,7 @@ class CONTENT_EXPORT WebContentsDelegate { @@ -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 d470ef3c91475be3e10f2074de8b4ad7e29c7b19..a03718f5744aac5d5b5d09c295fb8741d783a331 100644 +index a83c2dd71ef35358e55234200cc1a67f04ac84a9..de02460d4d390950330b07c97f9791388474ee2c 100644 --- a/fuchsia/engine/browser/frame_impl.cc +++ b/fuchsia/engine/browser/frame_impl.cc -@@ -352,8 +352,7 @@ bool FrameImpl::IsWebContentsCreationOverridden( +@@ -372,8 +372,7 @@ bool FrameImpl::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -376,10 +376,10 @@ index d470ef3c91475be3e10f2074de8b4ad7e29c7b19..a03718f5744aac5d5b5d09c295fb8741 // 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 484b1600fbac408d4cec5697f5c8bcba5ff8b1e1..46623a6b8b26143c75a4a35a02562b44d17f9287 100644 +index d6f69a298932496ed5fe29ee2ae43e35503476d4..656abba62cc533f8b8805ce4c9b5e782156aa6ed 100644 --- a/fuchsia/engine/browser/frame_impl.h +++ b/fuchsia/engine/browser/frame_impl.h -@@ -216,8 +216,7 @@ class FrameImpl : public fuchsia::web::Frame, +@@ -234,8 +234,7 @@ class FrameImpl : public fuchsia::web::Frame, content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -390,7 +390,7 @@ index 484b1600fbac408d4cec5697f5c8bcba5ff8b1e1..46623a6b8b26143c75a4a35a02562b44 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 b3e8582ca50b70b88c1e4804a93db42eac938337..367e25b1a50032413aa981252107d138d772893b 100644 +index 1eb384ea6673d425333a37cbe1ef59deb74bd9ae..97ac16cfc089a3a2d976688e878d7ce653c0cc84 100644 --- a/headless/lib/browser/headless_web_contents_impl.cc +++ b/headless/lib/browser/headless_web_contents_impl.cc @@ -170,8 +170,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate { 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 cea686a871..23b3f25357 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 d922c9c06965c1833fdbdaebabcf5ac8cc1e6cab..76d9806c0f2e25aa119a7e353db9e709b0b80d70 100644 +index d5707259012a7ec9340e9f3795b24356d266a12d..06ba635b2d69d2016fd44c550556a8e6b5b27cc6 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -6156,6 +6156,7 @@ static_library("browser") { +@@ -6203,6 +6203,7 @@ static_library("browser") { deps += [ "//components/spellcheck/browser", "//components/spellcheck/common", @@ -32,10 +32,10 @@ index 2b7aa1add57dccbcbf8202cead5b7d2d5a174270..2ba03fc045f2e4bb12f173aacb6581cc #include "components/pref_registry/pref_registry_syncable.h" #include "components/prefs/pref_service.h" diff --git a/components/language/core/browser/BUILD.gn b/components/language/core/browser/BUILD.gn -index f28230ea94fece5ae8ca7ac27a14da48f40fadbb..c10eea103852b9411a644e1fe20a7e20a38bf187 100644 +index 65741e76bec42c50e83c8911cf5de416fea64a23..e7a7be24d90d596e67a987ba7a6a4bc917acfece 100644 --- a/components/language/core/browser/BUILD.gn +++ b/components/language/core/browser/BUILD.gn -@@ -31,6 +31,7 @@ static_library("browser") { +@@ -32,6 +32,7 @@ static_library("browser") { "//components/pref_registry", "//components/prefs", "//components/strings", @@ -44,10 +44,10 @@ index f28230ea94fece5ae8ca7ac27a14da48f40fadbb..c10eea103852b9411a644e1fe20a7e20 ] } diff --git a/components/language/core/browser/language_prefs.cc b/components/language/core/browser/language_prefs.cc -index 75dcb9e5c4cb1aa64800240bd9282cac469c4524..b27d374f76e24b809f9bc9cf45560603f141350c 100644 +index c14811efa87b223729d37695d86f858dd8f366ee..444c8273e4985f7e276ad0dd0fd001b027bc0d47 100644 --- a/components/language/core/browser/language_prefs.cc +++ b/components/language/core/browser/language_prefs.cc -@@ -20,7 +20,7 @@ +@@ -21,7 +21,7 @@ #include "components/pref_registry/pref_registry_syncable.h" #include "components/prefs/pref_service.h" #include "components/prefs/scoped_user_pref_update.h" diff --git a/patches/chromium/chrome_key_systems.patch b/patches/chromium/chrome_key_systems.patch index fff9cef60f..9dbc983ef3 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 93c95a3fdad3ea4eccd16d3a38f27d3787510549..54652ee3f074c7a015d703113211fb0bff3acd14 100644 +index 9b9ee3f7f5d12df9df71452a811b9ab79677ae19..7232b07e728b6df1adffe0aa8f5a8e6fe14e6a87 100644 --- a/chrome/renderer/media/chrome_key_systems.cc +++ b/chrome/renderer/media/chrome_key_systems.cc @@ -16,7 +16,9 @@ @@ -20,7 +20,7 @@ index 93c95a3fdad3ea4eccd16d3a38f27d3787510549..54652ee3f074c7a015d703113211fb0b #include "components/cdm/renderer/external_clear_key_key_system_properties.h" #include "components/cdm/renderer/widevine_key_system_properties.h" #include "content/public/renderer/render_thread.h" -@@ -189,12 +191,14 @@ static SupportedCodecs GetSupportedCodecs( +@@ -197,12 +199,14 @@ static SupportedCodecs GetSupportedCodecs( // Returns persistent-license session support. static EmeSessionTypeSupport GetPersistentLicenseSupport( bool supported_by_the_cdm) { diff --git a/patches/chromium/content_browser_main_loop.patch b/patches/chromium/content_browser_main_loop.patch index 79127ea629..7dcbaea73b 100644 --- a/patches/chromium/content_browser_main_loop.patch +++ b/patches/chromium/content_browser_main_loop.patch @@ -8,10 +8,10 @@ run before shutdown. This is required to cleanup WebContents asynchronously in electron::api::WebContents::ResetManagedWebContents. diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc -index d87cbfc0c61dfbf71c7c7f473fd6652a44420fc8..62dc65bf3d05a3c36750ccd4bec43a918b6c6748 100644 +index e0d0bfa23791bb747ea0421b2723f28cea521e0e..3b02440c2b909d8fc22b3aca33d138391c15b449 100644 --- a/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc -@@ -1454,7 +1454,7 @@ void BrowserMainLoop::MainMessageLoopRun() { +@@ -1406,7 +1406,7 @@ void BrowserMainLoop::MainMessageLoopRun() { NOTREACHED(); #else base::RunLoop run_loop; diff --git a/patches/chromium/dcheck.patch b/patches/chromium/dcheck.patch index b1fc3f59eb..b58a42b29e 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 44a9cde381d323183ae25490d5f07511ab2126d5..ea5b2dd99037ea531f74f1930bd1626cfc0d93bf 100644 +index f7f15e5325c872ef6514e4e36a31e30380928e16..e012aaf0ae7708af01d5f69019d4458d26eb4baa 100644 --- a/content/browser/renderer_host/navigation_controller_impl.cc +++ b/content/browser/renderer_host/navigation_controller_impl.cc @@ -1306,8 +1306,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation( diff --git a/patches/chromium/delay_lock_the_protocol_scheme_registry.patch b/patches/chromium/delay_lock_the_protocol_scheme_registry.patch index def096d4f8..96d9e5face 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 c0823fa0abedf954155294a8d84c62640aa7175f..abdb7ffb1d606b972025689350c60b09650fe24a 100644 +index b9159fa8c5572014a2ab58b5eaa0db21d96a09ca..1c7a4533c9564eb500d8673ab57eb0e5c0bc24dd 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc -@@ -676,7 +676,7 @@ int ContentMainRunnerImpl::Initialize(const ContentMainParams& params) { +@@ -674,7 +674,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 1b3132165c..f53720a594 100644 --- a/patches/chromium/disable-redraw-lock.patch +++ b/patches/chromium/disable-redraw-lock.patch @@ -15,10 +15,10 @@ the redraw locking mechanism, which fixes these issues. The electron issue can be found at https://github.com/electron/electron/issues/1821 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index 46f2701356063f7a554317739ec01c47adbb76ba..34b58eb81f42e70a17250b99dfaa58891dc076c1 100644 +index 4c9654191ddce3db5f9391cdbd07b1be8a77a2af..dc2cdf7467912d36261583c91c8f46fbe041c5e0 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc -@@ -309,6 +309,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; +@@ -304,6 +304,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; } // namespace @@ -29,7 +29,7 @@ index 46f2701356063f7a554317739ec01c47adbb76ba..34b58eb81f42e70a17250b99dfaa5889 // A scoping class that prevents a window from being able to redraw in response // to invalidations that may occur within it for the lifetime of the object. // -@@ -360,6 +364,7 @@ class HWNDMessageHandler::ScopedRedrawLock { +@@ -355,6 +359,7 @@ class HWNDMessageHandler::ScopedRedrawLock { cancel_unlock_(false), should_lock_(owner_->IsVisible() && !owner->HasChildRenderingWindow() && ::IsWindow(hwnd_) && @@ -37,7 +37,7 @@ index 46f2701356063f7a554317739ec01c47adbb76ba..34b58eb81f42e70a17250b99dfaa5889 (!(GetWindowLong(hwnd_, GWL_STYLE) & WS_CAPTION) || !ui::win::IsAeroGlassEnabled())) { if (should_lock_) -@@ -974,6 +979,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() { +@@ -969,6 +974,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() { return scoped_enable; } @@ -49,7 +49,7 @@ index 46f2701356063f7a554317739ec01c47adbb76ba..34b58eb81f42e70a17250b99dfaa5889 // HWNDMessageHandler, gfx::WindowImpl overrides: diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h -index 2f5eefa481f7e3752d9e527ca6b946f6d80f3878..c2353cd1058b31430b5a3cd8f6bca0434cab6a21 100644 +index 3d498de563ed739f55136f83b110b31bd66a1b5c..5d7810c9e31d9948212826377d6f039ad5761ba6 100644 --- a/ui/views/win/hwnd_message_handler.h +++ b/ui/views/win/hwnd_message_handler.h @@ -202,6 +202,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 0afbd9a2a8..44a6c32e50 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 33b0abba38ee3531353a5dd5548c63886f68c1e0..ec1c418ce090589b44d67f5ecb3f0e4b048eb505 100644 +index a28df531ff474ae69e937668e77364db92558257..a6aa22ceaf3fd6942eda5b2d72b6cc3903e26554 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -1773,6 +1773,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( +@@ -1770,6 +1770,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( gfx::ColorSpace LayerTreeHostImpl::GetRasterColorSpace( gfx::ContentColorUsage content_color_usage) const { @@ -229,7 +229,7 @@ index 9f60a5f7b0062775b8451a82658b1c719775b332..7053104b6575991f2edbeff89028bd1b + +#undef PATCH_CS diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index 28799999f686d71c905efd9becc5b6fcb2a4fca2..87b2a9846a2f8192a8d5c27a644f98a6392df496 100644 +index d5d68aa5a40b577d7d7b545cdc67f60e18acdf86..8ab5b75d7eee5f3e17b997abcd84f504ec6283ea 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 28799999f686d71c905efd9becc5b6fcb2a4fca2..87b2a9846a2f8192a8d5c27a644f98a6 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 1b4d95b6dd43bcb030bba4aa1f2454c7466c82ba..3967ee4920aaeffa9aa52535eee275eb5ad7872f 100644 +index cd53727d64bf7d3b265fb6e3e95fa3b5390b091f..a4d0f77f284fa27e78789115aea77217cebbce69 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -220,6 +220,7 @@ +@@ -219,6 +219,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 1b4d95b6dd43bcb030bba4aa1f2454c7466c82ba..3967ee4920aaeffa9aa52535eee275eb #include "ui/gl/gl_switches.h" #include "ui/native_theme/native_theme_features.h" #include "url/origin.h" -@@ -3195,6 +3196,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3172,6 +3173,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[] = { @@ -261,7 +261,7 @@ index 1b4d95b6dd43bcb030bba4aa1f2454c7466c82ba..3967ee4920aaeffa9aa52535eee275eb switches::kDisableInProcessStackTraces, sandbox::policy::switches::kDisableSeccompFilterSandbox, diff --git a/third_party/blink/renderer/platform/graphics/canvas_color_params.cc b/third_party/blink/renderer/platform/graphics/canvas_color_params.cc -index 8d6308af4befcac7c0a0f1cce3a4af89ff248895..b83fdd165b3d9c7bfaf1524d03c319c9b14d797a 100644 +index 6532f5a49ffa359d355a8191dd144092bdb3fa1d..cdc18bdb3fe87df54e125c204fda485193410826 100644 --- a/third_party/blink/renderer/platform/graphics/canvas_color_params.cc +++ b/third_party/blink/renderer/platform/graphics/canvas_color_params.cc @@ -4,6 +4,7 @@ @@ -271,8 +271,8 @@ index 8d6308af4befcac7c0a0f1cce3a4af89ff248895..b83fdd165b3d9c7bfaf1524d03c319c9 +#include "base/command_line.h" #include "cc/paint/skia_paint_canvas.h" #include "components/viz/common/resources/resource_format_utils.h" - #include "third_party/blink/renderer/platform/runtime_enabled_features.h" -@@ -13,6 +14,7 @@ + #include "third_party/blink/renderer/platform/graphics/canvas_resource_params.h" +@@ -14,6 +15,7 @@ #include "third_party/khronos/GLES3/gl3.h" #include "third_party/skia/include/core/SkSurfaceProps.h" #include "ui/gfx/color_space.h" @@ -280,19 +280,7 @@ index 8d6308af4befcac7c0a0f1cce3a4af89ff248895..b83fdd165b3d9c7bfaf1524d03c319c9 namespace blink { -@@ -92,6 +94,11 @@ uint8_t CanvasColorParams::BytesPerPixel() const { - } - - gfx::ColorSpace CanvasColorParams::GetSamplerGfxColorSpace() const { -+ auto* cmd_line = base::CommandLine::ForCurrentProcess(); -+ if (cmd_line->HasSwitch(switches::kDisableColorCorrectRendering)) { -+ return gfx::ColorSpace(); -+ } -+ - // TODO(ccameron): If we add support for uint8srgb as a pixel format, this - // will need to take into account whether or not this texture will be sampled - // in linear or nonlinear space. -@@ -99,6 +106,11 @@ gfx::ColorSpace CanvasColorParams::GetSamplerGfxColorSpace() const { +@@ -105,6 +107,11 @@ uint8_t CanvasColorParams::BytesPerPixel() const { } gfx::ColorSpace CanvasColorParams::GetStorageGfxColorSpace() const { @@ -305,7 +293,7 @@ index 8d6308af4befcac7c0a0f1cce3a4af89ff248895..b83fdd165b3d9c7bfaf1524d03c319c9 } 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 008619ad943c432b5bc013943195be9b7995213e..042c9eb43bbe1fb34cf86f53072c249e5ce4688b 100644 +index 1e876620298ff54d500a02aad7b9ab50767a2507..93b9a9b91a22e162a6f52f479b5e51f13a69b125 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 @@ diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index 6f385f2f4e..d3b49a39af 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 eaf64f381ca121c439d38286be85e45aae809c03..7a639f30914bf5cbb74449327a7e0b65e0114be6 100644 +index 063fb15b8a59c891204e0cb1f11980b32fdf6210..0db198a8cb657c679f6ba96fb9ac04460b448b14 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -700,6 +700,9 @@ void RenderWidgetHostImpl::WasHidden() { +@@ -701,6 +701,9 @@ void RenderWidgetHostImpl::WasHidden() { if (is_hidden_) return; @@ -20,7 +20,7 @@ index eaf64f381ca121c439d38286be85e45aae809c03..7a639f30914bf5cbb74449327a7e0b65 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 aa994c8677b7e108ecde003b2557ee021bf20279..c5bd7e95124ce7389913a2a97a41eec2c79edd47 100644 +index 0fd5dd389fdcfbafbd5eb240692e6b5d7ab5fe4a..a4989b69ba9b5f7aad2f8aff5f8d1ea294e295e0 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h @@ -184,6 +184,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl @@ -34,10 +34,10 @@ index aa994c8677b7e108ecde003b2557ee021bf20279..c5bd7e95124ce7389913a2a97a41eec2 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 d2e23689f8cf7ef2acaffdc75370137593cf6415..9d07891a280e4063300d9180937f7423071751ba 100644 +index 247233f80b9200c354bab5433f4495950963382b..0e7141323f776db02843f9109c6dc1dd33498607 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -600,7 +600,7 @@ void RenderWidgetHostViewAura::HideImpl() { +@@ -597,7 +597,7 @@ void RenderWidgetHostViewAura::HideImpl() { DCHECK(visibility_ == Visibility::HIDDEN || visibility_ == Visibility::OCCLUDED); diff --git a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch new file mode 100644 index 0000000000..afa1e194ec --- /dev/null +++ b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Samuel Attard +Date: Fri, 18 Dec 2020 15:19:39 -0800 +Subject: Don't use potentially null "GetWebFrame()->View()" when get blink + prefs + +For whatever reason (still haven't narrowed it down to an exact test case) when using OOPIFs the "GetWebFrame()->View()" call during "RenderFrameCreated" call be nullptr. Accessing the prefs via the render_view though still works. + +This regressed in https://chromium-review.googlesource.com/c/chromium/src/+/2572256 + +Upstream: https://chromium-review.googlesource.com/c/chromium/src/+/2598393 + +diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc +index 75205d7112eb643392bcdb7368d311adfa14a10a..e89d5a82d699846e6b6d84397b469c47ea884abf 100644 +--- a/content/renderer/render_frame_impl.cc ++++ b/content/renderer/render_frame_impl.cc +@@ -2687,7 +2687,7 @@ blink::WebLocalFrame* RenderFrameImpl::GetWebFrame() { + } + + const blink::web_pref::WebPreferences& RenderFrameImpl::GetBlinkPreferences() { +- return GetWebFrame()->View()->GetWebPreferences(); ++ return render_view_->GetWebView()->GetWebPreferences(); + } + + const blink::RendererPreferences& RenderFrameImpl::GetRendererPreferences() diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index efc3f7ecc6..efeca09429 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 d8b35023554a3f7f1b6e96c899fa52200285e7f3..fa390b7609b2daeb488aecbb177f1269b4be4095 100644 +index 5c324d4b865a6f25475de8cc2772850b35cc5b9b..52a58d6cfa6c2f93d6aafdd8d18b7eab22a66c7e 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1105,6 +1105,13 @@ void NetworkContext::SetNetworkConditions( +@@ -1104,6 +1104,13 @@ void NetworkContext::SetNetworkConditions( std::move(network_conditions)); } @@ -51,22 +51,22 @@ index d8b35023554a3f7f1b6e96c899fa52200285e7f3..fa390b7609b2daeb488aecbb177f1269 // 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 b0b6f9bb175cd0e5dc7f69bd204886c463b63442..b334b9efb15f829c42d9f113b6c3d5cd53b8a533 100644 +index 99b2b865a2c5c507fd95ef7dbdb38a97fe528570..b512420f0ff5f34b750525f78176227621d25a77 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -248,6 +248,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -249,6 +249,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CloseIdleConnections(CloseIdleConnectionsCallback callback) override; void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id, mojom::NetworkConditionsPtr conditions) override; + void SetUserAgent(const std::string& new_user_agent) override; void SetAcceptLanguage(const std::string& new_accept_language) override; void SetEnableReferrers(bool enable_referrers) override; - #if BUILDFLAG(IS_ASH) + #if BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index b0065647d08f3208446d0c996276d6394d80409e..ec89eeb056d686f8cab6003e456973ff8649df23 100644 +index b9f9a0b76f51b466cab9fd1895ad0a736580c924..cd4519d88c3bb8688e772eb0ed2d68e368a32052 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1074,6 +1074,9 @@ interface NetworkContext { +@@ -1097,6 +1097,9 @@ interface NetworkContext { SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, NetworkConditions? conditions); @@ -77,7 +77,7 @@ index b0065647d08f3208446d0c996276d6394d80409e..ec89eeb056d686f8cab6003e456973ff SetAcceptLanguage(string new_accept_language); diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h -index ff87a952a866b490aadc732786fcb6e54e03b0d6..a8005f98f5a619df03193a9e132a12c9a6c82d6f 100644 +index d02c338ff5eee3cd6a0825d882359693adda5f20..19a32203009847900a1ce40fef4daa69198cac30 100644 --- a/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h @@ -110,6 +110,7 @@ class TestNetworkContext : public mojom::NetworkContext { @@ -87,4 +87,4 @@ index ff87a952a866b490aadc732786fcb6e54e03b0d6..a8005f98f5a619df03193a9e132a12c9 + void SetUserAgent(const std::string& new_user_agent) override {} void SetAcceptLanguage(const std::string& new_accept_language) override {} void SetEnableReferrers(bool enable_referrers) override {} - #if BUILDFLAG(IS_ASH) + #if BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch b/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch index 0d6830f0ea..74ff47d479 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 @@ -61,7 +61,7 @@ index 4181c8d4328f7514c52b3a66766bb4860ede730b..e3a16bdf98cf444bd1b202a722763d26 DISALLOW_COPY_AND_ASSIGN(NativeTheme); }; diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc -index 6bcec4c618ae2ee4e544ff0204a6349dee460707..0842657c39c0c0ecc8d2b3aa75dddefd9b5961d3 100644 +index f0e69f71da0c00b1aa7521af60e7d19a1cd2483a..f079b43ebba808633653164e042238c70f6575eb 100644 --- a/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc @@ -741,6 +741,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const { 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 d618ef0aba..2eadbaf7fe 100644 --- a/patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/feat_allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -6,10 +6,10 @@ Subject: feat: allow disabling blink scheduler throttling per RenderView This allows us to disable throttling for hidden windows. diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc -index 13ffa3d6b211055dcbf2d92d3a918de69e41c4a1..ad0f1ec63ad2defd976e0808adbc7d0207b62cc1 100644 +index 300d69fe146196281a3a7e2ce33ea6ac110f3fc5..2cc87dac2133e7d0a014f305978c5e02fb4500e6 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc -@@ -587,6 +587,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { +@@ -586,6 +586,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); } @@ -48,10 +48,10 @@ index 4c082605daf6841205f51789c1df329cc10ce57e..f450523c978c7603af4358fb928c6be7 // This interface should only be implemented inside content. friend class RenderViewHostImpl; diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h -index e89e36f7c0d2ccb7e70931b43333a9473f58ae58..11eb9b423ddb12832e422e35287b8ca11d924c85 100644 +index 5ec763b211097ab318f86092bcad9f4014e1a779..61d1e89a6171206e3ed692ee582d8b23a8c7e3b7 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h -@@ -306,6 +306,8 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, +@@ -234,6 +234,8 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, static WindowOpenDisposition NavigationPolicyToDisposition( blink::WebNavigationPolicy policy); @@ -73,10 +73,10 @@ index e122d4ffb857023841dabcb6fed352d7586d8344..3c7cd1cb8b204024a0835150302ee889 + SetSchedulerThrottling(bool allowed); }; diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h -index ffe969fc0f0c1db58d3ea6672efb2a55c2056dc9..ed5b29f0e4901a1ce05aa83a31899480e6301a91 100644 +index fb648cda4e1aaa578cf271a60027e43b5d3a39d2..b567763c75832b742403356bb5deeaecbc5b6fe1 100644 --- a/third_party/blink/public/web/web_view.h +++ b/third_party/blink/public/web/web_view.h -@@ -344,6 +344,7 @@ class WebView { +@@ -343,6 +343,7 @@ class WebView { // Scheduling ----------------------------------------------------------- virtual PageScheduler* Scheduler() const = 0; @@ -85,10 +85,10 @@ index ffe969fc0f0c1db58d3ea6672efb2a55c2056dc9..ed5b29f0e4901a1ce05aa83a31899480 // 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 ab8765ee0dfe02237692fd13ce7b1afd547dd8b9..b4a1c539b3555e39240bc2bffe0ff6699c4a72c4 100644 +index 8b34b40e9f07f4f50fdde236235aea6b6fa2c536..608331138a5613753d145d933589fb959300a26e 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -3465,6 +3465,13 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3472,6 +3472,13 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } @@ -102,7 +102,7 @@ index ab8765ee0dfe02237692fd13ce7b1afd547dd8b9..b4a1c539b3555e39240bc2bffe0ff669 void WebViewImpl::SetVisibilityState( mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) { -@@ -3475,7 +3482,8 @@ void WebViewImpl::SetVisibilityState( +@@ -3482,7 +3489,8 @@ void WebViewImpl::SetVisibilityState( } GetPage()->SetVisibilityState(visibility_state, is_initial_state); GetPage()->GetPageScheduler()->SetPageVisible( @@ -113,7 +113,7 @@ index ab8765ee0dfe02237692fd13ce7b1afd547dd8b9..b4a1c539b3555e39240bc2bffe0ff669 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 f479a50a684abeada48706517892312166b22729..b09bb456a6bd2b8f8257bb742eb22f63cbaf7f2a 100644 +index 83a2e96325de2667036153e2fa9b3d0228ae3c37..b24fe240be02a013675cfb25be29560a3ff92792 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h @@ -365,6 +365,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, diff --git a/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch b/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch index d3d98e6e4e..039e553031 100644 --- a/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch +++ b/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch @@ -7,7 +7,7 @@ Subject: feat: allow embedders to add observers on created hunspell This patch is used by Electron to implement spellchecker events. diff --git a/chrome/browser/spellchecker/spellcheck_service.cc b/chrome/browser/spellchecker/spellcheck_service.cc -index 09256573b848bbb248530f77619df47ddbeb8a0e..75b70e375ed1d680cbd2fba1ca73a4e2e5403fb6 100644 +index 5be269c26e80c621da050f995721512068d52e95..59bfb3df6e5b1413f35f258461c0794a5e2a8c56 100644 --- a/chrome/browser/spellchecker/spellcheck_service.cc +++ b/chrome/browser/spellchecker/spellcheck_service.cc @@ -459,6 +459,9 @@ void SpellcheckService::LoadDictionaries() { 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 43b8c928ea..1bbfe4bcff 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -475,10 +475,10 @@ index 8532a82205834ed6eee143abb577945e177d2a9a..f7a5f787f1016355e90b1a1ecd2641fa compositor_data.display_client->GetBoundRemote(resize_task_runner_); diff --git a/mojo/public/cpp/bindings/sync_call_restrictions.h b/mojo/public/cpp/bindings/sync_call_restrictions.h -index c9a75d59b7eb480c3e64e14bdcb9516150ec368c..7370f0b80057ce7b24560c41b70c0bab1cacffef 100644 +index 4ff82130b358cd4f0bf1bd5673a9f7b89c087ea5..2bb5dfb20ab58b623b43da1f36b4d586cd5b8ecb 100644 --- a/mojo/public/cpp/bindings/sync_call_restrictions.h +++ b/mojo/public/cpp/bindings/sync_call_restrictions.h -@@ -29,6 +29,7 @@ class Compositor; +@@ -33,6 +33,7 @@ class Compositor; namespace viz { class HostFrameSinkManager; @@ -486,7 +486,7 @@ index c9a75d59b7eb480c3e64e14bdcb9516150ec368c..7370f0b80057ce7b24560c41b70c0bab } namespace mojo { -@@ -78,6 +79,8 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS) SyncCallRestrictions { +@@ -83,6 +84,8 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS) SyncCallRestrictions { // For destroying the GL context/surface that draw to a platform window before // the platform window is destroyed. friend class viz::HostFrameSinkManager; @@ -527,7 +527,7 @@ index 6b7fbb6cf13dc8ee6ade0878a9a2c1efc5d4d3f1..e2af75168cb914a7b3b4a6c9b6a28549 + Draw(gfx.mojom.Rect damage_rect) => (); }; diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h -index 8433ce03aefde8ba1f541fb53459b865819f3805..87e92968e52f9b569e997d1a0647a968a1f25e30 100644 +index d87ee0d4243de4571caf75d2a85c3b6c43ee53f8..26fd78488e1de9a60124a63009e6945d812aaaa0 100644 --- a/ui/compositor/compositor.h +++ b/ui/compositor/compositor.h @@ -76,6 +76,7 @@ class ExternalBeginFrameController; @@ -564,7 +564,7 @@ index 8433ce03aefde8ba1f541fb53459b865819f3805..87e92968e52f9b569e997d1a0647a968 // Sets the root of the layer tree drawn by this Compositor. The root layer // must have no parent. The compositor's root layer is reset if the root layer // is destroyed. NULL can be passed to reset the root layer, in which case the -@@ -430,6 +443,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient, +@@ -431,6 +444,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient, std::unique_ptr pending_begin_frame_args_; 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 d66b5daace..3260a967c2 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,7 +7,7 @@ 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 c074f0d73eab1993b580f317c42480688e6669e6..2a86b0c6897efd10c483d0816b3f7a54f1e13d2a 100644 +index d3396d984086717e69d99cff3107ab09506b2b02..237e310b12eb9814f7da9103cf61d69e423b2920 100644 --- a/base/process/launch_mac.cc +++ b/base/process/launch_mac.cc @@ -27,8 +27,10 @@ extern "C" { @@ -21,7 +21,7 @@ index c074f0d73eab1993b580f317c42480688e6669e6..2a86b0c6897efd10c483d0816b3f7a54 int responsibility_spawnattrs_setdisclaim(posix_spawnattr_t attrs, int disclaim) API_AVAILABLE(macosx(10.14)); -@@ -103,21 +105,29 @@ class PosixSpawnFileActions { +@@ -96,21 +98,29 @@ class PosixSpawnFileActions { }; int ChangeCurrentThreadDirectory(const char* path) { @@ -51,7 +51,7 @@ index c074f0d73eab1993b580f317c42480688e6669e6..2a86b0c6897efd10c483d0816b3f7a54 } struct GetAppOutputOptions { -@@ -233,11 +243,13 @@ Process LaunchProcess(const std::vector& argv, +@@ -230,11 +240,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 7204fb0dd3..67d94b9452 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,13 +7,13 @@ 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 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a57fc0c115 100644 +index 4453990236f07a58932f50701f31fab961d0fb9e..6193689e879f5e147ca1e6514fb2061423d31400 100644 --- a/chrome/browser/accessibility/accessibility_ui.cc +++ b/chrome/browser/accessibility/accessibility_ui.cc -@@ -19,7 +19,10 @@ - #include "base/strings/utf_string_conversions.h" +@@ -20,7 +20,10 @@ #include "base/values.h" #include "build/build_config.h" + #include "build/chromeos_buildflags.h" +#if 0 #include "chrome/browser/profiles/profile.h" +#endif @@ -21,16 +21,19 @@ index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a5 #include "chrome/common/pref_names.h" #include "chrome/common/webui_url_constants.h" #include "chrome/grit/dev_ui_browser_resources.h" -@@ -43,7 +46,7 @@ - #include "ui/accessibility/platform/inspect/tree_formatter.h" - #include "ui/base/webui/web_ui_util.h" +@@ -48,9 +51,11 @@ + #include "ui/views/accessibility/view_accessibility.h" --#if !defined(OS_ANDROID) + #if !defined(OS_ANDROID) +#if 0 #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_window.h" -@@ -147,7 +150,7 @@ std::unique_ptr BuildTargetDescriptor( ++#endif + #include "ui/views/accessibility/widget_ax_tree_id_map.h" + #include "ui/views/widget/widget.h" + #include "ui/views/widget/widget_delegate.h" +@@ -161,7 +166,7 @@ std::unique_ptr BuildTargetDescriptor( accessibility_mode); } @@ -39,7 +42,7 @@ index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a5 std::unique_ptr BuildTargetDescriptor(Browser* browser) { std::unique_ptr target_data( new base::DictionaryValue()); -@@ -170,7 +173,9 @@ void HandleAccessibilityRequestCallback( +@@ -200,7 +205,9 @@ void HandleAccessibilityRequestCallback( DCHECK(ShouldHandleAccessibilityRequestCallback(path)); base::DictionaryValue data; @@ -49,7 +52,7 @@ index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a5 ui::AXMode mode = content::BrowserAccessibilityState::GetInstance()->GetAccessibilityMode(); bool is_native_enabled = content::BrowserAccessibilityState::GetInstance() -@@ -199,9 +204,7 @@ void HandleAccessibilityRequestCallback( +@@ -229,9 +236,7 @@ void HandleAccessibilityRequestCallback( // The "labelImages" flag works only if "web" is enabled, the current profile // has the kAccessibilityImageLabelsEnabled preference set and the appropriate // command line switch has been used. @@ -60,16 +63,16 @@ index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a5 bool label_images = mode.has_mode(ui::AXMode::kLabelImages); data.SetString(kLabelImages, are_accessibility_image_labels_enabled ? (label_images ? kOn : kOff) -@@ -210,7 +213,7 @@ void HandleAccessibilityRequestCallback( - // The "pdf" flag is independent of the others. - data.SetString(kPDF, pdf ? kOn : kOff); +@@ -245,7 +250,7 @@ void HandleAccessibilityRequestCallback( + data.SetBoolean(kViewsAccessibility, + features::IsAccessibilityTreeForViewsEnabled()); - bool show_internal = pref->GetBoolean(prefs::kShowInternalAccessibilityTree); + bool show_internal = true; data.SetString(kInternal, show_internal ? kOn : kOff); std::unique_ptr rvh_list(new base::ListValue()); -@@ -247,11 +250,11 @@ void HandleAccessibilityRequestCallback( +@@ -282,11 +287,11 @@ void HandleAccessibilityRequestCallback( data.Set(kPagesField, std::move(rvh_list)); std::unique_ptr browser_list(new base::ListValue()); @@ -82,8 +85,8 @@ index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a5 +#endif // !defined(OS_ANDROID) data.Set(kBrowsersField, std::move(browser_list)); - std::string json_string; -@@ -449,8 +452,10 @@ void AccessibilityUIMessageHandler::SetGlobalFlag(const base::ListValue* args) { + std::unique_ptr widgets_list(new base::ListValue()); +@@ -505,8 +510,10 @@ void AccessibilityUIMessageHandler::SetGlobalFlag(const base::ListValue* args) { AllowJavascript(); if (flag_name_str == kInternal) { @@ -94,7 +97,7 @@ index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a5 return; } -@@ -548,10 +553,12 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree( +@@ -615,10 +622,12 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree( AXPropertyFilter::ALLOW_EMPTY); AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY); @@ -108,7 +111,7 @@ index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a5 result->SetString(kTreeField, accessibility_contents); FireWebUIListener(request_type, *(result.get())); } -@@ -586,6 +593,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( +@@ -642,6 +651,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( AXPropertyFilter::ALLOW_EMPTY); AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY); @@ -116,7 +119,7 @@ index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a5 for (Browser* browser : *BrowserList::GetInstance()) { if (browser->session_id().id() == session_id) { std::unique_ptr result( -@@ -600,6 +608,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( +@@ -656,6 +666,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( return; } } @@ -124,7 +127,7 @@ index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a5 #endif // !defined(OS_ANDROID) // No browser with the specified |session_id| was found. std::unique_ptr result(new base::DictionaryValue()); -@@ -666,5 +675,7 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents( +@@ -771,5 +782,7 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents( // static void AccessibilityUIMessageHandler::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { @@ -133,7 +136,7 @@ index 95a1bf5a66b9f5f18e20a53d5a901189400974dd..6b947b3118ceafd24a7d4426a6c8b4a5 +#endif } diff --git a/chrome/browser/accessibility/accessibility_ui.h b/chrome/browser/accessibility/accessibility_ui.h -index 906b24117cdf584dc4935e81c61fe664c48d552b..7a542240c77877a19d0e80649605a1fee393c50f 100644 +index c0453b9f8603ba99a83a747666a1b05b9c36ca14..b0c610de6322177baf5a7ba44b632a9658756ce8 100644 --- a/chrome/browser/accessibility/accessibility_ui.h +++ b/chrome/browser/accessibility/accessibility_ui.h @@ -24,6 +24,8 @@ struct AXEventNotificationDetails; 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 9ee8e5ffcc..513f03e401 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 382e7d01444f55650971a0cade2211fab2a37754..d8845bd7a2dc89a12e40cf3fdd227217e3ae1da1 100644 +index 5289f745a02e3df7157197b515031f9749b101fd..0e8392c14e5184f90c1747f2039bac7e9bf2eb1a 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3009,11 +3009,13 @@ bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) { +@@ -2996,11 +2996,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_use_electron_generated_resources.patch b/patches/chromium/fix_use_electron_generated_resources.patch index d5dea8b284..bcc94f7e80 100644 --- a/patches/chromium/fix_use_electron_generated_resources.patch +++ b/patches/chromium/fix_use_electron_generated_resources.patch @@ -12,11 +12,11 @@ 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 a6d491e7f42214f99a042deca6a59188cae6af5b..a9e0f358b3bf7c2b4802650e3280ae7414ce89c9 100644 +index 713afc08980fc13dff66870dde6528e44ffc9cd0..5b6511096065e6b02088c4a7dc638ed481657eef 100644 --- a/chrome/browser/pdf/pdf_extension_util.cc +++ b/chrome/browser/pdf/pdf_extension_util.cc -@@ -8,8 +8,7 @@ - #include "base/values.h" +@@ -9,8 +9,7 @@ + #include "build/chromeos_buildflags.h" #include "chrome/browser/browser_process.h" #include "chrome/common/chrome_content_client.h" -#include "chrome/grit/browser_resources.h" diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index 8f0fb777db..71b9e01600 100644 --- a/patches/chromium/frame_host_manager.patch +++ b/patches/chromium/frame_host_manager.patch @@ -42,10 +42,10 @@ index 65e627f2fa89352b0be27b5813d71a622bf1d326..113f4fd00f1cf994b39f64c9da387855 // 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 0e1c0fa283c9db2d5e3e48a75eb666c5bd0cd97e..b0acb88d7a21500e70120a21f99f494db02b4627 100644 +index 29394a1584371f9304a30544e6f223acc8817e3b..d6596daf05721be7e8a9b939f162525199b85695 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -1430,6 +1430,21 @@ void NavigationRequest::BeginNavigation() { +@@ -1454,6 +1454,21 @@ void NavigationRequest::BeginNavigation() { if (IsSameDocument()) { render_frame_host_ = frame_tree_node_->current_frame_host(); } else { @@ -67,7 +67,7 @@ index 0e1c0fa283c9db2d5e3e48a75eb666c5bd0cd97e..b0acb88d7a21500e70120a21f99f494d // Select an appropriate RenderFrameHost. std::string frame_host_choice_reason; render_frame_host_ = -@@ -5278,6 +5293,7 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { +@@ -5343,6 +5358,7 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { {WILL_START_REQUEST, { WILL_REDIRECT_REQUEST, WILL_PROCESS_RESPONSE, @@ -75,7 +75,7 @@ index 0e1c0fa283c9db2d5e3e48a75eb666c5bd0cd97e..b0acb88d7a21500e70120a21f99f494d READY_TO_COMMIT, DID_COMMIT, CANCELING, -@@ -5291,10 +5307,14 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { +@@ -5356,10 +5372,14 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const { WILL_FAIL_REQUEST, }}, {WILL_PROCESS_RESPONSE, { @@ -91,10 +91,10 @@ index 0e1c0fa283c9db2d5e3e48a75eb666c5bd0cd97e..b0acb88d7a21500e70120a21f99f494d NOT_STARTED, DID_COMMIT, diff --git a/content/browser/renderer_host/navigation_request.h b/content/browser/renderer_host/navigation_request.h -index 730174fdfff549916673ece367b27c264b8389db..1300e8c74cf5a42fb2159e75edfd7c150f648fcf 100644 +index dd495343ea53fa03f9f7b6f06e5da00d2e5c9903..66ea89b7ecbe249f0c7b7f779c2e325f474ac913 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,10 +106,10 @@ index 730174fdfff549916673ece367b27c264b8389db..1300e8c74cf5a42fb2159e75edfd7c15 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 04e360fc01cc3a7f04ec6763c1c5d031f7303db8..1ddd5f21ac69ff51f771d2f9e506fbe0150509e8 100644 +index 3f9343bcdef5848f6017f1b1a73dc5306cd0c2a0..aa72c3a7ede9e62a3945304f5a38b17f55f7b09c 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -2715,6 +2715,16 @@ scoped_refptr +@@ -2724,6 +2724,16 @@ scoped_refptr RenderFrameHostManager::GetSiteInstanceForNavigationRequest( NavigationRequest* request, std::string* reason) { @@ -126,7 +126,7 @@ index 04e360fc01cc3a7f04ec6763c1c5d031f7303db8..1ddd5f21ac69ff51f771d2f9e506fbe0 SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance(); // All children of MHTML documents must be MHTML documents. They all live in -@@ -2742,10 +2752,60 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -2751,10 +2761,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 04e360fc01cc3a7f04ec6763c1c5d031f7303db8..1ddd5f21ac69ff51f771d2f9e506fbe0 // Account for renderer-initiated reload as well. // Needed as a workaround for https://crbug.com/1045524, remove it when it is -@@ -2785,6 +2845,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -2794,6 +2854,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } @@ -229,7 +229,7 @@ index 3dc0f0cf7f3e9b9e75cf053817e9ac5fba0182bc..16759a044e24ac3c0719a57e196fbf3e 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 2b0dd7cd7bdfcdc0c5a2e947e7f5faee86546330..76c05a9374969495cb152f4a6521b39391f551ec 100644 +index 05b2d9b76ae5c5f2a39303282a9c5c7326489d3b..f811ea8efeeace5a59a53714a8f8ac3b194f3ba5 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -65,6 +65,21 @@ @@ -255,10 +255,10 @@ index 2b0dd7cd7bdfcdc0c5a2e947e7f5faee86546330..76c05a9374969495cb152f4a6521b393 const MainFunctionParams& parameters) { return nullptr; diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 79d88cab12a1bce6e386fc470622d670bfaa6730..6c0674bd02c4acca75c83afd9051687f5b688297 100644 +index bdb9c61af7c5b84c358a8e0282e4c06fcb05fdfe..57a8cc905275440349607bbce381da5ca679ea6d 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -251,8 +251,45 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -254,8 +254,45 @@ class CONTENT_EXPORT ContentBrowserClient { using IsClipboardPasteAllowedCallback = base::OnceCallback; @@ -281,7 +281,7 @@ index 79d88cab12a1bce6e386fc470622d670bfaa6730..6c0674bd02c4acca75c83afd9051687f + ASK_CHROMIUM + }; + - virtual ~ContentBrowserClient() {} + virtual ~ContentBrowserClient() = default; + // Electron: Allows disabling the below ShouldOverride patch + virtual bool CanUseCustomSiteInstance(); diff --git a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch index c3b1dfce2b..bbd82de716 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 443bdfdae846e494cf211daf6577ab0e2f58ec78..e425ee95415b51d7c108822494d9fcd8f2b43086 100644 +index 3b9289d822f747876c5f71ee23bae4e27800a4ab..5715b785ef8e24c902f8e58a98d28bd74cf9a8ee 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 443bdfdae846e494cf211daf6577ab0e2f58ec78..e425ee95415b51d7c108822494d9fcd8 void GpuDataManagerImpl::UpdateGpuFeatureInfo( diff --git a/content/browser/gpu/gpu_data_manager_impl.h b/content/browser/gpu/gpu_data_manager_impl.h -index f8df36a25932346ba0f1b40805a72cd78aa95e01..7156db588e819f952d81e41e455d2e10921ca5b7 100644 +index e57176b02c899d702fac00b7b60cfb1acb14bf26..1b89297e3c5e87b0212e4a487c6850722da77f8f 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,10 +40,10 @@ index f8df36a25932346ba0f1b40805a72cd78aa95e01..7156db588e819f952d81e41e455d2e10 // 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 147de9d790b69d79a4a166f3d8d1037af9e4d77b..406529c4207b74c17eb98d3c3f16ca10aee53b87 100644 +index 9086292908352e6e81fef7fa05b139cdb66c662b..ae2f8717bc482308727b8fa7ff12af325b2db3de 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.cc +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1042,6 +1042,11 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() { +@@ -1032,6 +1032,11 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() { host->ForceShutdown(); } @@ -56,7 +56,7 @@ index 147de9d790b69d79a4a166f3d8d1037af9e4d77b..406529c4207b74c17eb98d3c3f16ca10 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 25ff864d1b4f65edf01c334f1d4a2bd272452385..771279e91078646e17c9a8eeae46c778baf0e835 100644 +index a91832f439045fe91b426bfbeebeaa36914421cd..f2716eae69b1d2c0efaf70cc22eb4e739c033e7f 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 63bdf2b371..4042eedd27 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 adb9590e79cca869619f25a461faaea2f47610b0..0ceae9411f549843319707800b6706510d3b98c3 100644 +index b393e06f08c8ac3902d365a258c533a1d42b54de..530104ba72070a12a17ad7ab8994d078e2cc3372 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -685,6 +685,11 @@ +@@ -688,6 +688,11 @@ "includes": [3880], }, diff --git a/patches/chromium/gtk_visibility.patch b/patches/chromium/gtk_visibility.patch index a7910492f3..6ee108df05 100644 --- a/patches/chromium/gtk_visibility.patch +++ b/patches/chromium/gtk_visibility.patch @@ -6,7 +6,7 @@ Subject: gtk_visibility.patch Allow electron to depend on GTK in the GN build. diff --git a/build/config/linux/gtk/BUILD.gn b/build/config/linux/gtk/BUILD.gn -index 0ba7dc322db2d48cb66d76630532c13ff02767e7..5721080a1b596095e42343be9c2f94004cbce4cd 100644 +index 5491aef735fc277521acbff97c1484fa81ef9ba4..8ff2728d1843e6d436aa2c59a6b991f2f257e864 100644 --- a/build/config/linux/gtk/BUILD.gn +++ b/build/config/linux/gtk/BUILD.gn @@ -29,6 +29,8 @@ group("gtk") { @@ -17,4 +17,4 @@ index 0ba7dc322db2d48cb66d76630532c13ff02767e7..5721080a1b596095e42343be9c2f9400 + # These are all for WebRTC. "//examples:peerconnection_client", - "//remoting/host/linux", + "//remoting/host:common", diff --git a/patches/chromium/mas_disable_remote_accessibility.patch b/patches/chromium/mas_disable_remote_accessibility.patch index 7728c797d1..4595e2f41c 100644 --- a/patches/chromium/mas_disable_remote_accessibility.patch +++ b/patches/chromium/mas_disable_remote_accessibility.patch @@ -47,7 +47,7 @@ index 9ddda9116e7284cbccde8a51e23ad7560dd06367..e846091ad99b0154636489e53491209f } // namespace diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm -index cad39d6496aa138daa121b9fa08512cbde55dc72..cf0806ac316a9927bc917cedea98d865a641d1ef 100644 +index d2b88549b3005cf5fe43fc57c35403696c94ba80..f14d779670711f5aa4a46ac310bc94082cef7d7f 100644 --- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm +++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm @@ -550,10 +550,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) { @@ -170,7 +170,7 @@ index cd544c970c6a03ac5a377f9cdcedf9a7bc4e5ba0..5c53aad7e3cb709cfa6ec841978722fd /////////////////////////////////////////////////////////////////////////////// diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn -index 09e921fc8f0a1d502c2b39a23d759f2f3046faba..d7e85481dfa02364937e7961c6bda7a461a4782c 100644 +index efdaf79824e8a88e1d168e97eb91004c7598ddc6..034692c55d15da5c5d63ef24efc1b0c5fdbac9d0 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn @@ -313,6 +313,13 @@ component("base") { diff --git a/patches/chromium/mas_no_private_api.patch b/patches/chromium/mas_no_private_api.patch index 2b55d93135..bd7f3b1c87 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 bd73a072fa9499c6ce231e35c29a50ce870e1fd1..e444cf5b5a8324d2528aa8b325f9feb11d89590d 100644 +index 8d3b32cc370985a865abe7759340dd2535e01b2e..d84980a88df00bf9c1dea9c559b3521a351f74db 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_mac.mm +++ b/content/browser/accessibility/accessibility_tree_formatter_mac.mm -@@ -310,7 +310,7 @@ OptionalNSObject InvokeAttributeFor( +@@ -266,7 +266,7 @@ 0 == strcmp([value objCType], @encode(NSRange))) { return PopulateRange([value rangeValue]); } @@ -19,7 +19,7 @@ index bd73a072fa9499c6ce231e35c29a50ce870e1fd1..e444cf5b5a8324d2528aa8b325f9feb1 // AXTextMarker if (content::IsAXTextMarker(value)) { return PopulateTextPosition(content::AXTextMarkerToPosition(value).get(), -@@ -321,6 +321,7 @@ OptionalNSObject InvokeAttributeFor( +@@ -277,6 +277,7 @@ if (content::IsAXTextMarkerRange(value)) { return PopulateTextMarkerRange(value, line_indexer); } @@ -27,7 +27,7 @@ index bd73a072fa9499c6ce231e35c29a50ce870e1fd1..e444cf5b5a8324d2528aa8b325f9feb1 // AXValue if (CFGetTypeID(value) == AXValueGetTypeID()) { -@@ -431,7 +432,7 @@ OptionalNSObject InvokeAttributeFor( +@@ -387,7 +388,7 @@ kConstValuePrefix + affinity); return set; } @@ -36,7 +36,7 @@ index bd73a072fa9499c6ce231e35c29a50ce870e1fd1..e444cf5b5a8324d2528aa8b325f9feb1 base::Value AccessibilityTreeFormatterMac::PopulateTextMarkerRange( id object, const LineIndexer* line_indexer) const { -@@ -445,7 +446,7 @@ OptionalNSObject InvokeAttributeFor( +@@ -401,7 +402,7 @@ dict.SetPath("focus", PopulateTextPosition(range.focus(), line_indexer)); return dict; } @@ -46,10 +46,10 @@ index bd73a072fa9499c6ce231e35c29a50ce870e1fd1..e444cf5b5a8324d2528aa8b325f9feb1 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 bd4804528b8b023655f6cfd61d051b8675cd65f6..eeb5855e06d7869d6c0579f4b3035c85234bee95 100644 +index 0ae74b7e583d01119a358944686e49a4e270e89c..9fa38e78c7790ef691a6675f3b0d519c1bdba75c 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm +++ b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm -@@ -206,6 +206,7 @@ +@@ -218,6 +218,7 @@ if (property_name == "AXIndexForChildUIElement") { // UIElement return OptionalNSObject::NotNilOrError(PropertyNodeToUIElement(arg_node)); } @@ -57,7 +57,7 @@ index bd4804528b8b023655f6cfd61d051b8675cd65f6..eeb5855e06d7869d6c0579f4b3035c85 if (property_name == "AXIndexForTextMarker") { // TextMarker return OptionalNSObject::NotNilOrError(PropertyNodeToTextMarker(arg_node)); } -@@ -213,6 +214,7 @@ +@@ -225,6 +226,7 @@ return OptionalNSObject::NotNilOrError( PropertyNodeToTextMarkerRange(arg_node)); } @@ -65,7 +65,7 @@ index bd4804528b8b023655f6cfd61d051b8675cd65f6..eeb5855e06d7869d6c0579f4b3035c85 return OptionalNSObject::NotApplicable(); } -@@ -278,6 +280,7 @@ +@@ -290,6 +292,7 @@ return uielement; } @@ -73,7 +73,7 @@ index bd4804528b8b023655f6cfd61d051b8675cd65f6..eeb5855e06d7869d6c0579f4b3035c85 id AttributeInvoker::DictNodeToTextMarker( const AXPropertyNode& dictnode) const { if (!dictnode.IsDict()) { -@@ -382,6 +385,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) { +@@ -394,6 +397,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) { return OptionalNSObject::NotNilOrError(content::AXTextMarkerFrom( cocoa_node, position->text_offset(), position->affinity())); } @@ -125,7 +125,7 @@ index 33a689c23c72b1d18d0fceb595a4a45cf2790454..808eaf45096fbeb5d4bd62448c64078c // 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 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f579ddb17 100644 +index 6ad3a7d0d35bbe1b4fe9f0300e3d1e1a83ea7f32..d4433954f501544ff19855a19d8bc073db935a27 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.mm +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm @@ -209,6 +209,7 @@ @@ -215,7 +215,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f {NSAccessibilitySizeAttribute, @"size"}, {NSAccessibilitySortDirectionAttribute, @"sortDirection"}, {NSAccessibilitySubroleAttribute, @"subrole"}, -@@ -1354,6 +1368,7 @@ - (NSNumber*)enabled { +@@ -1355,6 +1369,7 @@ - (NSNumber*)enabled { ax::mojom::Restriction::kDisabled); } @@ -223,7 +223,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f // Returns a text marker that points to the last character in the document that // can be selected with VoiceOver. - (id)endTextMarker { -@@ -1364,6 +1379,7 @@ - (id)endTextMarker { +@@ -1365,6 +1380,7 @@ - (id)endTextMarker { BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0); return CreateTextMarker(position->CreatePositionAtEndOfAnchor()); } @@ -231,7 +231,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f - (NSNumber*)expanded { if (![self instanceActive]) -@@ -1564,6 +1580,7 @@ - (bool)findRowIndex:(BrowserAccessibilityCocoa*)toFind +@@ -1565,6 +1581,7 @@ - (bool)findRowIndex:(BrowserAccessibilityCocoa*)toFind return false; } @@ -239,7 +239,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f - (NSNumber*)insertionPointLineNumber { if (![self instanceActive]) return nil; -@@ -1589,6 +1606,7 @@ - (NSNumber*)insertionPointLineNumber { +@@ -1590,6 +1607,7 @@ - (NSNumber*)insertionPointLineNumber { caretPosition->AsTextPosition()->text_offset()); return @(std::distance(lineBreaks.begin(), iterator)); } @@ -247,7 +247,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f // Returns whether or not this node should be ignored in the // accessibility tree. -@@ -1940,8 +1958,12 @@ - (BOOL)shouldExposeTitleUIElement { +@@ -1941,8 +1959,12 @@ - (BOOL)shouldExposeTitleUIElement { return content::AXTextEdit(newValue, base::string16(), nil); } } @@ -260,7 +260,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f } - (BOOL)instanceActive { -@@ -2266,6 +2288,7 @@ - (NSArray*)selectedChildren { +@@ -2267,6 +2289,7 @@ - (NSArray*)selectedChildren { return ret; } @@ -268,7 +268,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f - (NSString*)selectedText { if (![self instanceActive]) return nil; -@@ -2277,11 +2300,13 @@ - (NSString*)selectedText { +@@ -2278,11 +2301,13 @@ - (NSString*)selectedText { return nil; return base::SysUTF16ToNSString(range.GetText()); } @@ -282,7 +282,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f - (NSValue*)selectedTextRange { if (![self instanceActive]) return nil; -@@ -2305,7 +2330,9 @@ - (NSValue*)selectedTextRange { +@@ -2306,7 +2331,9 @@ - (NSValue*)selectedTextRange { int selLength = range.GetText().length(); return [NSValue valueWithRange:NSMakeRange(selStart, selLength)]; } @@ -292,15 +292,15 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f - (id)selectedTextMarkerRange { if (![self instanceActive]) return nil; -@@ -2313,6 +2340,7 @@ - (id)selectedTextMarkerRange { +@@ -2318,6 +2345,7 @@ - (id)selectedTextMarkerRange { // words correctly. - return CreateTextMarkerRange(GetSelectedRange(*_owner).AsBackwardRange()); + return CreateTextMarkerRange(ax_range.AsBackwardRange()); } +#endif - (NSValue*)size { if (![self instanceActive]) -@@ -2345,6 +2373,7 @@ - (NSString*)sortDirection { +@@ -2350,6 +2378,7 @@ - (NSString*)sortDirection { return nil; } @@ -308,7 +308,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f // Returns a text marker that points to the first character in the document that // can be selected with VoiceOver. - (id)startTextMarker { -@@ -2355,6 +2384,7 @@ - (id)startTextMarker { +@@ -2360,6 +2389,7 @@ - (id)startTextMarker { BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0); return CreateTextMarker(position->CreatePositionAtStartOfAnchor()); } @@ -316,7 +316,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f // Returns a subrole based upon the role. - (NSString*)subrole { -@@ -2681,11 +2711,13 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range { +@@ -2687,11 +2717,13 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range { NSMutableAttributedString* attributedInnerText = [[[NSMutableAttributedString alloc] initWithString:base::SysUTF16ToNSString(innerText)] autorelease]; @@ -330,7 +330,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f return [attributedInnerText attributedSubstringFromRange:range]; } -@@ -2798,9 +2830,8 @@ - (id)accessibilityAttributeValue:(NSString*)attribute +@@ -2804,9 +2836,8 @@ - (id)accessibilityAttributeValue:(NSString*)attribute return ToBrowserAccessibilityCocoa(cell); } @@ -342,7 +342,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f BrowserAccessibilityPositionInstance position = CreatePositionFromTextMarker(parameter); if (!position->IsNullPosition()) -@@ -3113,6 +3144,7 @@ AXPlatformRange range(std::move(lineStartPosition), +@@ -3119,6 +3150,7 @@ AXPlatformRange range(std::move(lineStartPosition), return CreateTextMarker(root->CreatePositionAt(index)); } @@ -350,7 +350,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f if ([attribute isEqualToString: NSAccessibilityBoundsForRangeParameterizedAttribute]) { -@@ -3143,6 +3175,7 @@ AXPlatformRange range(std::move(lineStartPosition), +@@ -3149,6 +3181,7 @@ AXPlatformRange range(std::move(lineStartPosition), return nil; } @@ -358,7 +358,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f if ([attribute isEqualToString: NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) { -@@ -3257,6 +3290,7 @@ AXPlatformRange range(std::move(lineStartPosition), +@@ -3263,6 +3296,7 @@ AXPlatformRange range(std::move(lineStartPosition), return @(child->GetIndexInParent()); } @@ -366,7 +366,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f return nil; } -@@ -3782,6 +3816,7 @@ - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { +@@ -3791,6 +3825,7 @@ - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { AXPlatformRange(_owner->CreatePositionAt(range.location), _owner->CreatePositionAt(NSMaxRange(range)))); } @@ -374,7 +374,7 @@ index 212d2ebe8fb64ae04a845b8b8f8de159df6e5dbc..8b6da847d6e98ef2dbe1114d6e027f4f if ([attribute isEqualToString:NSAccessibilitySelectedTextMarkerRangeAttribute]) { AXPlatformRange range = CreateRangeFromTextMarkerRange(value); -@@ -3791,6 +3826,7 @@ - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { +@@ -3800,6 +3835,7 @@ - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { manager->SetSelection(AXPlatformRange(range.anchor()->AsLeafTextPosition(), range.focus()->AsLeafTextPosition())); } @@ -517,7 +517,7 @@ index 56864e40431a051dc93ada792a712ca8cf5e9258..c2ee161f02e8cbf901234210671f6dc5 void BluetoothAdapterMac::RemovePairingDelegateInternal( diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn -index d56fc21776812d36870767ea04a25d72287a87eb..c3b0a303693439947bbd804df69adf5a23e692a1 100644 +index 21153d38f978f84fed54d9a904c7a30b9a072d56..0d23e05fe70c5b6f73f39bf3139c7456ba800a51 100644 --- a/media/audio/BUILD.gn +++ b/media/audio/BUILD.gn @@ -177,6 +177,12 @@ source_set("audio") { 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 dd677563d8..2f2b82928e 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 664407028b54b969372709fa89a80d5444110350..d8b35023554a3f7f1b6e96c899fa52200285e7f3 100644 +index 02bf262b7e5539560a1b6c3a3e21cbb6a5356d43..5c324d4b865a6f25475de8cc2772850b35cc5b9b 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc @@ -115,6 +115,11 @@ @@ -116,7 +116,7 @@ index 664407028b54b969372709fa89a80d5444110350..d8b35023554a3f7f1b6e96c899fa5220 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -1855,8 +1940,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -1853,8 +1938,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( "NetworkContext should pass CertVerifierServiceRemoteParams."; std::unique_ptr cert_verifier; @@ -127,7 +127,7 @@ index 664407028b54b969372709fa89a80d5444110350..d8b35023554a3f7f1b6e96c899fa5220 } else { if (params_->cert_verifier_params && params_->cert_verifier_params->is_remote_params()) { -@@ -1884,7 +1970,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -1882,7 +1968,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( cert_net_fetcher_ = base::MakeRefCounted(); @@ -136,7 +136,7 @@ index 664407028b54b969372709fa89a80d5444110350..d8b35023554a3f7f1b6e96c899fa5220 } #if BUILDFLAG(IS_CT_SUPPORTED) -@@ -1908,9 +1994,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -1906,9 +1992,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( // Whether the cert verifier is remote or in-process, we should wrap it in // caching and coalescing layers to avoid extra verifications and IPCs. @@ -146,17 +146,12 @@ index 664407028b54b969372709fa89a80d5444110350..d8b35023554a3f7f1b6e96c899fa5220 - std::move(cert_verifier))); + std::move(temp_verifier))); - #if BUILDFLAG(IS_ASH) + #if BUILDFLAG(IS_CHROMEOS_ASH) cert_verifier_with_trust_anchors_ = -@@ -1919,13 +2005,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( - UpdateAdditionalCertificates( - std::move(params_->initial_additional_certificates)); - cert_verifier_with_trust_anchors_->InitializeOnIOThread( -- std::move(cert_verifier)); -- cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_); -+ std::move(temp_verifier)); -+ temp_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_); - #endif // BUILDFLAG(IS_ASH) +@@ -1920,10 +2006,24 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( + std::move(cert_verifier)); + cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_); + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + if (!temp_verifier) { +#if !defined(OS_LINUX) + temp_verifier = std::make_unique( @@ -181,10 +176,10 @@ index 664407028b54b969372709fa89a80d5444110350..d8b35023554a3f7f1b6e96c899fa5220 #if BUILDFLAG(IS_CT_SUPPORTED) if (params_->enforce_chrome_ct_policy) { diff --git a/services/network/network_context.h b/services/network/network_context.h -index d6ec5511068bdc9aa34e76fdab46802d2536654e..b0b6f9bb175cd0e5dc7f69bd204886c463b63442 100644 +index 022b586d786c21264dcc689a61be5c4d56fd9e71..99b2b865a2c5c507fd95ef7dbdb38a97fe528570 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -88,6 +88,7 @@ class DomainReliabilityMonitor; +@@ -89,6 +89,7 @@ class DomainReliabilityMonitor; namespace network { class CertVerifierWithTrustAnchors; @@ -192,7 +187,7 @@ index d6ec5511068bdc9aa34e76fdab46802d2536654e..b0b6f9bb175cd0e5dc7f69bd204886c4 class CookieManager; class ExpectCTReporter; class HostResolver; -@@ -192,6 +193,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -193,6 +194,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) override; @@ -201,7 +196,7 @@ index d6ec5511068bdc9aa34e76fdab46802d2536654e..b0b6f9bb175cd0e5dc7f69bd204886c4 void ResetURLLoaderFactories() override; void GetCookieManager( mojo::PendingReceiver receiver) override; -@@ -690,6 +693,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -693,6 +696,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext CertVerifierWithTrustAnchors* cert_verifier_with_trust_anchors_ = nullptr; #endif @@ -211,10 +206,10 @@ index d6ec5511068bdc9aa34e76fdab46802d2536654e..b0b6f9bb175cd0e5dc7f69bd204886c4 // 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 0a09398cf50e8ef8dac952c3cf89a64d6df53798..b0065647d08f3208446d0c996276d6394d80409e 100644 +index 5103b20abed953ddde12f421c3487acf16b5d18e..b9f9a0b76f51b466cab9fd1895ad0a736580c924 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -215,6 +215,17 @@ struct CTPolicy { +@@ -228,6 +228,17 @@ struct CTPolicy { array excluded_legacy_spkis; }; @@ -232,7 +227,7 @@ index 0a09398cf50e8ef8dac952c3cf89a64d6df53798..b0065647d08f3208446d0c996276d639 // Parameters for constructing a network context. struct NetworkContextParams { // Name used by memory tools to identify the context. -@@ -866,6 +877,9 @@ interface NetworkContext { +@@ -889,6 +900,9 @@ interface NetworkContext { // Sets a client for this network context. SetClient(pending_remote client); diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index 660b11af6f..abfba8b8af 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -108,10 +108,10 @@ index f9b6a18aa73968506ddeca13de69b368f4ca8606..d45cb1c32be1b5c76840dafcd96fd06c mojo::PendingReceiver receiver); diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 0c1b98163a40c2a214167422e1818c670491e135..9ce9b3e26a1a4d9c5d209f926b6d93e7e4d05074 100644 +index 1d77f9a3265e47a6a66b2b6782151d40eba28775..b0309af577e9929b7cf244a2f076d5942ce45c5b 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2093,7 +2093,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2079,7 +2079,7 @@ void RenderProcessHostImpl::CreateNotificationService( mojo::PendingReceiver receiver) { DCHECK_CURRENTLY_ON(BrowserThread::UI); storage_partition_impl_->GetPlatformNotificationContext()->CreateService( diff --git a/patches/chromium/picture-in-picture.patch b/patches/chromium/picture-in-picture.patch index 7bf0209913..00f46b376a 100644 --- a/patches/chromium/picture-in-picture.patch +++ b/patches/chromium/picture-in-picture.patch @@ -35,10 +35,10 @@ index 79b969d83f5b2dcee7ece6c18ac9a1dcf47ac5a1..a4d38d5d0e248cf92195f649b96c77cd #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/color_palette.h" diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc -index fc55e78614714299f8660c6e7eae2325f099e89a..45ffc1ae48396e8f91144c2a4f7dbab5ed390d24 100644 +index 67790686e1d006095d1969489064f6a06b457428..5f8bba605e0bd9b540860fe379305ef638d963de 100644 --- a/chrome/browser/ui/views/overlay/overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc -@@ -14,16 +14,18 @@ +@@ -15,16 +15,18 @@ #include "build/build_config.h" #include "build/chromeos_buildflags.h" #include "chrome/app/vector_icons/vector_icons.h" @@ -58,7 +58,7 @@ index fc55e78614714299f8660c6e7eae2325f099e89a..45ffc1ae48396e8f91144c2a4f7dbab5 #include "components/vector_icons/vector_icons.h" #include "content/public/browser/picture_in_picture_window_controller.h" #include "content/public/browser/web_contents.h" -@@ -48,7 +50,7 @@ +@@ -49,7 +51,7 @@ #include "ui/aura/window.h" #endif @@ -67,7 +67,7 @@ index fc55e78614714299f8660c6e7eae2325f099e89a..45ffc1ae48396e8f91144c2a4f7dbab5 #include "chrome/browser/shell_integration_win.h" #include "ui/aura/window.h" #include "ui/aura/window_tree_host.h" -@@ -219,7 +221,7 @@ std::unique_ptr OverlayWindowViews::Create( +@@ -223,7 +225,7 @@ std::unique_ptr OverlayWindowViews::Create( overlay_window->Init(std::move(params)); overlay_window->OnRootViewReady(); @@ -103,7 +103,7 @@ index b1272d8664afdd5c05afcb38a2f533741f210554..20f7ffa8be09b046122430c4497edce8 #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 251503cb7154c77333d85be892fe89253523a94a..052e74bb54e8b32985af7b5f870159c80ca44d87 100644 +index 61b52275ad685ffc4970dd5e58714310e9af0835..72c0199189bf0efbb7530f12a5c8dc3e72cc783c 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 251503cb7154c77333d85be892fe89253523a94a..052e74bb54e8b32985af7b5f870159c8 #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 d5fe4187200354d18c778591e2383d9c23f4783f..ccb0ed6fef88b7ec228055ded708637c3e094571 100644 +index c0d070733148d2c9e0271b125ab6e09c55a4f686..f93ca7115cc7c7ed85007d3a392e5bd85426cae3 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 9cf6712fac..219974ed1c 100644 --- a/patches/chromium/printing.patch +++ b/patches/chromium/printing.patch @@ -102,10 +102,10 @@ index 47a5b3c2a11ec595ff926df10f856ed3c5375c55..38769ab454b143a1f50d1291a363092c } diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc -index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d14094510816 100644 +index 813445507a5e58e1498648e8c54a20a1f45cfd95..0ed548eb75dd5e62f70474046011ffd9265b7fb3 100644 --- a/chrome/browser/printing/print_view_manager_base.cc +++ b/chrome/browser/printing/print_view_manager_base.cc -@@ -30,10 +30,7 @@ +@@ -29,10 +29,7 @@ #include "chrome/browser/printing/print_view_manager_common.h" #include "chrome/browser/printing/printer_query.h" #include "chrome/browser/profiles/profile.h" @@ -116,7 +116,7 @@ index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d140 #include "chromeos/constants/chromeos_features.h" #include "components/prefs/pref_service.h" #include "components/printing/browser/print_composite_client.h" -@@ -50,6 +47,7 @@ +@@ -49,6 +46,7 @@ #include "content/public/browser/render_process_host.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" @@ -208,7 +208,7 @@ index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d140 } void PrintViewManagerBase::NavigationStopped() { -@@ -532,12 +547,13 @@ void PrintViewManagerBase::DidPrintDocument( +@@ -533,12 +548,13 @@ void PrintViewManagerBase::DidPrintDocument( void PrintViewManagerBase::GetDefaultPrintSettings( GetDefaultPrintSettingsCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -223,7 +223,7 @@ index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d140 content::RenderFrameHost* render_frame_host = print_manager_host_receivers_.GetCurrentTargetFrame(); -@@ -553,11 +569,12 @@ void PrintViewManagerBase::UpdatePrintSettings( +@@ -554,11 +570,12 @@ void PrintViewManagerBase::UpdatePrintSettings( base::Value job_settings, UpdatePrintSettingsCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -237,7 +237,7 @@ index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d140 if (!job_settings.FindIntKey(kSettingPrinterType)) { UpdatePrintSettingsReply(std::move(callback), nullptr, false); return; -@@ -578,7 +595,7 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie) { +@@ -579,7 +596,7 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie) { PrintManager::PrintingFailed(cookie); #if BUILDFLAG(ENABLE_PRINT_PREVIEW) @@ -246,7 +246,7 @@ index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d140 #endif ReleasePrinterQuery(); -@@ -597,6 +614,11 @@ void PrintViewManagerBase::OnScriptedPrint( +@@ -598,6 +615,11 @@ void PrintViewManagerBase::OnScriptedPrint( } void PrintViewManagerBase::ShowInvalidPrinterSettingsError() { @@ -258,7 +258,7 @@ index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d140 base::ThreadTaskRunnerHandle::Get()->PostTask( FROM_HERE, base::BindOnce(&ShowWarningMessageBox, l10n_util::GetStringUTF16( -@@ -666,9 +688,13 @@ void PrintViewManagerBase::OnNotifyPrintJobEvent( +@@ -667,9 +689,13 @@ void PrintViewManagerBase::OnNotifyPrintJobEvent( content::NotificationService::NoDetails()); break; } @@ -274,7 +274,7 @@ index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d140 NOTREACHED(); break; } -@@ -766,8 +792,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( +@@ -767,8 +793,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( DCHECK(!quit_inner_loop_); DCHECK(query); @@ -287,7 +287,7 @@ index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d140 // We can't print if there is no renderer. if (!web_contents()->GetMainFrame()->GetRenderViewHost() || -@@ -791,8 +819,6 @@ bool PrintViewManagerBase::CreateNewPrintJob( +@@ -792,8 +820,6 @@ bool PrintViewManagerBase::CreateNewPrintJob( print_job_->SetSource(source, /*source_id=*/""); #endif @@ -296,7 +296,7 @@ index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d140 printing_succeeded_ = false; return true; } -@@ -841,14 +867,22 @@ void PrintViewManagerBase::ReleasePrintJob() { +@@ -842,14 +868,22 @@ void PrintViewManagerBase::ReleasePrintJob() { content::RenderFrameHost* rfh = printing_rfh_; printing_rfh_ = nullptr; @@ -321,7 +321,7 @@ index 94774af53c16d13329c189739fb8c25a58e42494..9364f3bf37d5244bbcedb672e891d140 // Don't close the worker thread. print_job_ = nullptr; } -@@ -884,7 +918,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { +@@ -885,7 +919,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { } bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) { @@ -372,10 +372,10 @@ index 59ef9a7f60dc21bdf1f4f87092e490cc1f1f1fe7..0c6da3f7658314776bf8fd7898a50d4c // This means we are _blocking_ until all the necessary pages have been // rendered or the print settings are being loaded. diff --git a/chrome/browser/printing/printing_message_filter.cc b/chrome/browser/printing/printing_message_filter.cc -index ca5858bffffa5fabd77de502f6453ccd8b315653..943d753ed78276acc094d92b171b7220f1caa49f 100644 +index 184d285324b95f3f68ea08ffdcd7b68ddfbc1b1d..894248dd95857b8c69851d9cf0f7a2257c598276 100644 --- a/chrome/browser/printing/printing_message_filter.cc +++ b/chrome/browser/printing/printing_message_filter.cc -@@ -22,6 +22,7 @@ +@@ -21,6 +21,7 @@ #include "components/printing/browser/print_manager_utils.h" #include "components/printing/common/print.mojom.h" #include "components/printing/common/print_messages.h" @@ -383,7 +383,7 @@ index ca5858bffffa5fabd77de502f6453ccd8b315653..943d753ed78276acc094d92b171b7220 #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/web_contents.h" -@@ -65,19 +66,22 @@ class PrintingMessageFilterShutdownNotifierFactory +@@ -64,19 +65,22 @@ class PrintingMessageFilterShutdownNotifierFactory } // namespace @@ -409,7 +409,7 @@ index ca5858bffffa5fabd77de502f6453ccd8b315653..943d753ed78276acc094d92b171b7220 } PrintingMessageFilter::~PrintingMessageFilter() { -@@ -152,7 +156,7 @@ void PrintingMessageFilter::OnScriptedPrintReply( +@@ -151,7 +155,7 @@ void PrintingMessageFilter::OnScriptedPrintReply( #if BUILDFLAG(ENABLE_PRINT_PREVIEW) void PrintingMessageFilter::OnCheckForCancel(const mojom::PreviewIds& ids, bool* cancel) { @@ -444,10 +444,10 @@ index ec7bda04cfac09eba3d5285770d1054c2997c170..c36d6eca8c6aa1a23d39d742c04496b4 // content::BrowserMessageFilter: bool OnMessageReceived(const IPC::Message& message) override; diff --git a/components/printing/common/print.mojom b/components/printing/common/print.mojom -index 2c19fe79d3c4286749bf5e66e3b042b7367b674e..5fe34d36c872945c3bc16b35b2844f4561368254 100644 +index ca1f1b42b74268b2e06b8c5a54c22c5c1b4fa3d2..d3d82b29fbab6a2182cd9801431020f9aa3cb706 100644 --- a/components/printing/common/print.mojom +++ b/components/printing/common/print.mojom -@@ -230,7 +230,7 @@ interface PrintPreviewUI { +@@ -241,7 +241,7 @@ interface PrintPreviewUI { interface PrintRenderFrame { // Tells the RenderFrame to switch the CSS to print media type, render every // requested page, and then switch back the CSS to display media type. @@ -457,7 +457,7 @@ index 2c19fe79d3c4286749bf5e66e3b042b7367b674e..5fe34d36c872945c3bc16b35b2844f45 // 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 07c52050b6dd6ebd8dfa06736ec962b889f1c2b7..f78e0a255fdcf4114beb3c7e19efa899424523e9 100644 +index 76907afdb145b7bd1804ac0236d1baf3b57c883e..6d9ea07af438dd508f7faeafa02f301fa96eaf55 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 68babc8183..c87cd57aaf 100644 --- a/patches/chromium/put_back_deleted_colors_for_autofill.patch +++ b/patches/chromium/put_back_deleted_colors_for_autofill.patch @@ -115,7 +115,7 @@ index d08b6a27c0377140562b8feee14b3ae595eb336e..b3d47ac70bc91f3e1cb9931560e6fb36 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 c45c48d9de73004ed89651920247f65fa3035aac..6bcec4c618ae2ee4e544ff0204a6349dee460707 100644 +index b383a9dd19ed400e1315c6d957740d6479b30895..f0e69f71da0c00b1aa7521af60e7d19a1cd2483a 100644 --- a/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc @@ -652,6 +652,18 @@ base::Optional NativeThemeWin::GetPlatformHighContrastColor( 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 f2c0b0115f..98151d6ea9 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -30,11 +30,11 @@ index f3875c216b5f4169a3beb9ae3aeb73c9f4df23f1..5e471024655e1b9ee224ed8ba7fc416e // 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 7a639f30914bf5cbb74449327a7e0b65e0114be6..a1664b545767888a7395b3130d932e8121a5421a 100644 +index 0db198a8cb657c679f6ba96fb9ac04460b448b14..0c5599d817c1327446e12d76b7cdca58369a7aae 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -1882,6 +1882,8 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& unsafe_cursor) { - +@@ -1875,6 +1875,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) { + void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) { if (view_) view_->UpdateCursor(WebCursor(cursor)); + if (delegate_) @@ -43,10 +43,10 @@ index 7a639f30914bf5cbb74449327a7e0b65e0114be6..a1664b545767888a7395b3130d932e81 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 377e1485477bdf7ea7888f2d9101c96494792db2..f940851b87541cb245a7439f100275c6694cee0f 100644 +index 4e058f7bc0d9f58269816d4a4afe432d01212db9..ad7be058905cce2c4cc7e5829c80e0c47ba54fe3 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4140,6 +4140,12 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { +@@ -4134,6 +4134,12 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } @@ -60,10 +60,10 @@ index 377e1485477bdf7ea7888f2d9101c96494792db2..f940851b87541cb245a7439f100275c6 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 d0473ee191cdfb64b7e0696124db6550a362c4da..4ab9d20e13c58f379fd3a158fbb0f090acce686d 100644 +index a56cb369db3285348536eb344e595f0d8fee70dc..63cb45896b1cd589ada801e41e9fe547a9088416 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, +@@ -943,6 +943,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, blink::mojom::FrameVisibility visibility) override; void SendScreenRects() override; TextInputManager* GetTextInputManager() override; diff --git a/patches/chromium/remove_some_deps_that_do_not_work_on_arm64.patch b/patches/chromium/remove_some_deps_that_do_not_work_on_arm64.patch index 3c3484f186..0e6688358d 100644 --- a/patches/chromium/remove_some_deps_that_do_not_work_on_arm64.patch +++ b/patches/chromium/remove_some_deps_that_do_not_work_on_arm64.patch @@ -6,7 +6,7 @@ Subject: remove some deps that do not work on arm64 Once these deps have been fixed upstream we can remove this patch. diff --git a/.vpython b/.vpython -index c249e9c4384dd89acdf741e8d3b499ef31f8d9f4..0461af26f32e4373c6987773f7920880b388a3fe 100644 +index b03ea0669644ee801efb57410ba3a6215f4884f2..7f6c4c9abc38127548e301a203733d307a8f255c 100644 --- a/.vpython +++ b/.vpython @@ -53,10 +53,10 @@ wheel: < @@ -151,18 +151,3 @@ index c249e9c4384dd89acdf741e8d3b499ef31f8d9f4..0461af26f32e4373c6987773f7920880 wheel: < name: "infra/python/wheels/pytz-py2_py3" version: "version:2018.4" -@@ -275,10 +275,10 @@ wheel < - name: "infra/python/wheels/funcsigs-py2_py3" - version: "version:1.0.2" - > --wheel: < -- name: "infra/python/wheels/psutil/${vpython_platform}" -- version: "version:5.2.2" --> -+#wheel: < -+# name: "infra/python/wheels/psutil/${vpython_platform}" -+# version: "version:5.2.2" -+#> - - # Used by: - # tools/infra diff --git a/patches/chromium/render_widget_host_view_base.patch b/patches/chromium/render_widget_host_view_base.patch index f41dfdc4ad..d51d168bc5 100644 --- a/patches/chromium/render_widget_host_view_base.patch +++ b/patches/chromium/render_widget_host_view_base.patch @@ -24,7 +24,7 @@ index e8c6d3e81004dafe53b0e1b19f8605dfe702d92a..dcfce013ea11c7fe8eac853b5d047eb7 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 44d3c2535fae701bd8c2eadd2c952d3e38e04513..8e0644fd7f643485c9cc89e747f61cfe8d839843 100644 +index 1d5bd270ea95129338e686f29b3d2a1dacec64f2..ebab48921ff630873516c66d8bf0365fc9b05332 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 @@ diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index 99de1f8baf..9bcb219a60 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 f403cf4b77fd78cd399e6806269eb2004c3c979d..7890e77888da9b43dac0b67e3dad5e2ecf4ba670 100644 +index f53d7a093e6e529819ef2f8c07083ed19c7c38be..01d2943bc2732ec0f0d3c5c0504fd38ce7f70235 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1458,7 +1458,7 @@ if (is_chrome_branded && !is_android) { +@@ -1418,7 +1418,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index f403cf4b77fd78cd399e6806269eb2004c3c979d..7890e77888da9b43dac0b67e3dad5e2e chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1478,6 +1478,12 @@ if (!is_android) { +@@ -1438,6 +1438,12 @@ if (!is_android) { } } diff --git a/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch b/patches/chromium/revert_remove_contentrendererclient_shouldfork.patch index 62fc5e6a23..70ad1cec66 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 e9c8c71a0b2e7a431f14b873a114e741a4c129fb..5db4a2f36da1761f94d7ce58483d4d6544b8daf9 100644 +index b8379e73d47c82114a155a24292d99651a18224d..fdf94df4a4311cc3222b7ad612691896df7c6f59 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -1275,6 +1275,25 @@ ChromeContentRendererClient::GetProtocolHandlerSecurityLevel() { +@@ -1278,6 +1278,25 @@ ChromeContentRendererClient::GetProtocolHandlerSecurityLevel() { #endif } @@ -55,10 +55,10 @@ index 857b350afe980dd79e4c76ebd3cb1be461457f0a..1cac9fc1d8d92d5afe02aa1d1dba0589 override; void WillSendRequest(blink::WebLocalFrame* frame, diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc -index 6aea489e574bd0a8bc882d2f2d29e4929f8ce261..2397ccf48fa54e678652b93896665f89a039a992 100644 +index 78174b924c7b8429d1400b51f4a560d750cc0af6..20eee821969cfa32a61cc0c16e216d3821253d77 100644 --- a/content/public/renderer/content_renderer_client.cc +++ b/content/public/renderer/content_renderer_client.cc -@@ -115,6 +115,14 @@ bool ContentRendererClient::HandleNavigation( +@@ -117,6 +117,14 @@ bool ContentRendererClient::HandleNavigation( } #endif @@ -92,10 +92,10 @@ index 16d0dd4456f214b14fbdf224ba938ebb1cb63106..4dc340938d54597a315ebb441d769dcc // |url|. If the function returns a valid |new_url|, the request must be // updated to use it. diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 536b5a72f4994bde01c6c96ffbca74499ad39a7c..0faa12629b99ea9f5079b53c16f8d6b4b39a41d7 100644 +index efbfb14678cc28dbf3ea918aa6c280e7518a673f..75205d7112eb643392bcdb7368d311adfa14a10a 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -5502,6 +5502,23 @@ void RenderFrameImpl::BeginNavigation( +@@ -5468,6 +5468,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 aadf204767..3e8fcb07cd 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 a52c3c75068fcb2de9ae74f124b3b5486de29ee5..7f0c0f74b49e093e9dad4da1ed6a9778aae04b1a 100644 +index 055e7bfc4bc519503743b293de7fd087b3064c82..1517a438d5afe6a770128af228ff762fe4cb8139 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1293,7 +1293,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1306,7 +1306,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { } bool RenderThreadImpl::IsElasticOverscrollEnabled() { diff --git a/patches/chromium/ssl_security_state_tab_helper.patch b/patches/chromium/ssl_security_state_tab_helper.patch index 98ce0b706b..4ff9b5d5b1 100644 --- a/patches/chromium/ssl_security_state_tab_helper.patch +++ b/patches/chromium/ssl_security_state_tab_helper.patch @@ -6,10 +6,10 @@ Subject: ssl_security_state_tab_helper.patch Allows populating security tab info for devtools in Electron. diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ssl/security_state_tab_helper.cc -index 53cfff38ef810fe9274e99bde578b3b9d144d5f1..f8394ecff80098863bbd8e3816253b9644fb721c 100644 +index c11f6e1ccb92aebad9bc3c50b7cecf9306ae815a..c89ddc95ffe595ec310f316b796eeea88f5f4e2c 100644 --- a/chrome/browser/ssl/security_state_tab_helper.cc +++ b/chrome/browser/ssl/security_state_tab_helper.cc -@@ -7,31 +7,36 @@ +@@ -7,6 +7,7 @@ #include #include "base/bind.h" @@ -17,9 +17,10 @@ index 53cfff38ef810fe9274e99bde578b3b9d144d5f1..f8394ecff80098863bbd8e3816253b96 #include "base/feature_list.h" #include "base/metrics/field_trial_params.h" #include "base/metrics/histogram_macros.h" - #include "base/strings/pattern.h" +@@ -14,25 +15,29 @@ #include "base/strings/string_util.h" #include "build/build_config.h" + #include "build/chromeos_buildflags.h" +#if 0 #include "chrome/browser/browser_process.h" #include "chrome/browser/profiles/profile.h" @@ -47,16 +48,16 @@ index 53cfff38ef810fe9274e99bde578b3b9d144d5f1..f8394ecff80098863bbd8e3816253b96 #include "components/security_state/content/content_utils.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/navigation_entry.h" -@@ -54,7 +59,7 @@ +@@ -55,7 +60,7 @@ #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h" - #endif // defined(OS_CHROMEOS) + #endif // BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(FULL_SAFE_BROWSING) +#if 0 #include "chrome/browser/safe_browsing/chrome_password_protection_service.h" #endif -@@ -98,9 +103,12 @@ bool IsLegacyTLS(GURL url, int connection_status) { +@@ -99,9 +104,12 @@ bool IsLegacyTLS(GURL url, int connection_status) { // default we treat TLS < 1.2 as Legacy, unless the "SSLVersionMin" policy is // set. std::string ssl_version_min_str = switches::kSSLVersionTLSv12; @@ -72,7 +73,7 @@ index 53cfff38ef810fe9274e99bde578b3b9d144d5f1..f8394ecff80098863bbd8e3816253b96 } // Convert the pref string to an SSLVersion, if it is valid. Otherwise use the -@@ -120,8 +128,9 @@ bool IsLegacyTLS(GURL url, int connection_status) { +@@ -121,8 +129,9 @@ bool IsLegacyTLS(GURL url, int connection_status) { } // namespace @@ -83,7 +84,7 @@ index 53cfff38ef810fe9274e99bde578b3b9d144d5f1..f8394ecff80098863bbd8e3816253b96 SecurityStateTabHelper::SecurityStateTabHelper( content::WebContents* web_contents) -@@ -167,6 +176,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() { +@@ -168,6 +177,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() { // information is still being initialized, thus no need to check for that. state->malicious_content_status = GetMaliciousContentStatus(); @@ -91,7 +92,7 @@ index 53cfff38ef810fe9274e99bde578b3b9d144d5f1..f8394ecff80098863bbd8e3816253b96 ReputationWebContentsObserver* reputation_web_contents_observer = ReputationWebContentsObserver::FromWebContents(web_contents()); state->safety_tip_info = -@@ -191,6 +201,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() { +@@ -192,6 +202,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() { } } @@ -99,7 +100,7 @@ index 53cfff38ef810fe9274e99bde578b3b9d144d5f1..f8394ecff80098863bbd8e3816253b96 return state; } -@@ -253,8 +264,10 @@ void SecurityStateTabHelper::DidFinishNavigation( +@@ -254,8 +265,10 @@ void SecurityStateTabHelper::DidFinishNavigation( UMA_HISTOGRAM_BOOLEAN("interstitial.ssl.visited_site_after_warning", true); } @@ -110,7 +111,7 @@ index 53cfff38ef810fe9274e99bde578b3b9d144d5f1..f8394ecff80098863bbd8e3816253b96 } void SecurityStateTabHelper::DidChangeVisibleSecurityState() { -@@ -278,6 +291,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { +@@ -279,6 +292,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { web_contents()->GetController().GetVisibleEntry(); if (!entry) return security_state::MALICIOUS_CONTENT_STATUS_NONE; @@ -118,7 +119,7 @@ index 53cfff38ef810fe9274e99bde578b3b9d144d5f1..f8394ecff80098863bbd8e3816253b96 safe_browsing::SafeBrowsingService* sb_service = g_browser_process->safe_browsing_service(); if (!sb_service) -@@ -360,6 +374,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { +@@ -361,6 +375,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { break; } } diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index 785cfa008f..db68608e38 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 9ce9b3e26a1a4d9c5d209f926b6d93e7e4d05074..1b4d95b6dd43bcb030bba4aa1f2454c7466c82ba 100644 +index b0309af577e9929b7cf244a2f076d5942ce45c5b..cd53727d64bf7d3b265fb6e3e95fa3b5390b091f 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -401,6 +401,11 @@ class RendererSandboxedProcessLauncherDelegate +@@ -400,6 +400,11 @@ class RendererSandboxedProcessLauncherDelegate { } @@ -37,7 +37,7 @@ index 9ce9b3e26a1a4d9c5d209f926b6d93e7e4d05074..1b4d95b6dd43bcb030bba4aa1f2454c7 ~RendererSandboxedProcessLauncherDelegate() override {} #if defined(OS_WIN) -@@ -422,6 +427,9 @@ class RendererSandboxedProcessLauncherDelegate +@@ -421,6 +426,9 @@ class RendererSandboxedProcessLauncherDelegate #if BUILDFLAG(USE_ZYGOTE_HANDLE) ZygoteHandle GetZygote() override { @@ -47,7 +47,7 @@ index 9ce9b3e26a1a4d9c5d209f926b6d93e7e4d05074..1b4d95b6dd43bcb030bba4aa1f2454c7 const base::CommandLine& browser_command_line = *base::CommandLine::ForCurrentProcess(); base::CommandLine::StringType renderer_prefix = -@@ -436,10 +444,13 @@ class RendererSandboxedProcessLauncherDelegate +@@ -435,10 +443,13 @@ class RendererSandboxedProcessLauncherDelegate return sandbox::policy::SandboxType::kRenderer; } @@ -62,7 +62,7 @@ index 9ce9b3e26a1a4d9c5d209f926b6d93e7e4d05074..1b4d95b6dd43bcb030bba4aa1f2454c7 }; const char kSessionStorageHolderKey[] = "kSessionStorageHolderKey"; -@@ -1820,11 +1831,18 @@ bool RenderProcessHostImpl::Init() { +@@ -1806,11 +1817,18 @@ bool RenderProcessHostImpl::Init() { cmd_line->PrependWrapper(renderer_prefix); AppendRendererCommandLine(cmd_line.get()); diff --git a/patches/chromium/v8_context_snapshot_generator.patch b/patches/chromium/v8_context_snapshot_generator.patch index 5575e262cb..cf3daf148d 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 c238e7e3837e0ee521374045b28340a8fc223a7d..7662cc8ee83e39709eee6e0919c85370fedbb983 100644 +index 6e86a543558c9e7a520b3671209ef290abfd1c91..1f76fb61d65b959b9fb2846ef2c16508fb2b7dd6 100644 --- a/tools/v8_context_snapshot/BUILD.gn +++ b/tools/v8_context_snapshot/BUILD.gn -@@ -115,6 +115,7 @@ if (use_v8_context_snapshot) { +@@ -118,6 +118,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 0ab155d0ef..2838a826b9 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 d8845bd7a2dc89a12e40cf3fdd227217e3ae1da1..377e1485477bdf7ea7888f2d9101c96494792db2 100644 +index 0e8392c14e5184f90c1747f2039bac7e9bf2eb1a..4e058f7bc0d9f58269816d4a4afe432d01212db9 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -2746,6 +2746,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2733,6 +2733,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 d8845bd7a2dc89a12e40cf3fdd227217e3ae1da1..377e1485477bdf7ea7888f2d9101c964 WebContentsViewDelegate* delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -2756,6 +2762,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2743,6 +2749,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { view_.reset(CreateWebContentsView(this, delegate, &render_view_host_delegate_view_)); } diff --git a/patches/chromium/webview_cross_drag.patch b/patches/chromium/webview_cross_drag.patch index b7a21fec72..d38533f598 100644 --- a/patches/chromium/webview_cross_drag.patch +++ b/patches/chromium/webview_cross_drag.patch @@ -8,10 +8,10 @@ This allows dragging and dropping between s. Originally landed in https://github.com/electron/libchromiumcontent/pull/267 diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc -index 00370b293fff5d50801aed1126c34cd12ea6326e..2ea1876d30ac62f3a1e063fd5599b99376b8b821 100644 +index fbec497f952ebc185c265c80097e70514f637894..3e42c65e9ddcc1728a2062eda745ade26ac8e56c 100644 --- a/content/browser/web_contents/web_contents_view_aura.cc +++ b/content/browser/web_contents/web_contents_view_aura.cc -@@ -786,9 +786,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const { +@@ -785,9 +785,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const { bool WebContentsViewAura::IsValidDragTarget( RenderWidgetHostImpl* target_rwh) const { diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index cd1a7da941..e336243d9c 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -26,10 +26,10 @@ index 7006cdc4b290a49a39be30036c4bd8e19eadeb0f..16d0dd4456f214b14fbdf224ba938ebb // 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 1fa8724436170413c0256afb5d3a8bb154493083..3e3ca9c7b908044c27343d879d084c8a883132f2 100644 +index 4a53c9abc571633e0f486c7bddcbb0302bbc7e7d..cd615b369af8c5952a4545297277304cd72d2a23 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -891,6 +891,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -898,6 +898,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } @@ -43,10 +43,10 @@ index 1fa8724436170413c0256afb5d3a8bb154493083..3e3ca9c7b908044c27343d879d084c8a 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 0bbe077c86a74e6fb3ce52969fad49a3319283e0..de42716cc1969e485a40cf59f735e48e1948443b 100644 +index 8f83462ed803658397422a544b785559edc2e9cf..9ad3a618c2ad5858f741523ce73c9bc7212c71bc 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -191,6 +191,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -192,6 +192,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { void DidStartWorkerThread() override; void WillStopWorkerThread() override; void WorkerContextCreated(const v8::Local& worker) override; @@ -55,10 +55,10 @@ index 0bbe077c86a74e6fb3ce52969fad49a3319283e0..de42716cc1969e485a40cf59f735e48e const blink::WebSecurityOrigin& script_origin) override; blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel() diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index 358f3c1d004c93096a78955e850f8dd0b473b0a8..5a9ae1626c22de04080ad8e6d613dd183632922e 100644 +index cce6ef82a5838c4b28770e3cb04347c6e7690e97..2b6a78f0fde22636bbb955771c712a30fa24a7d3 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -673,6 +673,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -682,6 +682,7 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} diff --git a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch index d68a3b42be..8e15a5c8c1 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 @@ -35,10 +35,10 @@ index 4dc340938d54597a315ebb441d769dccb398757d..d6c7afa226202b0c7add7ae73ed6aff6 // 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 3e3ca9c7b908044c27343d879d084c8a883132f2..711bbf47dbbd0f423e0034c6a6bfd788026cdf0b 100644 +index cd615b369af8c5952a4545297277304cd72d2a23..8a93a6ebedba36bc8eecaabb3caa2261de9674c3 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -903,6 +903,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( +@@ -910,6 +910,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( worker); } @@ -52,10 +52,10 @@ index 3e3ca9c7b908044c27343d879d084c8a883132f2..711bbf47dbbd0f423e0034c6a6bfd788 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 de42716cc1969e485a40cf59f735e48e1948443b..0e6bb9cd2d4948d69c3f137767bc20e9d6214718 100644 +index 9ad3a618c2ad5858f741523ce73c9bc7212c71bc..0a5385ab1ff0dc6f6467fbbbd6ad8f00a58cc110 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -191,6 +191,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -192,6 +192,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 de42716cc1969e485a40cf59f735e48e1948443b..0e6bb9cd2d4948d69c3f137767bc20e9 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 5a9ae1626c22de04080ad8e6d613dd183632922e..cd1252f12c355d56b31e664d24eb67ab4eee92a3 100644 +index 2b6a78f0fde22636bbb955771c712a30fa24a7d3..1a1aa961247c69653dd1777efaf0e1cee917598b 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -673,6 +673,8 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -682,6 +682,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 8ec6d91f89..45a7ddc553 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 d1e326f6f1964be473fe86ea57642b49b068d16a..784b90ccc9e86796bf45f1e7a87a6d0085b4bbb2 100644 +index e9235d17955089433ef27d3d10c1b5994862b550..d89a5bbed03d8782885b7b9c69d1513c03b1de76 100644 --- a/include/v8.h +++ b/include/v8.h -@@ -5259,6 +5259,13 @@ class V8_EXPORT ArrayBuffer : public Object { +@@ -5275,6 +5275,13 @@ class V8_EXPORT ArrayBuffer : public Object { */ virtual void* AllocateUninitialized(size_t length) = 0; @@ -30,7 +30,7 @@ index d1e326f6f1964be473fe86ea57642b49b068d16a..784b90ccc9e86796bf45f1e7a87a6d00 * 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 70d4d0223ef9b7b126bb3574df72704f651bcc77..9139f9fe1c75b069cc5071a53e466cba21de34d3 100644 +index 444ac5db5fc813979d2667070860684f9f34b437..fd7f01776a245e0e073a4a9931f01ff056cd93cd 100644 --- a/src/api/api.cc +++ b/src/api/api.cc @@ -544,6 +544,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) { diff --git a/patches/v8/build_gn.patch b/patches/v8/build_gn.patch index 9667061418..2e41a49c8a 100644 --- a/patches/v8/build_gn.patch +++ b/patches/v8/build_gn.patch @@ -9,7 +9,7 @@ necessary for native modules to load. Also, some fixes relating to mksnapshot on ARM. diff --git a/BUILD.gn b/BUILD.gn -index 448c640a43b6ce656b37ef2f63ad801d45df1fad..4b9e90122383b7b1e7eb9a0a256ce52bb6614030 100644 +index a9a1778fb5b3a8df0feb87fb0489f9f7cc8e4881..9b2dfd8c35f3c3d8d91a122272ba1b0183fc02d7 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -426,7 +426,7 @@ config("internal_config") { diff --git a/patches/v8/chore_disallow_copying_cppheapcreateparams.patch b/patches/v8/chore_disallow_copying_cppheapcreateparams.patch index fe90a2b4e8..4ca745c8b7 100644 --- a/patches/v8/chore_disallow_copying_cppheapcreateparams.patch +++ b/patches/v8/chore_disallow_copying_cppheapcreateparams.patch @@ -30,7 +30,7 @@ index 8a0d9cb9a0737e1642d666754926485b06136e98..31cb7545a37911f64597476eb4c4eb40 /** diff --git a/include/v8.h b/include/v8.h -index 784b90ccc9e86796bf45f1e7a87a6d0085b4bbb2..b8fa05588a7b6717a4f14e0019d57b9a78150100 100644 +index d89a5bbed03d8782885b7b9c69d1513c03b1de76..ca9fe11a9b0af970ffd6ad32998c2fc6ac8e73f7 100644 --- a/include/v8.h +++ b/include/v8.h @@ -49,7 +49,7 @@ class BooleanObject; diff --git a/patches/v8/dcheck.patch b/patches/v8/dcheck.patch index 42ff532620..11fb071daf 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 9139f9fe1c75b069cc5071a53e466cba21de34d3..3445c4afa625b4c42575a73e1d87f60f00f678bf 100644 +index fd7f01776a245e0e073a4a9931f01ff056cd93cd..ee2da3a74a85600c20fbde83c560a8acbb78078b 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -8982,7 +8982,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { +@@ -9007,7 +9007,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { } void Isolate::PerformMicrotaskCheckpoint() { @@ -19,10 +19,10 @@ index 9139f9fe1c75b069cc5071a53e466cba21de34d3..3445c4afa625b4c42575a73e1d87f60f isolate->default_microtask_queue()->PerformCheckpoint(this); } diff --git a/src/heap/heap.cc b/src/heap/heap.cc -index e8c69eeea955bfece308ef2caa589a9d38cc5936..2136f188ad3426142f62beea7a073b00a2e4ebb4 100644 +index 5f685ad1a64de2a2d29c83ef9decb0f3bda33946..e4bceeb643934d05018b84904de43be8c0930fb4 100644 --- a/src/heap/heap.cc +++ b/src/heap/heap.cc -@@ -5459,9 +5459,9 @@ void Heap::TearDown() { +@@ -5552,9 +5552,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 db9db760ef..624662aa66 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,7 +12,7 @@ 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 88115d6fa0165dda587111852b7b718843130d0e..47f2e1748857098d8c48f781cd918d711dd843bb 100644 +index 4fae8745ca4cd3eb6ea818d0b9153d8eacb2ab98..fec5bea1517a4ce83f5f7354dd41310d419085cc 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -426,6 +426,10 @@ config("internal_config") { @@ -27,10 +27,10 @@ index 88115d6fa0165dda587111852b7b718843130d0e..47f2e1748857098d8c48f781cd918d71 defines += [ "BUILDING_V8_SHARED" ] } diff --git a/src/base/macros.h b/src/base/macros.h -index 15e2924bba933a618162d72294e14238ff3d9a05..35f692bfd1a6aee9ae779976dea57d4faa6b73ec 100644 +index 9079d15662836848d0b3ba1c09a5207936c6a79b..370eb1a6344b998d028f90f5087a4b92f46cfddb 100644 --- a/src/base/macros.h +++ b/src/base/macros.h -@@ -401,13 +401,17 @@ bool is_inbounds(float_t v) { +@@ -394,13 +394,17 @@ bool is_inbounds(float_t v) { #ifdef V8_OS_WIN // Setup for Windows shared library export. diff --git a/patches/v8/expose_mksnapshot.patch b/patches/v8/expose_mksnapshot.patch index 2f44a51f6d..fea37a18a4 100644 --- a/patches/v8/expose_mksnapshot.patch +++ b/patches/v8/expose_mksnapshot.patch @@ -6,7 +6,7 @@ Subject: expose_mksnapshot.patch Needed in order to target mksnapshot for mksnapshot zip. diff --git a/BUILD.gn b/BUILD.gn -index 4b9e90122383b7b1e7eb9a0a256ce52bb6614030..88115d6fa0165dda587111852b7b718843130d0e 100644 +index 9b2dfd8c35f3c3d8d91a122272ba1b0183fc02d7..4fae8745ca4cd3eb6ea818d0b9153d8eacb2ab98 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -4656,7 +4656,6 @@ if (current_toolchain == v8_generator_toolchain) { 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 cf9431ff3c..4cc142f600 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 e4b44eae1e8cb5985b23beba784a36427af2e510..2abb615450d5311fca7f82269be5b2a71c8d0d41 100644 +index e2cb30fffe5065d1d88d243de439d0251a8797e9..7f1ac45b411b10a658e3287a22b15bc3b8cfba0d 100644 --- a/src/deoptimizer/deoptimizer.h +++ b/src/deoptimizer/deoptimizer.h @@ -515,14 +515,14 @@ class Deoptimizer : public Malloced { @@ -28,7 +28,7 @@ index e4b44eae1e8cb5985b23beba784a36427af2e510..2abb615450d5311fca7f82269be5b2a7 } V8_EXPORT_PRIVATE static int GetDeoptimizedCodeCount(Isolate* isolate); -@@ -788,7 +788,7 @@ class FrameDescription { +@@ -791,7 +791,7 @@ class FrameDescription { int parameter_count() { return parameter_count_; } static int registers_offset() { diff --git a/shell/browser/api/frame_subscriber.cc b/shell/browser/api/frame_subscriber.cc index 7f1b610d37..1eede14932 100644 --- a/shell/browser/api/frame_subscriber.cc +++ b/shell/browser/api/frame_subscriber.cc @@ -161,8 +161,7 @@ void FrameSubscriber::Done(const gfx::Rect& damage, const SkBitmap& frame) { // frame is modified. SkBitmap copy; copy.allocPixels(SkImageInfo::Make(bitmap.width(), bitmap.height(), - kRGBA_8888_SkColorType, - kPremul_SkAlphaType)); + kN32_SkColorType, kPremul_SkAlphaType)); SkPixmap pixmap; bool success = bitmap.peekPixels(&pixmap) && copy.writePixels(pixmap, 0, 0); CHECK(success); diff --git a/shell/browser/electron_browser_client.cc b/shell/browser/electron_browser_client.cc index f0d7666182..0ba4f9f4ad 100644 --- a/shell/browser/electron_browser_client.cc +++ b/shell/browser/electron_browser_client.cc @@ -45,7 +45,6 @@ #include "content/public/common/content_descriptors.h" #include "content/public/common/content_paths.h" #include "content/public/common/content_switches.h" -#include "content/public/common/service_names.mojom.h" #include "content/public/common/url_constants.h" #include "electron/buildflags/buildflags.h" #include "electron/grit/electron_resources.h" diff --git a/shell/browser/electron_web_ui_controller_factory.cc b/shell/browser/electron_web_ui_controller_factory.cc index 150c061b9e..31ed64e7b9 100644 --- a/shell/browser/electron_web_ui_controller_factory.cc +++ b/shell/browser/electron_web_ui_controller_factory.cc @@ -40,12 +40,6 @@ bool ElectronWebUIControllerFactory::UseWebUIForURL( return GetWebUIType(browser_context, url) != content::WebUI::kNoWebUI; } -bool ElectronWebUIControllerFactory::UseWebUIBindingsForURL( - content::BrowserContext* browser_context, - const GURL& url) { - return UseWebUIForURL(browser_context, url); -} - std::unique_ptr ElectronWebUIControllerFactory::CreateWebUIControllerForURL( content::WebUI* web_ui, diff --git a/shell/browser/electron_web_ui_controller_factory.h b/shell/browser/electron_web_ui_controller_factory.h index 287ec5280c..d001f93342 100644 --- a/shell/browser/electron_web_ui_controller_factory.h +++ b/shell/browser/electron_web_ui_controller_factory.h @@ -26,8 +26,6 @@ class ElectronWebUIControllerFactory : public content::WebUIControllerFactory { const GURL& url) override; bool UseWebUIForURL(content::BrowserContext* browser_context, const GURL& url) override; - bool UseWebUIBindingsForURL(content::BrowserContext* browser_context, - const GURL& url) override; std::unique_ptr CreateWebUIControllerForURL( content::WebUI* web_ui, const GURL& url) override; diff --git a/shell/browser/extensions/electron_extensions_browser_client.cc b/shell/browser/extensions/electron_extensions_browser_client.cc index 2cee47edf7..5f44695b81 100644 --- a/shell/browser/extensions/electron_extensions_browser_client.cc +++ b/shell/browser/extensions/electron_extensions_browser_client.cc @@ -179,17 +179,18 @@ void ElectronExtensionsBrowserClient::LoadResourceFromResourceBundle( } namespace { -bool AllowCrossRendererResourceLoad(const network::ResourceRequest& request, - blink::mojom::ResourceType resource_type, - ui::PageTransition page_transition, - int child_id, - bool is_incognito, - const extensions::Extension* extension, - const extensions::ExtensionSet& extensions, - const extensions::ProcessMap& process_map, - bool* allowed) { +bool AllowCrossRendererResourceLoad( + const network::ResourceRequest& request, + network::mojom::RequestDestination destination, + ui::PageTransition page_transition, + int child_id, + bool is_incognito, + const extensions::Extension* extension, + const extensions::ExtensionSet& extensions, + const extensions::ProcessMap& process_map, + bool* allowed) { if (extensions::url_request_util::AllowCrossRendererResourceLoad( - request, resource_type, page_transition, child_id, is_incognito, + request, destination, page_transition, child_id, is_incognito, extension, extensions, process_map, allowed)) { return true; } @@ -210,7 +211,7 @@ bool AllowCrossRendererResourceLoad(const network::ResourceRequest& request, bool ElectronExtensionsBrowserClient::AllowCrossRendererResourceLoad( const network::ResourceRequest& request, - blink::mojom::ResourceType resource_type, + network::mojom::RequestDestination destination, ui::PageTransition page_transition, int child_id, bool is_incognito, @@ -219,7 +220,7 @@ bool ElectronExtensionsBrowserClient::AllowCrossRendererResourceLoad( const extensions::ProcessMap& process_map) { bool allowed = false; if (::electron::AllowCrossRendererResourceLoad( - request, resource_type, page_transition, child_id, is_incognito, + request, destination, page_transition, child_id, is_incognito, extension, extensions, process_map, &allowed)) { return allowed; } diff --git a/shell/browser/extensions/electron_extensions_browser_client.h b/shell/browser/extensions/electron_extensions_browser_client.h index 2d9da3ed2a..067bc8ca1d 100644 --- a/shell/browser/extensions/electron_extensions_browser_client.h +++ b/shell/browser/extensions/electron_extensions_browser_client.h @@ -15,7 +15,7 @@ #include "extensions/browser/extensions_browser_client.h" #include "extensions/browser/kiosk/kiosk_delegate.h" #include "mojo/public/cpp/bindings/pending_remote.h" -#include "third_party/blink/public/mojom/loader/resource_load_info.mojom-shared.h" +#include "services/network/public/mojom/fetch_api.mojom.h" class PrefService; @@ -71,7 +71,7 @@ class ElectronExtensionsBrowserClient bool send_cors_header) override; bool AllowCrossRendererResourceLoad( const network::ResourceRequest& request, - blink::mojom::ResourceType resource_type, + network::mojom::RequestDestination destination, ui::PageTransition page_transition, int child_id, bool is_incognito, diff --git a/shell/browser/native_window_views.cc b/shell/browser/native_window_views.cc index f8100224f4..3c2d65697b 100644 --- a/shell/browser/native_window_views.cc +++ b/shell/browser/native_window_views.cc @@ -62,6 +62,7 @@ #include "ui/gfx/x/shape.h" #include "ui/gfx/x/x11_atom_cache.h" #include "ui/gfx/x/xproto.h" +#include "ui/gfx/x/xproto_util.h" #endif #if defined(USE_OZONE) || defined(USE_X11) @@ -244,12 +245,12 @@ NativeWindowViews::NativeWindowViews(const gin_helper::Dictionary& options, std::vector state_atom_list; bool skip_taskbar = false; if (options.Get(options::kSkipTaskbar, &skip_taskbar) && skip_taskbar) { - state_atom_list.push_back(gfx::GetAtom("_NET_WM_STATE_SKIP_TASKBAR")); + state_atom_list.push_back(x11::GetAtom("_NET_WM_STATE_SKIP_TASKBAR")); } // Before the window is mapped, there is no SHOW_FULLSCREEN_STATE. if (fullscreen) { - state_atom_list.push_back(gfx::GetAtom("_NET_WM_STATE_FULLSCREEN")); + state_atom_list.push_back(x11::GetAtom("_NET_WM_STATE_FULLSCREEN")); } if (parent) { @@ -258,7 +259,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper::Dictionary& options, // Modal window needs the _NET_WM_STATE_MODAL hint. if (is_modal()) - state_atom_list.push_back(gfx::GetAtom("_NET_WM_STATE_MODAL")); + state_atom_list.push_back(x11::GetAtom("_NET_WM_STATE_MODAL")); } if (!state_atom_list.empty()) @@ -353,9 +354,9 @@ void NativeWindowViews::SetGTKDarkThemeEnabled(bool use_dark_theme) { #if defined(USE_X11) if (!features::IsUsingOzonePlatform()) { const std::string color = use_dark_theme ? "dark" : "light"; - ui::SetStringProperty(static_cast(GetAcceleratedWidget()), - gfx::GetAtom("_GTK_THEME_VARIANT"), - gfx::GetAtom("UTF8_STRING"), color); + x11::SetStringProperty(static_cast(GetAcceleratedWidget()), + x11::GetAtom("_GTK_THEME_VARIANT"), + x11::GetAtom("UTF8_STRING"), color); } #endif } @@ -926,7 +927,7 @@ void NativeWindowViews::SetSkipTaskbar(bool skip) { #elif defined(USE_X11) if (!features::IsUsingOzonePlatform()) { SetWMSpecState(static_cast(GetAcceleratedWidget()), skip, - gfx::GetAtom("_NET_WM_STATE_SKIP_TASKBAR")); + x11::GetAtom("_NET_WM_STATE_SKIP_TASKBAR")); } #endif } @@ -1156,7 +1157,7 @@ void NativeWindowViews::SetParentWindow(NativeWindow* parent) { #if defined(USE_X11) if (!features::IsUsingOzonePlatform()) { - ui::SetProperty( + x11::SetProperty( static_cast(GetAcceleratedWidget()), x11::Atom::WM_TRANSIENT_FOR, x11::Atom::WINDOW, parent ? static_cast(parent->GetAcceleratedWidget()) @@ -1239,7 +1240,7 @@ bool NativeWindowViews::IsVisibleOnAllWorkspaces() { if (!features::IsUsingOzonePlatform()) { // Use the presence/absence of _NET_WM_STATE_STICKY in _NET_WM_STATE to // determine whether the current window is visible on all workspaces. - x11::Atom sticky_atom = gfx::GetAtom("_NET_WM_STATE_STICKY"); + x11::Atom sticky_atom = x11::GetAtom("_NET_WM_STATE_STICKY"); std::vector wm_states; ui::GetAtomArrayProperty(static_cast(GetAcceleratedWidget()), "_NET_WM_STATE", &wm_states); diff --git a/shell/browser/net/system_network_context_manager.cc b/shell/browser/net/system_network_context_manager.cc index 99217f36f9..8816f2ba30 100644 --- a/shell/browser/net/system_network_context_manager.cc +++ b/shell/browser/net/system_network_context_manager.cc @@ -13,7 +13,6 @@ #include "content/public/browser/browser_thread.h" #include "content/public/browser/network_service_instance.h" #include "content/public/common/content_features.h" -#include "content/public/common/service_names.mojom.h" #include "mojo/public/cpp/bindings/associated_interface_ptr.h" #include "mojo/public/cpp/bindings/pending_receiver.h" #include "net/net_buildflags.h" diff --git a/shell/browser/ui/webui/accessibility_ui.cc b/shell/browser/ui/webui/accessibility_ui.cc index 383bcbee79..250e2ecd85 100644 --- a/shell/browser/ui/webui/accessibility_ui.cc +++ b/shell/browser/ui/webui/accessibility_ui.cc @@ -164,6 +164,7 @@ bool MatchesPropertyFilters( if (base::MatchPattern(text, filter.match_str)) { switch (filter.type) { case ui::AXPropertyFilter::ALLOW_EMPTY: + case ui::AXPropertyFilter::SCRIPT: allow = true; break; case ui::AXPropertyFilter::ALLOW: diff --git a/shell/browser/ui/x/window_state_watcher.cc b/shell/browser/ui/x/window_state_watcher.cc index c988c8a0fe..ae0e68948f 100644 --- a/shell/browser/ui/x/window_state_watcher.cc +++ b/shell/browser/ui/x/window_state_watcher.cc @@ -3,6 +3,10 @@ // found in the LICENSE file. #include "shell/browser/ui/x/window_state_watcher.h" + +#include + +#include "ui/base/x/x11_util.h" #include "ui/gfx/x/x11_atom_cache.h" namespace electron { @@ -10,52 +14,63 @@ namespace electron { WindowStateWatcher::WindowStateWatcher(NativeWindowViews* window) : window_(window), widget_(window->GetAcceleratedWidget()), - window_state_atom_(gfx::GetAtom("_NET_WM_STATE")) { - ui::X11EventSource::GetInstance()->AddXEventObserver(this); + window_state_atom_(x11::GetAtom("_NET_WM_STATE")) { + ui::X11EventSource::GetInstance()->connection()->AddEventObserver(this); } WindowStateWatcher::~WindowStateWatcher() { - ui::X11EventSource::GetInstance()->RemoveXEventObserver(this); + ui::X11EventSource::GetInstance()->connection()->RemoveEventObserver(this); } -void WindowStateWatcher::WillProcessXEvent(x11::Event* x11_event) { +void WindowStateWatcher::OnEvent(const x11::Event& x11_event) { if (IsWindowStateEvent(x11_event)) { - was_minimized_ = window_->IsMinimized(); - was_maximized_ = window_->IsMaximized(); - } -} + bool was_minimized_ = window_->IsMinimized(); + bool was_maximized_ = window_->IsMaximized(); -void WindowStateWatcher::DidProcessXEvent(x11::Event* x11_event) { - if (IsWindowStateEvent(x11_event)) { - bool is_minimized = window_->IsMinimized(); - bool is_maximized = window_->IsMaximized(); - bool is_fullscreen = window_->IsFullscreen(); - if (is_minimized != was_minimized_) { - if (is_minimized) - window_->NotifyWindowMinimize(); - else - window_->NotifyWindowRestore(); - } else if (is_maximized != was_maximized_) { - if (is_maximized) - window_->NotifyWindowMaximize(); - else - window_->NotifyWindowUnmaximize(); - } else { - // If this is neither a "maximize" or "minimize" event, then we think it - // is a "fullscreen" event. - // The "IsFullscreen()" becomes true immediately before "WillProcessEvent" - // is called, so we can not handle this like "maximize" and "minimize" by - // watching whether they have changed. - if (is_fullscreen) - window_->NotifyWindowEnterFullScreen(); - else - window_->NotifyWindowLeaveFullScreen(); + std::vector wm_states; + + if (ui::GetAtomArrayProperty( + static_cast(window_->GetAcceleratedWidget()), + "_NET_WM_STATE", &wm_states)) { + auto props = + base::flat_set(std::begin(wm_states), std::end(wm_states)); + bool is_minimized = + props.find(x11::GetAtom("_NET_WM_STATE_HIDDEN")) != props.end(); + bool is_maximized = + props.find(x11::GetAtom("_NET_WM_STATE_MAXIMIZED_VERT")) != + props.end() && + props.find(x11::GetAtom("_NET_WM_STATE_MAXIMIZED_HORZ")) != + props.end(); + bool is_fullscreen = + props.find(x11::GetAtom("_NET_WM_STATE_FULLSCREEN")) != props.end(); + + if (is_minimized != was_minimized_) { + if (is_minimized) + window_->NotifyWindowMinimize(); + else + window_->NotifyWindowRestore(); + } else if (is_maximized != was_maximized_) { + if (is_maximized) + window_->NotifyWindowMaximize(); + else + window_->NotifyWindowUnmaximize(); + } else { + // If this is neither a "maximize" or "minimize" event, then we think it + // is a "fullscreen" event. + // The "IsFullscreen()" becomes true immediately before "OnEvent" + // is called, so we can not handle this like "maximize" and "minimize" + // by watching whether they have changed. + if (is_fullscreen) + window_->NotifyWindowEnterFullScreen(); + else + window_->NotifyWindowLeaveFullScreen(); + } } } } -bool WindowStateWatcher::IsWindowStateEvent(x11::Event* x11_event) const { - auto* property = x11_event->As(); +bool WindowStateWatcher::IsWindowStateEvent(const x11::Event& x11_event) const { + auto* property = x11_event.As(); return (property && property->atom == window_state_atom_ && static_cast(property->window) == widget_); } diff --git a/shell/browser/ui/x/window_state_watcher.h b/shell/browser/ui/x/window_state_watcher.h index a168b2508f..acd70dec63 100644 --- a/shell/browser/ui/x/window_state_watcher.h +++ b/shell/browser/ui/x/window_state_watcher.h @@ -12,26 +12,22 @@ namespace electron { -class WindowStateWatcher : public ui::XEventObserver { +class WindowStateWatcher : public x11::EventObserver { public: explicit WindowStateWatcher(NativeWindowViews* window); ~WindowStateWatcher() override; protected: - // ui::XEventObserver: - void WillProcessXEvent(x11::Event* x11_event) override; - void DidProcessXEvent(x11::Event* x11_event) override; + // x11::EventObserver: + void OnEvent(const x11::Event& x11_event) override; private: - bool IsWindowStateEvent(x11::Event* x11_event) const; + bool IsWindowStateEvent(const x11::Event& x11_event) const; NativeWindowViews* window_; gfx::AcceleratedWidget widget_; const x11::Atom window_state_atom_; - bool was_minimized_ = false; - bool was_maximized_ = false; - DISALLOW_COPY_AND_ASSIGN(WindowStateWatcher); }; diff --git a/shell/browser/ui/x/x_window_utils.cc b/shell/browser/ui/x/x_window_utils.cc index e865898d07..3df9e3422f 100644 --- a/shell/browser/ui/x/x_window_utils.cc +++ b/shell/browser/ui/x/x_window_utils.cc @@ -21,16 +21,16 @@ namespace electron { void SetWMSpecState(x11::Window window, bool enabled, x11::Atom state) { ui::SendClientMessage(window, ui::GetX11RootWindow(), - gfx::GetAtom("_NET_WM_STATE"), + x11::GetAtom("_NET_WM_STATE"), {enabled ? 1 : 0, static_cast(state), static_cast(x11::Window::None), 1, 0}); } void SetWindowType(x11::Window window, const std::string& type) { std::string type_prefix = "_NET_WM_WINDOW_TYPE_"; - x11::Atom window_type = gfx::GetAtom(type_prefix + base::ToUpperASCII(type)); - ui::SetProperty(window, gfx::GetAtom("_NET_WM_WINDOW_TYPE"), x11::Atom::ATOM, - window_type); + x11::Atom window_type = x11::GetAtom(type_prefix + base::ToUpperASCII(type)); + x11::SetProperty(window, x11::GetAtom("_NET_WM_WINDOW_TYPE"), x11::Atom::ATOM, + window_type); } bool ShouldUseGlobalMenuBar() { @@ -77,7 +77,7 @@ void MoveWindowToForeground(x11::Window window) { void MoveWindowAbove(x11::Window window, x11::Window other_window) { ui::SendClientMessage(window, ui::GetX11RootWindow(), - gfx::GetAtom("_NET_RESTACK_WINDOW"), + x11::GetAtom("_NET_RESTACK_WINDOW"), {2, static_cast(other_window), static_cast(x11::StackMode::Above), 0, 0}); } diff --git a/shell/common/gin_converters/content_converter.cc b/shell/common/gin_converters/content_converter.cc index 7b7a45a247..459e647518 100644 --- a/shell/common/gin_converters/content_converter.cc +++ b/shell/common/gin_converters/content_converter.cc @@ -248,6 +248,8 @@ v8::Local Converter::ToV8( return StringToV8(isolate, "system-wake-lock"); case content::PermissionType::WINDOW_PLACEMENT: return StringToV8(isolate, "window-placement"); + case content::PermissionType::DISPLAY_CAPTURE: + return StringToV8(isolate, "display-capture"); case content::PermissionType::NUM: break; } diff --git a/shell/common/world_ids.h b/shell/common/world_ids.h index 714e460927..90fa6c07f5 100644 --- a/shell/common/world_ids.h +++ b/shell/common/world_ids.h @@ -5,7 +5,7 @@ #ifndef SHELL_COMMON_WORLD_IDS_H_ #define SHELL_COMMON_WORLD_IDS_H_ -#include "third_party/blink/public/platform/web_isolated_world_ids.h" +#include "third_party/blink/renderer/platform/bindings/dom_wrapper_world.h" // nogncheck namespace electron {