diff --git a/DEPS b/DEPS index f02a9ef9ef..5c0e1aadcf 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '124.0.6331.0', + '124.0.6353.0', 'node_version': 'v20.11.1', 'nan_version': diff --git a/filenames.gni b/filenames.gni index e39cb840de..82438cb0fb 100644 --- a/filenames.gni +++ b/filenames.gni @@ -760,6 +760,8 @@ filenames = { "shell/common/gin_converters/extension_converter.h", "shell/renderer/extensions/electron_extensions_dispatcher_delegate.cc", "shell/renderer/extensions/electron_extensions_dispatcher_delegate.h", + "shell/renderer/extensions/electron_extensions_renderer_api_provider.cc", + "shell/renderer/extensions/electron_extensions_renderer_api_provider.h", "shell/renderer/extensions/electron_extensions_renderer_client.cc", "shell/renderer/extensions/electron_extensions_renderer_client.h", ] diff --git a/filenames.libcxx.gni b/filenames.libcxx.gni index 54265b72da..2cca817d4e 100644 --- a/filenames.libcxx.gni +++ b/filenames.libcxx.gni @@ -433,7 +433,7 @@ libcxx_headers = [ "//third_party/libc++/src/include/__fwd/bit_reference.h", "//third_party/libc++/src/include/__fwd/complex.h", "//third_party/libc++/src/include/__fwd/fstream.h", - "//third_party/libc++/src/include/__fwd/hash.h", + "//third_party/libc++/src/include/__fwd/functional.h", "//third_party/libc++/src/include/__fwd/ios.h", "//third_party/libc++/src/include/__fwd/istream.h", "//third_party/libc++/src/include/__fwd/mdspan.h", diff --git a/patches/chromium/.patches b/patches/chromium/.patches index ee985721f7..6d7b1ef80d 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -129,3 +129,4 @@ build_run_reclient_cfg_generator_after_chrome.patch fix_suppress_clang_-wimplicit-const-int-float-conversion_in.patch fix_getcursorscreenpoint_wrongly_returns_0_0.patch fix_add_support_for_skipping_first_2_no-op_refreshes_in_thumb_cap.patch +fix_add_missing_perfetto_flow_and_trace_event_includes.patch diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index 65b543647e..d585960ab9 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -10,7 +10,7 @@ DidCreateScriptContext is called, not all JS APIs are available in the context, which can cause some preload scripts to trip. diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h -index 6ea5b69cb372ed8c5a7af5773c50dfb5b850af56..def18b9d2fb0dbe8cfb00a97472a4e92da64944c 100644 +index 289a8c25f14cad42b9178ce94b11f67870be7434..5b91eadb698eeb5a87c9d0b2edf7e5ccf952555c 100644 --- a/content/public/renderer/render_frame_observer.h +++ b/content/public/renderer/render_frame_observer.h @@ -146,6 +146,8 @@ class CONTENT_EXPORT RenderFrameObserver @@ -23,10 +23,10 @@ index 6ea5b69cb372ed8c5a7af5773c50dfb5b850af56..def18b9d2fb0dbe8cfb00a97472a4e92 int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index c0ca69f77833f7138d8eb3b49a7296ff671129b0..0c844827db3f869c10d376eaeb0977b040514a9a 100644 +index 9012fbd732b8e134609b187f3718652888c31af4..0ecde1e5a5e6bdd5f1fe1601901d8ee084b8a0a2 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -4654,6 +4654,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 c0ca69f77833f7138d8eb3b49a7296ff671129b0..0c844827db3f869c10d376eaeb0977b0 int world_id) { for (auto& observer : observers_) diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h -index f44502d967118d2c942590c76ca33a7232e37ae9..dcbd3279f302a714c90803c419d0a4a93507d611 100644 +index 9e0c4a2d908a50723827cd86bdedb20119fb8f47..db408d515739f331dea4a33b27b0cf75437e6c30 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h -@@ -640,6 +640,8 @@ class CONTENT_EXPORT RenderFrameImpl +@@ -639,6 +639,8 @@ class CONTENT_EXPORT RenderFrameImpl void DidObserveLayoutShift(double score, bool after_input_or_scroll) override; void DidCreateScriptContext(v8::Local context, int world_id) override; @@ -53,10 +53,10 @@ index f44502d967118d2c942590c76ca33a7232e37ae9..dcbd3279f302a714c90803c419d0a4a9 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 1e475f6281989fb65f17630dbbf6023498700fb0..5df0868e8b6862270addbdde2238d8aa5297c8f3 100644 +index 4f33fd08886890ebe8c853760f9ab506834006e1..25e7c24542505eea06afb0a85131c23ef6467375 100644 --- a/third_party/blink/public/web/web_local_frame_client.h +++ b/third_party/blink/public/web/web_local_frame_client.h -@@ -638,6 +638,9 @@ class BLINK_EXPORT WebLocalFrameClient { +@@ -637,6 +637,9 @@ class BLINK_EXPORT WebLocalFrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) {} @@ -79,10 +79,10 @@ index 2cb0a08954850d229e99bae66fecd4787f20a178..79894ca0d51ed61a178818b38da5c43b if (World().IsMainWorld()) { probe::DidCreateMainWorldContext(GetFrame()); 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 4c925fd843d4900833671537c40c7adb580b26bd..e74df2021f526eb392478763cad2505778b96132 100644 +index 7a5d4721f7bd3012351f17053e188505f26f1979..4c415c2464fee49581efa307070ffad976b69c76 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client.h +++ b/third_party/blink/renderer/core/frame/local_frame_client.h -@@ -304,6 +304,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { +@@ -305,6 +305,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) = 0; @@ -92,7 +92,7 @@ index 4c925fd843d4900833671537c40c7adb580b26bd..e74df2021f526eb392478763cad25057 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 17d03c926f4bfb6d7874dbd7ebd2363889dd1d35..a138ca98376b1a2ba664470ba406ba9ce26306c1 100644 +index af0dbbfa237511d91c6fd2df4d2aceec6f94fae8..b3ff4e56ba203fb381635f5cc7fe6011d2faa778 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 @@ -291,6 +291,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( @@ -110,7 +110,7 @@ index 17d03c926f4bfb6d7874dbd7ebd2363889dd1d35..a138ca98376b1a2ba664470ba406ba9c 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 052ac9fb9154e220e2f310bc36851bce6b903a5a..ded0fc76dc55ad1dae4be92da277f1c9d093549a 100644 +index c522b37b1918902e424f0df6a3eb379b0fd05fa4..0b3054bcb55bd6e731dd42b59c2bc0c24ec29165 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 @@ -84,6 +84,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient { @@ -123,10 +123,10 @@ index 052ac9fb9154e220e2f310bc36851bce6b903a5a..ded0fc76dc55ad1dae4be92da277f1c9 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 6b2880d6b1d20ffa00bbca27a250792f3d846c33..285dbe014e78691c803d770c7ab0b73c8eaf736f 100644 +index 4ea7eae36fcf1d42cbe639e895d9aca52d20082b..ce529d0edd69ad6542baa83725e18be33d3c2a4a 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.h +++ b/third_party/blink/renderer/core/loader/empty_clients.h -@@ -410,6 +410,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { +@@ -411,6 +411,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { void DidCreateScriptContext(v8::Local, int32_t world_id) override {} diff --git a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch index 8b7e486eb1..69eee6b4aa 100644 --- a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -6,7 +6,7 @@ Subject: allow disabling blink scheduler throttling per RenderView This allows us to disable throttling for hidden windows. diff --git a/content/browser/renderer_host/navigation_controller_impl_unittest.cc b/content/browser/renderer_host/navigation_controller_impl_unittest.cc -index c32059af794851fdea8aae15157f05acdcc60e0a..92340d0aa8d893fc781ed59cc4aa51b5543de6d9 100644 +index 32b77897ef3669727fe05a1f3603a5f8335ec3cf..f1948d352bd71da5ec17d734e343bfd656d7ed69 100644 --- a/content/browser/renderer_host/navigation_controller_impl_unittest.cc +++ b/content/browser/renderer_host/navigation_controller_impl_unittest.cc @@ -163,6 +163,12 @@ class MockPageBroadcast : public blink::mojom::PageBroadcast { @@ -23,7 +23,7 @@ index c32059af794851fdea8aae15157f05acdcc60e0a..92340d0aa8d893fc781ed59cc4aa51b5 return receiver_.BindNewEndpointAndPassDedicatedRemote(); } diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc -index 6ca0fb5ee9e96ecf86486cbc6103b5452fdb88a0..32a797530b20640ff1540f7bee71e9a9bbe52ed7 100644 +index 57926e0d557fdb3e8f46a096e335ecb5d1d2e13f..b0438d6077a3323785175424a3701ba4ae5e523d 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc @@ -714,6 +714,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { @@ -51,7 +51,7 @@ index a94977d7a76ae9952bbba0efe59a7cb5021a1c84..11c4f890eaeae1329ca5a6634a698aef void SendRendererPreferencesToRenderer( const blink::RendererPreferences& preferences); 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 95fb2a4b401ec57ed4492413a2607dba5ece1fa6..955a74fa895303a6e2db5f59a1f6a39fbe4c84bf 100644 +index 4c78692adb777b8e0a8fa2e2350775b7e2ef676a..fa18900586854c5d6b936d6b9e6fac1c9e571bce 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc @@ -553,8 +553,8 @@ void RenderWidgetHostViewAura::ShowImpl(PageVisibilityState page_visibility) { @@ -116,10 +116,10 @@ index c4348be90db209a757f21cbc518e1244fe0954d5..1ee953ad860291cdc1095880f6646d1d // 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 e3d58bf5e51c9e0e74a76e7632e7c6260ae5f587..6eb7560fb0e9301777a9c06643b0d00889d3a04c 100644 +index 735b6ae3eefaeb9c558a1cf63371f533685cc5db..986b4c9f35431ed14989d5f69fc09d17a2c3fda9 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -2429,6 +2429,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( +@@ -2431,6 +2431,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal", "old_state", old_state, "new_state", new_state); @@ -130,7 +130,7 @@ index e3d58bf5e51c9e0e74a76e7632e7c6260ae5f587..6eb7560fb0e9301777a9c06643b0d008 bool storing_in_bfcache = new_state->is_in_back_forward_cache && !old_state->is_in_back_forward_cache; bool restoring_from_bfcache = !new_state->is_in_back_forward_cache && -@@ -3920,10 +3924,23 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3932,10 +3936,23 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } 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 ea78a2ff4f..874f840cb2 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_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc -index 31c4d7c5d17763a38fd8a814efbc599663e6c816..c7e705030b39a961cd98610908e231cc71158002 100644 +index 0f386b68028a8398bdf6b851b16e244e5ba918bd..7a9519c2c172178ace67251151363ac0611e8503 100644 --- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc +++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc @@ -149,6 +149,19 @@ bool StructTraitsaccelerated_video_decode_enabled = data.accelerated_video_decode_enabled(); diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h -index 5c33a83513e528ada518751899a7c640c14dacf7..4b14c0fa75e65fca91e100969fb9707120d199ca 100644 +index 90a6a0bf5c0e2d21f23badb284292a4f0c90178f..4f1b6acaa503cd085ff607d292ad0d4ee6731a56 100644 --- a/third_party/blink/public/common/web_preferences/web_preferences.h +++ b/third_party/blink/public/common/web_preferences/web_preferences.h @@ -10,6 +10,7 @@ @@ -43,7 +43,7 @@ index 5c33a83513e528ada518751899a7c640c14dacf7..4b14c0fa75e65fca91e100969fb97071 #include "net/nqe/effective_connection_type.h" #include "third_party/blink/public/common/common_export.h" #include "third_party/blink/public/mojom/css/preferred_color_scheme.mojom-shared.h" -@@ -420,6 +421,20 @@ struct BLINK_COMMON_EXPORT WebPreferences { +@@ -425,6 +426,20 @@ struct BLINK_COMMON_EXPORT WebPreferences { // blocking user's access to the background web content. bool modal_context_menu = true; @@ -65,7 +65,7 @@ index 5c33a83513e528ada518751899a7c640c14dacf7..4b14c0fa75e65fca91e100969fb97071 // chrome, except for the cases where it would require lots of extra work for // the embedder to use the same default value. diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h -index f54089ad64fa5a3c19d084821d188be1a623d548..7129aa8c9c63d31b6eede9e57fa37e2ec3efd257 100644 +index 9960a1180a8e64d6e369936ab93aeb3417af5e8a..3f38e6e1289e1387e5fa54268c8efacda8fc3186 100644 --- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h +++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h @@ -6,6 +6,7 @@ @@ -130,7 +130,7 @@ index f54089ad64fa5a3c19d084821d188be1a623d548..7129aa8c9c63d31b6eede9e57fa37e2e return r.cookie_enabled; } diff --git a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom -index 54f3a206c8ab571563a5ac70ea32edbe844d2057..8376c8f8d5f56adea2ffce3d8d66a6dbc16a6ee6 100644 +index c3ff064deb240a16f2d9adcb233426fbc4795324..7fd096a61e3dd33de09a25ce2926b010486b2dc2 100644 --- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom +++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom @@ -9,6 +9,7 @@ import "third_party/blink/public/mojom/css/preferred_contrast.mojom"; diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch index 859e403c9e..3f94b49914 100644 --- a/patches/chromium/blink_local_frame.patch +++ b/patches/chromium/blink_local_frame.patch @@ -15,7 +15,7 @@ Refs changes in: This patch reverts the changes to fix associated crashes in Electron. diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc -index 2432d2dba67540f8cdd8e5466a813693ff2d6683..ed9863e6a9870f45b2f688b1a9228c176d498307 100644 +index 0a742bbbd5e8e1eb3610cc32f785f779e8907e75..26967019244d409dadf4533405d4d5d27c75b73c 100644 --- a/third_party/blink/renderer/core/frame/frame.cc +++ b/third_party/blink/renderer/core/frame/frame.cc @@ -125,14 +125,6 @@ bool Frame::Detach(FrameDetachType type) { @@ -49,10 +49,10 @@ index 2432d2dba67540f8cdd8e5466a813693ff2d6683..ed9863e6a9870f45b2f688b1a9228c17 // its owning reference back to our owning LocalFrame. client_->Detached(type); diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index d7fc8c4b7edea486e1aff43287bb5ae6be168868..bf57ea36b37c5cb9441b2b62ae3ac020c297b495 100644 +index cd0dec9dca7ec98e97ef90c43378460c843956d4..e84ae764c9d47bfb78d01aa20695e03b07787136 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -683,10 +683,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { +@@ -682,10 +682,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { } DCHECK(!view_ || !view_->IsAttached()); @@ -63,7 +63,7 @@ index d7fc8c4b7edea486e1aff43287bb5ae6be168868..bf57ea36b37c5cb9441b2b62ae3ac020 if (!Client()) return false; -@@ -734,6 +730,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { +@@ -733,6 +729,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { DCHECK(!view_->IsAttached()); Client()->WillBeDetached(); diff --git a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch index d67777970c..3ef4dfefb7 100644 --- a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch +++ b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch @@ -11,10 +11,10 @@ if we ever align our .pak file generation with Chrome we can remove this patch. diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index 78c84e4ccefb90715d68de15d32d5245027ebb4d..99c80a0d2c23533f2858f61aca11d3b704e0735a 100644 +index 4af5b8d5da1c0ae4c5603f49e3a1dbfec422f55e..d21e450d1ee387a72bbe60141285626042a27a35 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -188,11 +188,16 @@ if (!is_android && !is_mac) { +@@ -189,11 +189,16 @@ if (!is_android && !is_mac) { "common/crash_keys.h", ] @@ -33,7 +33,7 @@ index 78c84e4ccefb90715d68de15d32d5245027ebb4d..99c80a0d2c23533f2858f61aca11d3b7 "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index 9b8a614ec6805014d93b3090b47443734dfa9a10..85a348e20fb331323d25207f5773e34c5bb67d56 100644 +index 55cf82494dcdb97adda4816c349e224eb33213ed..731f56fcabacf4280bab9a7f7fae14ae96277add 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn @@ -4791,7 +4791,7 @@ static_library("browser") { @@ -46,10 +46,10 @@ index 9b8a614ec6805014d93b3090b47443734dfa9a10..85a348e20fb331323d25207f5773e34c sources += [ "certificate_viewer_stub.cc" ] } diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index 0e038a6064ecea2fd100c760966de6e0fd3c0d72..4b856057cde5a2e91777260f28dfb68d1b462607 100644 +index 07795d851c5a8d55f94d17dac471c287837e0863..5bebaf9fe6a845b1df8364a332857bf5dc49ee70 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -7164,9 +7164,12 @@ test("unit_tests") { +@@ -7179,9 +7179,12 @@ test("unit_tests") { "//chrome/browser/safe_browsing/incident_reporting/verifier_test:verifier_test_dll_2", ] @@ -63,7 +63,7 @@ index 0e038a6064ecea2fd100c760966de6e0fd3c0d72..4b856057cde5a2e91777260f28dfb68d "//chrome//services/util_win:unit_tests", "//chrome/app:chrome_dll_resources", "//chrome/app:win_unit_tests", -@@ -8131,6 +8134,10 @@ test("unit_tests") { +@@ -8160,6 +8163,10 @@ test("unit_tests") { "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc", ] @@ -74,7 +74,7 @@ index 0e038a6064ecea2fd100c760966de6e0fd3c0d72..4b856057cde5a2e91777260f28dfb68d sources += [ # The importer code is not used on Android. "../common/importer/firefox_importer_utils_unittest.cc", -@@ -8200,7 +8207,6 @@ test("unit_tests") { +@@ -8229,7 +8236,6 @@ test("unit_tests") { } deps += [ diff --git a/patches/chromium/build_gn.patch b/patches/chromium/build_gn.patch index f162977a72..b8afa46b37 100644 --- a/patches/chromium/build_gn.patch +++ b/patches/chromium/build_gn.patch @@ -7,7 +7,7 @@ These are variables we add to the root BUILDCONFIG so that they're available everywhere, without having to import("//electron/.../flags.gni"). diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn -index 2694fe998328eeccc86587cc332187062f334065..562161797d365222ba2cc8e119521a2abaea98ae 100644 +index 1ed842b7790ff1415157c75a9debaac4a8b2f73c..d5ddc210503f091b3563ce738b70f2fa0ac88c95 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -123,6 +123,9 @@ if (current_os == "") { diff --git a/patches/chromium/build_remove_ent_content_analysis_assert.patch b/patches/chromium/build_remove_ent_content_analysis_assert.patch index 096f32ac80..ec108a93f2 100644 --- a/patches/chromium/build_remove_ent_content_analysis_assert.patch +++ b/patches/chromium/build_remove_ent_content_analysis_assert.patch @@ -9,10 +9,10 @@ This patch can be removed when we decide how we want to handle enterprise content analysis. diff --git a/components/enterprise/buildflags/buildflags.gni b/components/enterprise/buildflags/buildflags.gni -index 4d60f9c070ed3c577e24edf0c6581a99012e17d9..a1bcc636598efc5e15accffdbb77c371185930b9 100644 +index fa27ba6cfe55fb2ec53b594e297abfd87831c8fa..1735969ab7b12fb6fffce0b51fd7164522dda755 100644 --- a/components/enterprise/buildflags/buildflags.gni +++ b/components/enterprise/buildflags/buildflags.gni -@@ -42,4 +42,4 @@ declare_args() { +@@ -41,4 +41,4 @@ declare_args() { # These two flags are equivalent, but `enable_print_content_analysis` still # needs to exist separately as it lives under //printing which cannot depend # on //components. diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index 3930562c88..f32244ecfe 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 7904069f5a7f28bedb18f7afe187305512fc97f7..ac9e3da59e6fbde78185c4a6924af1e3cf61369b 100644 +index 441cf9208e50ed4fab3e6392996bdbb511b0ad76..39b46b4f5bb3adb18d903c0ca4c65f212138590b 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -8347,6 +8347,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -8383,6 +8383,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 7904069f5a7f28bedb18f7afe187305512fc97f7..ac9e3da59e6fbde78185c4a6924af1e3 &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 51089c5192b5f66ac7c407252d5f3f2b74fad7b3..09d791fbd4466c605dcb946b63b3dd3e7eba9fb0 100644 +index 275988bd9d0dbbe3360b081078149e3304d891ae..b2866d3d050b57f5b3f6483634dbe3facaee83dd 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4532,6 +4532,12 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4580,6 +4580,12 @@ FrameTree* WebContentsImpl::CreateNewWindow( auto* new_contents_impl = new_contents.get(); @@ -37,7 +37,7 @@ index 51089c5192b5f66ac7c407252d5f3f2b74fad7b3..09d791fbd4466c605dcb946b63b3dd3e // If the new frame has a name, make sure any SiteInstances that can find // this named frame have proxies for it. Must be called after // SetSessionStorageNamespace, since this calls CreateRenderView, which uses -@@ -4573,12 +4579,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4621,12 +4627,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( AddWebContentsDestructionObserver(new_contents_impl); } @@ -51,7 +51,7 @@ index 51089c5192b5f66ac7c407252d5f3f2b74fad7b3..09d791fbd4466c605dcb946b63b3dd3e new_contents_impl, opener, params.target_url, params.referrer.To(), params.disposition, diff --git a/content/common/frame.mojom b/content/common/frame.mojom -index 9381a209cbe182c8bdde694fae763f96c28e96ef..d5268ea720b1c35e17f63cb39d31c6c1931ddaf6 100644 +index 268f150c1cc987ea020192a86ab886ed206a0064..05856b853112072a18ec16589f2b442f2b1330b2 100644 --- a/content/common/frame.mojom +++ b/content/common/frame.mojom @@ -603,6 +603,10 @@ struct CreateNewWindowParams { @@ -66,10 +66,10 @@ index 9381a209cbe182c8bdde694fae763f96c28e96ef..d5268ea720b1c35e17f63cb39d31c6c1 // 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 f7fe84d62f1d08758dc37bc8500bb69cdfc95d85..919f5669ddf1c1be282097f267010d063ac95846 100644 +index 97be51019b36fef0b95b4812f682ff41544cbfe3..f013173e680898584561734942364755d3676363 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -717,6 +717,8 @@ bool ContentBrowserClient::CanCreateWindow( +@@ -725,6 +725,8 @@ bool ContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -79,7 +79,7 @@ index f7fe84d62f1d08758dc37bc8500bb69cdfc95d85..919f5669ddf1c1be282097f267010d06 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 d80e4ed168aaf75b4a57506f58a360524891ab01..da88d205c15eae320a4580c11c30d4dc24d8dc1e 100644 +index ac3754651b1569a07b666d8a101a08386393137c..25641beab08c2f575494f23850b1e22f1958569b 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -183,6 +183,7 @@ class NetworkService; @@ -90,7 +90,7 @@ index d80e4ed168aaf75b4a57506f58a360524891ab01..da88d205c15eae320a4580c11c30d4dc } // namespace network namespace sandbox { -@@ -1191,6 +1192,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1219,6 +1220,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -122,7 +122,7 @@ index 3f445d481b7b1931eba7870f90ba8bc5e1206a8f..8930b2f6c532418a5de97813645783bc const OpenURLParams& params) { return nullptr; diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index cce26ecaccbfde4259ccfcf73dc9508271b7364b..7217c90d0c65203056c622120ae161206d341a83 100644 +index 6e73009a7a4263f8d910071be1b64ce0c6e1b7cc..db2a1bc02f7a90fba1eda99b444c64576df859a8 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -17,6 +17,7 @@ @@ -148,10 +148,10 @@ index cce26ecaccbfde4259ccfcf73dc9508271b7364b..7217c90d0c65203056c622120ae16120 // typically happens when popups are created. virtual void WebContentsCreated(WebContents* source_contents, diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 67034e12e5ca65f3e09c1461bbf0a2422b454ebb..c0ca69f77833f7138d8eb3b49a7296ff671129b0 100644 +index 115a9e0e74969e224acb15f4b37d0d280b129f32..9012fbd732b8e134609b187f3718652888c31af4 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -6652,6 +6652,10 @@ WebView* RenderFrameImpl::CreateNewWindow( +@@ -6685,6 +6685,10 @@ WebView* RenderFrameImpl::CreateNewWindow( request.HasUserGesture(), GetWebFrame()->IsAdFrame(), GetWebFrame()->IsAdScriptInStack()); @@ -210,10 +210,10 @@ index 78956238f8d959580e928d2590866b2f4da3d218..806b3337ec8a8ad7c89681857b4e81dc } // 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 b4a959a7d99449a083166dc7de4250133badf862..27be63c5e60abcfbff68293891bfa95f9e44d575 100644 +index 86d62960d31c31caff100bfefda6975b366a3197..813d4713fac7de050d16f81f187ea1e1d12cd473 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -2214,6 +2214,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2231,6 +2231,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, WebWindowFeatures window_features = GetWindowFeaturesFromString(features, entered_window); diff --git a/patches/chromium/chore_add_buildflag_guard_around_new_include.patch b/patches/chromium/chore_add_buildflag_guard_around_new_include.patch index 1d850a4658..bbbe0d7e99 100644 --- a/patches/chromium/chore_add_buildflag_guard_around_new_include.patch +++ b/patches/chromium/chore_add_buildflag_guard_around_new_include.patch @@ -9,7 +9,7 @@ This is an experimental commit; but if it's successful, This patch should be upstreamed and then removed from electron's code. diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h -index 2a1498da8c9ce693403800d4c4b52fac6a7430e1..95c1b5df170b368d58e57e22561da9ba7e83e1d8 100644 +index 836b5aa54918386346fb7c13b9aadecd254d9013..97f4c56e5fcbdbbcae90b47ec5e42a020f178d94 100644 --- a/chrome/browser/ui/views/frame/browser_view.h +++ b/chrome/browser/ui/views/frame/browser_view.h @@ -41,9 +41,7 @@ @@ -48,7 +48,16 @@ index 2a1498da8c9ce693403800d4c4b52fac6a7430e1..95c1b5df170b368d58e57e22561da9ba // Sets the watermark string to the value specified in text if the view is // not null. void SetWatermarkString(const std::string& text); -@@ -1182,8 +1185,10 @@ class BrowserView : public BrowserWindow, +@@ -726,7 +729,7 @@ class BrowserView : public BrowserWindow, + + // content::WebContentsObserver: + void DidFirstVisuallyNonEmptyPaint() override; +-#if BUILDFLAG(ENTERPRISE_WATERMARK) ++#if 0 + void DidStartNavigation( + content::NavigationHandle* navigation_handle) override; + #endif +@@ -1191,8 +1194,10 @@ class BrowserView : public BrowserWindow, raw_ptr devtools_web_view_ = nullptr; diff --git a/patches/chromium/chore_add_electron_deps_to_gitignores.patch b/patches/chromium/chore_add_electron_deps_to_gitignores.patch index 2da8d75df4..54d3abb996 100644 --- a/patches/chromium/chore_add_electron_deps_to_gitignores.patch +++ b/patches/chromium/chore_add_electron_deps_to_gitignores.patch @@ -6,10 +6,10 @@ Subject: chore: add electron deps to gitignores Makes things like "git status" quicker when developing electron locally diff --git a/.gitignore b/.gitignore -index c74da107a1a0690b458df0ef5f6a72f607611eb9..899e121dd92010db0313feb21a1b1cc282be4a6e 100644 +index a55c4c5bbbb298bce97fe7c1072e5bca4c032c73..e6ffcfcefd2aa29a0d761051e6169950072a8207 100644 --- a/.gitignore +++ b/.gitignore -@@ -209,6 +209,7 @@ vs-chromium-project.txt +@@ -212,6 +212,7 @@ vs-chromium-project.txt /data /delegate_execute /device/serial/device_serial_mojo.xml @@ -18,12 +18,12 @@ index c74da107a1a0690b458df0ef5f6a72f607611eb9..899e121dd92010db0313feb21a1b1cc2 /googleurl /gpu/gles2_conform_test diff --git a/third_party/.gitignore b/third_party/.gitignore -index 8498a534a07bdd7cd1c8e23a9a3bb059d7fc103d..2b1e4a5da12fe388e73486ea55f20b1d29d4d478 100644 +index 71ff59deb05168f0090e1887c954f60de337ad44..18c70eec5ecc1900a70e4b8c20c657588e0566e4 100644 --- a/third_party/.gitignore +++ b/third_party/.gitignore -@@ -50,7 +50,9 @@ - /custom_tabs_client/src +@@ -51,7 +51,9 @@ /cygwin + /devserver /directxsdk +/electron_node /elfutils/src @@ -31,7 +31,7 @@ index 8498a534a07bdd7cd1c8e23a9a3bb059d7fc103d..2b1e4a5da12fe388e73486ea55f20b1d /espresso/lib/ /eyesfree/src /fuchsia-sdk/images -@@ -103,6 +105,7 @@ +@@ -104,6 +106,7 @@ /mocha /mockito/src /nacl_sdk_binaries/ @@ -39,7 +39,7 @@ index 8498a534a07bdd7cd1c8e23a9a3bb059d7fc103d..2b1e4a5da12fe388e73486ea55f20b1d /ninja/ninja* /node/*.tar.gz /node/linux/ -@@ -147,6 +150,7 @@ +@@ -148,6 +151,7 @@ /soda-win64 /speex /sqlite4java/lib/ diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index 63e72dc1d1..2b096fddf9 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -80,10 +80,10 @@ index aaaa61d5c3a1d5ade2fd355e38a3985ef5cc4e7d..b45746ba0f38a381a2ee5ca17f3a1685 } diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index 0791cc8f55a922c6c9e0bd6b69d863ed0e0b8dd0..7a423f19ffdb6819c7ca8973fe08221bc27b5ee4 100644 +index a3855799f5e896861726b599dcd48c8fa13a5e09..30750a8b03300e84dccc38c2e48dcde618016962 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -1935,12 +1935,11 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -1937,12 +1937,11 @@ bool Browser::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -218,10 +218,10 @@ index c5b0d3b23b8da318ae55fcac2515a1187f261469..16ed1f46c9afde0ff25750128b4fcff6 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 df08d8a1b2232dcd9b926466f062b17b34dad446..6addf2f57f08a9c1a6702b777d965c1d99ce59a1 100644 +index 73df439b9efd501aee94fd7b19e834ad82a5b39c..11ed98cbe928b4c1efe1b34feec1a79cbe06a00a 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4438,8 +4438,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4486,8 +4486,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( source_site_instance, params.window_container_type, @@ -246,7 +246,7 @@ index 8930b2f6c532418a5de97813645783bc2bbad1ba..cfa7dc3805897a7e7b09bcf3fa4ebde0 } diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 7217c90d0c65203056c622120ae161206d341a83..681aa45b93e648157d018be425024dceef6a0708 100644 +index db2a1bc02f7a90fba1eda99b444c64576df859a8..8685c010eadbf4896ed19bdc61b415beea8cbd94 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -328,8 +328,7 @@ class CONTENT_EXPORT WebContentsDelegate { @@ -260,10 +260,10 @@ index 7217c90d0c65203056c622120ae161206d341a83..681aa45b93e648157d018be425024dce // Allow delegate to creates a custom WebContents when // WebContents::CreateNewWindow() is called. This function is only called diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc -index 871d4bf48e3267cb518ebf2d4b2aaebdf9f4b0dc..d1f434fd9e23a172928aed23ca194b0b7bc2d884 100644 +index cd9920e21bddc26fe051c4b5638424e03534f849..9dacac9df4bdc06f7d73f37e852d6cf13f68413b 100644 --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc -@@ -213,8 +213,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden( +@@ -216,8 +216,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -274,10 +274,10 @@ index 871d4bf48e3267cb518ebf2d4b2aaebdf9f4b0dc..d1f434fd9e23a172928aed23ca194b0b // view is used for displaying embedded extension options, we want any // external links to be opened in a new tab, not in a new guest view so we diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h -index 2578fa3fe9709cccd116290b4646c4426c41f8c8..32e7f992af1830e619b80f454051044ad80a77c2 100644 +index 792f0cfa8475360ab58434d6b7bca1d36f674234..21665eb04d85fded5a9fb3a3c3069e4edfd1a73c 100644 --- a/extensions/browser/guest_view/extension_options/extension_options_guest.h +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h -@@ -62,8 +62,7 @@ class ExtensionOptionsGuest +@@ -63,8 +63,7 @@ class ExtensionOptionsGuest content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -288,10 +288,10 @@ index 2578fa3fe9709cccd116290b4646c4426c41f8c8..32e7f992af1830e619b80f454051044a content::RenderFrameHost* opener, content::SiteInstance* source_site_instance, diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc -index 39def4c0d8ad58b51a6a71f5ad46b308bf7ff3a5..2357963cc6f83eb5536c01e1a25a7d12d8efce06 100644 +index cb8f896ebe8a229245d4b69bf9d0a7e9b598b0d2..a76610cc2de970f4d9eee1695e613ec1f1752f25 100644 --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc -@@ -386,8 +386,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden( +@@ -388,8 +388,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -302,10 +302,10 @@ index 39def4c0d8ad58b51a6a71f5ad46b308bf7ff3a5..2357963cc6f83eb5536c01e1a25a7d12 } diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h -index 5709e978f2d8e6e287beb0b152595b937ebaeaf9..bf4e162439e6143470b24335ffb87381a79aae98 100644 +index 1cf22ee486d411fd35cfc8040f3e9e51eb3b087f..040e3d37eca88e84fe41a217472a0c9e4ba7d593 100644 --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h -@@ -174,8 +174,7 @@ class MimeHandlerViewGuest +@@ -175,8 +175,7 @@ class MimeHandlerViewGuest content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, diff --git a/patches/chromium/custom_protocols_plzserviceworker.patch b/patches/chromium/custom_protocols_plzserviceworker.patch index a875bde981..e3123747d3 100644 --- a/patches/chromium/custom_protocols_plzserviceworker.patch +++ b/patches/chromium/custom_protocols_plzserviceworker.patch @@ -8,7 +8,7 @@ Allow registering custom protocols to handle service worker main script fetching Refs https://bugs.chromium.org/p/chromium/issues/detail?id=996511 diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc -index f58f8f807f4a9644971fb91e0fa8092acfc6e50c..c915b9906e9414c29d396011a2d56846fd7b6d4c 100644 +index 0019c6a54eb8c509597cad4b6727a23dec2926ed..b37cb96cb5d6a55671942cc4315100f81e23d7ba 100644 --- a/content/browser/service_worker/service_worker_context_wrapper.cc +++ b/content/browser/service_worker/service_worker_context_wrapper.cc @@ -1947,6 +1947,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index b7ecc8a9a7..6db95171ce 100644 --- a/patches/chromium/disable_hidden.patch +++ b/patches/chromium/disable_hidden.patch @@ -6,7 +6,7 @@ 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 fb8f39aa55ffd192f5d7fc9c49408dcf3c5c4cd4..16f88856c10df7af52356ea5648c5062804fd769 100644 +index 7696ac81e79206c09fd74566c416cec0f337747c..f74ee0d5239ea8d27174e334408a82c42fe78421 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -749,6 +749,9 @@ void RenderWidgetHostImpl::WasHidden() { @@ -20,10 +20,10 @@ index fb8f39aa55ffd192f5d7fc9c49408dcf3c5c4cd4..16f88856c10df7af52356ea5648c5062 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 220f8998b0499128396d868d1a80e402ddcff5fc..c51e6f684a58458ce487baaa970c438222a9f299 100644 +index fb89c4500eeae064c6c8f3d4c0ad7b5b4deecb5a..52868268ba4843e0743284afc684e549011c4110 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h -@@ -919,6 +919,8 @@ class CONTENT_EXPORT RenderWidgetHostImpl +@@ -920,6 +920,8 @@ class CONTENT_EXPORT RenderWidgetHostImpl void UpdateBrowserControlsState(cc::BrowserControlsState constraints, cc::BrowserControlsState current, bool animate); @@ -33,7 +33,7 @@ index 220f8998b0499128396d868d1a80e402ddcff5fc..c51e6f684a58458ce487baaa970c4382 void StartDragging(blink::mojom::DragDataPtr drag_data, const url::Origin& source_origin, 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 bb65375eb77e0bc56ef6a6d0cb537ce59b14f9f2..95fb2a4b401ec57ed4492413a2607dba5ece1fa6 100644 +index 094686284afc96d9719ca1821092863d1e160e0c..4c78692adb777b8e0a8fa2e2350775b7e2ef676a 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc @@ -614,7 +614,7 @@ void RenderWidgetHostViewAura::HideImpl() { diff --git a/patches/chromium/disable_unload_metrics.patch b/patches/chromium/disable_unload_metrics.patch index 97d8e67057..e9404273bd 100644 --- a/patches/chromium/disable_unload_metrics.patch +++ b/patches/chromium/disable_unload_metrics.patch @@ -24,10 +24,10 @@ This patch temporarily disables the metrics so we can have green CI, and we should continue seeking for a real fix. diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc -index 1afb29c1a18e8729cb1fd95f976ee6dae5340035..597d20dd33c6bff54cefc909e3cb20d4e89cb744 100644 +index 60b1e21acfcfdf8e7941bf476d4f10bbe254e47c..72dba8334b1a2ebee809a3b995f23378150f7017 100644 --- a/content/browser/renderer_host/navigator.cc +++ b/content/browser/renderer_host/navigator.cc -@@ -1301,6 +1301,7 @@ void Navigator::RecordNavigationMetrics( +@@ -1322,6 +1322,7 @@ void Navigator::RecordNavigationMetrics( .InMilliseconds()); } @@ -35,7 +35,7 @@ index 1afb29c1a18e8729cb1fd95f976ee6dae5340035..597d20dd33c6bff54cefc909e3cb20d4 // If this is a same-process navigation and we have timestamps for unload // durations, fill those metrics out as well. if (params.unload_start && params.unload_end && -@@ -1350,6 +1351,7 @@ void Navigator::RecordNavigationMetrics( +@@ -1371,6 +1372,7 @@ void Navigator::RecordNavigationMetrics( first_before_unload_start_time) .InMilliseconds()); } diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index 7e5f8293e7..fb40f9d4ee 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4 } // namespace net diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index f417639adad080aa59d3f64a3061f5298518f47d..b9bccfcfa1f24f01b354657a9e00802921dc44f9 100644 +index 851280c5c26cb93a6a80977b0b3a9815ce2d5d11..df7c34715576f27f20fb1850c8adb8c74bc88ff9 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1612,6 +1612,13 @@ void NetworkContext::SetNetworkConditions( +@@ -1614,6 +1614,13 @@ void NetworkContext::SetNetworkConditions( std::move(network_conditions)); } @@ -51,7 +51,7 @@ index f417639adad080aa59d3f64a3061f5298518f47d..b9bccfcfa1f24f01b354657a9e008029 // 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 fdc0899c6ccf8ff23dfad6de24ce0afa2efa4695..f5135b6ba8665483a8b97bda7dcc82b6f647a958 100644 +index 7cb0642b4661c5415b4f8f4a934ef32f27b9eb28..382ee5ff8352fb0c4623fdb12b5673479231e8ea 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h @@ -315,6 +315,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -63,10 +63,10 @@ index fdc0899c6ccf8ff23dfad6de24ce0afa2efa4695..f5135b6ba8665483a8b97bda7dcc82b6 void SetEnableReferrers(bool enable_referrers) override; #if BUILDFLAG(IS_CT_SUPPORTED) diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index 4ddf7e5728ac11a65da76f9cda161a8ee01b6049..450352f61fd6240d2b647775d7e03a6b16f9c116 100644 +index 567d6f230e33b2e7d9ff8e3f768fc4c94704eaac..7a4e4b3a60a868bb8848f701b77fea5229212506 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1249,6 +1249,9 @@ interface NetworkContext { +@@ -1252,6 +1252,9 @@ interface NetworkContext { SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, NetworkConditions? conditions); diff --git a/patches/chromium/extend_apply_webpreferences.patch b/patches/chromium/extend_apply_webpreferences.patch index c4f04a75f3..9a4608d7bd 100644 --- a/patches/chromium/extend_apply_webpreferences.patch +++ b/patches/chromium/extend_apply_webpreferences.patch @@ -12,7 +12,7 @@ Ideally we could add an embedder observer pattern here but that can be done in future work. 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 6eb7560fb0e9301777a9c06643b0d00889d3a04c..14fdb34e5ea64df116cf8001d6c682b27fbb60e7 100644 +index 986b4c9f35431ed14989d5f69fc09d17a2c3fda9..b88f27942cbefb1c3ae819a3fc4135d8a3a819fa 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc @@ -167,6 +167,7 @@ @@ -23,7 +23,7 @@ index 6eb7560fb0e9301777a9c06643b0d00889d3a04c..14fdb34e5ea64df116cf8001d6c682b2 #include "third_party/blink/renderer/platform/graphics/image.h" #include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h" #include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h" -@@ -1804,6 +1805,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, +@@ -1805,6 +1806,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, #if BUILDFLAG(IS_MAC) web_view_impl->SetMaximumLegibleScale( prefs.default_maximum_page_scale_factor); 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 e81b18a402..86dcbb6a21 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 @@ -26,10 +26,10 @@ index c5bcbe62463a418cf78c4813678d7a1e39c4dd9d..f51e2e70bb249f5113ee592f121e53d6 } diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h -index bc00e5ca9e993df8dc633f41d2f53cdc30e8877e..e6cb1bdee4e2d186916a4bbd3ccb69b31b48494d 100644 +index e1c2037c320efc78bc9df701960af57aa0ef180c..3a74da489cfbe6457aa9a206364a977bb3052d80 100644 --- a/ui/native_theme/native_theme.h +++ b/ui/native_theme/native_theme.h -@@ -442,6 +442,23 @@ class NATIVE_THEME_EXPORT NativeTheme { +@@ -443,6 +443,23 @@ class NATIVE_THEME_EXPORT NativeTheme { scoped_refptr custom_theme, bool use_custom_frame = true) const; @@ -53,7 +53,7 @@ index bc00e5ca9e993df8dc633f41d2f53cdc30e8877e..e6cb1bdee4e2d186916a4bbd3ccb69b3 // Returns a shared instance of the native theme that should be used for web // rendering. Do not use it in a normal application context (i.e. browser). // The returned object should not be deleted by the caller. This function is -@@ -656,6 +673,7 @@ class NATIVE_THEME_EXPORT NativeTheme { +@@ -658,6 +675,7 @@ class NATIVE_THEME_EXPORT NativeTheme { bool inverted_colors_ = false; PreferredColorScheme preferred_color_scheme_ = PreferredColorScheme::kLight; PreferredContrast preferred_contrast_ = PreferredContrast::kNoPreference; diff --git a/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch b/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch index e6c31f7d7e..c9949c8e0c 100644 --- a/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch +++ b/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch @@ -13,7 +13,7 @@ other protocols to register their streaming behavior. MultibufferDataSource::Ass then refers to the list so that it can correctly determine the data source's settings. diff --git a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc -index cb1c97ee249d1dd3f231e445a74a6bea6c84970b..353e784f46a234b48c715c9242b8b07501a7696e 100644 +index d7e736b32c66c2e6a3acb6755ce620fcfc041e44..589072f4c7551a4290c554a38603dc54b06183f7 100644 --- a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc +++ b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc @@ -12,8 +12,10 @@ diff --git a/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch b/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch index e34871cc9b..992f279d1d 100644 --- a/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch +++ b/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch @@ -140,7 +140,7 @@ index f5c5ff2c89489257003dfe3284ee9de9f517c99b..fdd2e2483171c4d43963590200817dac // JavaScript from chrome and chrome-untrusted pages. The resource URLs are diff --git a/content/browser/code_cache/generated_code_cache_browsertest.cc b/content/browser/code_cache/generated_code_cache_browsertest.cc -index 2578387d2e47a6b1e849097ed331c9b53289826c..c1cb9e260b68d7259f661a389da3a8b2ae1f83c0 100644 +index 50e0966199b18f88f85443016f57e8e217d7cf9c..fca44ad6a96981349a52dc2eeff4626e4dcb8bcd 100644 --- a/content/browser/code_cache/generated_code_cache_browsertest.cc +++ b/content/browser/code_cache/generated_code_cache_browsertest.cc @@ -8,13 +8,18 @@ @@ -171,7 +171,7 @@ index 2578387d2e47a6b1e849097ed331c9b53289826c..c1cb9e260b68d7259f661a389da3a8b2 bool SupportsSharedWorker() { #if BUILDFLAG(IS_ANDROID) // SharedWorkers are not enabled on Android. https://crbug.com/154571 -@@ -628,4 +635,82 @@ IN_PROC_BROWSER_TEST_F(LocalCompileHintsBrowserTest, LocalCompileHints) { +@@ -710,4 +717,82 @@ IN_PROC_BROWSER_TEST_F(LocalCompileHintsBrowserTest, LocalCompileHints) { } } diff --git a/patches/chromium/feat_configure_launch_options_for_service_process.patch b/patches/chromium/feat_configure_launch_options_for_service_process.patch index febeaa6103..8461528e6d 100644 --- a/patches/chromium/feat_configure_launch_options_for_service_process.patch +++ b/patches/chromium/feat_configure_launch_options_for_service_process.patch @@ -163,13 +163,14 @@ index 1d6bc6590720cda38983203455cc20638710148f..8f965150db13d3f4fe1757a021b9a2f6 } diff --git a/content/browser/service_process_host_impl.cc b/content/browser/service_process_host_impl.cc -index 7c9548bc25fa3a886806e1611791f2a74aa94d1a..d61ce98e754c2546987bf2cbe0ed6bf9332cf46a 100644 +index 1987b9539e6d393334e0a9b1e4145fa816e14559..73d8c2fcbed9db89161ad3fabd5cbfb6b3761a4d 100644 --- a/content/browser/service_process_host_impl.cc +++ b/content/browser/service_process_host_impl.cc -@@ -203,6 +203,15 @@ void LaunchServiceProcess(mojo::GenericPendingReceiver receiver, - host->SetPinUser32(); +@@ -207,6 +207,16 @@ void LaunchServiceProcess(mojo::GenericPendingReceiver receiver, + options.allow_gpu_client.value()) { + host->SetAllowGpuClient(); } - #endif // BUILDFLAG(IS_WIN) ++ +#if BUILDFLAG(IS_WIN) + host->SetStdioHandles(std::move(options.stdout_handle), std::move(options.stderr_handle)); +#elif BUILDFLAG(IS_POSIX) @@ -183,10 +184,10 @@ index 7c9548bc25fa3a886806e1611791f2a74aa94d1a..d61ce98e754c2546987bf2cbe0ed6bf9 host->GetChildProcess()->BindServiceInterface(std::move(receiver)); } diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc -index 009e97487209e3ebe811d061d5e8a44df7eb9eb3..3ae41211ea66161a5117262907d9fc70f33e4c8a 100644 +index 3cca937cc1af689df506bce8f31baee7968e7798..9b99a3caf366368917c39ae5c12a11f5294c3948 100644 --- a/content/browser/utility_process_host.cc +++ b/content/browser/utility_process_host.cc -@@ -177,11 +177,13 @@ const ChildProcessData& UtilityProcessHost::GetData() { +@@ -178,11 +178,13 @@ const ChildProcessData& UtilityProcessHost::GetData() { return process_->GetData(); } @@ -202,7 +203,7 @@ index 009e97487209e3ebe811d061d5e8a44df7eb9eb3..3ae41211ea66161a5117262907d9fc70 bool UtilityProcessHost::Start() { return StartProcess(); -@@ -247,6 +249,24 @@ void UtilityProcessHost::SetZygoteForTesting(ZygoteCommunication* handle) { +@@ -254,6 +256,24 @@ void UtilityProcessHost::SetZygoteForTesting(ZygoteCommunication* handle) { } #endif // BUILDFLAG(USE_ZYGOTE) @@ -227,7 +228,7 @@ index 009e97487209e3ebe811d061d5e8a44df7eb9eb3..3ae41211ea66161a5117262907d9fc70 mojom::ChildProcess* UtilityProcessHost::GetChildProcess() { return static_cast(process_->GetHost()) ->child_process(); -@@ -460,9 +480,22 @@ bool UtilityProcessHost::StartProcess() { +@@ -463,9 +483,22 @@ bool UtilityProcessHost::StartProcess() { } #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) @@ -252,7 +253,7 @@ index 009e97487209e3ebe811d061d5e8a44df7eb9eb3..3ae41211ea66161a5117262907d9fc70 #if BUILDFLAG(IS_WIN) if (!preload_libraries_.empty()) { diff --git a/content/browser/utility_process_host.h b/content/browser/utility_process_host.h -index 01a921c772f769c64ac97bfc5e74862a801e3e61..9bfc30138a01520d59760a49d15dd4819feb0556 100644 +index cba1933af784da5e3afd12b7695a734158a5db1b..ecb0b0e02870386f3ad4365461325ba0627ba1ce 100644 --- a/content/browser/utility_process_host.h +++ b/content/browser/utility_process_host.h @@ -35,6 +35,10 @@ @@ -282,7 +283,7 @@ index 01a921c772f769c64ac97bfc5e74862a801e3e61..9bfc30138a01520d59760a49d15dd481 // Starts the utility process. bool Start(); -@@ -154,6 +162,16 @@ class CONTENT_EXPORT UtilityProcessHost +@@ -157,6 +165,16 @@ class CONTENT_EXPORT UtilityProcessHost void SetZygoteForTesting(ZygoteCommunication* handle); #endif // BUILDFLAG(USE_ZYGOTE) @@ -299,7 +300,7 @@ index 01a921c772f769c64ac97bfc5e74862a801e3e61..9bfc30138a01520d59760a49d15dd481 // Returns a control interface for the running child process. mojom::ChildProcess* GetChildProcess(); -@@ -209,6 +227,22 @@ class CONTENT_EXPORT UtilityProcessHost +@@ -212,6 +230,22 @@ class CONTENT_EXPORT UtilityProcessHost std::optional> zygote_for_testing_; #endif // BUILDFLAG(USE_ZYGOTE) @@ -436,7 +437,7 @@ index 498f60227d13eb2e476413f88eaa58cc0babf461..619639ad5d22a1121b0e0d5f2c9e3c10 } // namespace content diff --git a/content/public/browser/service_process_host.cc b/content/public/browser/service_process_host.cc -index e6bd27288a8d29dcf263a0677d2629d0aa7cf7c4..24d5acf41ea3fb825d813a040644aef1c9d6d4ee 100644 +index 556d27b78e6b2bf96c9951cee6bda323ecca675e..7ba6b859e8c27da7f267e988efaac1d54f8b57b8 100644 --- a/content/public/browser/service_process_host.cc +++ b/content/public/browser/service_process_host.cc @@ -52,12 +52,45 @@ ServiceProcessHost::Options::WithExtraCommandLineSwitches( @@ -486,7 +487,7 @@ index e6bd27288a8d29dcf263a0677d2629d0aa7cf7c4..24d5acf41ea3fb825d813a040644aef1 ServiceProcessHost::Options& ServiceProcessHost::Options::WithPreloadedLibraries( diff --git a/content/public/browser/service_process_host.h b/content/public/browser/service_process_host.h -index b737083c3a3a80ae408c69d4831fb7a0304d93ff..425845c33523135988c646bd75465b9a33d658ba 100644 +index acac8d4bf5e256e5c05e8c7c9592f9857d5a493d..4895ba5c305c898bb21472a2408ecd62afb46fd6 100644 --- a/content/public/browser/service_process_host.h +++ b/content/public/browser/service_process_host.h @@ -14,6 +14,7 @@ @@ -508,7 +509,7 @@ index b737083c3a3a80ae408c69d4831fb7a0304d93ff..425845c33523135988c646bd75465b9a namespace base { class Process; } // namespace base -@@ -94,11 +99,30 @@ class CONTENT_EXPORT ServiceProcessHost { +@@ -96,11 +101,30 @@ class CONTENT_EXPORT ServiceProcessHost { // Specifies extra command line switches to append before launch. Options& WithExtraCommandLineSwitches(std::vector switches); @@ -539,7 +540,7 @@ index b737083c3a3a80ae408c69d4831fb7a0304d93ff..425845c33523135988c646bd75465b9a #if BUILDFLAG(IS_WIN) // Specifies libraries to preload before the sandbox is locked down. Paths // should be absolute paths. Libraries will be preloaded before sandbox -@@ -125,11 +149,20 @@ class CONTENT_EXPORT ServiceProcessHost { +@@ -133,12 +157,21 @@ class CONTENT_EXPORT ServiceProcessHost { std::optional site; std::optional child_flags; std::vector extra_switches; @@ -552,8 +553,9 @@ index b737083c3a3a80ae408c69d4831fb7a0304d93ff..425845c33523135988c646bd75465b9a base::OnceCallback process_callback; #if BUILDFLAG(IS_WIN) std::vector preload_libraries; - bool pin_user32; + std::optional pin_user32; #endif // BUILDFLAG(IS_WIN) + std::optional allow_gpu_client; + base::FilePath current_directory; + base::EnvironmentMap environment; + bool clear_environment = false; diff --git a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch index 47476aae6d..8e625f5f32 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -90,7 +90,7 @@ index 8af69cac78b7488d28f1f05ccb174793fe5148cd..9f74e511c263d147b5fbe81fe100d217 private: const HWND hwnd_; diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index fc67ca507ecbf39fabba4142e8a3ac618f3eeaf9..815687ef4956eec5d45dd5d884a1edd30c87037f 100644 +index 17d4b2f0490894058f1896b694a558d387f25993..caf00099657226b1f89eeb243897c7770cc20920 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn @@ -165,6 +165,8 @@ viz_component("service") { @@ -520,10 +520,10 @@ index 796ae2688436eb07f19909641d1620dd02f10cdb..c9e0eee0b329caf46669b419b1cd10cf waiting_on_draw_ack_ = true; diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc -index fc8cd6e32ce8652a3e59593404a182e82e169875..6a0cbd8d3a70ab870a1ecb757c5fff296882aaf2 100644 +index c11057917af819fc1e4f343ba28d01db464d00eb..425394c38ddd8aa01e64d4f77c704370d1f6299a 100644 --- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc +++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc -@@ -101,7 +101,8 @@ RootCompositorFrameSinkImpl::Create( +@@ -100,7 +100,8 @@ RootCompositorFrameSinkImpl::Create( params->gpu_compositing, params->widget); auto output_surface = output_surface_provider->CreateOutputSurface( params->widget, params->gpu_compositing, display_client.get(), @@ -562,10 +562,10 @@ index febb2718cb34ea4d9f411f068d8c01a89c7db888..be8bd51cb61c20ef3df8552972a0ac2f gpu::SyncPointManager* GetSyncPointManager() override; }; diff --git a/content/browser/compositor/viz_process_transport_factory.cc b/content/browser/compositor/viz_process_transport_factory.cc -index 3f279b7ca2d609eff672bd1b3027b0a9e4b866f1..c71453cfa050c610b233c9787e4f547783804105 100644 +index 65401cc3644945cba21c8ca2f6ac0919f1321d80..86a9f37f7d5ab6dfd8d3c8a6e079706b2fc6a3f3 100644 --- a/content/browser/compositor/viz_process_transport_factory.cc +++ b/content/browser/compositor/viz_process_transport_factory.cc -@@ -384,8 +384,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( +@@ -383,8 +383,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( mojo::AssociatedRemote display_private; root_params->display_private = display_private.BindNewEndpointAndPassReceiver(); @@ -618,7 +618,7 @@ index 2f462f0deb5fc8a637457243fb5d5849fc214d14..695869b83cefaa24af93a2e11b39de05 + Draw(gfx.mojom.Rect damage_rect) => (); }; diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h -index 06a6ef9f5e7df58e29fd69f493617abb73ce8fe2..4b3ed41d771cad8f22bf74dfc8349dd4c18924fb 100644 +index 3d486e85cbb1cd10b73b981824eebcbe3299f7ac..29e8cbde697ca4815275d87e04ee1311d14f1ecb 100644 --- a/ui/compositor/compositor.h +++ b/ui/compositor/compositor.h @@ -89,6 +89,7 @@ namespace mojom { diff --git a/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch b/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch index 11de136a02..f511a31836 100644 --- a/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch +++ b/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch @@ -28,7 +28,7 @@ index f9d3219990dcf4f4a829567d567072df59a70ada..ca8281faaff601bf591cf5a2b185e4ba // Returns the http referrer of original request which initited this load. diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h -index 2782e47791ef0af261ea42a842bd9fbf83f97a79..8cdccf347671c2d42ce6f970a1b0045717463553 100644 +index ca693ac2874e4eec530bd511d2e3bb26f4ed6100..c2ca513b5062cf48b232c8129e6eda216c9d9a63 100644 --- a/third_party/blink/renderer/core/loader/document_loader.h +++ b/third_party/blink/renderer/core/loader/document_loader.h @@ -311,7 +311,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected, diff --git a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch index bed8dae47c..22b123a6e7 100644 --- a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch +++ b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch @@ -112,10 +112,10 @@ index e1fb008d12ae863df30dbffb07c7ec53f29f1333..3f5074bde0de54dc3fd57da756982634 string mime_type; diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc -index 184c5e1354b52c82578ed7d92984e48d32c32d96..b969a1febabcde08aea7a0f78c449d0da8042637 100644 +index 82b5b7332864bc317d867d17a6a112d24cc12ceb..7dd4325014a19b7ffe43c45d42c38530c3c6bdc1 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc -@@ -675,6 +675,7 @@ URLLoader::URLLoader( +@@ -692,6 +692,7 @@ URLLoader::URLLoader( has_user_activation_ = request.trusted_params->has_user_activation; allow_cookies_from_browser_ = request.trusted_params->allow_cookies_from_browser; @@ -123,7 +123,7 @@ index 184c5e1354b52c82578ed7d92984e48d32c32d96..b969a1febabcde08aea7a0f78c449d0d } // Store any cookies passed from the browser process to later attach them to -@@ -713,7 +714,7 @@ URLLoader::URLLoader( +@@ -730,7 +731,7 @@ URLLoader::URLLoader( &URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this))); } @@ -132,7 +132,7 @@ index 184c5e1354b52c82578ed7d92984e48d32c32d96..b969a1febabcde08aea7a0f78c449d0d url_request_->SetResponseHeadersCallback(base::BindRepeating( &URLLoader::SetRawResponseHeaders, base::Unretained(this))); } -@@ -1652,6 +1653,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { +@@ -1669,6 +1670,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { } response_ = BuildResponseHead(); @@ -153,10 +153,10 @@ index 184c5e1354b52c82578ed7d92984e48d32c32d96..b969a1febabcde08aea7a0f78c449d0d // Parse and remove the Trust Tokens response headers, if any are expected, diff --git a/services/network/url_loader.h b/services/network/url_loader.h -index 5529f9c5ffa79eab973b1bf5a896187a6aef349a..632308c2445a7425f79226819efc4b3707fe8112 100644 +index 054f08e0e6169512436ef0ed3735c940a90984cb..7e4eb7d9ce6537e5e4386b931a8208aa1d30590d 100644 --- a/services/network/url_loader.h +++ b/services/network/url_loader.h -@@ -647,6 +647,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader +@@ -650,6 +650,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader std::unique_ptr resource_scheduler_request_handle_; diff --git a/patches/chromium/fix_add_missing_perfetto_flow_and_trace_event_includes.patch b/patches/chromium/fix_add_missing_perfetto_flow_and_trace_event_includes.patch new file mode 100644 index 0000000000..20f6acc75a --- /dev/null +++ b/patches/chromium/fix_add_missing_perfetto_flow_and_trace_event_includes.patch @@ -0,0 +1,72 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Shelley Vohr +Date: Tue, 12 Mar 2024 12:18:24 +0100 +Subject: fix: add missing perfetto::Flow and TRACE_EVENT includes + +Refs https://chromium-review.googlesource.com/c/chromium/src/+/5022285 + +Fixes the following build errors: + +../../third_party/blink/renderer/core/workers/worker_global_scope.cc:581:19: error: no member named 'Flow' in namespace 'perfetto' + 581 | perfetto::Flow::Global(message_event->GetTraceId())); + | ~~~~~~~~~~^ + +../../third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc:245:19: error: no member named 'Flow' in namespace 'perfetto' + 245 | perfetto::Flow::Global(event->GetTraceId())); + | ~~~~~~~~~~^ + +../../third_party/blink/renderer/core/workers/worker_global_scope.cc:576:5: error: use of undeclared identifier 'TRACE_EVENT' + 576 | TRACE_EVENT( + | ^ + +../../third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc:240:5: error: use of undeclared identifier 'TRACE_EVENT' + 240 | TRACE_EVENT( + | ^ + +resultant of missing includes for: + +- base/trace_event/typed_macros.h +- third_party/perfetto/include/perfetto/tracing/track_event_args.h + +Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/5365462. + +diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc b/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc +index c45d61a923ab391933bf3852add770fc18942bf5..c4af39b8b29dcf8f59214bb2054c74b9988253ff 100644 +--- a/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc ++++ b/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc +@@ -6,6 +6,7 @@ + + #include + #include "base/feature_list.h" ++#include "base/trace_event/typed_macros.h" + #include "services/network/public/mojom/fetch_api.mojom-blink.h" + #include "third_party/blink/public/common/features.h" + #include "third_party/blink/public/common/tokens/tokens.h" +@@ -33,6 +34,7 @@ + #include "third_party/blink/renderer/platform/scheduler/public/post_cross_thread_task.h" + #include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h" + #include "third_party/blink/renderer/platform/wtf/wtf.h" ++#include "third_party/perfetto/include/perfetto/tracing/track_event_args.h" + + namespace blink { + +diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.cc b/third_party/blink/renderer/core/workers/worker_global_scope.cc +index 996e5b563ee486f50aada96aaa9f25ac392e6424..3422670a53aeb8cd55174cc1af482aef086005e1 100644 +--- a/third_party/blink/renderer/core/workers/worker_global_scope.cc ++++ b/third_party/blink/renderer/core/workers/worker_global_scope.cc +@@ -28,6 +28,7 @@ + #include "third_party/blink/renderer/core/workers/worker_global_scope.h" + + #include "base/memory/scoped_refptr.h" ++#include "base/trace_event/typed_macros.h" + #include "mojo/public/cpp/bindings/pending_remote.h" + #include "services/metrics/public/cpp/mojo_ukm_recorder.h" + #include "third_party/blink/public/common/privacy_budget/identifiability_study_settings.h" +@@ -88,6 +89,7 @@ + #include "third_party/blink/renderer/platform/weborigin/security_origin.h" + #include "third_party/blink/renderer/platform/weborigin/security_policy.h" + #include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h" ++#include "third_party/perfetto/include/perfetto/tracing/track_event_args.h" + + namespace blink { + namespace { diff --git a/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch b/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch index 62313e0f91..05b22e8dc6 100644 --- a/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch +++ b/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch @@ -23,10 +23,10 @@ Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397. Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3856266. diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc -index fd4f8af05a78316870d64b54f2cd2a7917f5c78a..c3af34a6b831f16e6e1de2b328c9b0ae8d8d6b50 100644 +index 43f45a17a2d2556a12941fb431708ea9e0ce3ada..b5b143415450f02660901cf48c7ea2968ed67206 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -10293,6 +10293,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() { +@@ -10374,6 +10374,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() { return std::make_pair(parent->GetLastCommittedOrigin(), "about_srcdoc"); } @@ -40,10 +40,10 @@ index fd4f8af05a78316870d64b54f2cd2a7917f5c78a..c3af34a6b831f16e6e1de2b328c9b0ae // origin of |common_params.url| and/or |common_params.initiator_origin|. url::Origin resolved_origin = url::Origin::Resolve( diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc -index 01a4f9c0bc86903243b548a49df11d2111877a16..9086c0ef56b7bc1c3b1ebe5885905eaca1235b77 100644 +index 1e94b973f4486e11ae05528b4a97c9fae74fe7f2..43ffe048aea73bd2fae57fb87ad1346296189d64 100644 --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc -@@ -2139,6 +2139,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() { +@@ -2165,6 +2165,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() { scoped_refptr DocumentLoader::CalculateOrigin( Document* owner_document) { scoped_refptr origin; @@ -54,7 +54,7 @@ index 01a4f9c0bc86903243b548a49df11d2111877a16..9086c0ef56b7bc1c3b1ebe5885905eac StringBuilder debug_info_builder; if (origin_to_commit_) { // Origin to commit is specified by the browser process, it must be taken -@@ -2186,6 +2190,10 @@ scoped_refptr DocumentLoader::CalculateOrigin( +@@ -2212,6 +2216,10 @@ scoped_refptr DocumentLoader::CalculateOrigin( debug_info_builder.Append(", url="); debug_info_builder.Append(owner_document->Url().BaseAsString()); debug_info_builder.Append(")"); @@ -62,6 +62,6 @@ index 01a4f9c0bc86903243b548a49df11d2111877a16..9086c0ef56b7bc1c3b1ebe5885905eac + !is_standard) { + debug_info_builder.Append("use_url_with_non_standard_scheme"); + origin = SecurityOrigin::Create(url_); - } else { - debug_info_builder.Append("use_url_with_precursor"); - // Otherwise, create an origin that propagates precursor information + } else if (url_.IsAboutSrcdocURL()) { + // If there's no owner_document and this is a srcdoc load, then get the + // origin from the remote parent. A srcdoc navigation with no owner_document diff --git a/patches/chromium/fix_crash_when_saving_edited_pdf_files.patch b/patches/chromium/fix_crash_when_saving_edited_pdf_files.patch index 701ec86575..3c7e94d2b2 100644 --- a/patches/chromium/fix_crash_when_saving_edited_pdf_files.patch +++ b/patches/chromium/fix_crash_when_saving_edited_pdf_files.patch @@ -13,10 +13,10 @@ This patch can be removed should we choose to support chrome.fileSystem or support it enough to fix the crash. diff --git a/chrome/browser/resources/pdf/pdf_viewer.ts b/chrome/browser/resources/pdf/pdf_viewer.ts -index 903be625db73bb5712f1f79970baef74304f428e..8fed791ed03063f43c3cb29c6942fb04556a5f32 100644 +index 79ef6101a4a1a82f31e038557524b60bf92ffe8d..80d35ed15d353bb5bc0899f8511516b551628cc1 100644 --- a/chrome/browser/resources/pdf/pdf_viewer.ts +++ b/chrome/browser/resources/pdf/pdf_viewer.ts -@@ -937,7 +937,15 @@ export class PdfViewerElement extends PdfViewerBaseElement { +@@ -955,7 +955,15 @@ export class PdfViewerElement extends PdfViewerBaseElement { dataArray = [result.dataToSave]; } @@ -32,7 +32,7 @@ index 903be625db73bb5712f1f79970baef74304f428e..8fed791ed03063f43c3cb29c6942fb04 const fileName = this.attachments_[index].name; chrome.fileSystem.chooseEntry( {type: 'saveFile', suggestedName: fileName}, -@@ -961,6 +969,7 @@ export class PdfViewerElement extends PdfViewerBaseElement { +@@ -979,6 +987,7 @@ export class PdfViewerElement extends PdfViewerBaseElement { } }); }); @@ -40,7 +40,7 @@ index 903be625db73bb5712f1f79970baef74304f428e..8fed791ed03063f43c3cb29c6942fb04 } /** -@@ -1068,8 +1077,15 @@ export class PdfViewerElement extends PdfViewerBaseElement { +@@ -1086,8 +1095,15 @@ export class PdfViewerElement extends PdfViewerBaseElement { fileName = fileName + '.pdf'; } @@ -57,7 +57,7 @@ index 903be625db73bb5712f1f79970baef74304f428e..8fed791ed03063f43c3cb29c6942fb04 chrome.fileSystem.chooseEntry( { type: 'saveFile', -@@ -1096,6 +1112,7 @@ export class PdfViewerElement extends PdfViewerBaseElement { +@@ -1114,6 +1130,7 @@ export class PdfViewerElement extends PdfViewerBaseElement { } }); }); diff --git a/patches/chromium/fix_disabling_background_throttling_in_compositor.patch b/patches/chromium/fix_disabling_background_throttling_in_compositor.patch index 783f8fecdc..aff0847017 100644 --- a/patches/chromium/fix_disabling_background_throttling_in_compositor.patch +++ b/patches/chromium/fix_disabling_background_throttling_in_compositor.patch @@ -12,7 +12,7 @@ invisible state of the `viz::DisplayScheduler` owned by the `ui::Compositor`. diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc -index 33f68e9a42b5d4dd9a25309ea8b1d3955d2c4550..16660be85a2ac25bacbaf95d40acb896536ef852 100644 +index 3bb35f0d0686df1718cc62c6d4ab42817477dd26..43a53e4b91747b3224ee8ac8002a4c8a9ed8a092 100644 --- a/ui/compositor/compositor.cc +++ b/ui/compositor/compositor.cc @@ -339,7 +339,8 @@ void Compositor::SetLayerTreeFrameSink( @@ -39,7 +39,7 @@ index 33f68e9a42b5d4dd9a25309ea8b1d3955d2c4550..16660be85a2ac25bacbaf95d40acb896 } bool Compositor::IsVisible() { -@@ -957,4 +961,13 @@ const cc::LayerTreeSettings& Compositor::GetLayerTreeSettings() const { +@@ -959,4 +963,13 @@ const cc::LayerTreeSettings& Compositor::GetLayerTreeSettings() const { return host_->GetSettings(); } @@ -54,7 +54,7 @@ index 33f68e9a42b5d4dd9a25309ea8b1d3955d2c4550..16660be85a2ac25bacbaf95d40acb896 + } // namespace ui diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h -index 4b3ed41d771cad8f22bf74dfc8349dd4c18924fb..b0c826ff8f0b06e26447424d9c305c2ebcee5c5c 100644 +index 29e8cbde697ca4815275d87e04ee1311d14f1ecb..ecc0de0ecb32f7bfd5624b017588f75bb88ab7f3 100644 --- a/ui/compositor/compositor.h +++ b/ui/compositor/compositor.h @@ -508,6 +508,10 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, diff --git a/patches/chromium/fix_move_autopipsettingshelper_behind_branding_buildflag.patch b/patches/chromium/fix_move_autopipsettingshelper_behind_branding_buildflag.patch index d7a18554b7..7ec17d603e 100644 --- a/patches/chromium/fix_move_autopipsettingshelper_behind_branding_buildflag.patch +++ b/patches/chromium/fix_move_autopipsettingshelper_behind_branding_buildflag.patch @@ -75,10 +75,10 @@ index 5b0342be7e9732cdceb53b951c34dceb30e12da1..2f01a432540f603955b7809faeca5130 PictureInPictureOcclusionTracker* diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc -index b3419d2bb60ab0488fc0413843c33b5a926fee09..059754d92621ada9100e739ee6b5db01ae9ea75f 100644 +index 569e99b4790b88326029d3681adb4958777f3499..53710288d90ae02977091b67aab153283e767739 100644 --- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc -@@ -314,11 +314,13 @@ std::unique_ptr VideoOverlayWindowViews::Create( +@@ -342,11 +342,13 @@ std::unique_ptr VideoOverlayWindowViews::Create( } #endif // BUILDFLAG(IS_WIN) diff --git a/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch b/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch index a641c415c1..3c4d05cf6e 100644 --- a/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch +++ b/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch @@ -9,10 +9,10 @@ focus node change via TextInputManager. chromium-bug: https://crbug.com/1369605 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 955a74fa895303a6e2db5f59a1f6a39fbe4c84bf..d2488feb9aaa3ab4ee319653ec818efdb18d7578 100644 +index fa18900586854c5d6b936d6b9e6fac1c9e571bce..6df34cc1c58d5722d6b6832abb47d2376a7818d8 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -2915,6 +2915,12 @@ void RenderWidgetHostViewAura::OnTextSelectionChanged( +@@ -2916,6 +2916,12 @@ void RenderWidgetHostViewAura::OnTextSelectionChanged( } } @@ -39,10 +39,10 @@ index e44b23e055f985fea140a41a87f10a5423f7c77d..d1e09b159746ad13de9f3fea6b189bb9 // Detaches |this| from the input method object. // is_removed flag is true if this is called while the window is diff --git a/content/browser/renderer_host/text_input_manager.cc b/content/browser/renderer_host/text_input_manager.cc -index a73f08700e77443b1229ee35f99356be57d376f5..d37da7f122cdd326499d9e89fc83bef89d726014 100644 +index 1fd6203a11e5fef9a680e935b44226795932eea2..a3de9dc52df2f8bd2427db235a4ba4a41040ff3b 100644 --- a/content/browser/renderer_host/text_input_manager.cc +++ b/content/browser/renderer_host/text_input_manager.cc -@@ -167,6 +167,7 @@ void TextInputManager::UpdateTextInputState( +@@ -166,6 +166,7 @@ void TextInputManager::UpdateTextInputState( if (text_input_state.type == ui::TEXT_INPUT_TYPE_NONE && active_view_ != view) { @@ -50,7 +50,7 @@ index a73f08700e77443b1229ee35f99356be57d376f5..d37da7f122cdd326499d9e89fc83bef8 // We reached here because an IPC is received to reset the TextInputState // for |view|. But |view| != |active_view_|, which suggests that at least // one other view has become active and we have received the corresponding -@@ -453,6 +454,12 @@ void TextInputManager::NotifyObserversAboutInputStateUpdate( +@@ -452,6 +453,12 @@ void TextInputManager::NotifyObserversAboutInputStateUpdate( observer.OnUpdateTextInputStateCalled(this, updated_view, did_update_state); } @@ -64,7 +64,7 @@ index a73f08700e77443b1229ee35f99356be57d376f5..d37da7f122cdd326499d9e89fc83bef8 TextInputManager::SelectionRegion::SelectionRegion( diff --git a/content/browser/renderer_host/text_input_manager.h b/content/browser/renderer_host/text_input_manager.h -index 01993347572548e46d8583c0bb568be4f12c7207..c679db5de0e2b60867b8f4b30c9b72b63420d694 100644 +index 0c7d5b2c1d3e97420913bd643bb2a524a76fc286..653793fa480f035ce11e079b370bf5ed5cacfa65 100644 --- a/content/browser/renderer_host/text_input_manager.h +++ b/content/browser/renderer_host/text_input_manager.h @@ -71,6 +71,10 @@ class CONTENT_EXPORT TextInputManager { @@ -78,7 +78,7 @@ index 01993347572548e46d8583c0bb568be4f12c7207..c679db5de0e2b60867b8f4b30c9b72b6 }; // Text selection bounds. -@@ -277,6 +281,7 @@ class CONTENT_EXPORT TextInputManager { +@@ -275,6 +279,7 @@ class CONTENT_EXPORT TextInputManager { void NotifyObserversAboutInputStateUpdate(RenderWidgetHostViewBase* view, bool did_update_state); @@ -87,10 +87,10 @@ index 01993347572548e46d8583c0bb568be4f12c7207..c679db5de0e2b60867b8f4b30c9b72b6 // The view with active text input state, i.e., a focused element. // It will be nullptr if no such view exists. Note that the active view diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index ee75d9a235342062d67874099f81b5c184233998..49af8f6795231341fd1d3818ae386014bb666be0 100644 +index 459d9057d4155f83f6c184d654930f10f2a3241a..7f061765a05ca246e942e38f312e780000978ced 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -8785,7 +8785,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( +@@ -8837,7 +8837,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( "WebContentsImpl::OnFocusedElementChangedInFrame", "render_frame_host", frame); RenderWidgetHostViewBase* root_view = diff --git a/patches/chromium/fix_restore_original_resize_performance_on_macos.patch b/patches/chromium/fix_restore_original_resize_performance_on_macos.patch index e87c48bd39..62d49e280f 100644 --- a/patches/chromium/fix_restore_original_resize_performance_on_macos.patch +++ b/patches/chromium/fix_restore_original_resize_performance_on_macos.patch @@ -11,7 +11,7 @@ This patch should be upstreamed as a conditional revert of the logic in desktop vs mobile runtimes. i.e. restore the old logic only on desktop platforms diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index 6b83e02c88f71d6b330a9b330d31b6595aba45a1..a36036e141ea3fa5faaefefd9651756250fcab01 100644 +index e993e7541de716377959aeb71a784a2cab53289b..b226b7ca8a5cdde4581ddbf452e691c0e699829b 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -2140,9 +2140,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() { diff --git a/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch b/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch index 0e973b6413..35835a5f5d 100644 --- a/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch +++ b/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch @@ -64,10 +64,10 @@ index cba373664bec3a32abad6fe0396bd67b53b7e67f..7a985067b1371604644d48159f2f5aa7 #endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index bf57ea36b37c5cb9441b2b62ae3ac020c297b495..ea86514b3a6701c069bf716ebadedb50346bf1a8 100644 +index e84ae764c9d47bfb78d01aa20695e03b07787136..6edb6bd6d8de5fdbd12473673262e05b218cd805 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -2971,6 +2971,7 @@ void LocalFrame::RequestExecuteScript( +@@ -2966,6 +2966,7 @@ void LocalFrame::RequestExecuteScript( mojom::blink::EvaluationTiming evaluation_timing, mojom::blink::LoadEventBlockingOption blocking_option, WebScriptExecutionCallback callback, @@ -75,7 +75,7 @@ index bf57ea36b37c5cb9441b2b62ae3ac020c297b495..ea86514b3a6701c069bf716ebadedb50 BackForwardCacheAware back_forward_cache_aware, mojom::blink::WantResultOption want_result_option, mojom::blink::PromiseResultOption promise_behavior) { -@@ -3004,7 +3005,7 @@ void LocalFrame::RequestExecuteScript( +@@ -2999,7 +3000,7 @@ void LocalFrame::RequestExecuteScript( PausableScriptExecutor::CreateAndRun( script_state, std::move(script_sources), execute_script_policy, user_gesture, evaluation_timing, blocking_option, want_result_option, @@ -85,10 +85,10 @@ index bf57ea36b37c5cb9441b2b62ae3ac020c297b495..ea86514b3a6701c069bf716ebadedb50 void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() { diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h -index 1f659eb65fed28578dad3c58f90e90f96268a5f2..118346a19b127729eec1f422cb8c2f4baba1f95c 100644 +index 366f0d69c113b966686572f85c8a482e5b522f5b..e223af5aebd2f62947f5392ca7a622ec4e469417 100644 --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -823,6 +823,7 @@ class CORE_EXPORT LocalFrame final +@@ -821,6 +821,7 @@ class CORE_EXPORT LocalFrame final mojom::blink::EvaluationTiming, mojom::blink::LoadEventBlockingOption, WebScriptExecutionCallback, @@ -97,10 +97,10 @@ index 1f659eb65fed28578dad3c58f90e90f96268a5f2..118346a19b127729eec1f422cb8c2f4b mojom::blink::WantResultOption, mojom::blink::PromiseResultOption); diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc -index 44fb3b36cc76827219d8879867cc314399c1bef8..d7d650641a42b48f71036ba32fa93fe3532618d9 100644 +index 999f3f7ecbb9e4ffda99b7cd930bf324eaf1851f..0c74f1071781cffb34103368380268865a633f45 100644 --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc -@@ -968,6 +968,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld( +@@ -969,6 +969,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld( std::move(callback).Run(value ? std::move(*value) : base::Value()); }, std::move(callback)), @@ -109,10 +109,10 @@ index 44fb3b36cc76827219d8879867cc314399c1bef8..d7d650641a42b48f71036ba32fa93fe3 wants_result ? mojom::blink::WantResultOption::kWantResultDateAndRegExpAllowed diff --git a/third_party/blink/renderer/core/frame/pausable_script_executor.cc b/third_party/blink/renderer/core/frame/pausable_script_executor.cc -index a319d1280aa1a5f768d2bdae2efe324857701b73..6f715664e5e58f8c8637589ace72b26ed0df253c 100644 +index 3b31917c7225b5ad6b4e8c2c04e50354cb79c6d9..db6536dad37ddae6552c8d5b195d95e308065498 100644 --- a/third_party/blink/renderer/core/frame/pausable_script_executor.cc +++ b/third_party/blink/renderer/core/frame/pausable_script_executor.cc -@@ -249,7 +249,7 @@ void PausableScriptExecutor::CreateAndRun( +@@ -250,7 +250,7 @@ void PausableScriptExecutor::CreateAndRun( script_state, mojom::blink::UserActivationOption::kDoNotActivate, mojom::blink::LoadEventBlockingOption::kDoNotBlock, want_result_option, mojom::blink::PromiseResultOption::kDoNotWait, @@ -121,7 +121,7 @@ index a319d1280aa1a5f768d2bdae2efe324857701b73..6f715664e5e58f8c8637589ace72b26e MakeGarbageCollected( script_state->GetIsolate(), function, receiver, argc, argv)); executor->Run(); -@@ -264,10 +264,11 @@ void PausableScriptExecutor::CreateAndRun( +@@ -265,10 +265,11 @@ void PausableScriptExecutor::CreateAndRun( mojom::blink::LoadEventBlockingOption blocking_option, mojom::blink::WantResultOption want_result_option, mojom::blink::PromiseResultOption promise_result_option, @@ -135,7 +135,7 @@ index a319d1280aa1a5f768d2bdae2efe324857701b73..6f715664e5e58f8c8637589ace72b26e MakeGarbageCollected(std::move(sources), execute_script_policy)); switch (evaluation_timing) { -@@ -289,6 +290,14 @@ void PausableScriptExecutor::ContextDestroyed() { +@@ -290,6 +291,14 @@ void PausableScriptExecutor::ContextDestroyed() { ScriptState::Scope script_scope(script_state_); std::move(callback_).Run({}, {}); } @@ -150,7 +150,7 @@ index a319d1280aa1a5f768d2bdae2efe324857701b73..6f715664e5e58f8c8637589ace72b26e Dispose(); } -@@ -299,10 +308,12 @@ PausableScriptExecutor::PausableScriptExecutor( +@@ -300,10 +309,12 @@ PausableScriptExecutor::PausableScriptExecutor( mojom::blink::WantResultOption want_result_option, mojom::blink::PromiseResultOption promise_result_option, WebScriptExecutionCallback callback, @@ -163,7 +163,7 @@ index a319d1280aa1a5f768d2bdae2efe324857701b73..6f715664e5e58f8c8637589ace72b26e user_activation_option_(user_activation_option), blocking_option_(blocking_option), want_result_option_(want_result_option), -@@ -426,6 +437,9 @@ void PausableScriptExecutor::HandleResults( +@@ -427,6 +438,9 @@ void PausableScriptExecutor::HandleResults( std::move(callback_).Run(std::move(value), start_time_); } @@ -216,10 +216,10 @@ index 7b3adb5b23720dd597698c7ea7672d63a926eb6c..e34095fcd5c025d3d27421b07cd41e2c mojom::blink::WantResultOption::kWantResult, wait_for_promise); } 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 ac5f277872d8f44fbcceb12fe8f58c5ea428e79b..400fad983c0644c3a534ab91c6e8da6927bba12b 100644 +index da1a3ea87b51810f340b0673c10b29ab1f7d9328..20aa0ea69f6689c648604c2822bc6a798d5b5230 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 -@@ -1134,14 +1134,15 @@ void WebLocalFrameImpl::RequestExecuteScript( +@@ -1120,14 +1120,15 @@ void WebLocalFrameImpl::RequestExecuteScript( mojom::blink::EvaluationTiming evaluation_timing, mojom::blink::LoadEventBlockingOption blocking_option, WebScriptExecutionCallback callback, diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index 292b3f9f2c..73498ddb39 100644 --- a/patches/chromium/frame_host_manager.patch +++ b/patches/chromium/frame_host_manager.patch @@ -6,10 +6,10 @@ Subject: frame_host_manager.patch Allows embedder to intercept site instances created by chromium. diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc -index c823c64a306d6c7b91c1b98c1849e7ae13fbf5f5..70fb709510fc1b21466315260fef720399cc36b5 100644 +index 7ab2528ebaae494ee276929b11b8782b36999189..9a9f49aac1250ad3095311e1528ba77b8d4f3d4c 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -4262,6 +4262,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -4272,6 +4272,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } @@ -20,7 +20,7 @@ index c823c64a306d6c7b91c1b98c1849e7ae13fbf5f5..70fb709510fc1b21466315260fef7203 } diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index da88d205c15eae320a4580c11c30d4dc24d8dc1e..588dfb09b3b0366b0a39e9c4fb27edd49930f903 100644 +index 25641beab08c2f575494f23850b1e22f1958569b..6d6ffe35bb63ecb673d46297780b134ecb1da42b 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -308,6 +308,11 @@ class CONTENT_EXPORT ContentBrowserClient { diff --git a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch index 5bbadb7541..bd613fd161 100644 --- a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch +++ b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch @@ -12,10 +12,10 @@ 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 0582075df870162a97b463f6b3035a30bcfe36ae..d94c18d16f5ad80f14120c249e83e795c50c5106 100644 +index 7a29221744211227cc1153aad6fee797f5f71134..2a414e5b29791f9fac230555f44129eb1a632719 100644 --- a/content/browser/gpu/gpu_data_manager_impl.cc +++ b/content/browser/gpu/gpu_data_manager_impl.cc -@@ -225,6 +225,11 @@ void GpuDataManagerImpl::TerminateInfoCollectionGpuProcess() { +@@ -214,6 +214,11 @@ void GpuDataManagerImpl::TerminateInfoCollectionGpuProcess() { base::AutoLock auto_lock(lock_); private_->TerminateInfoCollectionGpuProcess(); } @@ -28,10 +28,10 @@ index 0582075df870162a97b463f6b3035a30bcfe36ae..d94c18d16f5ad80f14120c249e83e795 void GpuDataManagerImpl::PostCreateThreads() { diff --git a/content/browser/gpu/gpu_data_manager_impl.h b/content/browser/gpu/gpu_data_manager_impl.h -index 25896ab0f3ca233ae17bf509f2a6ae5a6cc3c54b..5a8e6d184e276833034c604be8c48e01122207e2 100644 +index 08c9940799c935898e02dca5c95b39edbe3fbb32..ced6f932b5bb03d27780d80d158a2eacf206e498 100644 --- a/content/browser/gpu/gpu_data_manager_impl.h +++ b/content/browser/gpu/gpu_data_manager_impl.h -@@ -121,6 +121,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDataManager, +@@ -117,6 +117,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDataManager, bool Dx12Requested() const; bool VulkanRequested() const; void TerminateInfoCollectionGpuProcess(); @@ -40,27 +40,25 @@ index 25896ab0f3ca233ae17bf509f2a6ae5a6cc3c54b..5a8e6d184e276833034c604be8c48e01 // Called from BrowserMainLoop::PostCreateThreads(). // TODO(content/browser/gpu/OWNERS): This should probably use a diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc -index b9829c8f89a5daf8122ebab3f9c863a5900ac69a..f91e6c4cabf33884498d23a0e0d5e9cde60f2be2 100644 +index ce9a571cf8ca44ced937071047bb5daf2732de2b..8bc154b098c72d5a43af7a638cafb32807cb7468 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.cc +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1232,6 +1232,12 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() { +@@ -1140,6 +1140,10 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() { if (host) host->ForceShutdown(); } + +bool GpuDataManagerImplPrivate::DxdiagDx12VulkanRequested() const { -+ return !(gpu_info_vulkan_request_failed_ || -+ gpu_info_dx12_request_failed_ || -+ gpu_info_dx_diag_request_failed_); ++ return !(gpu_info_vulkan_request_failed_ || gpu_info_dx12_request_failed_); +} #endif void GpuDataManagerImplPrivate::PostCreateThreads() { diff --git a/content/browser/gpu/gpu_data_manager_impl_private.h b/content/browser/gpu/gpu_data_manager_impl_private.h -index 20e883daaa07133f977c5fe0c822f324d2642793..28306624ec6f7f9a7848e65787d4dc5aa738a76c 100644 +index f907360160caee6510bb209d71ffa61f0de1e5b9..af68fc04861caf7b050f8afd65bbda0cc8685e45 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.h +++ b/content/browser/gpu/gpu_data_manager_impl_private.h -@@ -86,6 +86,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -84,6 +84,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { bool Dx12Requested() const; bool VulkanRequested() const; void TerminateInfoCollectionGpuProcess(); diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index d1b9bbb230..cc15713867 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 bbae0289afb0ee8348e01144e8c3817aa847efd9..3624ca5c60b099e8d7437fac90ebf045a52920d2 100644 +index fb51337be0c37b18e20dbdbc01f5382a02266e1b..0b88ffda8399ec6a6fbdc4e8db97c427362bd746 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1276,6 +1276,11 @@ +@@ -1279,6 +1279,11 @@ "includes": [8440], }, diff --git a/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch b/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch index 919bce201e..3d8d1856aa 100644 --- a/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch +++ b/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch @@ -11,7 +11,7 @@ If removing this patch causes no sync failures, it's safe to delete :+1: Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903 diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py -index 557e1cb308e64ded68deb926baedeb02a41b9dad..956f4f3e0ee470ff628f92ee20b9f0b05c48dd50 100755 +index 677ce05277c770d901829b6b6bc5242a448ed0c9..b8fc1ec916848f8fc301e043e7e28c4303209087 100755 --- a/tools/clang/scripts/update.py +++ b/tools/clang/scripts/update.py @@ -306,6 +306,8 @@ def GetDefaultHostOs(): diff --git a/patches/chromium/introduce_ozoneplatform_electron_can_call_x11_property.patch b/patches/chromium/introduce_ozoneplatform_electron_can_call_x11_property.patch index 655b71cea2..868bf97e51 100644 --- a/patches/chromium/introduce_ozoneplatform_electron_can_call_x11_property.patch +++ b/patches/chromium/introduce_ozoneplatform_electron_can_call_x11_property.patch @@ -21,10 +21,10 @@ index 94012aae5f38ddf46810418717d46bdb3d9f1869..0cb6d49f2b23533c5e631fecff41e50a properties->supports_global_application_menus = true; properties->app_modal_dialogs_use_event_blocker = true; diff --git a/ui/ozone/public/ozone_platform.h b/ui/ozone/public/ozone_platform.h -index 548d56d6f66ae80f3509fb3c3975c51b02c2cdf2..4010f451d7f6b5daa3ba083b197446f81a2a63ba 100644 +index 35673a348d4e5d546d6db5dad0935eb6784bda4c..2becdaa0efdd8b4a0499ad7ead5620d1faadfacb 100644 --- a/ui/ozone/public/ozone_platform.h +++ b/ui/ozone/public/ozone_platform.h -@@ -121,6 +121,10 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform { +@@ -122,6 +122,10 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform { // Linux only: determines if Skia can fall back to the X11 output device. bool skia_can_fall_back_to_x11 = false; diff --git a/patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch b/patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch index 96f84a6843..1dbddcc0a6 100644 --- a/patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch +++ b/patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch @@ -9,7 +9,7 @@ be created for each child process, despite logs being redirected to a file. diff --git a/content/app/content_main.cc b/content/app/content_main.cc -index 773c69ca0b880d5fbc30bc8635d41c25fa096ebc..2791389b080032ca53e54b76a24715ba763e051d 100644 +index ffbb5986ca997135bd44b5a4aa02066cfce5f394..520825bc2d7d7006544e9d88a8c196f03903ff60 100644 --- a/content/app/content_main.cc +++ b/content/app/content_main.cc @@ -308,14 +308,13 @@ RunContentProcess(ContentMainParams params, diff --git a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch index a0ab6ba3e3..bbde29e58b 100644 --- a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch +++ b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch @@ -35,10 +35,10 @@ system font by checking if it's kCTFontPriorityAttribute is set to system priority. diff --git a/base/BUILD.gn b/base/BUILD.gn -index 8ffd60e5db7918318384ad18173d2e3dddb9b229..c915c6f00999d54c47d1b5a59a6e8361c0002ea4 100644 +index c9f0292cae20a3aa206092a44220d336cb511070..3330a093fb229b823c394440c40405ee628f28e9 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -1052,6 +1052,7 @@ component("base") { +@@ -1048,6 +1048,7 @@ component("base") { "//build/config/compiler:prevent_unsafe_narrowing", "//build/config/compiler:wexit_time_destructors", "//build/config/compiler:wglobal_constructors", @@ -283,7 +283,7 @@ index 3a815ebf505bd95fa7f6b61ba433d98fbfe20225..dbbebbdc1735bc14224dfcde0b7fe3a6 + @end diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h -index 25672be4a7dac9a8cd53498184f537292e14d5c2..ef0844ae2845990832fc9777eade94550fb8ffaa 100644 +index 945b01f2132547fa0f6a97ee4895994c500d1410..c01b2fdecf9b54fa01e5be9f45eaa234fc42d06b 100644 --- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h +++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h @@ -17,6 +17,7 @@ class NativeWidgetNSWindowBridge; @@ -303,7 +303,7 @@ index 25672be4a7dac9a8cd53498184f537292e14d5c2..ef0844ae2845990832fc9777eade9455 // The NSWindow used by BridgedNativeWidget. Provides hooks into AppKit that // can only be accomplished by overriding methods. diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm -index 568f0c23f1b276f36f1871f23e4a1c8ed7366e6c..e0a8d474cafb654b2bb420ee914ef4f596de2d6d 100644 +index eca5cea5131601638c20a4d9a885461df54095da..5032994a576bd85a2aaa7723bbfec4d5f94f6812 100644 --- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm +++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm @@ -104,7 +104,9 @@ void OrderChildWindow(NSWindow* child_window, @@ -353,7 +353,7 @@ index 568f0c23f1b276f36f1871f23e4a1c8ed7366e6c..e0a8d474cafb654b2bb420ee914ef4f5 bool shouldShowWindowTitle = YES; if (_bridge) 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 3f4ac8e2455a2acf948777801deb0af5035251fa..9d218f927d99e32fcdd76f21d727b5c03856fb2f 100644 +index 5535f9c56113f1f46a925d6cc16049a841d0b609..2845da60cf229e6899bc200218eda2e0961f9f21 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 @@ -620,10 +620,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) { @@ -370,10 +370,10 @@ index 3f4ac8e2455a2acf948777801deb0af5035251fa..9d218f927d99e32fcdd76f21d727b5c0 // Beware: This view was briefly removed (in favor of a bare CALayer) in // https://crrev.com/c/1236675. The ordering of unassociated layers relative diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index 2cb7309131a42d8b374f2000cdd232ce48d561b8..fc67ca507ecbf39fabba4142e8a3ac618f3eeaf9 100644 +index 578b712f9547432f71704bfc71051e15c9bb3ca2..17d4b2f0490894058f1896b694a558d387f25993 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn -@@ -356,6 +356,7 @@ viz_component("service") { +@@ -358,6 +358,7 @@ viz_component("service") { "frame_sinks/external_begin_frame_source_mac.h", ] } @@ -381,7 +381,7 @@ index 2cb7309131a42d8b374f2000cdd232ce48d561b8..fc67ca507ecbf39fabba4142e8a3ac61 } if (is_android || use_ozone) { -@@ -623,6 +624,7 @@ viz_source_set("unit_tests") { +@@ -625,6 +626,7 @@ viz_source_set("unit_tests") { "display_embedder/software_output_device_mac_unittest.mm", ] frameworks = [ "IOSurface.framework" ] @@ -459,7 +459,7 @@ index d520acc21839a63f5e1167c5ec3f119d89d43713..8b2f3c6cfa2615452fd43b7accd26ce8 return kAttributes; } diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn -index 9480a2453fc79a78143e10970cc7e479afcb818a..58acdffd6bf4c93d69b9e6f0565e567c377705a7 100644 +index 53801ccd1e8b2eadbe19d3eaf6b03186b2620a1c..c58175e595b98ed5a5e8c369e4c05f229edf5d2d 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn @@ -54,6 +54,7 @@ source_set("browser") { @@ -471,12 +471,12 @@ index 9480a2453fc79a78143e10970cc7e479afcb818a..58acdffd6bf4c93d69b9e6f0565e567c libs = [] frameworks = [] diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm -index 96979b61bb52b6b87ee31906bac3aef025cda8c7..786c0fb321055c23fa05fe9168654a3002e1be62 100644 +index 4655ac4756f8655a5a21ef21a1a7286b2c5f0e46..ec631b1f0925928546e855faa5e968f5aec2b225 100644 --- a/content/browser/accessibility/browser_accessibility_manager_mac.mm +++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm @@ -21,7 +21,9 @@ - #include "ui/accelerated_widget_mac/accelerated_widget_mac.h" #include "ui/accessibility/ax_role_properties.h" + #include "ui/accessibility/platform/ax_platform_tree_manager_delegate.h" #include "ui/accessibility/platform/ax_private_webkit_constants_mac.h" +#if !IS_MAS_BUILD() #include "ui/base/cocoa/remote_accessibility_api.h" @@ -500,7 +500,7 @@ index 96979b61bb52b6b87ee31906bac3aef025cda8c7..786c0fb321055c23fa05fe9168654a30 // Use native VoiceOver support for live regions. BrowserAccessibilityCocoa* retained_node = native_node; -@@ -633,6 +637,7 @@ void PostAnnouncementNotification(NSString* announcement, +@@ -620,6 +624,7 @@ void PostAnnouncementNotification(NSString* announcement, return window == [NSApp accessibilityFocusedWindow]; } @@ -508,7 +508,7 @@ index 96979b61bb52b6b87ee31906bac3aef025cda8c7..786c0fb321055c23fa05fe9168654a30 // TODO(accessibility): We need a solution to the problem described below. // If the window is NSAccessibilityRemoteUIElement, there are some challenges: // 1. NSApp is the browser which spawned the PWA, and what it considers the -@@ -661,6 +666,7 @@ void PostAnnouncementNotification(NSString* announcement, +@@ -648,6 +653,7 @@ void PostAnnouncementNotification(NSString* announcement, if ([window isKindOfClass:[NSAccessibilityRemoteUIElement class]]) { return true; } @@ -608,10 +608,10 @@ index 72b957cd89704085ad44d040e0826148d56881fb..39e03b029c4ebf03020f6cc8b67922f7 /////////////////////////////////////////////////////////////////////////////// diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn -index 55765cb73b3e4c41ed785a9da8906741e62f4a21..f3e3cee3eb27b5c995404db9cbdbf6351546e7af 100644 +index 7e67fb0c10bf7e3b99e94a4e026a1fb83ba0d133..cb9ece52b497ae1d22ac03f170b2696fe3a5f129 100644 --- a/content/common/BUILD.gn +++ b/content/common/BUILD.gn -@@ -244,6 +244,7 @@ source_set("common") { +@@ -242,6 +242,7 @@ source_set("common") { "//content:content_implementation", "//build/config:precompiled_headers", ] @@ -620,10 +620,10 @@ index 55765cb73b3e4c41ed785a9da8906741e62f4a21..f3e3cee3eb27b5c995404db9cbdbf635 public_deps = [ ":mojo_bindings", diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn -index 6fae0b5280d5e5220f4e8695cb898a44de9dd22e..5dc89a6b06799e05051af025985964be4e2c9260 100644 +index d80cdfcc88d89155825c085558772617cf33ad7e..c48d2fa394ab2c39d15ff70ebbf5d3cd5046d804 100644 --- a/content/renderer/BUILD.gn +++ b/content/renderer/BUILD.gn -@@ -227,6 +227,7 @@ target(link_target_type, "renderer") { +@@ -228,6 +228,7 @@ target(link_target_type, "renderer") { } configs += [ "//content:content_implementation" ] @@ -700,10 +700,10 @@ index a119b4439bfb9218c7aaf09dca8e78527da7f20d..faa813b003940280c6eeb87e70173019 } // namespace content diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn -index 2815030a81e1e3ffa5dd7399e7f4553b11d1af6a..ce8614a12cc421920876883d65b9b51e136394e4 100644 +index ec5c896baa6c7ad16f4d43dcb86683dba465f8f4..113aa2da812903a46487092372084b89a710a5c2 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn -@@ -487,6 +487,7 @@ static_library("test_support") { +@@ -488,6 +488,7 @@ static_library("test_support") { configs += [ "//build/config:precompiled_headers", "//v8:external_startup_data", @@ -711,7 +711,7 @@ index 2815030a81e1e3ffa5dd7399e7f4553b11d1af6a..ce8614a12cc421920876883d65b9b51e ] public_deps = [ -@@ -1084,6 +1085,7 @@ static_library("browsertest_support") { +@@ -1086,6 +1087,7 @@ static_library("browsertest_support") { } configs += [ "//v8:external_startup_data" ] @@ -719,7 +719,7 @@ index 2815030a81e1e3ffa5dd7399e7f4553b11d1af6a..ce8614a12cc421920876883d65b9b51e } mojom("content_test_mojo_bindings") { -@@ -1700,6 +1702,7 @@ test("content_browsertests") { +@@ -1702,6 +1704,7 @@ test("content_browsertests") { defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] configs += [ "//build/config:precompiled_headers" ] @@ -727,7 +727,7 @@ index 2815030a81e1e3ffa5dd7399e7f4553b11d1af6a..ce8614a12cc421920876883d65b9b51e public_deps = [ ":test_interfaces", -@@ -2922,6 +2925,7 @@ test("content_unittests") { +@@ -2928,6 +2931,7 @@ test("content_unittests") { } configs += [ "//build/config:precompiled_headers" ] @@ -749,10 +749,10 @@ index 24facc48c2b6b30db3a7cb36e4222019b471e84b..d1d3e72407682b01e6c2173cd34445db sources += [ "browser/web_test_shell_platform_delegate_mac.mm" ] } else if (toolkit_views && !is_castos) { diff --git a/device/bluetooth/BUILD.gn b/device/bluetooth/BUILD.gn -index ff6d030a46995536a7382ae67a0b7b783370ef7f..3aad6d951f9c51b5edb866238fa1c8e6ff4431ab 100644 +index 05cce11f233e04e22bf9166ee107661900686bea..70268a1ff7c59a03903072fafe8b62acc3454287 100644 --- a/device/bluetooth/BUILD.gn +++ b/device/bluetooth/BUILD.gn -@@ -243,6 +243,7 @@ component("bluetooth") { +@@ -248,6 +248,7 @@ component("bluetooth") { "IOKit.framework", "Foundation.framework", ] @@ -805,10 +805,10 @@ index 3033b23a07041d375d5733bad1901f9a61bdf3b6..9dd6cb1aa49d03c167d1a92100d4ba5f base::WeakPtr diff --git a/gpu/ipc/service/BUILD.gn b/gpu/ipc/service/BUILD.gn -index e321b406a8375986b41d64342919bb0e8c5e58eb..8081d53adab80a6fccfdb4cd6f608c3bf7112c47 100644 +index ea3578a727bdccfff74a4112529af9ac052165f2..a0f8573a4401922e4bc9de9b0faf11951efef741 100644 --- a/gpu/ipc/service/BUILD.gn +++ b/gpu/ipc/service/BUILD.gn -@@ -133,6 +133,7 @@ component("service") { +@@ -135,6 +135,7 @@ component("service") { "QuartzCore.framework", ] defines += [ "GL_SILENCE_DEPRECATION" ] @@ -842,7 +842,7 @@ index b994079339dc0aebd86dac807645f81c2974fb96..b05e35c8eabccfd3147030d03453d78e gfx::Size pixel_size_; diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.mm b/gpu/ipc/service/image_transport_surface_overlay_mac.mm -index 3af7bb0fddf848f3c76d14c24730c6aba07fd83e..b23f152143d4958b7492cae47b8a3b01992e235f 100644 +index 59413520a9e2d601a80c90072089bed228460730..2ad023d3f9a2eb557a8f65c1727bf032a1aadbfd 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm @@ -75,12 +75,16 @@ @@ -901,10 +901,10 @@ index 90e093cd2d499ba0f37f3246bab288c758b51e19..6027134a4de53e6fe39fdbfdb67885e0 if (is_ios) { diff --git a/media/audio/apple/audio_low_latency_input.cc b/media/audio/apple/audio_low_latency_input.cc -index 8cd474c33e514fd0aa90daf68a56ed7fc902d713..9fff9cc7b00b257c3bebb02c75a3c2e809ffdf0a 100644 +index 25dfcca1ba390548599a4a3667a2ed6943834392..23a0960c13448aa6c9f413f00c833753d51aab80 100644 --- a/media/audio/apple/audio_low_latency_input.cc +++ b/media/audio/apple/audio_low_latency_input.cc -@@ -33,19 +33,23 @@ +@@ -34,19 +34,23 @@ namespace { extern "C" { @@ -942,7 +942,7 @@ index 0c0243c2bb9e72c6eba6f9af554b99e2d5514a5d..f5f0e0ec951ccc8278b773c852134e4e } diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn -index 0c5cb82b1248997ef3b97f17bef52f880fed26fd..8adecabe9aee119c7474834c038c79b271ad888e 100644 +index ebee73a859854299c1237b1190f4882bdd1c5121..67a818beb62a76a82a68313f3a27ab4e2ad780b5 100644 --- a/net/dns/BUILD.gn +++ b/net/dns/BUILD.gn @@ -183,6 +183,8 @@ source_set("dns") { @@ -1318,10 +1318,10 @@ index eb81a70e4d5d5cd3e6ae9b45f8cd1c795ea76c51..dc30306f2c5d20503399fc3a8860773a } // namespace sandbox diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn -index c6ab1b11b29d574234aae9f30401b1ff8a9023ce..ff94cb56f884811f6eaf3f9b15c534e3284c773b 100644 +index c6a38a54eee355342fad2918cb5f7992415df2ce..bdebe67853c8509357889fd4ab977c553307ff89 100644 --- a/third_party/blink/renderer/core/BUILD.gn +++ b/third_party/blink/renderer/core/BUILD.gn -@@ -312,6 +312,7 @@ component("core") { +@@ -311,6 +311,7 @@ component("core") { configs -= core_config_remove configs += core_config_add configs += [ "//v8:external_startup_data" ] @@ -1517,7 +1517,7 @@ index fc25ba79d2b0e1acdb7ba54b89e7d6e16f94771b..962df2d65d61ec0836cf465d847eb666 } // namespace diff --git a/ui/display/BUILD.gn b/ui/display/BUILD.gn -index 2dbfeb138a82d32859bb77018036bb0a2af45782..b02bf4b3480be9ce5a518610b652dff6ea1b025b 100644 +index 8fcf80911db2a84ed9f1f8e81ad0e3398719bba2..007d54e898d11b96356ef81cdf734304e98233fb 100644 --- a/ui/display/BUILD.gn +++ b/ui/display/BUILD.gn @@ -69,6 +69,10 @@ component("display") { @@ -1596,10 +1596,10 @@ index 0ab5fbd2a81d8860c73f29c08896f6755b5ca5fa..9400c6c7698258ff2834c550fb8901b4 // enough. return PlatformFontMac::SystemFontType::kGeneral; diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn -index 7c81ce5c3835b578369338a5020cfa51520d431d..4290eccab77ce8225f30585f7d1a0d1c064e2365 100644 +index d2a918d304afa5e540ab07a5d80887fe9ea6b60e..0fa6cc4314e7d2f16289b7bd7ab38d45cf5bed42 100644 --- a/ui/views/BUILD.gn +++ b/ui/views/BUILD.gn -@@ -710,6 +710,7 @@ component("views") { +@@ -712,6 +712,7 @@ component("views") { "IOSurface.framework", "QuartzCore.framework", ] @@ -1607,7 +1607,7 @@ index 7c81ce5c3835b578369338a5020cfa51520d431d..4290eccab77ce8225f30585f7d1a0d1c } if (is_win) { -@@ -1141,6 +1142,8 @@ source_set("test_support") { +@@ -1143,6 +1144,8 @@ source_set("test_support") { "//testing/gtest", ] 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 81fac5d71d..f3860ef6d2 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -7,10 +7,10 @@ This adds a callback from the network service that's used to implement session.setCertificateVerifyCallback. diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index df900e46ab1e0b8deb2a0f80e3b45b36b8402654..f417639adad080aa59d3f64a3061f5298518f47d 100644 +index ecefb420b45e9729fa97cb81362de36ccec4ae64..851280c5c26cb93a6a80977b0b3a9815ce2d5d11 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -150,6 +150,11 @@ +@@ -151,6 +151,11 @@ #include "services/network/web_transport.h" #include "url/gurl.h" @@ -22,7 +22,7 @@ index df900e46ab1e0b8deb2a0f80e3b45b36b8402654..f417639adad080aa59d3f64a3061f529 #if BUILDFLAG(IS_CT_SUPPORTED) // gn check does not account for BUILDFLAG(). So, for iOS builds, it will // complain about a missing dependency on the target exposing this header. Add a -@@ -513,6 +518,99 @@ bool GetFullDataFilePath( +@@ -514,6 +519,99 @@ bool GetFullDataFilePath( } // namespace @@ -136,7 +136,7 @@ index df900e46ab1e0b8deb2a0f80e3b45b36b8402654..f417639adad080aa59d3f64a3061f529 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -2343,6 +2448,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2344,6 +2449,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( std::move(cert_verifier)); cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_.get()); #endif // BUILDFLAG(IS_CHROMEOS) @@ -147,7 +147,7 @@ index df900e46ab1e0b8deb2a0f80e3b45b36b8402654..f417639adad080aa59d3f64a3061f529 builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( diff --git a/services/network/network_context.h b/services/network/network_context.h -index 401fa9c5931479dc2c60f3b3d7c58a4899ae06d2..fdc0899c6ccf8ff23dfad6de24ce0afa2efa4695 100644 +index bf94d00d748c6b703081f49f9b1df8c7f906930a..7cb0642b4661c5415b4f8f4a934ef32f27b9eb28 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h @@ -113,6 +113,7 @@ class URLMatcher; @@ -167,7 +167,7 @@ index 401fa9c5931479dc2c60f3b3d7c58a4899ae06d2..fdc0899c6ccf8ff23dfad6de24ce0afa void ResetURLLoaderFactories() override; void GetViaObliviousHttp( mojom::ObliviousHttpRequestPtr request, -@@ -880,6 +883,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -875,6 +878,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext std::vector dismount_closures_; #endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED) @@ -175,9 +175,9 @@ index 401fa9c5931479dc2c60f3b3d7c58a4899ae06d2..fdc0899c6ccf8ff23dfad6de24ce0afa + // Created on-demand. Null if unused. std::unique_ptr internal_host_resolver_; - // Map values set to non-null only if that HostResolver has its own private + std::set, base::UniquePtrComparator> diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index 8495a3c67ba02f38b55324e89b50d1eca97b48ca..4ddf7e5728ac11a65da76f9cda161a8ee01b6049 100644 +index e6b9d328b94d229dcb5a6267d3e5f3f7d42d1baf..567d6f230e33b2e7d9ff8e3f768fc4c94704eaac 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom @@ -298,6 +298,16 @@ struct SocketBrokerRemotes { @@ -197,7 +197,7 @@ index 8495a3c67ba02f38b55324e89b50d1eca97b48ca..4ddf7e5728ac11a65da76f9cda161a8e // Parameters for constructing a network context. struct NetworkContextParams { -@@ -953,6 +963,9 @@ interface NetworkContext { +@@ -956,6 +966,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 48d1d4c17e..4e43291b56 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -133,7 +133,7 @@ index 38c8cf36fdf9366121c7ada96c167a4c9664952e..03b37fb62655a355e104870a088e4222 const GURL& document_url, const WeakDocumentPtr& weak_document_ptr, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 4ba125eae7b529420049f81fdd8ea891448b29a1..5f92d4ba208938de7c939b079cd3a328058a5d8c 100644 +index 823b7e020bc931b64418c0a874539454e491d843..c299ed667915660edb4bdd70eda947f7420e8734 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -2044,7 +2044,7 @@ void RenderProcessHostImpl::CreateNotificationService( diff --git a/patches/chromium/picture-in-picture.patch b/patches/chromium/picture-in-picture.patch index fbaae93e7e..f821e81d67 100644 --- a/patches/chromium/picture-in-picture.patch +++ b/patches/chromium/picture-in-picture.patch @@ -40,7 +40,7 @@ index 1a0c7f5f204f00b52747ebb7800b39a3479f1178..52a1b350c8b5a13b4c0636b43f4773b7 ui::ImageModel::FromVectorIcon(*icon, kColorPipWindowForeground, kCloseButtonIconSize)); diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc -index 8f486ad5ce3862038dc749148044876fbc7e9da2..b3419d2bb60ab0488fc0413843c33b5a926fee09 100644 +index 5e7c2cc28e00a84b330558dca3a520c08687e274..569e99b4790b88326029d3681adb4958777f3499 100644 --- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc @@ -17,9 +17,11 @@ @@ -62,9 +62,9 @@ index 8f486ad5ce3862038dc749148044876fbc7e9da2..b3419d2bb60ab0488fc0413843c33b5a -#if BUILDFLAG(IS_WIN) +#if 0 #include "chrome/browser/shell_integration_win.h" + #include "content/public/browser/render_widget_host_view.h" #include "ui/aura/window.h" - #include "ui/aura/window_tree_host.h" -@@ -292,7 +294,7 @@ std::unique_ptr VideoOverlayWindowViews::Create( +@@ -310,7 +312,7 @@ std::unique_ptr VideoOverlayWindowViews::Create( overlay_window->Init(std::move(params)); overlay_window->OnRootViewReady(); diff --git a/patches/chromium/port_autofill_colors_to_the_color_pipeline.patch b/patches/chromium/port_autofill_colors_to_the_color_pipeline.patch index c2c5783727..c128e46f00 100644 --- a/patches/chromium/port_autofill_colors_to_the_color_pipeline.patch +++ b/patches/chromium/port_autofill_colors_to_the_color_pipeline.patch @@ -8,7 +8,7 @@ needed in chromium but our autofill implementation uses them. This patch can be our autofill implementation to work like Chromium's. diff --git a/ui/color/color_id.h b/ui/color/color_id.h -index b6915564a74e5c2c2a6ee3f3b1042a7a47fc540a..9dd2cccc8c863b7f13faf051cba5b54850529809 100644 +index 73a6856caee5c354ae09ba470dc3e5a208d03131..c6edf8f97ac1b11bfc6d796302db3211ba7504b2 100644 --- a/ui/color/color_id.h +++ b/ui/color/color_id.h @@ -409,6 +409,10 @@ diff --git a/patches/chromium/printing.patch b/patches/chromium/printing.patch index e3d862fe65..61b380aa46 100644 --- a/patches/chromium/printing.patch +++ b/patches/chromium/printing.patch @@ -11,7 +11,7 @@ majority of changes originally come from these PRs: This patch also fixes callback for manual user cancellation and success. diff --git a/BUILD.gn b/BUILD.gn -index 28ba2fe1481518bb42eb79db4ab157fb6020b434..e8a2ed2b04007ba5f1135f49a156b5a6b37ae3ab 100644 +index 69e759c3b34692beac06ceeddf4b3f1637fb7788..42d0da7f936626aa8bb90057723deeaafce8744d 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -973,7 +973,6 @@ if (is_win) { @@ -34,7 +34,7 @@ index 28ba2fe1481518bb42eb79db4ab157fb6020b434..e8a2ed2b04007ba5f1135f49a156b5a6 } diff --git a/chrome/browser/printing/print_job.cc b/chrome/browser/printing/print_job.cc -index 874b9efcf9e70650728885519009360ee770a79f..6c4d24d44e69d796bc6bfec5f7092f5b3ae28703 100644 +index 0d8a53178e8d509a573ffdaadf2c4cec670522ac..8e7f9b92beb317888a5a3acb3bc2fa29f283ff03 100644 --- a/chrome/browser/printing/print_job.cc +++ b/chrome/browser/printing/print_job.cc @@ -96,6 +96,7 @@ bool PrintWithReducedRasterization(PrefService* prefs) { @@ -640,7 +640,7 @@ index 4ecdb28904fac480cf102fffdff24ae008ac88cf..e8150c95fafd83d7e2fe1f472a35acec PrintingFailed(int32 cookie, PrintFailureReason reason); diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc -index 1fafad1543a007873aca7157798fe7ca8a1afea6..d69134f785b9fb39130959f0a38e0ab0ae8d5460 100644 +index 6ba4d1584f12bb3b064e1cfe17ceaacfde8b4c16..cf263d8e7d3ce07fa57d4259f8d33b36e93d1f9b 100644 --- a/components/printing/renderer/print_render_frame_helper.cc +++ b/components/printing/renderer/print_render_frame_helper.cc @@ -47,6 +47,7 @@ @@ -651,7 +651,7 @@ index 1fafad1543a007873aca7157798fe7ca8a1afea6..d69134f785b9fb39130959f0a38e0ab0 #include "printing/units.h" #include "services/metrics/public/cpp/ukm_source_id.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" -@@ -1230,14 +1231,14 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) { +@@ -1229,14 +1230,14 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) { } print_in_progress_ = true; @@ -668,7 +668,7 @@ index 1fafad1543a007873aca7157798fe7ca8a1afea6..d69134f785b9fb39130959f0a38e0ab0 if (!weak_this) { return; } -@@ -1268,7 +1269,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver( +@@ -1267,7 +1268,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver( receivers_.Add(this, std::move(receiver)); } @@ -677,7 +677,7 @@ index 1fafad1543a007873aca7157798fe7ca8a1afea6..d69134f785b9fb39130959f0a38e0ab0 ScopedIPC scoped_ipc(weak_ptr_factory_.GetWeakPtr()); if (ipc_nesting_level_ > kAllowedIpcDepthForPrint) return; -@@ -1283,7 +1284,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() { +@@ -1282,7 +1283,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() { // plugin node and print that instead. auto plugin = delegate_->GetPdfElement(frame); @@ -686,7 +686,7 @@ index 1fafad1543a007873aca7157798fe7ca8a1afea6..d69134f785b9fb39130959f0a38e0ab0 if (render_frame_gone_) { return; -@@ -1372,7 +1373,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() { +@@ -1371,7 +1372,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() { } Print(frame, print_preview_context_.source_node(), @@ -696,7 +696,7 @@ index 1fafad1543a007873aca7157798fe7ca8a1afea6..d69134f785b9fb39130959f0a38e0ab0 if (render_frame_gone_) { return; } -@@ -1435,6 +1437,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) { +@@ -1434,6 +1436,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) { if (ipc_nesting_level_ > kAllowedIpcDepthForPrint) return; @@ -705,7 +705,7 @@ index 1fafad1543a007873aca7157798fe7ca8a1afea6..d69134f785b9fb39130959f0a38e0ab0 print_preview_context_.OnPrintPreview(); #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -2012,7 +2016,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -2011,7 +2015,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { } Print(duplicate_node.GetDocument().GetFrame(), duplicate_node, @@ -715,7 +715,7 @@ index 1fafad1543a007873aca7157798fe7ca8a1afea6..d69134f785b9fb39130959f0a38e0ab0 // Check if `this` is still valid. if (!weak_this) { return; -@@ -2028,17 +2033,19 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -2027,17 +2032,19 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, const blink::WebNode& node, @@ -738,7 +738,7 @@ index 1fafad1543a007873aca7157798fe7ca8a1afea6..d69134f785b9fb39130959f0a38e0ab0 DidFinishPrinting(PrintingResult::kFailPrintInit); return; } -@@ -2059,8 +2066,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, +@@ -2058,8 +2065,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, print_pages_params_->params->print_scaling_option; auto self = weak_ptr_factory_.GetWeakPtr(); @@ -755,7 +755,7 @@ index 1fafad1543a007873aca7157798fe7ca8a1afea6..d69134f785b9fb39130959f0a38e0ab0 // Check if `this` is still valid. if (!self) return; -@@ -2318,25 +2332,33 @@ void PrintRenderFrameHelper::IPCProcessed() { +@@ -2317,25 +2331,33 @@ void PrintRenderFrameHelper::IPCProcessed() { } bool PrintRenderFrameHelper::InitPrintSettings(blink::WebLocalFrame* frame, @@ -830,10 +830,10 @@ index b0ac94751454bd16b4e9bfdc071e2623813133ec..271bd9949a802a370b3619340f3364df // Calculate number of pages in source document. uint32_t CalculateNumberOfPages(blink::WebLocalFrame* frame, diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn -index 58acdffd6bf4c93d69b9e6f0565e567c377705a7..66ce92c8b5034e90467c5f1b035d2115636e52aa 100644 +index c58175e595b98ed5a5e8c369e4c05f229edf5d2d..f2c0fd0aadbc34b400f91e230dc994c7eb9ab8e8 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -2926,8 +2926,9 @@ source_set("browser") { +@@ -2930,8 +2930,9 @@ source_set("browser") { "//ppapi/shared_impl", ] 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 43c929465a..4469043442 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -8,7 +8,7 @@ Chrome moved the SetCursor IPC message to mojo, which we use to tell OSR about ` Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2172779 diff --git a/content/browser/renderer_host/render_widget_host_delegate.h b/content/browser/renderer_host/render_widget_host_delegate.h -index a525dee9a568010d274ff9c6213b136cc81b2d88..f168d982452eb0e234ab63493edca6f468822708 100644 +index a1dcd0c0eab747f144188b8faea21fb1cf2b1558..20cc65ba206a8b3d988b51f9459de1572eb3b99f 100644 --- a/content/browser/renderer_host/render_widget_host_delegate.h +++ b/content/browser/renderer_host/render_widget_host_delegate.h @@ -23,6 +23,7 @@ @@ -19,7 +19,7 @@ index a525dee9a568010d274ff9c6213b136cc81b2d88..f168d982452eb0e234ab63493edca6f4 #include "ui/gfx/native_widget_types.h" namespace blink { -@@ -269,6 +270,9 @@ class CONTENT_EXPORT RenderWidgetHostDelegate { +@@ -270,6 +271,9 @@ class CONTENT_EXPORT RenderWidgetHostDelegate { // Returns the associated RenderViewHostDelegateView*, if possible. virtual RenderViewHostDelegateView* GetDelegateView(); @@ -30,7 +30,7 @@ index a525dee9a568010d274ff9c6213b136cc81b2d88..f168d982452eb0e234ab63493edca6f4 // RenderWidgetHost on the primary main frame, and false otherwise. virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*); diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index 16f88856c10df7af52356ea5648c5062804fd769..6b83e02c88f71d6b330a9b330d31b6595aba45a1 100644 +index f74ee0d5239ea8d27174e334408a82c42fe78421..e993e7541de716377959aeb71a784a2cab53289b 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -2074,6 +2074,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) { @@ -44,10 +44,10 @@ index 16f88856c10df7af52356ea5648c5062804fd769..6b83e02c88f71d6b330a9b330d31b659 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 09d791fbd4466c605dcb946b63b3dd3e7eba9fb0..df08d8a1b2232dcd9b926466f062b17b34dad446 100644 +index b2866d3d050b57f5b3f6483634dbe3facaee83dd..73df439b9efd501aee94fd7b19e834ad82a5b39c 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -5194,6 +5194,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { +@@ -5246,6 +5246,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } @@ -60,10 +60,10 @@ index 09d791fbd4466c605dcb946b63b3dd3e7eba9fb0..df08d8a1b2232dcd9b926466f062b17b RenderWidgetHostImpl* render_widget_host) { return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost(); diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index adf38641aa6e12f76b4b1f7fbc15198da6caacd1..5eaeacd405d07e03467554e9b05a137d33c81758 100644 +index f581af6fa5f0a45c1a93605b56a47f0b36482677..37897c7d0475eb929e7ed826a38094b65a82120f 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -1035,6 +1035,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -1036,6 +1036,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, void SendScreenRects() override; void SendActiveState(bool active) override; TextInputManager* GetTextInputManager() override; diff --git a/patches/chromium/refactor_expose_hostimportmoduledynamically_and.patch b/patches/chromium/refactor_expose_hostimportmoduledynamically_and.patch index 34f4df10d7..6cb4ef267d 100644 --- a/patches/chromium/refactor_expose_hostimportmoduledynamically_and.patch +++ b/patches/chromium/refactor_expose_hostimportmoduledynamically_and.patch @@ -7,7 +7,7 @@ Subject: refactor: expose HostImportModuleDynamically and This is so that Electron can blend Blink's and Node's implementations of these isolate handlers. 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 cc58fc115b4a5b0183e5e11425d2b1a3e115d63c..24555855b0ef2ef3d2430a4e64a5147e076843f9 100644 +index 58f26914fe73e24367c1054273907887a08caffe..97f262f818079c68bffaf846a6e4a2e9b6cdf5ea 100644 --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc @@ -627,7 +627,9 @@ bool JavaScriptCompileHintsMagicEnabledCallback( diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index 71ea3523ff..b70be320c0 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 650ae8ca482ab1438cf670718bf369038b852f2d..78c84e4ccefb90715d68de15d32d5245027ebb4d 100644 +index a107e48cbe9d50d2794df3ebadc785e146324f62..4af5b8d5da1c0ae4c5603f49e3a1dbfec422f55e 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1562,7 +1562,7 @@ if (is_chrome_branded && !is_android) { +@@ -1567,7 +1567,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index 650ae8ca482ab1438cf670718bf369038b852f2d..78c84e4ccefb90715d68de15d32d5245 chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1601,6 +1601,12 @@ if (!is_android) { +@@ -1606,6 +1606,12 @@ if (!is_android) { } } diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch index 9a50d78e34..b20a23a59a 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 0465aaa8fc6949fd8c6fef30391b197661381756..8176fbd17bb0a13f7099b8e7c56a0f48d70eb5fd 100644 +index f46edeebd1c5e3350dea2f0549ed2a24cfad7a75..77b700e48c976375129eec5f7927fe68efb0e396 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1240,7 +1240,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1263,7 +1263,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { } bool RenderThreadImpl::IsElasticOverscrollEnabled() { diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index a005c5641d..9e02b8bfb0 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,7 +22,7 @@ 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 5f92d4ba208938de7c939b079cd3a328058a5d8c..068553e5fa06af4989c8e84d470366914e5661ce 100644 +index c299ed667915660edb4bdd70eda947f7420e8734..d2dd405a2ee5be716588834a1c5d07118070b7e0 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -1725,9 +1725,15 @@ bool RenderProcessHostImpl::Init() { diff --git a/patches/chromium/upload_list_add_loadsync_method.patch b/patches/chromium/upload_list_add_loadsync_method.patch index cfba32c616..ef1eb133a7 100644 --- a/patches/chromium/upload_list_add_loadsync_method.patch +++ b/patches/chromium/upload_list_add_loadsync_method.patch @@ -9,7 +9,7 @@ deprecated, and this API should be removed once the deprecated behavior is no longer supported. diff --git a/components/upload_list/upload_list.cc b/components/upload_list/upload_list.cc -index b19139c33758758970fd38aa87aaeb351e409edd..73498817f53236091f7be2c20d957c24c15b948e 100644 +index 176f0b70225eab7d692886c241983c43d2e93b86..02e39bf0a6ba63c0a6226ba20e08a94b3df74611 100644 --- a/components/upload_list/upload_list.cc +++ b/components/upload_list/upload_list.cc @@ -65,6 +65,10 @@ void UploadList::Load(base::OnceClosure callback) { @@ -24,10 +24,10 @@ index b19139c33758758970fd38aa87aaeb351e409edd..73498817f53236091f7be2c20d957c24 const base::Time& end, base::OnceClosure callback) { diff --git a/components/upload_list/upload_list.h b/components/upload_list/upload_list.h -index 3b84761fdd397ec41cd7ed2b675467c95e6d0faf..43b78dfbb0bc0c8897d96c20727cb5502f1f2a12 100644 +index c45b3d46f505f516b84b8d1728a23a280dbdba2c..2c8c2c1b7ce6885329b3097ffb964c8cf549002b 100644 --- a/components/upload_list/upload_list.h +++ b/components/upload_list/upload_list.h -@@ -81,6 +81,8 @@ class UploadList : public base::RefCountedThreadSafe { +@@ -82,6 +82,8 @@ class UploadList : public base::RefCountedThreadSafe { // overwrite the previously supplied one, and the first will not be called. void Load(base::OnceClosure callback); diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index 07f1f56707..6c25d1d17c 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 6addf2f57f08a9c1a6702b777d965c1d99ce59a1..803ff4de251ff0b3a79f5fd14409c8499c754660 100644 +index 11ed98cbe928b4c1efe1b34feec1a79cbe06a00a..9ec976ec797838e4a4e3e30524f82948c884dc96 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3471,6 +3471,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3516,6 +3516,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, params.main_frame_name, GetOpener(), primary_main_frame_policy, base::UnguessableToken::Create()); @@ -26,7 +26,7 @@ index 6addf2f57f08a9c1a6702b777d965c1d99ce59a1..803ff4de251ff0b3a79f5fd14409c849 std::unique_ptr delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -3481,6 +3488,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3526,6 +3533,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, view_ = CreateWebContentsView(this, std::move(delegate), &render_view_host_delegate_view_); } @@ -35,10 +35,10 @@ index 6addf2f57f08a9c1a6702b777d965c1d99ce59a1..803ff4de251ff0b3a79f5fd14409c849 CHECK(view_.get()); diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index b22972c9fbe902413aea4a8078e81eeed0038200..3be2cc0f75544a5958f0d7bf70174c22ac40277d 100644 +index 11504e08e61ecc1fe2747b60818b3e3f520655f7..30362796b3f3a9c3a955fe6f38af63bdb3a4ff80 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h -@@ -102,10 +102,13 @@ class BrowserContext; +@@ -103,10 +103,13 @@ class BrowserContext; class BrowserPluginGuestDelegate; class RenderFrameHost; class RenderViewHost; @@ -52,7 +52,7 @@ index b22972c9fbe902413aea4a8078e81eeed0038200..3be2cc0f75544a5958f0d7bf70174c22 class WebUI; struct DropData; struct MHTMLGenerationParams; -@@ -252,6 +255,10 @@ class WebContents : public PageNavigator, +@@ -253,6 +256,10 @@ class WebContents : public PageNavigator, network::mojom::WebSandboxFlags starting_sandbox_flags = network::mojom::WebSandboxFlags::kNone; diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index 5cbf06ba0d..ca00e046ea 100644 --- a/patches/chromium/webview_fullscreen.patch +++ b/patches/chromium/webview_fullscreen.patch @@ -15,10 +15,10 @@ Note that we also need to manually update embedder's `api::WebContents::IsFullscreenForTabOrPending` value. diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index ac9e3da59e6fbde78185c4a6924af1e3cf61369b..109f492f8dd29dd5191faf2f81041bd8d3292b72 100644 +index 39b46b4f5bb3adb18d903c0ca4c65f212138590b..bc6a81da3832608b12f67dc241e8711ca09e9215 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -7521,6 +7521,17 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -7542,6 +7542,17 @@ void RenderFrameHostImpl::EnterFullscreen( } } @@ -37,10 +37,10 @@ index ac9e3da59e6fbde78185c4a6924af1e3cf61369b..109f492f8dd29dd5191faf2f81041bd8 if (had_fullscreen_token && !GetView()->HasFocus()) GetView()->Focus(); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 803ff4de251ff0b3a79f5fd14409c8499c754660..ee75d9a235342062d67874099f81b5c184233998 100644 +index 9ec976ec797838e4a4e3e30524f82948c884dc96..459d9057d4155f83f6c184d654930f10f2a3241a 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3725,21 +3725,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent( +@@ -3770,21 +3770,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent( const NativeWebKeyboardEvent& event) { OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"), "WebContentsImpl::PreHandleKeyboardEvent"); @@ -78,7 +78,7 @@ index 803ff4de251ff0b3a79f5fd14409c8499c754660..ee75d9a235342062d67874099f81b5c1 } bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) { -@@ -3875,7 +3879,7 @@ void WebContentsImpl::EnterFullscreenMode( +@@ -3920,7 +3924,7 @@ void WebContentsImpl::EnterFullscreenMode( OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode"); DCHECK(CanEnterFullscreenMode(requesting_frame, options)); DCHECK(requesting_frame->IsActive()); @@ -88,7 +88,7 @@ index 803ff4de251ff0b3a79f5fd14409c8499c754660..ee75d9a235342062d67874099f81b5c1 features::kAutomaticFullscreenContentSetting)) { // Ensure the window is made active to take input focus. The user may have diff --git a/third_party/blink/renderer/core/fullscreen/fullscreen.cc b/third_party/blink/renderer/core/fullscreen/fullscreen.cc -index 0135a5340b1d1b81fc47a10abe362f5efdd0f222..488d04a9c40deabab47d6235dc36537f47b5d530 100644 +index 5d781ae16277c01cbc4e4c9ccff2ffccf6bc1ac5..289385ba2d48b258db3728e34154ad4e623d624f 100644 --- a/third_party/blink/renderer/core/fullscreen/fullscreen.cc +++ b/third_party/blink/renderer/core/fullscreen/fullscreen.cc @@ -111,7 +111,7 @@ void FullscreenElementChanged(Document& document, diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index c812168fa5..a4825ed1d8 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -10,10 +10,10 @@ An attempt to upstream this was made, but rejected: https://chromium-review.googlesource.com/c/chromium/src/+/1954347 diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index 0b708ece83688b785b34b48e853edadb8f309c5d..a51be3fea0d270d6540ad381072c4dcac4b5dd82 100644 +index 05d469f572ba488bdbfbbfb0b4e6b0b298550ab5..c0bd110f078801a62f49a6c5e52db56daba085de 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -383,6 +383,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -384,6 +384,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} @@ -67,10 +67,10 @@ index 165bd4eae9e1b3509379af1697991469d53c76ae..c953d63fe7252a570347b79ae436bcca const WebSecurityOrigin& script_origin) { return false; diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc -index 670b6b7d02a4bd40300c6ade3447db2ea4f90710..6ba4524c3b4d42060110f222c1a69d3b15b55f10 100644 +index fc4eee1c0b3b2906ddc004d6069ff62ee5ee4a3a..587c47b92935fa740390eacdb0f73be6da5027c8 100644 --- a/third_party/blink/renderer/core/workers/worker_thread.cc +++ b/third_party/blink/renderer/core/workers/worker_thread.cc -@@ -754,6 +754,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { +@@ -756,6 +756,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { } pause_handle_.reset(); 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 9fdb1f88bd..e534657a09 100644 --- a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch +++ b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch @@ -19,10 +19,10 @@ that clearly establishes the worker script is ready for evaluation with the scop initialized. diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index a51be3fea0d270d6540ad381072c4dcac4b5dd82..f226b5e988d0537c62dc062fa1d9d387613592ff 100644 +index c0bd110f078801a62f49a6c5e52db56daba085de..a8210f00f4c00ad16a21a0c3f0a82c6f198828f2 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -383,6 +383,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -384,6 +384,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} diff --git a/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch b/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch index 43446fdbcd..b78223d1bf 100644 --- a/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch +++ b/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch @@ -10,10 +10,10 @@ to handle this without patching, but this is fairly clean for now and no longer patching legacy devtools code. diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts -index 4e1d0973e1fc8607cd777dd9b135d9125b11aa84..386e224a7fb78cc111fc259512b24dafbc264dd2 100644 +index 826885af511a21e31874fed1ff4f056feb0ddb7a..345066348c761ed79ae4463d6bf64688da825a40 100644 --- a/front_end/entrypoints/main/MainImpl.ts +++ b/front_end/entrypoints/main/MainImpl.ts -@@ -726,6 +726,8 @@ export class MainImpl { +@@ -718,6 +718,8 @@ export class MainImpl { globalThis.Main = globalThis.Main || {}; // @ts-ignore Exported for Tests.js globalThis.Main.Main = MainImpl; diff --git a/patches/ffmpeg/link_with_loader_path.patch b/patches/ffmpeg/link_with_loader_path.patch index 519c45fa1b..f338288074 100644 --- a/patches/ffmpeg/link_with_loader_path.patch +++ b/patches/ffmpeg/link_with_loader_path.patch @@ -15,10 +15,10 @@ include the out dir, and the linker won't be able to find ffmpeg.dylib because of so. diff --git a/BUILD.gn b/BUILD.gn -index 43d435b488cc878611cb7b90feea44735af2fe70..2cc11264fd349bd838a4a9587008621343824550 100644 +index 3cce79931d8416196acd165cde7003806ed5a529..557df069027eaddcc7baa9ebc8f1b1b9dcc50f3e 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -443,7 +443,7 @@ if (is_component_ffmpeg) { +@@ -441,7 +441,7 @@ if (is_component_ffmpeg) { if (!is_component_build) { if (is_mac) { diff --git a/patches/node/.patches b/patches/node/.patches index db1ec7be46..6222657477 100644 --- a/patches/node/.patches +++ b/patches/node/.patches @@ -46,3 +46,4 @@ test_match_wpt_streams_transferable_transform-stream-members_any_js.patch build_ensure_v8_pointer_compression_sandbox_is_enabled_on_64bit.patch fix_revert_src_lb_reducing_c_calls_of_esm_legacy_main_resolve.patch src_preload_function_for_environment.patch +deprecate_vector_v8_local_in_v8.patch diff --git a/patches/node/deprecate_vector_v8_local_in_v8.patch b/patches/node/deprecate_vector_v8_local_in_v8.patch new file mode 100644 index 0000000000..7a382b84a1 --- /dev/null +++ b/patches/node/deprecate_vector_v8_local_in_v8.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Shelley Vohr +Date: Sun, 10 Mar 2024 16:59:30 +0100 +Subject: Deprecate vector in v8 + +Adapts for changes in https://chromium-review.googlesource.com/c/v8/v8/+/4866222. + +This patch can be removed when Electron upgrades to a version of Node.js that +contains the above CL. + +diff --git a/src/module_wrap.cc b/src/module_wrap.cc +index 3182a5e4aad2ba0be2b6769edb696b815ce39a61..e73f129d5f9ca3ea872fd5934d9d31a952a4a3fe 100644 +--- a/src/module_wrap.cc ++++ b/src/module_wrap.cc +@@ -169,7 +169,9 @@ void ModuleWrap::New(const FunctionCallbackInfo& args) { + export_names[i] = export_name_val.As(); + } + +- module = Module::CreateSyntheticModule(isolate, url, export_names, ++ ++ module = Module::CreateSyntheticModule(isolate, url, ++ v8::MemorySpan>(export_names.begin(), export_names.end()), + SyntheticModuleEvaluationStepsCallback); + } else { + ScriptCompiler::CachedData* cached_data = nullptr; diff --git a/patches/reclient-configs/.patches b/patches/reclient-configs/.patches index cf8760bb8e..f6075d3831 100644 --- a/patches/reclient-configs/.patches +++ b/patches/reclient-configs/.patches @@ -1,3 +1,4 @@ fix_disable_compression_threshold.patch fix_add_python_remote_wrapper.patch build_on_windows_provide_clang_wrapper_as_toolchain_input.patch +fix_temporarily_use_toolchain_inputs_exclusively_instead_of_inputs.patch diff --git a/patches/reclient-configs/fix_temporarily_use_toolchain_inputs_exclusively_instead_of_inputs.patch b/patches/reclient-configs/fix_temporarily_use_toolchain_inputs_exclusively_instead_of_inputs.patch new file mode 100644 index 0000000000..e048266493 --- /dev/null +++ b/patches/reclient-configs/fix_temporarily_use_toolchain_inputs_exclusively_instead_of_inputs.patch @@ -0,0 +1,43 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Samuel Attard +Date: Fri, 8 Mar 2024 10:17:09 -0800 +Subject: fix: temporarily use toolchain_inputs exclusively instead of inputs + +Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5340729 + +diff --git a/chromium-browser-clang/rewrapper_mac.cfg b/chromium-browser-clang/rewrapper_mac.cfg +index b7aae599574b1217eee48fb182d5fe899225ad98..1d4743d63f52c828022ebcb6a39a3bedcbd5ef1b 100644 +--- a/chromium-browser-clang/rewrapper_mac.cfg ++++ b/chromium-browser-clang/rewrapper_mac.cfg +@@ -14,6 +14,5 @@ + + # This config is merged with Chromium config. See README.md. + +-inputs={src_dir}/buildtools/reclient_cfgs/chromium-browser-clang/clang_remote_wrapper +-toolchain_inputs={linux_clang_base_path}/bin/clang ++toolchain_inputs={linux_clang_base_path}/bin/clang,{src_dir}/buildtools/reclient_cfgs/chromium-browser-clang/clang_remote_wrapper + remote_wrapper={src_dir}/buildtools/reclient_cfgs/chromium-browser-clang/clang_remote_wrapper +diff --git a/python/rewrapper_linux.cfg b/python/rewrapper_linux.cfg +index 2cdeb39313a83a94cdf321025ef969af7db83fd7..e0c74dad6a6ba9a002a9c1a1b34a31740b6428e0 100644 +--- a/python/rewrapper_linux.cfg ++++ b/python/rewrapper_linux.cfg +@@ -14,5 +14,5 @@ + + # This config is merged with Chromium config. See README.md. + +-inputs=buildtools/reclient_cfgs/python/python_remote_wrapper ++toolchain_inputs=buildtools/reclient_cfgs/python/python_remote_wrapper + remote_wrapper={src_dir}/buildtools/reclient_cfgs/python/python_remote_wrapper +\ No newline at end of file +diff --git a/python/rewrapper_mac.cfg b/python/rewrapper_mac.cfg +index 2cdeb39313a83a94cdf321025ef969af7db83fd7..e0c74dad6a6ba9a002a9c1a1b34a31740b6428e0 100644 +--- a/python/rewrapper_mac.cfg ++++ b/python/rewrapper_mac.cfg +@@ -14,5 +14,5 @@ + + # This config is merged with Chromium config. See README.md. + +-inputs=buildtools/reclient_cfgs/python/python_remote_wrapper ++toolchain_inputs=buildtools/reclient_cfgs/python/python_remote_wrapper + remote_wrapper={src_dir}/buildtools/reclient_cfgs/python/python_remote_wrapper +\ No newline at end of file diff --git a/patches/v8/deps_add_v8_object_setinternalfieldfornodecore.patch b/patches/v8/deps_add_v8_object_setinternalfieldfornodecore.patch index dd9121a5a5..f4ca6289f8 100644 --- a/patches/v8/deps_add_v8_object_setinternalfieldfornodecore.patch +++ b/patches/v8/deps_add_v8_object_setinternalfieldfornodecore.patch @@ -46,10 +46,10 @@ index 6cdf53b19c7d058bb66b9fcbe745874cc48daa99..8d112008c2667db97ed5b5af3f87c40d V8_INLINE static void* GetAlignedPointerFromInternalField( const BasicTracedReference& object, int index) { diff --git a/src/api/api.cc b/src/api/api.cc -index ef56b0be90e75583ba6c06099f2b55356a122e0b..616af01bbf2c8b40416e70a97626963a5ec66bd1 100644 +index a7070c494c211bec5692767e26ab7bd072b2d6fd..1718b88b8b949c1d61c543c8f0538f55156da85c 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -6299,14 +6299,33 @@ Local v8::Object::SlowGetInternalField(int index) { +@@ -6286,14 +6286,33 @@ Local v8::Object::SlowGetInternalField(int index) { isolate); } diff --git a/shell/browser/api/gpuinfo_manager.cc b/shell/browser/api/gpuinfo_manager.cc index bdf3b396d4..2483eb5bac 100644 --- a/shell/browser/api/gpuinfo_manager.cc +++ b/shell/browser/api/gpuinfo_manager.cc @@ -32,8 +32,7 @@ GPUInfoManager::~GPUInfoManager() { // https://chromium.googlesource.com/chromium/src.git/+/69.0.3497.106/content/browser/gpu/gpu_data_manager_impl_private.cc#838 bool GPUInfoManager::NeedsCompleteGpuInfoCollection() const { #if BUILDFLAG(IS_WIN) - return gpu_data_manager_->DxdiagDx12VulkanRequested() && - gpu_data_manager_->GetGPUInfo().dx_diagnostics.IsEmpty(); + return gpu_data_manager_->DxdiagDx12VulkanRequested(); #else return false; #endif @@ -51,9 +50,6 @@ void GPUInfoManager::ProcessCompleteInfo() { } void GPUInfoManager::OnGpuInfoUpdate() { - // Ignore if called when not asked for complete GPUInfo - if (NeedsCompleteGpuInfoCollection()) - return; base::SingleThreadTaskRunner::GetCurrentDefault()->PostTask( FROM_HERE, base::BindOnce(&GPUInfoManager::ProcessCompleteInfo, base::Unretained(this))); @@ -63,13 +59,8 @@ void GPUInfoManager::OnGpuInfoUpdate() { void GPUInfoManager::CompleteInfoFetcher( gin_helper::Promise promise) { complete_info_promise_set_.emplace_back(std::move(promise)); - - if (NeedsCompleteGpuInfoCollection()) { - gpu_data_manager_->RequestDxdiagDx12VulkanVideoGpuInfoIfNeeded( - content::GpuDataManagerImpl::kGpuInfoRequestAll, /* delayed */ false); - } else { - GPUInfoManager::OnGpuInfoUpdate(); - } + gpu_data_manager_->RequestDx12VulkanVideoGpuInfoIfNeeded( + content::GpuDataManagerImpl::kGpuInfoRequestAll, /* delayed */ false); } void GPUInfoManager::FetchCompleteInfo( diff --git a/shell/browser/hid/hid_chooser_controller.cc b/shell/browser/hid/hid_chooser_controller.cc index 8ef9aa4a52..3e9fa6c414 100644 --- a/shell/browser/hid/hid_chooser_controller.cc +++ b/shell/browser/hid/hid_chooser_controller.cc @@ -10,7 +10,6 @@ #include "base/containers/contains.h" #include "base/functional/bind.h" #include "base/ranges/algorithm.h" -#include "base/stl_util.h" #include "gin/data_object_builder.h" #include "services/device/public/cpp/hid/hid_blocklist.h" #include "services/device/public/cpp/hid/hid_switches.h" @@ -350,7 +349,7 @@ bool HidChooserController::RemoveDeviceInfo( auto find_it = device_map_.find(id); DCHECK(find_it != device_map_.end()); auto& device_infos = find_it->second; - base::EraseIf(device_infos, + std::erase_if(device_infos, [&device](const device::mojom::HidDeviceInfoPtr& d) { return d->guid == device.guid; }); @@ -358,7 +357,7 @@ bool HidChooserController::RemoveDeviceInfo( return false; // A device was disconnected. Remove it from the chooser list. device_map_.erase(find_it); - base::Erase(items_, id); + std::erase(items_, id); return true; } diff --git a/shell/browser/printing/print_view_manager_electron.cc b/shell/browser/printing/print_view_manager_electron.cc index d3eda6e970..9f2c63929e 100644 --- a/shell/browser/printing/print_view_manager_electron.cc +++ b/shell/browser/printing/print_view_manager_electron.cc @@ -64,7 +64,7 @@ void PrintViewManagerElectron::DidPrintToPdf( PrintToPdfCallback callback, print_to_pdf::PdfPrintResult result, scoped_refptr memory) { - base::Erase(pdf_jobs_, cookie); + std::erase(pdf_jobs_, cookie); std::move(callback).Run(result, memory); } diff --git a/shell/browser/serial/electron_serial_delegate.h b/shell/browser/serial/electron_serial_delegate.h index 5b7f38591a..e37b62975f 100644 --- a/shell/browser/serial/electron_serial_delegate.h +++ b/shell/browser/serial/electron_serial_delegate.h @@ -55,6 +55,8 @@ class ElectronSerialDelegate : public content::SerialDelegate, // SerialChooserContext::PortObserver: void OnPortAdded(const device::mojom::SerialPortInfo& port) override; void OnPortRemoved(const device::mojom::SerialPortInfo& port) override; + void OnPortConnectedStateChanged( + const device::mojom::SerialPortInfo& port) override {} void OnPortManagerConnectionError() override; void OnPermissionRevoked(const url::Origin& origin) override {} void OnSerialChooserContextShutdown() override; diff --git a/shell/browser/serial/serial_chooser_context.h b/shell/browser/serial/serial_chooser_context.h index c61df48c5b..baccf465d3 100644 --- a/shell/browser/serial/serial_chooser_context.h +++ b/shell/browser/serial/serial_chooser_context.h @@ -87,6 +87,8 @@ class SerialChooserContext : public KeyedService, // SerialPortManagerClient implementation. void OnPortAdded(device::mojom::SerialPortInfoPtr port) override; void OnPortRemoved(device::mojom::SerialPortInfoPtr port) override; + void OnPortConnectedStateChanged( + device::mojom::SerialPortInfoPtr port) override {} private: void EnsurePortManagerConnection(); diff --git a/shell/browser/serial/serial_chooser_controller.h b/shell/browser/serial/serial_chooser_controller.h index 2fe16bf255..76f915feda 100644 --- a/shell/browser/serial/serial_chooser_controller.h +++ b/shell/browser/serial/serial_chooser_controller.h @@ -46,6 +46,8 @@ class SerialChooserController final : public SerialChooserContext::PortObserver, // SerialChooserContext::PortObserver: void OnPortAdded(const device::mojom::SerialPortInfo& port) override; void OnPortRemoved(const device::mojom::SerialPortInfo& port) override; + void OnPortConnectedStateChanged( + const device::mojom::SerialPortInfo& port) override {} void OnPortManagerConnectionError() override; void OnPermissionRevoked(const url::Origin& origin) override {} void OnSerialChooserContextShutdown() override; diff --git a/shell/browser/usb/electron_usb_delegate.cc b/shell/browser/usb/electron_usb_delegate.cc index d778a22691..a90896e0fe 100644 --- a/shell/browser/usb/electron_usb_delegate.cc +++ b/shell/browser/usb/electron_usb_delegate.cc @@ -8,7 +8,6 @@ #include #include "base/containers/contains.h" -#include "base/containers/cxx20_erase.h" #include "base/observer_list.h" #include "base/observer_list_types.h" #include "base/scoped_observation.h" @@ -34,8 +33,6 @@ namespace { -using ::content::UsbChooser; - electron::UsbChooserContext* GetChooserContext( content::BrowserContext* browser_context) { return electron::UsbChooserContextFactory::GetForBrowserContext( @@ -159,7 +156,7 @@ void ElectronUsbDelegate::AdjustProtectedInterfaceClasses( classes = permission_manager->CheckProtectedUSBClasses(classes); } -std::unique_ptr ElectronUsbDelegate::RunChooser( +std::unique_ptr ElectronUsbDelegate::RunChooser( content::RenderFrameHost& frame, blink::mojom::WebUsbRequestDeviceOptionsPtr options, blink::mojom::WebUsbService::GetPermissionCallback callback) { diff --git a/shell/browser/web_contents_permission_helper.cc b/shell/browser/web_contents_permission_helper.cc index 62071ef141..2a9c4d347d 100644 --- a/shell/browser/web_contents_permission_helper.cc +++ b/shell/browser/web_contents_permission_helper.cc @@ -247,12 +247,11 @@ void WebContentsPermissionHelper::RequestPointerLockPermission( bool last_unlocked_by_target, base::OnceCallback callback) { - RequestPermission( - web_contents_->GetPrimaryMainFrame(), - static_cast(PermissionType::POINTER_LOCK), - base::BindOnce(std::move(callback), web_contents_, user_gesture, - last_unlocked_by_target), - user_gesture); + RequestPermission(web_contents_->GetPrimaryMainFrame(), + blink::PermissionType::POINTER_LOCK, + base::BindOnce(std::move(callback), web_contents_, + user_gesture, last_unlocked_by_target), + user_gesture); } void WebContentsPermissionHelper::RequestKeyboardLockPermission( @@ -260,7 +259,7 @@ void WebContentsPermissionHelper::RequestKeyboardLockPermission( base::OnceCallback callback) { RequestPermission( web_contents_->GetPrimaryMainFrame(), - static_cast(PermissionType::KEYBOARD_LOCK), + blink::PermissionType::KEYBOARD_LOCK, base::BindOnce(std::move(callback), web_contents_, esc_key_locked)); } diff --git a/shell/browser/web_contents_permission_helper.h b/shell/browser/web_contents_permission_helper.h index 1bc073d3fb..3e7571a79e 100644 --- a/shell/browser/web_contents_permission_helper.h +++ b/shell/browser/web_contents_permission_helper.h @@ -26,13 +26,11 @@ class WebContentsPermissionHelper delete; enum class PermissionType { - POINTER_LOCK = static_cast(blink::PermissionType::NUM) + 1, - FULLSCREEN, + FULLSCREEN = static_cast(blink::PermissionType::NUM) + 1, OPEN_EXTERNAL, SERIAL, HID, - USB, - KEYBOARD_LOCK + USB }; // Asynchronous Requests diff --git a/shell/common/api/electron_api_url_loader.h b/shell/common/api/electron_api_url_loader.h index 5729b1d8c9..b0da4a727b 100644 --- a/shell/common/api/electron_api_url_loader.h +++ b/shell/common/api/electron_api_url_loader.h @@ -113,6 +113,8 @@ class SimpleURLLoaderWrapper void OnDataUseUpdate(int32_t network_traffic_annotation_id_hash, int64_t recv_bytes, int64_t sent_bytes) override {} + void OnWebSocketConnectedToPrivateNetwork( + network::mojom::IPAddressSpace ip_address_space) override {} void Clone( mojo::PendingReceiver observer) override; diff --git a/shell/common/gin_converters/content_converter.cc b/shell/common/gin_converters/content_converter.cc index 49e51b0f52..46499cf016 100644 --- a/shell/common/gin_converters/content_converter.cc +++ b/shell/common/gin_converters/content_converter.cc @@ -210,15 +210,15 @@ v8::Local Converter::ToV8( return StringToV8(isolate, "web-printing"); case blink::PermissionType::SPEAKER_SELECTION: return StringToV8(isolate, "speaker-selection"); + case blink::PermissionType::POINTER_LOCK: + return StringToV8(isolate, "pointerLock"); + case blink::PermissionType::KEYBOARD_LOCK: + return StringToV8(isolate, "keyboardLock"); case blink::PermissionType::NUM: break; } switch (static_cast(val)) { - case PermissionType::POINTER_LOCK: - return StringToV8(isolate, "pointerLock"); - case PermissionType::KEYBOARD_LOCK: - return StringToV8(isolate, "keyboardLock"); case PermissionType::FULLSCREEN: return StringToV8(isolate, "fullscreen"); case PermissionType::OPEN_EXTERNAL: diff --git a/shell/renderer/extensions/electron_extensions_dispatcher_delegate.cc b/shell/renderer/extensions/electron_extensions_dispatcher_delegate.cc index 7fec271ace..0374c6ce24 100644 --- a/shell/renderer/extensions/electron_extensions_dispatcher_delegate.cc +++ b/shell/renderer/extensions/electron_extensions_dispatcher_delegate.cc @@ -4,51 +4,14 @@ #include "shell/renderer/extensions/electron_extensions_dispatcher_delegate.h" -#include -#include -#include - -#include "chrome/renderer/extensions/api/extension_hooks_delegate.h" -#include "chrome/renderer/extensions/api/tabs_hooks_delegate.h" -#include "extensions/renderer/bindings/api_bindings_system.h" -#include "extensions/renderer/lazy_background_page_native_handler.h" -#include "extensions/renderer/module_system.h" -#include "extensions/renderer/native_extension_bindings_system.h" -#include "extensions/renderer/native_handler.h" - ElectronExtensionsDispatcherDelegate::ElectronExtensionsDispatcherDelegate() = default; ElectronExtensionsDispatcherDelegate::~ElectronExtensionsDispatcherDelegate() = default; -void ElectronExtensionsDispatcherDelegate::RegisterNativeHandlers( - extensions::Dispatcher* dispatcher, - extensions::ModuleSystem* module_system, - extensions::NativeExtensionBindingsSystem* bindings_system, - extensions::ScriptContext* context) { - module_system->RegisterNativeHandler( - "lazy_background_page", - std::make_unique(context)); -} - -void ElectronExtensionsDispatcherDelegate::PopulateSourceMap( - extensions::ResourceBundleSourceMap* source_map) {} - void ElectronExtensionsDispatcherDelegate::RequireWebViewModules( extensions::ScriptContext* context) {} void ElectronExtensionsDispatcherDelegate::OnActiveExtensionsUpdated( const std::set& extension_ids) {} - -void ElectronExtensionsDispatcherDelegate::InitializeBindingsSystem( - extensions::Dispatcher* dispatcher, - extensions::NativeExtensionBindingsSystem* bindings_system) { - extensions::APIBindingsSystem* bindings = bindings_system->api_system(); - bindings->RegisterHooksDelegate( - "extension", std::make_unique( - bindings_system->messaging_service())); - bindings->RegisterHooksDelegate( - "tabs", std::make_unique( - bindings_system->messaging_service())); -} diff --git a/shell/renderer/extensions/electron_extensions_dispatcher_delegate.h b/shell/renderer/extensions/electron_extensions_dispatcher_delegate.h index 1b1d1f9ec3..2e394f0d2a 100644 --- a/shell/renderer/extensions/electron_extensions_dispatcher_delegate.h +++ b/shell/renderer/extensions/electron_extensions_dispatcher_delegate.h @@ -24,19 +24,9 @@ class ElectronExtensionsDispatcherDelegate private: // extensions::DispatcherDelegate implementation. - void RegisterNativeHandlers( - extensions::Dispatcher* dispatcher, - extensions::ModuleSystem* module_system, - extensions::NativeExtensionBindingsSystem* bindings_system, - extensions::ScriptContext* context) override; - void PopulateSourceMap( - extensions::ResourceBundleSourceMap* source_map) override; void RequireWebViewModules(extensions::ScriptContext* context) override; void OnActiveExtensionsUpdated( const std::set& extension_ids) override; - void InitializeBindingsSystem( - extensions::Dispatcher* dispatcher, - extensions::NativeExtensionBindingsSystem* bindings_system) override; }; #endif // ELECTRON_SHELL_RENDERER_EXTENSIONS_ELECTRON_EXTENSIONS_DISPATCHER_DELEGATE_H_ diff --git a/shell/renderer/extensions/electron_extensions_renderer_api_provider.cc b/shell/renderer/extensions/electron_extensions_renderer_api_provider.cc new file mode 100644 index 0000000000..36e54148b1 --- /dev/null +++ b/shell/renderer/extensions/electron_extensions_renderer_api_provider.cc @@ -0,0 +1,50 @@ +// Copyright 2024 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "shell/renderer/extensions/electron_extensions_renderer_api_provider.h" + +#include "chrome/renderer/extensions/api/extension_hooks_delegate.h" +#include "chrome/renderer/extensions/api/tabs_hooks_delegate.h" +#include "extensions/renderer/bindings/api_bindings_system.h" +#include "extensions/renderer/dispatcher.h" +#include "extensions/renderer/lazy_background_page_native_handler.h" +#include "extensions/renderer/module_system.h" +#include "extensions/renderer/native_extension_bindings_system.h" +#include "extensions/renderer/native_handler.h" +#include "extensions/renderer/resource_bundle_source_map.h" +#include "extensions/renderer/script_context.h" + +namespace electron { + +void ElectronExtensionsRendererAPIProvider::RegisterNativeHandlers( + extensions::ModuleSystem* module_system, + extensions::NativeExtensionBindingsSystem* bindings_system, + extensions::ScriptContext* context) const { + module_system->RegisterNativeHandler( + "lazy_background_page", + std::make_unique(context)); +} + +void ElectronExtensionsRendererAPIProvider::AddBindingsSystemHooks( + extensions::Dispatcher* dispatcher, + extensions::NativeExtensionBindingsSystem* bindings_system) const { + extensions::APIBindingsSystem* bindings = bindings_system->api_system(); + bindings->RegisterHooksDelegate( + "extension", std::make_unique( + bindings_system->messaging_service())); + bindings->RegisterHooksDelegate( + "tabs", std::make_unique( + bindings_system->messaging_service())); +} + +void ElectronExtensionsRendererAPIProvider::PopulateSourceMap( + extensions::ResourceBundleSourceMap* source_map) const {} + +void ElectronExtensionsRendererAPIProvider::EnableCustomElementAllowlist() + const {} + +void ElectronExtensionsRendererAPIProvider::RequireWebViewModules( + extensions::ScriptContext* context) const {} + +} // namespace electron diff --git a/shell/renderer/extensions/electron_extensions_renderer_api_provider.h b/shell/renderer/extensions/electron_extensions_renderer_api_provider.h new file mode 100644 index 0000000000..faabcf4e97 --- /dev/null +++ b/shell/renderer/extensions/electron_extensions_renderer_api_provider.h @@ -0,0 +1,40 @@ +// Copyright (c) 2017 GitHub, Inc. +// Use of this source code is governed by the MIT license that can be +// found in the LICENSE file. + +#ifndef ELECTRON_SHELL_RENDERER_EXTENSIONS_ELECTRON_EXTENSIONS_RENDERER_API_PROVIDER_H_ +#define ELECTRON_SHELL_RENDERER_EXTENSIONS_ELECTRON_EXTENSIONS_RENDERER_API_PROVIDER_H_ + +#include + +#include "extensions/renderer/extensions_renderer_api_provider.h" + +namespace electron { + +class ElectronExtensionsRendererAPIProvider + : public extensions::ExtensionsRendererAPIProvider { + public: + ElectronExtensionsRendererAPIProvider() = default; + ElectronExtensionsRendererAPIProvider( + const ElectronExtensionsRendererAPIProvider&) = delete; + ElectronExtensionsRendererAPIProvider& operator=( + const ElectronExtensionsRendererAPIProvider&) = delete; + ~ElectronExtensionsRendererAPIProvider() override = default; + + // ExtensionsRendererAPIProvider: + void RegisterNativeHandlers( + extensions::ModuleSystem* module_system, + extensions::NativeExtensionBindingsSystem* bindings_system, + extensions::ScriptContext* context) const override; + void AddBindingsSystemHooks(extensions::Dispatcher* dispatcher, + extensions::NativeExtensionBindingsSystem* + bindings_system) const override; + void PopulateSourceMap( + extensions::ResourceBundleSourceMap* source_map) const override; + void EnableCustomElementAllowlist() const override; + void RequireWebViewModules(extensions::ScriptContext* context) const override; +}; + +} // namespace electron + +#endif // ELECTRON_SHELL_RENDERER_EXTENSIONS_ELECTRON_EXTENSIONS_RENDERER_API_PROVIDER_H_ diff --git a/shell/renderer/extensions/electron_extensions_renderer_client.cc b/shell/renderer/extensions/electron_extensions_renderer_client.cc index f290e6fa6f..11a6930a97 100644 --- a/shell/renderer/extensions/electron_extensions_renderer_client.cc +++ b/shell/renderer/extensions/electron_extensions_renderer_client.cc @@ -15,11 +15,12 @@ namespace electron { -ElectronExtensionsRendererClient::ElectronExtensionsRendererClient() - : dispatcher_{std::make_unique( - std::make_unique(), - std::vector< - std::unique_ptr>{})} { +ElectronExtensionsRendererClient::ElectronExtensionsRendererClient() {} + +void ElectronExtensionsRendererClient::RenderThreadStarted() { + dispatcher_ = std::make_unique( + std::make_unique(), + std::move(api_providers_)); dispatcher_->OnRenderThreadStarted(content::RenderThread::Get()); } diff --git a/shell/renderer/extensions/electron_extensions_renderer_client.h b/shell/renderer/extensions/electron_extensions_renderer_client.h index 4f90913062..435004f3ae 100644 --- a/shell/renderer/extensions/electron_extensions_renderer_client.h +++ b/shell/renderer/extensions/electron_extensions_renderer_client.h @@ -31,6 +31,8 @@ class ElectronExtensionsRendererClient ElectronExtensionsRendererClient& operator=( const ElectronExtensionsRendererClient&) = delete; + void RenderThreadStarted(); + // ExtensionsRendererClient implementation. bool IsIncognitoProcess() const override; int GetLowestIsolatedWorldId() const override; diff --git a/shell/renderer/renderer_client_base.cc b/shell/renderer/renderer_client_base.cc index 09e2759410..485b5a1412 100644 --- a/shell/renderer/renderer_client_base.cc +++ b/shell/renderer/renderer_client_base.cc @@ -95,6 +95,7 @@ #include "extensions/renderer/extension_web_view_helper.h" #include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container_manager.h" #include "shell/common/extensions/electron_extensions_client.h" +#include "shell/renderer/extensions/electron_extensions_renderer_api_provider.h" #include "shell/renderer/extensions/electron_extensions_renderer_client.h" #endif // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS) @@ -242,6 +243,9 @@ void RendererClientBase::RenderThreadStarted() { extensions_renderer_client_ = std::make_unique(); + extensions_renderer_client_->AddAPIProvider( + std::make_unique()); + extensions_renderer_client_->RenderThreadStarted(); extensions::ExtensionsRendererClient::Set(extensions_renderer_client_.get()); thread->AddObserver(extensions_renderer_client_->GetDispatcher()); @@ -398,13 +402,14 @@ bool RendererClientBase::OverrideCreatePlugin( return true; } -void RendererClientBase::GetSupportedKeySystems( - media::GetSupportedKeySystemsCB cb) { +std::unique_ptr +RendererClientBase::GetSupportedKeySystems(media::GetSupportedKeySystemsCB cb) { #if BUILDFLAG(ENABLE_WIDEVINE) GetChromeKeySystems(std::move(cb)); #else std::move(cb).Run({}); #endif + return nullptr; } void RendererClientBase::DidSetUserAgent(const std::string& user_agent) { diff --git a/shell/renderer/renderer_client_base.h b/shell/renderer/renderer_client_base.h index 309a6bb95a..025b6506a1 100644 --- a/shell/renderer/renderer_client_base.h +++ b/shell/renderer/renderer_client_base.h @@ -102,7 +102,8 @@ class RendererClientBase : public content::ContentRendererClient bool OverrideCreatePlugin(content::RenderFrame* render_frame, const blink::WebPluginParams& params, blink::WebPlugin** plugin) override; - void GetSupportedKeySystems(media::GetSupportedKeySystemsCB cb) override; + std::unique_ptr GetSupportedKeySystems( + media::GetSupportedKeySystemsCB cb) override; void DidSetUserAgent(const std::string& user_agent) override; bool IsPluginHandledExternally(content::RenderFrame* render_frame, const blink::WebElement& plugin_element,