From 486d4114bbb4d222964ef4da27fdc56c35e3715d Mon Sep 17 00:00:00 2001 From: "electron-roller[bot]" <84116207+electron-roller[bot]@users.noreply.github.com> Date: Fri, 24 Apr 2026 07:50:15 +0200 Subject: [PATCH] chore: bump chromium to 148.0.7778.56 (42-x-y) (#51299) * chore: bump chromium in DEPS to 148.0.7778.56 * chore: update patches --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt --- DEPS | 2 +- patches/chromium/.patches | 1 - ..._depend_on_packed_resource_integrity.patch | 8 +- patches/chromium/can_create_window.patch | 6 +- .../chromium/cherry-pick-c0390bcd64ba.patch | 210 ------------------ .../chromium/chore_partial_revert_of.patch | 2 +- ...screationoverridden_with_full_params.patch | 8 +- ...screen_rendering_with_viz_compositor.patch | 4 +- ...ding_non-standard_schemes_in_iframes.patch | 4 +- ...board_hides_on_input_blur_in_webview.patch | 4 +- patches/chromium/frame_host_manager.patch | 4 +- ..._avoid_private_macos_api_usage.patch.patch | 4 +- ...r_changes_to_the_webcontentsobserver.patch | 2 +- ...efactor_unfilter_unresponsive_events.patch | 4 +- ...al_remove_unused_prehandlemouseevent.patch | 2 +- patches/chromium/scroll_bounce_flag.patch | 4 +- patches/chromium/web_contents.patch | 2 +- patches/chromium/webview_fullscreen.patch | 6 +- .../worker_context_will_destroy.patch | 4 +- ...feat_add_hook_to_notify_script_ready.patch | 4 +- 20 files changed, 37 insertions(+), 248 deletions(-) delete mode 100644 patches/chromium/cherry-pick-c0390bcd64ba.patch diff --git a/DEPS b/DEPS index 6f138eced4..df49106cc9 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '148.0.7778.40', + '148.0.7778.56', 'node_version': 'v24.15.0', 'nan_version': diff --git a/patches/chromium/.patches b/patches/chromium/.patches index df4ba33e47..e06b8cab72 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -149,4 +149,3 @@ fix_fire_menu_popup_start_for_dynamically_created_aria_menus.patch feat_allow_enabling_extensions_on_custom_protocols.patch fix_initialize_com_on_desktopmedialistcapturethread_on_windows.patch fix_use_fresh_lazynow_for_onendworkitemimpl_after_didruntask.patch -cherry-pick-c0390bcd64ba.patch 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 63b208fadd..28da08f925 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 @@ -28,10 +28,10 @@ index 0af4d4b75d0519fabcb5d48bd9d5bd465bc80e92..eb6b23655afaa268f25d99301a0853aa ":chrome_dll", ":chrome_exe_version", diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index cf5a56ee6eeeba1b7060e558874612c44f564560..fc0914f7f1feb615516c2120a37329a106874633 100644 +index 5870101f9e55d6a55b4eb9c2627ccae9fa97b625..dba3b3d0c6fe86160b56b7cab8728f5152568ef8 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -7737,6 +7737,10 @@ test("unit_tests") { +@@ -7739,6 +7739,10 @@ test("unit_tests") { "//chrome/notification_helper", ] @@ -42,7 +42,7 @@ index cf5a56ee6eeeba1b7060e558874612c44f564560..fc0914f7f1feb615516c2120a37329a1 deps += [ "//chrome:other_version", "//chrome//services/util_win:unit_tests", -@@ -8712,6 +8716,10 @@ test("unit_tests") { +@@ -8714,6 +8718,10 @@ test("unit_tests") { "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc", ] @@ -53,7 +53,7 @@ index cf5a56ee6eeeba1b7060e558874612c44f564560..fc0914f7f1feb615516c2120a37329a1 sources += [ # The importer code is not used on Android. "../common/importer/firefox_importer_utils_unittest.cc", -@@ -8768,7 +8776,7 @@ test("unit_tests") { +@@ -8770,7 +8778,7 @@ test("unit_tests") { # TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above? deps += [ "../browser/screen_ai:screen_ai_install_state", diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index ef3f936699..24e238f92f 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 e416207b5f421b15827f0aa186234f425f9100df..d3a9d1b30dbbf7952203f0c93a068f493550fa79 100644 +index 2bacb736c7a3e1fb70ec590883c87ce667e461e1..80840b9869a8534ef5db17b0a1d62471b460911f 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -10242,6 +10242,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -10244,6 +10244,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,7 +21,7 @@ index e416207b5f421b15827f0aa186234f425f9100df..d3a9d1b30dbbf7952203f0c93a068f49 &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 3e0c8bd308d8a947a2bd295a2d83e385e53853fb..4e91b3aeb5630476c660e8814e2fd9d92c5a9ca1 100644 +index a65a4f8daebf8376973daacdc105dc5eca22af4b..f14392da23484750f8b39f8607dbbc6d18ab7882 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -5501,6 +5501,10 @@ FrameTree* WebContentsImpl::CreateNewWindow( diff --git a/patches/chromium/cherry-pick-c0390bcd64ba.patch b/patches/chromium/cherry-pick-c0390bcd64ba.patch deleted file mode 100644 index b76acc6b30..0000000000 --- a/patches/chromium/cherry-pick-c0390bcd64ba.patch +++ /dev/null @@ -1,210 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Fergal Daly -Date: Mon, 6 Apr 2026 19:49:06 -0700 -Subject: Fix UAF in FileSystemAccessChangeSource. - -`DidInitialize` calls any outstanding initialization callbacks but a -callback can delete this. The code guards against this in its access -of `initialization_callbacks_` but not `initialization_result_`. - -This fix keeps a copy of the result on the stack. - -This also adds a test which fails with ASAN before the fix is applied -and passes after. - -The basic test code was written by Gemini. - -Fixed: 497880137 -Change-Id: I046831db23cb4b8e41964910e2aede9b1be0db7f -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7728464 -Auto-Submit: Fergal Daly -Reviewed-by: Ming-Ying Chung -Commit-Queue: Ming-Ying Chung -Cr-Commit-Position: refs/heads/main@{#1610499} - -diff --git a/content/browser/file_system_access/file_system_access_change_source.cc b/content/browser/file_system_access/file_system_access_change_source.cc -index 566dc1ea40b43a54b33d70e82a20ff5695b57b5e..48bd867a9d3d140eaf515ea7bc1613231f7e79e9 100644 ---- a/content/browser/file_system_access/file_system_access_change_source.cc -+++ b/content/browser/file_system_access/file_system_access_change_source.cc -@@ -71,13 +71,14 @@ void FileSystemAccessChangeSource::DidInitialize( - CHECK(!initialization_result_.has_value()); - CHECK(!initialization_callbacks_.empty()); - -- initialization_result_ = std::move(result); -+ // The callbacks may cause |this| to be deleted, so we should only use -+ // stack-based objects below. -+ initialization_result_ = result->Clone(); - -- // Move the callbacks to the stack since they may cause |this| to be deleted. - auto initialization_callbacks = std::move(initialization_callbacks_); - initialization_callbacks_.clear(); - for (auto& callback : initialization_callbacks) { -- std::move(callback).Run(initialization_result_->Clone()); -+ std::move(callback).Run(result->Clone()); - } - } - -diff --git a/content/browser/file_system_access/file_system_access_change_source_unittest.cc b/content/browser/file_system_access/file_system_access_change_source_unittest.cc -new file mode 100644 -index 0000000000000000000000000000000000000000..b0f15909bebda29fc2ec689a6d3b15d797dcc722 ---- /dev/null -+++ b/content/browser/file_system_access/file_system_access_change_source_unittest.cc -@@ -0,0 +1,146 @@ -+// Copyright 2026 The Chromium Authors -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#include "content/browser/file_system_access/file_system_access_change_source.h" -+ -+#include "base/files/scoped_temp_dir.h" -+#include "base/functional/bind.h" -+#include "base/memory/scoped_refptr.h" -+#include "base/task/sequenced_task_runner.h" -+#include "base/test/task_environment.h" -+#include "base/test/test_future.h" -+#include "content/browser/file_system_access/file_system_access_watch_scope.h" -+#include "storage/browser/file_system/file_system_context.h" -+#include "storage/browser/file_system/file_system_url.h" -+#include "storage/browser/quota/quota_manager_proxy.h" -+#include "storage/browser/test/test_file_system_context.h" -+#include "testing/gmock/include/gmock/gmock.h" -+#include "testing/gtest/include/gtest/gtest.h" -+#include "third_party/blink/public/mojom/file_system_access/file_system_access_error.mojom.h" -+ -+namespace content { -+ -+namespace { -+ -+class MockRawChangeObserver -+ : public FileSystemAccessChangeSource::RawChangeObserver { -+ public: -+ MOCK_METHOD(void, -+ OnRawChange, -+ (const storage::FileSystemURL& changed_url, -+ bool error, -+ const FileSystemAccessChangeSource::ChangeInfo& change_info, -+ const FileSystemAccessWatchScope& scope), -+ (override)); -+ MOCK_METHOD(void, -+ OnUsageChange, -+ (size_t old_usage, -+ size_t new_usage, -+ const FileSystemAccessWatchScope& scope), -+ (override)); -+ MOCK_METHOD(void, -+ OnSourceBeingDestroyed, -+ (FileSystemAccessChangeSource * source), -+ (override)); -+}; -+ -+class FakeChangeSource : public FileSystemAccessChangeSource { -+ public: -+ FakeChangeSource( -+ FileSystemAccessWatchScope scope, -+ scoped_refptr file_system_context) -+ : FileSystemAccessChangeSource(std::move(scope), -+ std::move(file_system_context)) {} -+ ~FakeChangeSource() override = default; -+ -+ // FileSystemAccessChangeSource: -+ void Initialize( -+ base::OnceCallback -+ on_source_initialized) override { -+ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( -+ FROM_HERE, base::BindOnce(std::move(on_source_initialized), -+ blink::mojom::FileSystemAccessError::New( -+ blink::mojom::FileSystemAccessStatus::kOk, -+ base::File::FILE_OK, ""))); -+ } -+ -+ void Signal(const storage::FileSystemURL& changed_url, -+ bool error = false, -+ ChangeInfo change_info = ChangeInfo()) { -+ NotifyOfChange(changed_url, error, change_info); -+ } -+}; -+ -+} // namespace -+ -+class FileSystemAccessChangeSourceTest : public testing::Test { -+ public: -+ FileSystemAccessChangeSourceTest() -+ : task_environment_(base::test::TaskEnvironment::MainThreadType::IO) {} -+ -+ void SetUp() override { -+ ASSERT_TRUE(dir_.CreateUniqueTempDir()); -+ file_system_context_ = storage::CreateFileSystemContextForTesting( -+ /*quota_manager_proxy=*/nullptr, dir_.GetPath()); -+ } -+ -+ protected: -+ base::test::TaskEnvironment task_environment_; -+ base::ScopedTempDir dir_; -+ scoped_refptr file_system_context_; -+}; -+ -+TEST_F(FileSystemAccessChangeSourceTest, CreateAndInitialize) { -+ auto file_path = dir_.GetPath().AppendASCII("file"); -+ auto file_url = file_system_context_->CreateCrackedFileSystemURL( -+ blink::StorageKey(), storage::kFileSystemTypeLocal, file_path); -+ -+ auto scope = FileSystemAccessWatchScope::GetScopeForFileWatch(file_url); -+ FakeChangeSource source(scope, file_system_context_); -+ -+ base::test::TestFuture future; -+ source.EnsureInitialized(future.GetCallback()); -+ EXPECT_EQ(future.Get()->status, blink::mojom::FileSystemAccessStatus::kOk); -+} -+ -+TEST_F(FileSystemAccessChangeSourceTest, NotifyOfChange) { -+ auto file_path = dir_.GetPath().AppendASCII("file"); -+ auto file_url = file_system_context_->CreateCrackedFileSystemURL( -+ blink::StorageKey(), storage::kFileSystemTypeLocal, file_path); -+ -+ auto scope = FileSystemAccessWatchScope::GetScopeForFileWatch(file_url); -+ FakeChangeSource source(scope, file_system_context_); -+ -+ MockRawChangeObserver observer; -+ source.AddObserver(&observer); -+ -+ EXPECT_CALL(observer, OnRawChange(testing::Eq(file_url), testing::IsFalse(), -+ testing::_, testing::Eq(scope))); -+ source.Signal(file_url); -+ -+ source.RemoveObserver(&observer); -+} -+ -+// A callback passed to `EnsureInitialized` may result in `this` being -+// destroyed. This tests that `DidInitialize` (which calls the callbacks) is -+// robust to that situation. See https://crbug.com/497880137. -+TEST_F(FileSystemAccessChangeSourceTest, TestDestroyFromInitializeCallback) { -+ auto file_path = dir_.GetPath().AppendASCII("file"); -+ auto file_url = file_system_context_->CreateCrackedFileSystemURL( -+ blink::StorageKey(), storage::kFileSystemTypeLocal, file_path); -+ -+ auto scope = FileSystemAccessWatchScope::GetScopeForFileWatch(file_url); -+ FakeChangeSource* source = new FakeChangeSource(scope, file_system_context_); -+ -+ source->EnsureInitialized(base::BindOnce( -+ [](FakeChangeSource* source, blink::mojom::FileSystemAccessErrorPtr) { -+ delete source; -+ }, -+ base::Unretained(source))); -+ base::test::TestFuture future; -+ source->EnsureInitialized(future.GetCallback()); -+ EXPECT_EQ(future.Get()->status, blink::mojom::FileSystemAccessStatus::kOk); -+} -+ -+} // namespace content -diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn -index be51e4f3e5de4ed82ba2752293ea58a9a672128c..8e2354d7918c3d86dde086c6647cb0c2656ab3c3 100644 ---- a/content/test/BUILD.gn -+++ b/content/test/BUILD.gn -@@ -2681,6 +2681,7 @@ test("content_unittests") { - "../browser/fenced_frame/redacted_fenced_frame_config_mojom_traits_unittest.cc", - "../browser/file_system/browser_file_system_helper_unittest.cc", - "../browser/file_system/file_system_operation_runner_unittest.cc", -+ "../browser/file_system_access/file_system_access_change_source_unittest.cc", - "../browser/file_system_access/file_system_access_directory_handle_impl_unittest.cc", - "../browser/file_system_access/file_system_access_file_handle_impl_unittest.cc", - "../browser/file_system_access/file_system_access_file_modification_host_impl_unittest.cc", diff --git a/patches/chromium/chore_partial_revert_of.patch b/patches/chromium/chore_partial_revert_of.patch index 107c8c7868..09718e21e4 100644 --- a/patches/chromium/chore_partial_revert_of.patch +++ b/patches/chromium/chore_partial_revert_of.patch @@ -14,7 +14,7 @@ track down the source of this problem & figure out if we can fix it by changing something in Electron. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index aaa2b2229dac8c5e8cf590300b436082f6c3773b..e12758010f5c243d2fb9c733b74bcb0eea89f5da 100644 +index 3f4a7bd4d859c9159ae5048b2c4569fee180152d..5ad3355fca79e32b088131b827aee05c8e15b8c2 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -5472,7 +5472,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index 36e5dee236..fda20e13fe 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -7,10 +7,10 @@ Pending upstream patch, this gives us fuller access to the window.open params so that we will be able to decide whether to cancel it or not. diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index 8f8852b2af1acfa4ec985fd1c8b50563b991b12a..c2f2903545b191c5ab13462bf330efce37d7d08c 100644 +index 9603137595182b9f442bd54cd6711fffc1fe7af8..21fc8cd1551ffd9eafd6f7252c19bd730de39e8e 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -2310,7 +2310,8 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -2328,7 +2328,8 @@ bool Browser::IsWebContentsCreationOverridden( content::mojom::WindowContainerType window_container_type, const GURL& opener_url, const std::string& frame_name, @@ -20,7 +20,7 @@ index 8f8852b2af1acfa4ec985fd1c8b50563b991b12a..c2f2903545b191c5ab13462bf330efce if (HasActorTaskPreventingNewWebContents(profile(), opener)) { // If an ExecutionEngine is acting on the opener, prevent it from creating a // new WebContents. We'll instead force the navigation to happen in the same -@@ -2323,7 +2324,7 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -2341,7 +2342,7 @@ bool Browser::IsWebContentsCreationOverridden( return (window_container_type == content::mojom::WindowContainerType::BACKGROUND && ShouldCreateBackgroundContents(source_site_instance, opener_url, @@ -44,7 +44,7 @@ index acdb28d61badaf549c47e107f4795e1e2adc37c9..b6aca0bf802f2146d09d2a872ff9e091 content::RenderFrameHost* opener, content::SiteInstance* source_site_instance, diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index d43e75c20aca09080f4223d339c88381f030c504..8cd59445bae73ff0193e4512d7c36740cbad847f 100644 +index 9adbc6e3df13d0db54a27101b32f3e88d7bc7f13..889e96915b9be573876a3faac94f32dd3105cd71 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -5436,8 +5436,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( 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 d70bb3cd00..a99b97c55b 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -563,10 +563,10 @@ index 399fba1a3d4e601dc2cdd5f1f4def8b7fd7a3011..8bcbe0d26c80323155d536c0d3a177a1 gpu::SyncPointManager* GetSyncPointManager() override; gpu::Scheduler* GetGpuScheduler() override; diff --git a/content/browser/compositor/viz_process_transport_factory.cc b/content/browser/compositor/viz_process_transport_factory.cc -index 59a7d48453bc4d317c5760f57ad3bf84d5a81106..6b03be074cfd1ef113394debbfeeb6463b96dc2e 100644 +index 3b6170d5db3268c9fea8c47e93cea30304904cd8..f01d8239f6b7a6c49607b8c13c91f3f4dca2910a 100644 --- a/content/browser/compositor/viz_process_transport_factory.cc +++ b/content/browser/compositor/viz_process_transport_factory.cc -@@ -406,8 +406,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( +@@ -405,8 +405,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( mojo::AssociatedRemote display_private; root_params->display_private = display_private.BindNewEndpointAndPassReceiver(); 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 16920adf54..f00b6ff2b4 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 @@ -28,10 +28,10 @@ The patch should be removed in favor of either: Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397. diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc -index e321b9acde92b212dd9591a2e72868a2ad64406b..1150972064845f46717e1c184e4dde911bc1a019 100644 +index d2feb516099ddded375bf34e3c90e48a5be38b2f..25b933800ffb49e4e7f38dcf6d65b059e909070e 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -11929,6 +11929,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { +@@ -11935,6 +11935,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { target_rph_id); } 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 e250b2d552..c20e357ede 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 @@ -87,10 +87,10 @@ index a4768b51dae6817c9e9a467e9b16e827e0bfebda..83c42b5062aa8193fe2f56e407abe67d // 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 e039e2c82ad75ca4b95763414f7aafb6d3a3dbf2..aaa2b2229dac8c5e8cf590300b436082f6c3773b 100644 +index 2771df92dcd2b887fa7b8ee9625cf5b0c5628f0d..3f4a7bd4d859c9159ae5048b2c4569fee180152d 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -10437,7 +10437,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( +@@ -10465,7 +10465,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( "WebContentsImpl::OnFocusedElementChangedInFrame", "render_frame_host", frame); RenderWidgetHostViewBase* root_view = diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index fc30e7b640..2106f1e147 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 25ee8cf3da9ffbef6798548cc458f74e41b97fdd..32dcee38dde1587596d24d1433fcdeb310fca4b6 100644 +index c7c9750f40e5d8e4a1923a9657e50bbcd431e429..8f47e1ac9f9a24c28a688b1031a274ad37d7bb3c 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -4915,6 +4915,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -4919,6 +4919,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } 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 5f0e9bdd42..fb75fb670c 100644 --- a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch +++ b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch @@ -1209,7 +1209,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe } // namespace content diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn -index 19f17632aecf606bf7b39cf1a2fda068e10ddfec..be51e4f3e5de4ed82ba2752293ea58a9a672128c 100644 +index 74b9e3e07a29efe99162b091adcd605a58459fc6..8e2354d7918c3d86dde086c6647cb0c2656ab3c3 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn @@ -701,6 +701,7 @@ static_library("test_support") { @@ -1237,7 +1237,7 @@ index 19f17632aecf606bf7b39cf1a2fda068e10ddfec..be51e4f3e5de4ed82ba2752293ea58a9 ] if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) { -@@ -3447,6 +3451,7 @@ test("content_unittests") { +@@ -3448,6 +3452,7 @@ test("content_unittests") { "//ui/shell_dialogs", "//ui/webui:test_support", "//url", 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 0e2dea1ae0..58aac1e57e 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -44,7 +44,7 @@ index 8df679251dc314a94079fcc9d4edd7fab12873d4..06599737a290ba4c52a7d36725aef565 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 4e91b3aeb5630476c660e8814e2fd9d92c5a9ca1..d43e75c20aca09080f4223d339c88381f030c504 100644 +index f14392da23484750f8b39f8607dbbc6d18ab7882..9adbc6e3df13d0db54a27101b32f3e88d7bc7f13 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -6342,6 +6342,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { diff --git a/patches/chromium/refactor_unfilter_unresponsive_events.patch b/patches/chromium/refactor_unfilter_unresponsive_events.patch index f53e5e05a5..b5e862d99a 100644 --- a/patches/chromium/refactor_unfilter_unresponsive_events.patch +++ b/patches/chromium/refactor_unfilter_unresponsive_events.patch @@ -15,10 +15,10 @@ This CL removes these filters so the unresponsive event can still be accessed from our JS event. The filtering is moved into Electron's code. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index e12758010f5c243d2fb9c733b74bcb0eea89f5da..6910e1e54995027933abc5724afac9129df7519c 100644 +index 5ad3355fca79e32b088131b827aee05c8e15b8c2..00ea0aa44f2776dcfcd24fbbdf0966a879cc3a85 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -10589,25 +10589,13 @@ void WebContentsImpl::RendererUnresponsive( +@@ -10617,25 +10617,13 @@ void WebContentsImpl::RendererUnresponsive( base::RepeatingClosure hang_monitor_restarter) { OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive", "render_widget_host", render_widget_host); diff --git a/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch b/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch index de41c8ee25..1e40d0cc8b 100644 --- a/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch +++ b/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch @@ -54,7 +54,7 @@ index fe26e2aeba6fc03201373693d4afa2b78c89e54a..ab880a04a9638b348192a4c85785bc76 if (mouse_event_callback.Run(mouse_event)) { return; diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 6910e1e54995027933abc5724afac9129df7519c..8011e752e23f62162cb2fff2461dfe5948af6dad 100644 +index 00ea0aa44f2776dcfcd24fbbdf0966a879cc3a85..23c6bc61c0f286666b7c4cbdc104090801e6aca8 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -4586,6 +4586,12 @@ void WebContentsImpl::RenderWidgetWasResized( diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch index ae1cfb7fc0..f7d7d20d19 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 11b31e6dd0812993348887ef6b5300e7ea9f348d..74e671775e2ae643aa43b9dc1efc93c0762e3bdb 100644 +index 7b8f245a9071b0084476f76422ecf26128e4a69a..6c2bea15b494574255304ba895a9d766d98b8a17 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1167,11 +1167,11 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1163,11 +1163,11 @@ bool RenderThreadImpl::IsLcdTextEnabled() { } bool RenderThreadImpl::IsElasticOverscrollEnabledOnRoot() { diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index a099cc7723..5b25ff92e2 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -9,7 +9,7 @@ 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 8cd59445bae73ff0193e4512d7c36740cbad847f..ba7c3966f2c079bcec329f8f4a724c561969f33f 100644 +index 889e96915b9be573876a3faac94f32dd3105cd71..90ae5a8013c10b0859cbf73ac0d1fb52c7bb1168 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -4305,6 +4305,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index cf1d93f4de..7ef6da6c10 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 d3a9d1b30dbbf7952203f0c93a068f493550fa79..546b5a14b9d5923e0a9e7b231041b937dbd71560 100644 +index 80840b9869a8534ef5db17b0a1d62471b460911f..a7f6f8b8cbd3894bef1897f597665ab4401e1db1 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -9274,6 +9274,17 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -9276,6 +9276,17 @@ void RenderFrameHostImpl::EnterFullscreen( } } @@ -37,7 +37,7 @@ index d3a9d1b30dbbf7952203f0c93a068f493550fa79..546b5a14b9d5923e0a9e7b231041b937 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 ba7c3966f2c079bcec329f8f4a724c561969f33f..e039e2c82ad75ca4b95763414f7aafb6d3a3dbf2 100644 +index 90ae5a8013c10b0859cbf73ac0d1fb52c7bb1168..2771df92dcd2b887fa7b8ee9625cf5b0c5628f0d 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -4603,21 +4603,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent( diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index 3d61ac465a..0991e456b3 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -26,10 +26,10 @@ index 1f6c015c361b3146db760643e3670a110634d75b..d4d9c10d3420a5ff998aeb593ea6a255 // An empty URL is returned if the URL is not overriden. virtual GURL OverrideFlashEmbedWithHTML(const GURL& url); diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc -index 23a05a16b40b859465f7953aef8052686cbeece9..10c2a75c7106b4803d53bec02c9c347a3ca28cfe 100644 +index c8704526f04f148edf542d2e9bc4c26b59acc1e9..cfe880c270bf473cfaba1c0773b828547011b2b8 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -935,6 +935,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -933,6 +933,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } 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 4a94fa829c..89128197ab 100644 --- a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch +++ b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch @@ -35,10 +35,10 @@ index d4d9c10d3420a5ff998aeb593ea6a25556d1215e..d64fef6bfc37264dcdc1bbea22eb5c4e // from the worker thread. virtual void WillDestroyWorkerContextOnWorkerThread( diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc -index 10c2a75c7106b4803d53bec02c9c347a3ca28cfe..9879ba58b68720151ab438ca85df9a30e2ad0c6f 100644 +index cfe880c270bf473cfaba1c0773b828547011b2b8..748751cf0b9800c44a857670d02c555347e6d004 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -947,6 +947,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( +@@ -945,6 +945,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( worker); }