diff --git a/.circleci/config/base.yml b/.circleci/config/base.yml index 2f4d58e751e..61ee7d31ddf 100644 --- a/.circleci/config/base.yml +++ b/.circleci/config/base.yml @@ -1006,9 +1006,17 @@ steps-electron-gn-check: &steps-electron-gn-check - *step-generate-deps-hash - *step-touch-sync-done - maybe-restore-portaled-src-cache - - *step-wait-for-goma - - *step-gn-gen-default - - *step-gn-check + - run: + name: Ensure src checkout worked + command: | + if [ ! -d "src/third_party/blink" ]; then + echo src cache was not restored for an unknown reason + exit 1 + fi + - run: + name: Wipe Electron + command: rm -rf src/electron + - *step-checkout-electron steps-electron-ts-compile-for-doc-change: &steps-electron-ts-compile-for-doc-change steps: diff --git a/BUILD.gn b/BUILD.gn index 407bdedffcc..ec385d1e8c8 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -566,8 +566,9 @@ source_set("electron_lib") { "//ui/base/ime/linux", "//ui/events/devices/x11", "//ui/events/platform/x11", + "//ui/linux:linux_ui", + "//ui/linux:linux_ui_factory", "//ui/views/controls/webview", - "//ui/views/linux_ui:linux_ui_factory", "//ui/wm", ] if (ozone_platform_x11) { diff --git a/DEPS b/DEPS index 263fae42a7b..110026e134c 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '105.0.5173.0', + '105.0.5187.0', 'node_version': 'v16.15.1', 'nan_version': diff --git a/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch b/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch index 9cb88ba5ded..1b789c2492f 100644 --- a/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch +++ b/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch @@ -10,7 +10,7 @@ Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set. This should be upstreamed. diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index ff57e2a67ccc37be912ba3fca9df4b9e28898c6e..0045b3c1b89728e3950929b49e15bbc67a826c02 100644 +index b692a49b71661b8394c1126250fb150653aece97..c087c0f99a15edd3a9c776a68c76b2cf46257123 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc @@ -239,6 +239,10 @@ int GpuMain(MainFunctionParams parameters) { diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index 324d264d1ab..9db40d62e73 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -23,10 +23,10 @@ index 5a7d3da58451f491ed6dfabd3bc31a645843bb60..36cbf8c5c01330acc8b3a708bd6481ed int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index eaf9a9483d89cd47bef63ff7f2868c0174a3c3bb..19bd5ef930bc094b315d2562c0f4917e78f63bad 100644 +index 4a69ce45890fd9ab730eef460396ab495b7a332a..3e186230715aaf840959a93038167749e3735a08 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -4397,6 +4397,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, +@@ -4435,6 +4435,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, observer.DidCreateScriptContext(context, world_id); } @@ -40,10 +40,10 @@ index eaf9a9483d89cd47bef63ff7f2868c0174a3c3bb..19bd5ef930bc094b315d2562c0f4917e int world_id) { for (auto& observer : observers_) diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h -index feca00f2e36d1c02be5e56e787ea8f67eab45df6..9a4c57ddb3aebff2365ea7563803b169c7787c5e 100644 +index 351a3a257a3eca98c4a2caf724714cbc788b5d72..73dbb5a289411ea32f06cb1ea50ef98153923101 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h -@@ -605,6 +605,8 @@ class CONTENT_EXPORT RenderFrameImpl +@@ -606,6 +606,8 @@ class CONTENT_EXPORT RenderFrameImpl uint32_t ng_call_count) override; void DidCreateScriptContext(v8::Local context, int world_id) override; @@ -53,10 +53,10 @@ index feca00f2e36d1c02be5e56e787ea8f67eab45df6..9a4c57ddb3aebff2365ea7563803b169 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 9e2dc9b2ea07a1f9bdfd92284f73dd1977ea1437..18c07f44196e83cf16cace6863e3db368a86ce0d 100644 +index acb427e4a6688f14f4a6ceaec8bf3988525c5e08..35623174f16399d5fff637a07554e43c55f902d1 100644 --- a/third_party/blink/public/web/web_local_frame_client.h +++ b/third_party/blink/public/web/web_local_frame_client.h -@@ -605,6 +605,9 @@ class BLINK_EXPORT WebLocalFrameClient { +@@ -606,6 +606,9 @@ class BLINK_EXPORT WebLocalFrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) {} @@ -67,10 +67,10 @@ index 9e2dc9b2ea07a1f9bdfd92284f73dd1977ea1437..18c07f44196e83cf16cace6863e3db36 virtual void WillReleaseScriptContext(v8::Local, int32_t world_id) {} diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc -index a6ba8411384855c82712960375bc949c5c2bd522..fc86ca807c9c1bda9236160580b094153778e18b 100644 +index c8af53d40eaa1dd3a0067948a8cda80d1599cee3..4de918ee52efa7ec27a21aa2f57616d31dfd07d1 100644 --- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc +++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc -@@ -207,6 +207,7 @@ void LocalWindowProxy::Initialize() { +@@ -209,6 +209,7 @@ void LocalWindowProxy::Initialize() { } InstallConditionalFeatures(); @@ -123,10 +123,10 @@ index c95ef4a4a3f9d40e0e4bedf6fc42225190626c42..36cc932782437b9f5d301416f5a4e8f4 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 6b4142bf7f85c64af6f845613568679276c7e698..21462bb2196b353c32cf05d0c53635ac77673567 100644 +index d44adfd65bd9a71996cdd323a5220d2dcaa09de2..1011a318a7d79186abe556d03f78badc725c802a 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.h +++ b/third_party/blink/renderer/core/loader/empty_clients.h -@@ -359,6 +359,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { +@@ -366,6 +366,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 688159b6c49..79081580812 100644 --- a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -6,10 +6,10 @@ Subject: allow disabling blink scheduler throttling per RenderView This allows us to disable throttling for hidden windows. diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc -index 1f6d9be10432416f591a616805494b5d78975df1..e73f70c62ac2e69c918bdf39bd53f74a47066f4e 100644 +index 261e1dda1e128e22d15f3454f9012265db45bd74..98b130f0791d1ca2d59ef62151df7e60f3f40831 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc -@@ -665,6 +665,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { +@@ -666,6 +666,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); } @@ -73,7 +73,7 @@ index 39bfc2200e924d0c589cfd07f085f182ef6853a6..bddff6d5ad3f6d08c4dc48e66ebc5319 + SetSchedulerThrottling(bool allowed); }; diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h -index 99f0ceb45972df14813b72300e6a59710f13597f..f5e15865bf0bad73d9505698e788c1e954f46c2c 100644 +index b01562ebe042bd23e7b5184aa28bb42f98f81ecb..5392b5ac0f95eab7fef3c59fd2e9b2dc2cfb7342 100644 --- a/third_party/blink/public/web/web_view.h +++ b/third_party/blink/public/web/web_view.h @@ -361,6 +361,7 @@ class WebView { @@ -85,10 +85,10 @@ index 99f0ceb45972df14813b72300e6a59710f13597f..f5e15865bf0bad73d9505698e788c1e9 // 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 96d329c005ad74f2409c42d2ef8e62b28a18174d..3e28873ed5181756ab62e14ca9c2c4b27b4378f1 100644 +index 390e47422a0a106d0e5746c0af0611d420af8025..9151815e6bf33a3a6980f8337f578dc90e458696 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -3723,6 +3723,13 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3742,6 +3742,13 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } @@ -102,7 +102,7 @@ index 96d329c005ad74f2409c42d2ef8e62b28a18174d..3e28873ed5181756ab62e14ca9c2c4b2 void WebViewImpl::SetVisibilityState( mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) { -@@ -3734,7 +3741,8 @@ void WebViewImpl::SetVisibilityState( +@@ -3753,7 +3760,8 @@ void WebViewImpl::SetVisibilityState( } GetPage()->SetVisibilityState(visibility_state, is_initial_state); GetPage()->GetPageScheduler()->SetPageVisible( @@ -113,7 +113,7 @@ index 96d329c005ad74f2409c42d2ef8e62b28a18174d..3e28873ed5181756ab62e14ca9c2c4b2 mojom::blink::PageVisibilityState WebViewImpl::GetVisibilityState() { diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h -index 6a36275fdd7ac12f91a40b60284b73fc93679749..f264c5ee5c2c38d4ccf15877accfdc31c48ec9f9 100644 +index ce3a483a4c06dc56a8a71d32d4d4a7077d524c2e..1cab34e52858808bceb52556c7ad0bbaa7584225 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h @@ -417,6 +417,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, diff --git a/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch b/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch index 1b4e797564b..3a1665ce876 100644 --- a/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch +++ b/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch @@ -6,7 +6,7 @@ Subject: Allow setting secondary label via SimpleMenuModel Builds on https://chromium-review.googlesource.com/c/chromium/src/+/2208976 diff --git a/ui/base/models/simple_menu_model.cc b/ui/base/models/simple_menu_model.cc -index a787411f89e2d95e2fa636a7cc6723bdd227e563..f8c67d10957c26fbcd21fa1fe05507efd78f1c29 100644 +index 20a3b1efcb52be5e10dc184df620ec8102f2aff3..dfebc65b2ce180e4cd175ab8d09ad7e16f6b8df5 100644 --- a/ui/base/models/simple_menu_model.cc +++ b/ui/base/models/simple_menu_model.cc @@ -53,6 +53,11 @@ std::u16string SimpleMenuModel::Delegate::GetLabelForCommandId( @@ -47,7 +47,7 @@ index a787411f89e2d95e2fa636a7cc6723bdd227e563..f8c67d10957c26fbcd21fa1fe05507ef return items_[ValidateItemIndex(index)].minor_text; } diff --git a/ui/base/models/simple_menu_model.h b/ui/base/models/simple_menu_model.h -index bd2ebaf9f84946c708eba13c18869afadd2fdbb0..880d6f12ad188c5f8abf037b3b8d27fcf1fc2cb6 100644 +index eadda341710f3a2e35f0e5c6aeb65a0dcc7bf0dd..2a7cbfa33702b9a5b89d1e69d5e8d0af83735bd7 100644 --- a/ui/base/models/simple_menu_model.h +++ b/ui/base/models/simple_menu_model.h @@ -49,6 +49,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel { diff --git a/patches/chromium/blink_file_path.patch b/patches/chromium/blink_file_path.patch index ace4aa5924c..8185b75732f 100644 --- a/patches/chromium/blink_file_path.patch +++ b/patches/chromium/blink_file_path.patch @@ -7,10 +7,10 @@ This is used by editors to obtain the filesystem path from a dragged file. See documentation at https://electronjs.org/docs/api/file-object diff --git a/third_party/blink/renderer/core/fileapi/file.h b/third_party/blink/renderer/core/fileapi/file.h -index 72d6b7e109779c9785130ebb0e1e23202c5bc68d..e12c4acfd87f1d698d7c8c8459e7231ee03789fd 100644 +index c061962bec620d2da0e217d8f55b7db57d120f97..59d9946ecfb7d68b41f539ce7c29c7398e00e9b2 100644 --- a/third_party/blink/renderer/core/fileapi/file.h +++ b/third_party/blink/renderer/core/fileapi/file.h -@@ -212,6 +212,9 @@ class CORE_EXPORT File final : public Blob { +@@ -211,6 +211,9 @@ class CORE_EXPORT File final : public Blob { } const String& name() const { return name_; } diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch index d70c093f577..a6d6dfc7533 100644 --- a/patches/chromium/blink_local_frame.patch +++ b/patches/chromium/blink_local_frame.patch @@ -15,10 +15,10 @@ 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 80f4314d205f4cbf0d92a331062f8a01a46d6917..2e5c15fc2cf5d0db8d26c1eeb759f6d2837e0656 100644 +index 1ced95928589b38d76df1c460df7712e8e8c1611..2977ba7ce2f6a102f04bd9ad591fc583fd836051 100644 --- a/third_party/blink/renderer/core/frame/frame.cc +++ b/third_party/blink/renderer/core/frame/frame.cc -@@ -123,14 +123,6 @@ bool Frame::Detach(FrameDetachType type) { +@@ -124,14 +124,6 @@ bool Frame::Detach(FrameDetachType type) { DCHECK(!IsDetached()); @@ -33,7 +33,7 @@ index 80f4314d205f4cbf0d92a331062f8a01a46d6917..2e5c15fc2cf5d0db8d26c1eeb759f6d2 if (type == FrameDetachType::kRemove) { if (provisional_frame_) { provisional_frame_->Detach(FrameDetachType::kRemove); -@@ -154,6 +146,14 @@ bool Frame::Detach(FrameDetachType type) { +@@ -155,6 +147,14 @@ bool Frame::Detach(FrameDetachType type) { GetWindowProxyManager()->ClearForSwap(); } @@ -49,7 +49,7 @@ index 80f4314d205f4cbf0d92a331062f8a01a46d6917..2e5c15fc2cf5d0db8d26c1eeb759f6d2 // 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 4730c853097462638d3bc41b7c905874ab3dc29a..18615761121f83262da362b10b8022f80809ea07 100644 +index 5fccf35dfef38989bd68c69cfc35ac5d716ec165..dc45af36b30091b98cb37c927abd9a294c27bb71 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc @@ -544,10 +544,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { 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 9fee1e07d83..9b872d4b443 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,7 +11,7 @@ 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 672bc56194e1ad8b03acd639c17b7f7e67a5dba0..59ba25815e511af5ca6aca5467cc91d5cc3c6bf1 100644 +index a9e0afc645b8bd543590e80b55a7461381373187..3d2e799541e26f5e421e20ccaff65020687314c2 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn @@ -175,11 +175,16 @@ if (!is_android && !is_mac) { @@ -33,10 +33,10 @@ index 672bc56194e1ad8b03acd639c17b7f7e67a5dba0..59ba25815e511af5ca6aca5467cc91d5 "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index fdc5d388f80dcae2f1dd8a05d7d24ed5e59250b5..4570ad0308083a62e56a5fa9c91866f9216eed5f 100644 +index 244373ba428ada917929c5161eb2c75ef1ccf8d3..556a613a6697eeea6b15894449fec884b97ec8b5 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4582,7 +4582,7 @@ static_library("browser") { +@@ -4574,7 +4574,7 @@ static_library("browser") { # On Windows, the hashes are embedded in //chrome:chrome_initial rather # than here in :chrome_dll. @@ -46,18 +46,18 @@ index fdc5d388f80dcae2f1dd8a05d7d24ed5e59250b5..4570ad0308083a62e56a5fa9c91866f9 sources += [ "certificate_viewer_stub.cc" ] } diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index 5584fa001cf9bb0fab31cc6de053a536d18c4492..6541358b2a5d41f94c1e2d5a9d57ce20661f61a7 100644 +index 8c1a1b9c39a4ba00784ef91aaa81bf2453ac13e6..95e2f70445568d95351e8b1b5da71dc8e85e46cd 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -5953,7 +5953,6 @@ test("unit_tests") { +@@ -5963,7 +5963,6 @@ test("unit_tests") { deps += [ "//chrome:other_version", - "//chrome:packed_resources_integrity", "//chrome//services/util_win:unit_tests", "//chrome/app:chrome_dll_resources", - "//chrome/browser:chrome_process_finder", -@@ -5977,6 +5976,10 @@ test("unit_tests") { + "//chrome/app:crash_reporter_client_win_unit_tests", +@@ -5988,6 +5987,10 @@ test("unit_tests") { "//ui/resources", ] @@ -68,16 +68,16 @@ index 5584fa001cf9bb0fab31cc6de053a536d18c4492..6541358b2a5d41f94c1e2d5a9d57ce20 ldflags = [ "/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll", "/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll", -@@ -6867,7 +6870,7 @@ test("unit_tests") { +@@ -6879,7 +6882,7 @@ test("unit_tests") { } deps += [ - "//chrome:packed_resources_integrity_hash", + # "//chrome:packed_resources_integrity_hash", - "//chrome/browser/ash/system_web_apps/test_support", "//chrome/browser/enterprise/connectors/analysis:features", "//chrome/browser/media/router:test_support", -@@ -6982,6 +6985,10 @@ test("unit_tests") { + "//chrome/browser/media/router/discovery:discovery", +@@ -6993,6 +6996,10 @@ test("unit_tests") { } } diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index d148c0eb9c8..f29b6178fa7 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 59ad3749cee7f8892884033d7507def1314aec75..187b94d207570a77f058915b9e5b581c777adc5a 100644 +index bdfc0719057218afeb61fec8f4e75298c3baa54c..9c6f51f1667d9bf1b430a83747faebf633a324c7 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -7221,6 +7221,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -7283,6 +7283,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 59ad3749cee7f8892884033d7507def1314aec75..187b94d207570a77f058915b9e5b581c &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 2cd68060a6d73b12190692f5973224e4816630bb..c9f744c73f95ad6e63077fbfad2e0c935e6c44c1 100644 +index 860e52ddb3db1ccc38a7ef6e11acc0da67c98ac5..14bc2c9e77b7db69d03c00314fe55806d2a9e38c 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3983,6 +3983,14 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3990,6 +3990,14 @@ FrameTree* WebContentsImpl::CreateNewWindow( } auto* new_contents_impl = new_contents.get(); @@ -39,7 +39,7 @@ index 2cd68060a6d73b12190692f5973224e4816630bb..c9f744c73f95ad6e63077fbfad2e0c93 new_contents_impl->GetController().SetSessionStorageNamespace( partition_config, session_storage_namespace); -@@ -4027,12 +4035,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4034,12 +4042,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( AddWebContentsDestructionObserver(new_contents_impl); } @@ -53,10 +53,10 @@ index 2cd68060a6d73b12190692f5973224e4816630bb..c9f744c73f95ad6e63077fbfad2e0c93 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 ac5575971f18588c25438a7285e1c25037c14b1b..af3c7dbb09de31e4079406cb5e18b5ffcc6e867c 100644 +index cc492885ec8ae5577c6e8702dc30749331332103..c852b894f976304e6b20908a6e66ccd698887604 100644 --- a/content/common/frame.mojom +++ b/content/common/frame.mojom -@@ -579,6 +579,10 @@ struct CreateNewWindowParams { +@@ -587,6 +587,10 @@ struct CreateNewWindowParams { // Additional parameters for creating picture-in-picture windows. blink.mojom.PictureInPictureWindowOptions? pip_options; @@ -68,10 +68,10 @@ index ac5575971f18588c25438a7285e1c25037c14b1b..af3c7dbb09de31e4079406cb5e18b5ff // 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 3101f5faa5d87f10e0859e8a09c6ebb2678eb478..39682dddf0ec449f0bc34124bf3de6f8c216fdf9 100644 +index 15620fd7b5d95eb031641e0eeb6d4c2ec74071d2..8f75315f0d4ba45314be5d2d88a417b44ba2c254 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -605,6 +605,8 @@ bool ContentBrowserClient::CanCreateWindow( +@@ -617,6 +617,8 @@ bool ContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -81,10 +81,10 @@ index 3101f5faa5d87f10e0859e8a09c6ebb2678eb478..39682dddf0ec449f0bc34124bf3de6f8 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 0d79069d5a54a1a8907e459beb0235b2a78e1fa6..cfe1fc63e293cb2bcafb6c9e6778ee39ef266e89 100644 +index cadbd44a85b6117cd001c1dec120d18520ff2855..e0bfafe859b600ac5033f78d1eb5823ddda956c4 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -164,6 +164,7 @@ class NetworkService; +@@ -165,6 +165,7 @@ class NetworkService; class TrustedURLLoaderHeaderClient; } // namespace mojom struct ResourceRequest; @@ -92,7 +92,7 @@ index 0d79069d5a54a1a8907e459beb0235b2a78e1fa6..cfe1fc63e293cb2bcafb6c9e6778ee39 } // namespace network namespace sandbox { -@@ -977,6 +978,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -993,6 +994,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -124,7 +124,7 @@ index ef3889063b562a37fbd945fe30db0d776ecaee7a..99e8449e9c515dd70ed88546a71f83ae const OpenURLParams& params) { return nullptr; diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 348dcde05d71e7d16e4c7bb1d8d9f8718070e669..5a9cc64d6e0d9d01f5dc133c7fcab34101bc32db 100644 +index b088cb301003359fefad0ea9ca42b96f0cf3de6c..eec7bf18d17e85bde8017d4c8e7f064987b4d4d3 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -16,6 +16,7 @@ @@ -150,7 +150,7 @@ index 348dcde05d71e7d16e4c7bb1d8d9f8718070e669..5a9cc64d6e0d9d01f5dc133c7fcab341 // typically happens when popups are created. virtual void WebContentsCreated(WebContents* source_contents, diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc -index 11eaa6b307811b0b327c60ca8ee343331ed18b1b..87f35d4477fef2d6f5ee58455c10e1780a090ef9 100644 +index 913b3647c4632b580fa1551f4ebfeaca6f9fe17e..9cc6a793a1ec3e53db1ef31aec37c569695b197e 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -315,6 +315,10 @@ WebView* RenderViewImpl::CreateView( @@ -165,7 +165,7 @@ index 11eaa6b307811b0b327c60ca8ee343331ed18b1b..87f35d4477fef2d6f5ee58455c10e178 // moved on send. bool is_background_tab = diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc -index e757a73ad55c997357bc26015423b69aaa3e895e..089b9e92b0b156fcdcf4b391c24b988a22e312c7 100644 +index d6dd69c53b66a89ea63927319d7b385f91921ea2..71748596f4d05de73263ed11b122d75a38b49616 100644 --- a/content/web_test/browser/web_test_content_browser_client.cc +++ b/content/web_test/browser/web_test_content_browser_client.cc @@ -440,6 +440,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( @@ -212,10 +212,10 @@ index 34570168ccb123f5102dcf8fa6bbf98e7c373ec6..192701e56d258da41b3724292853885e } // 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 6633a96d4eafce752b6a1dace29390203d7c4ac0..cb340f174618bd1c38e4216d85eb57f293f3367c 100644 +index ec10f16c6e6c5507ad2fb0afe306a744885eb58e..3f7a069c3f1b8412074864eb99bf47469a699837 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -2100,6 +2100,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2084,6 +2084,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, WebWindowFeatures window_features = GetWindowFeaturesFromString(features, entered_window); diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index aea8f9f1c17..674924efd4b 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -108,10 +108,10 @@ index 1318d5e04d5448d2b357454c3ce4207264288760..3b0324c35d5b18ed2e29264aae860c48 } diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index ce86697e47437832cd0d9692e44a19885f3b7174..62f3371827343fb30d3202f78af70968f169d9f2 100644 +index fd22d62a1346ee0f7c10659681e9a0e44535b44a..d51973a4ffdd2ea448fc3e8fab7cf3a47e867c7a 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -1794,12 +1794,11 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -1798,12 +1798,11 @@ bool Browser::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -246,10 +246,10 @@ index c6bd5c19f8a7ceec17c9e32af5296a9617f3a619..02199b439fba7fdc617b7f7980d958b7 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 a06d49c3ed7d809ddd3ab43f1cc4e3044a6b14d2..1ebb4970ef9c440c5c2584785397696c7ebc14ce 100644 +index ad3f25362279d889e800cee3fd20240cc6d176a9..9b532970afe951f7c12629903baa39f2b8de1a5e 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3909,8 +3909,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3916,8 +3916,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( source_site_instance, params.window_container_type, @@ -274,7 +274,7 @@ index 99e8449e9c515dd70ed88546a71f83ae139178fe..4f395474d3e0e1bf7a594fe3fa3e4cb5 } diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 5a9cc64d6e0d9d01f5dc133c7fcab34101bc32db..166e506f1afbcb1a3a661479d489e71d8d8ff552 100644 +index eec7bf18d17e85bde8017d4c8e7f064987b4d4d3..d5457e3a2ae96305cbd215f0340295339c7838e5 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -317,8 +317,7 @@ class CONTENT_EXPORT WebContentsDelegate { diff --git a/patches/chromium/crash_allow_setting_more_options.patch b/patches/chromium/crash_allow_setting_more_options.patch index b9e607f84e8..f4516dfd22c 100644 --- a/patches/chromium/crash_allow_setting_more_options.patch +++ b/patches/chromium/crash_allow_setting_more_options.patch @@ -21,10 +21,10 @@ index 6aa864db880408bf7021ac58673f4d8d489426b4..1fa85302da7a64abc42fd9558ddbcaf6 uint64_t g_process_start_time = 0; pid_t g_pid = 0; diff --git a/components/crash/core/app/crash_reporter_client.cc b/components/crash/core/app/crash_reporter_client.cc -index 82b7f241e26184240260d0b6287ded159681e15b..abbb267f6a40de0cdf4d09700f9dd444a575fbdf 100644 +index 463f92a6e547006a46119f52203482dd6695a84a..34e6f087613d76947ae463fda2b107fad6ec14e9 100644 --- a/components/crash/core/app/crash_reporter_client.cc +++ b/components/crash/core/app/crash_reporter_client.cc -@@ -141,6 +141,17 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) { +@@ -145,6 +145,17 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) { return false; } @@ -43,7 +43,7 @@ index 82b7f241e26184240260d0b6287ded159681e15b..abbb267f6a40de0cdf4d09700f9dd444 unsigned int CrashReporterClient::GetCrashDumpPercentage() { return 100; diff --git a/components/crash/core/app/crash_reporter_client.h b/components/crash/core/app/crash_reporter_client.h -index 24e53fa62c2c4a11494ad3d43f0c5a806930fcdd..9b691baa6cc90cc3f9ada307c43f44c4353e2487 100644 +index 2532e99f00b39777cd9640c76704f7430d39502e..323e039e4591a4099b187f7a0097b4ee8be11a9f 100644 --- a/components/crash/core/app/crash_reporter_client.h +++ b/components/crash/core/app/crash_reporter_client.h @@ -5,6 +5,7 @@ @@ -54,7 +54,7 @@ index 24e53fa62c2c4a11494ad3d43f0c5a806930fcdd..9b691baa6cc90cc3f9ada307c43f44c4 #include #include "build/build_config.h" -@@ -146,6 +147,19 @@ class CrashReporterClient { +@@ -151,6 +152,19 @@ class CrashReporterClient { // that case, |breakpad_enabled| is set to the value enforced by policies. virtual bool ReportingIsEnforcedByPolicy(bool* breakpad_enabled); @@ -128,10 +128,10 @@ index dc041c43371fd58e3121ef6bc423aadb644bb8d0..a1fa566775724b4a1662a939fda3f0a5 arguments.push_back("--monitor-self"); } diff --git a/components/crash/core/app/crashpad_win.cc b/components/crash/core/app/crashpad_win.cc -index 80f33dc5e2f2ed330e0726a5735b247ea8e99fd7..b96bf703f6b691886d6e4d5cd6d775945a8995e1 100644 +index ad401a7711ceff58abacb99a03fda258fccd12a0..de04f4df602e3a0b20af045111faf8a7bf8e9e28 100644 --- a/components/crash/core/app/crashpad_win.cc +++ b/components/crash/core/app/crashpad_win.cc -@@ -90,6 +90,7 @@ bool PlatformCrashpadInitialization( +@@ -91,6 +91,7 @@ bool PlatformCrashpadInitialization( std::map process_annotations; GetPlatformCrashpadAnnotations(&process_annotations); @@ -139,7 +139,7 @@ index 80f33dc5e2f2ed330e0726a5735b247ea8e99fd7..b96bf703f6b691886d6e4d5cd6d77594 std::string url = crash_reporter_client->GetUploadUrl(); -@@ -128,6 +129,13 @@ bool PlatformCrashpadInitialization( +@@ -129,6 +130,13 @@ bool PlatformCrashpadInitialization( std::vector arguments(start_arguments); diff --git a/patches/chromium/dcheck.patch b/patches/chromium/dcheck.patch index ccc3ddcd856..a7f845049f8 100644 --- a/patches/chromium/dcheck.patch +++ b/patches/chromium/dcheck.patch @@ -16,20 +16,6 @@ example, the checks might be disabled for a whole build target, but actually only one or two specific checks fail. Then it's better to simply comment out the failing checks and allow the rest of the target to have them enabled. -diff --git a/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.cc b/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.cc -index 21e7b1cbada3856a7d91040c259be80ae95df07e..b19206ba58725f949403469a3e1d221b12833581 100644 ---- a/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.cc -+++ b/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.cc -@@ -542,8 +542,7 @@ void MobileFriendlinessChecker::NotifyInvalidatePaint( - ->GetPageScaleConstraintsSet() - .FinalConstraints() - .initial_scale; -- DCHECK_GT(initial_scale, 0); -- -+ // DCHECK_GT(initial_scale, 0); - double actual_font_size = - style.FontSize() * initial_scale / viewport_scalar; - double area = text->PhysicalAreaSize(); diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc index fe8d191217e24b08d36339dbf047beaeb6bd6538..870db0552544e3e89d9498c22ec3db81b46df741 100644 --- a/ui/base/clipboard/clipboard_win.cc diff --git a/patches/chromium/disable-redraw-lock.patch b/patches/chromium/disable-redraw-lock.patch index 0e7e6f57954..1cf28eb0621 100644 --- a/patches/chromium/disable-redraw-lock.patch +++ b/patches/chromium/disable-redraw-lock.patch @@ -15,7 +15,7 @@ the redraw locking mechanism, which fixes these issues. The electron issue can be found at https://github.com/electron/electron/issues/1821 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index 1e6326a2f36f5a7e55e5193b69c36f870c1d00e7..2f51474d46544915b75185fc362aebf8b83164b0 100644 +index 1208238fbfb501e1776e8c3ba414a8c9ef23bc59..81f59c4476cd07930fc302ecbf0377a11bfee888 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -308,6 +308,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; diff --git a/patches/chromium/disable_color_correct_rendering.patch b/patches/chromium/disable_color_correct_rendering.patch index 28137ca9aa9..6f925b949bc 100644 --- a/patches/chromium/disable_color_correct_rendering.patch +++ b/patches/chromium/disable_color_correct_rendering.patch @@ -20,10 +20,10 @@ to deal with color spaces. That is being tracked at https://crbug.com/634542 and https://crbug.com/711107. diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc -index 65c468c4b882829fba7ab679c0fec3f637e96522..ca98a6e3992126b564d28e9d4429cd9a69cf7eed 100644 +index 6a148c3173f8f5653b945ed9b6ffcbf48d76d511..b30c2e686ff9b64691142ff893225c60cedeaebd 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -1857,6 +1857,9 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( +@@ -1864,6 +1864,9 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( TargetColorParams LayerTreeHostImpl::GetTargetColorParams( gfx::ContentColorUsage content_color_usage) const { TargetColorParams params; @@ -80,7 +80,7 @@ index 9d34ced366026eb7cdd00ce40a4eb1af56180d39..abf67f8246bfa37df08cd2216c388dd3 !command_line->HasSwitch(switches::kUIDisablePartialSwap); diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index 4be758a498c1e5b17fd8eea6c5a7719e4252723a..e166e96b4b23725ad8735ab87afd3660ed22de50 100644 +index 9b29ab96d6e7dd7160502ee2252843bdeeab84c9..a9889d625dac9148dd8bbc2853c4e09f6546bd0d 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc @@ -228,6 +228,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( @@ -92,7 +92,7 @@ index 4be758a498c1e5b17fd8eea6c5a7719e4252723a..e166e96b4b23725ad8735ab87afd3660 sandbox::policy::switches::kGpuSandboxAllowSysVShm, sandbox::policy::switches::kGpuSandboxFailuresFatal, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index ece0f7a284fc87f879d21e754b0b050236081d61..68277794cf54100592f36f0c95985b2911074c52 100644 +index 3f0a3b2133f0d48054f33df28b93a9ee40d7ed78..801bf4b1090a8f0de922fdac6c4145c27a154460 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -199,6 +199,7 @@ @@ -103,7 +103,7 @@ index ece0f7a284fc87f879d21e754b0b050236081d61..68277794cf54100592f36f0c95985b29 #include "ui/gl/gl_switches.h" #include "url/gurl.h" #include "url/origin.h" -@@ -3195,6 +3196,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3185,6 +3186,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( // Propagate the following switches to the renderer command line (along // with any associated values) if present in the browser command line. static const char* const kSwitchNames[] = { @@ -166,7 +166,7 @@ index 4f3b9b181b1998e0ebbd95955feeec28a5d6bcb7..00f2a213cded1985b3131fabf3560937 // is what the renderer uses if its not threaded. settings.enable_checker_imaging = diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc -index e030f01e72d18ef08d04ffbc72a5abb9a7b485c5..25155263bede8a465eb3f3bc2960f173c8f14935 100644 +index 8bdb9fafc4c5e59d6d6aad323ca2547ecc1b4069..069ed9744dca4fb208daaaf76d4618706c65b84e 100644 --- a/ui/gfx/mac/io_surface.cc +++ b/ui/gfx/mac/io_surface.cc @@ -20,6 +20,7 @@ @@ -192,7 +192,7 @@ index e030f01e72d18ef08d04ffbc72a5abb9a7b485c5..25155263bede8a465eb3f3bc2960f173 // Allow but ignore invalid color spaces. if (!color_space.IsValid()) return true; -@@ -311,6 +320,15 @@ IOSurfaceRef CreateIOSurface(const gfx::Size& size, +@@ -312,6 +321,15 @@ IOSurfaceRef CreateIOSurface(const gfx::Size& size, DCHECK_EQ(kIOReturnSuccess, r); } diff --git a/patches/chromium/disable_freezing_flags_after_init_in_node.patch b/patches/chromium/disable_freezing_flags_after_init_in_node.patch index 908c926de71..0a4782f3fd4 100644 --- a/patches/chromium/disable_freezing_flags_after_init_in_node.patch +++ b/patches/chromium/disable_freezing_flags_after_init_in_node.patch @@ -15,7 +15,7 @@ at some point be an API to "unfreeze" the flags, or we may be able to refactor node initialization to not update flags after V8 initialization. diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc -index 02b4f803369202a81f2d54f3b35aef04be13dfa2..76dd21fc8e97c1a2836ae5a5a11b56334a656fe2 100644 +index 02b4f803369202a81f2d54f3b35aef04be13dfa2..04a8d29ba210313076eacf5074ed86402160c0c3 100644 --- a/content/renderer/render_process_impl.cc +++ b/content/renderer/render_process_impl.cc @@ -222,7 +222,8 @@ RenderProcessImpl::RenderProcessImpl() @@ -23,8 +23,8 @@ index 02b4f803369202a81f2d54f3b35aef04be13dfa2..76dd21fc8e97c1a2836ae5a5a11b5633 "--no-wasm-dynamic-tiering"); - v8::V8::SetFlagsFromString("--freeze-flags-after-init"); -+ // This conflicts with node in the renderer. -+ //v8::V8::SetFlagsFromString("--freeze-flags-after-init"); ++ // Freezing flags after init conflicts with node in the renderer. ++ v8::V8::SetFlagsFromString("--no-freeze-flags-after-init"); #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) { diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index 980679fa1db..c0a58fa2a1c 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 4b4a91a3fb6156ced046b414c131bc348f15b79f..852118f2599087c971ee6475f670a1f0e9d64bd3 100644 +index 3c934fe49b745d79d502311af02c4b2409f87742..5647890d0f62bcd5b1d1b2e6adc511b262a83b7f 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -809,6 +809,9 @@ void RenderWidgetHostImpl::WasHidden() { @@ -20,7 +20,7 @@ index 4b4a91a3fb6156ced046b414c131bc348f15b79f..852118f2599087c971ee6475f670a1f0 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 f63c1aa3007fa532af250e6f222ab588d949dccc..6183ee520b48e09958f320c1091a80ce947f21b7 100644 +index 4c568e15eaf82231004e89590dfe2e28e6ba0ac0..2ba5e20d961494995c11ac2a40d2c78b8b3d7de0 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h @@ -881,6 +881,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl diff --git a/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch b/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch index 2e26a112442..d800d930499 100644 --- a/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch +++ b/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch @@ -20,7 +20,7 @@ index 1e54559bd5f9a2ee889b921379d70c51e902502d..6797a076b612ad4ed6d5ce7d9868d944 using PCScan = internal::PCScan; const auto invocation_mode = flags & PurgeFlags::kAggressiveReclaim diff --git a/base/threading/platform_thread_posix.cc b/base/threading/platform_thread_posix.cc -index 418efcb3c08c67e86ae3a0728f37c5a4b9e56e06..f5c3a127c4ac535773f087f8ee2306ab0433fbe6 100644 +index 714232b0c2707d6c256e634ff784c18322bf0a85..48c8d0051c427954fe7265fee9cd0c6b5f473984 100644 --- a/base/threading/platform_thread_posix.cc +++ b/base/threading/platform_thread_posix.cc @@ -44,6 +44,7 @@ diff --git a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch index 6f739d8b35b..f6fb27f7971 100644 --- a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch +++ b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch @@ -11,10 +11,10 @@ This regressed in https://chromium-review.googlesource.com/c/chromium/src/+/2572 Upstream: https://chromium-review.googlesource.com/c/chromium/src/+/2598393 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 19bd5ef930bc094b315d2562c0f4917e78f63bad..bb1c66173df927499f1f28039f2255e3d6c28c96 100644 +index 3e186230715aaf840959a93038167749e3735a08..4c2dbe2b7629c94a16620988ae96fb10da39e0b8 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -2287,7 +2287,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const { +@@ -2294,7 +2294,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const { } const blink::web_pref::WebPreferences& RenderFrameImpl::GetBlinkPreferences() { diff --git a/patches/chromium/enable_reset_aspect_ratio.patch b/patches/chromium/enable_reset_aspect_ratio.patch index 4a0fa298d27..5ecf357e662 100644 --- a/patches/chromium/enable_reset_aspect_ratio.patch +++ b/patches/chromium/enable_reset_aspect_ratio.patch @@ -19,7 +19,7 @@ index d7260950ca1ba9c71d9500560bc13314e78e2170..f6b37bdec2343d45447b419aeadbe2aa aspect_ratio.height()); } diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index 2f51474d46544915b75185fc362aebf8b83164b0..c893bc030b266539f65d31bdc40ba0ba31b70986 100644 +index 81f59c4476cd07930fc302ecbf0377a11bfee888..70e33b49e77240248c629fb18c5d3ca57ea32d66 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -1001,8 +1001,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen) { diff --git a/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch b/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch index 8f885d9d4f1..d7180a32d17 100644 --- a/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch +++ b/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch @@ -21,7 +21,7 @@ index 2f2e0d67c7141e5daad2d50031c71a542677e108..c53bd76fcd3703cb483949d5ec53f24f v8::ZoneBackingAllocator* GetZoneBackingAllocator() override; #endif diff --git a/gin/v8_platform.cc b/gin/v8_platform.cc -index 9e79f7e411a3242e3e7662933389e05b94a4818c..05e3156571ac0dc9ff71464b8e73d74db96496a0 100644 +index b02ab8b6ac701d948daac73bd89bc1fc6533d60c..36c096b4c053eae9326c8ccb7ed6aea07b68c3e5 100644 --- a/gin/v8_platform.cc +++ b/gin/v8_platform.cc @@ -367,6 +367,10 @@ PageAllocator* V8Platform::GetPageAllocator() { diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index ee5737d5258..4b9312ed4d4 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -33,10 +33,10 @@ index 14c71cc69388da46f62d9835e2a06fef0870da02..9481ea08401ae29ae9c1d960491b05b3 } // namespace net diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index 61030982c4391dd1b4b508042628e7f006047158..c4f422553185d416a6abfd4647b219060705d0ad 100644 +index d53e403bda407bb46f59395ebcbb39cd9495875b..4850469bb2bd96c87b0aa936c654f7bd58b7b17f 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1406,6 +1406,13 @@ void NetworkContext::SetNetworkConditions( +@@ -1410,6 +1410,13 @@ void NetworkContext::SetNetworkConditions( std::move(network_conditions)); } @@ -51,7 +51,7 @@ index 61030982c4391dd1b4b508042628e7f006047158..c4f422553185d416a6abfd4647b21906 // 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 d88d9d2bc4b95464ca9a8cacec33361f12d25ea4..74415ce53dc6d0b3e39dbe27ae9e225b281c8820 100644 +index 614ba5b278f8bed722072ca07399b247ddb971be..21024709a79dc2bb838492090ce1365450427430 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h @@ -296,6 +296,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext diff --git a/patches/chromium/extend_apply_webpreferences.patch b/patches/chromium/extend_apply_webpreferences.patch index 8af2374fb41..c48ce3e7183 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 3e28873ed5181756ab62e14ca9c2c4b27b4378f1..831b6bab8e491fc0750ecf05b3ef0f105a5478f4 100644 +index 9151815e6bf33a3a6980f8337f578dc90e458696..664b8c2b0a3eb5da577a6ac9d70cafff4702a622 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc @@ -161,6 +161,7 @@ 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 61987a15de8..58c3b92a3ed 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -572,7 +572,7 @@ index 6b7fbb6cf13dc8ee6ade0878a9a2c1efc5d4d3f1..e2af75168cb914a7b3b4a6c9b6a28549 + Draw(gfx.mojom.Rect damage_rect) => (); }; diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h -index e0345f5903a48013930767bee713c177a704970a..2881a4fee66f16e6367724a727abe4643a965a24 100644 +index 5dee5932ce9cacc68af498ef2312fd58cd285e15..d8f977154e5f0c0456ee03ddf67f94b0e7ab475d 100644 --- a/ui/compositor/compositor.h +++ b/ui/compositor/compositor.h @@ -83,6 +83,7 @@ class DisplayPrivate; 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 7efba476017..0771278f2d6 100644 --- a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch +++ b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch @@ -103,7 +103,7 @@ index 3d2bcc3e81eb42f645fa4e8b1425cb5c54cfd3a1..4cdbe0e38609abfd0b0b5856deb8b2dd string mime_type; diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc -index 04ed3a3391b82751d0014027caf37c402a8f068a..7140c4ced6265c388a4015350b1da5d487a02569 100644 +index 6805b5f3976f60e0cc72634f71bcb21879ffbde1..4d60c127bec00859ed523ca652336239ab71ae00 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc @@ -603,6 +603,7 @@ URLLoader::URLLoader( @@ -114,7 +114,7 @@ index 04ed3a3391b82751d0014027caf37c402a8f068a..7140c4ced6265c388a4015350b1da5d4 devtools_request_id_(request.devtools_request_id), request_mode_(request.mode), request_credentials_mode_(request.credentials_mode), -@@ -794,7 +795,7 @@ URLLoader::URLLoader( +@@ -792,7 +793,7 @@ URLLoader::URLLoader( url_request_->SetRequestHeadersCallback(base::BindRepeating( &URLLoader::SetRawRequestHeadersAndNotify, base::Unretained(this))); @@ -123,7 +123,7 @@ index 04ed3a3391b82751d0014027caf37c402a8f068a..7140c4ced6265c388a4015350b1da5d4 url_request_->SetResponseHeadersCallback(base::BindRepeating( &URLLoader::SetRawResponseHeaders, base::Unretained(this))); } -@@ -1536,6 +1537,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { +@@ -1541,6 +1542,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { } response_ = BuildResponseHead(); diff --git a/patches/chromium/fix_allow_guest_webcontents_to_enter_fullscreen.patch b/patches/chromium/fix_allow_guest_webcontents_to_enter_fullscreen.patch index ed93dd0e68f..4931611c59b 100644 --- a/patches/chromium/fix_allow_guest_webcontents_to_enter_fullscreen.patch +++ b/patches/chromium/fix_allow_guest_webcontents_to_enter_fullscreen.patch @@ -6,10 +6,10 @@ Subject: fix: allow guest webcontents to enter fullscreen This can be upstreamed, a guest webcontents can't technically become the focused webContents. This DCHECK should allow all guest webContents to request fullscreen entrance. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 5f200acb893f6c6b4ffb7c5a6ca010dde8a245e9..c3a5751233c48255408db41c10118ffde72f51d6 100644 +index 6f01f3eb8df96320700448e4583e4a4a0b3d2beb..e3c9f87e651be09fd40f1f51b3f9ba6fb18a770b 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3440,7 +3440,7 @@ void WebContentsImpl::EnterFullscreenMode( +@@ -3447,7 +3447,7 @@ void WebContentsImpl::EnterFullscreenMode( OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode"); DCHECK(CanEnterFullscreenMode(requesting_frame, options)); DCHECK(requesting_frame->IsActive()); diff --git a/patches/chromium/fix_aspect_ratio_with_max_size.patch b/patches/chromium/fix_aspect_ratio_with_max_size.patch index 2ad1da66576..1fedb8674bc 100644 --- a/patches/chromium/fix_aspect_ratio_with_max_size.patch +++ b/patches/chromium/fix_aspect_ratio_with_max_size.patch @@ -11,10 +11,10 @@ enlarge window above dimensions set during creation of the BrowserWindow. diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index c893bc030b266539f65d31bdc40ba0ba31b70986..b1e8daf5e79cd838c87e01da0e764e12421747db 100644 +index 70e33b49e77240248c629fb18c5d3ca57ea32d66..3b546cf67089e6677fc668b4d1d6c0863282dff5 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc -@@ -3696,6 +3696,21 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param, +@@ -3694,6 +3694,21 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param, delegate_->GetMinMaxSize(&min_window_size, &max_window_size); min_window_size = delegate_->DIPToScreenSize(min_window_size); max_window_size = delegate_->DIPToScreenSize(max_window_size); 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 a687e2edd98..1c0ed1e2fd3 100644 --- a/patches/chromium/fix_crash_when_saving_edited_pdf_files.patch +++ b/patches/chromium/fix_crash_when_saving_edited_pdf_files.patch @@ -13,7 +13,7 @@ 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 a22dd8209fd9c67e9c3637fee61bca5524ee51da..6e3c8da273aa4d24c32200f3d67210eb08ee3dad 100644 +index 96d6028af1408c34f98ee638b8b8d41e8dc8b2ee..6e3c8da273aa4d24c32200f3d67210eb08ee3dad 100644 --- a/chrome/browser/resources/pdf/pdf_viewer.ts +++ b/chrome/browser/resources/pdf/pdf_viewer.ts @@ -860,26 +860,12 @@ export class PDFViewerElement extends PDFViewerBaseElement { @@ -60,7 +60,7 @@ index a22dd8209fd9c67e9c3637fee61bca5524ee51da..6e3c8da273aa4d24c32200f3d67210eb - { - type: 'saveFile', - accepts: [{description: '*.pdf', extensions: ['pdf']}], -- suggestedName: fileName +- suggestedName: fileName, - }, - (entry?: FileSystemFileEntry) => { - if (chrome.runtime.lastError) { diff --git a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch index 9eff5133455..abdc12fa40b 100644 --- a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch +++ b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch @@ -8,10 +8,10 @@ we invoke it in order to expose contents.decrementCapturerCount([stayHidden, sta to users. We should try to upstream this. diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index df53d0d8371b2f7bbd04ffe6c2d1c171ae457bc8..688883c80d5005b58c39d66c520726bcc62eeac1 100644 +index 53435224b5e331bbe24119752c1a44a8d58bfa88..de1a5b60474ce872eba03dfb8931b9b566fd6cee 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -1823,7 +1823,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -1828,7 +1828,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, // IncrementCapturerCount() is destructed. void DecrementCapturerCount(bool stay_hidden, bool stay_awake, @@ -21,10 +21,10 @@ index df53d0d8371b2f7bbd04ffe6c2d1c171ae457bc8..688883c80d5005b58c39d66c520726bc // Calculates the PageVisibilityState for |visibility|, taking the capturing // state into account. diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index 922048fbc03f7222e42e3640b46d3d5e1b2391ba..f2bdadbfaae703006f4888e3dd899a20bac84090 100644 +index a3ae580ea073024882bd860abf914bbf7c0ed54d..85ae2b5ba31926d21ffb52ab31fca6a66ad6d5ec 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h -@@ -667,6 +667,10 @@ class WebContents : public PageNavigator, +@@ -669,6 +669,10 @@ class WebContents : public PageNavigator, bool stay_awake, bool is_activity = true) = 0; diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index fd346c08904..641d82a1db3 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 acfea574749cce9c9babac12593679c1c2c3b1af..0d44d3b022042dbcbb9f188adb90074c752741b8 100644 +index a64114d9eeb56b3dc0389415d44a842d3cda12fb..6c3b36f36e375a626f9fc2a59935c5ac851a128c 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -3177,6 +3177,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -3184,6 +3184,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } @@ -20,10 +20,10 @@ index acfea574749cce9c9babac12593679c1c2c3b1af..0d44d3b022042dbcbb9f188adb90074c } diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index cfe1fc63e293cb2bcafb6c9e6778ee39ef266e89..bbbdd32152f904d10e040ccf80dd1d1406b3d7a1 100644 +index e0bfafe859b600ac5033f78d1eb5823ddda956c4..e2b0937007413b158ac28e48352acd3ab68e6dd0 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -271,6 +271,11 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -272,6 +272,11 @@ class CONTENT_EXPORT ContentBrowserClient { virtual ~ContentBrowserClient() = default; diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index 0e01d9d17a4..6394ab0ab0c 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 1c50dbb9503e755ebbad2ea6d66484331862b72f..b9188ede8a4dc45bb5c573bc2cd8642c9256de36 100644 +index 9a8d321de570ee1a0669aa6022e34f8ff604694f..abcdba63bcbd0b9e323bf482cc292360d30be8fe 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -967,6 +967,11 @@ +@@ -971,6 +971,11 @@ "includes": [4960], }, 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 1bef249bf39..1cd1f286df6 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 68b47d4f483b064d7be5a19552cddfe3f2b12bb2..d3191ad5984dcad633cbab5da45824871961d212 100755 +index 194ce0ca751da8677df74489a04e143276264fbe..9df287e5a9d122f26730480d54a1bbfd47e8d95e 100755 --- a/tools/clang/scripts/update.py +++ b/tools/clang/scripts/update.py @@ -302,6 +302,8 @@ def GetDefaultHostOs(): diff --git a/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch b/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch index 56b21c48e77..07ee9fd2c36 100644 --- a/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch +++ b/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch @@ -39,7 +39,7 @@ index dd14c8cfa32ab0bb2e92f192c54a494c4f5b4fb7..2c6f0b336c97bc23995e9fe8cdc7f72a } // namespace base diff --git a/base/mac/foundation_util.mm b/base/mac/foundation_util.mm -index bb1cb98f246f120f566fab65565f49a6468b82b4..929188b8d0e39f171679067347d4f83632364cc7 100644 +index cee826cf8ca533778c716fd2592e625e93fe7efb..adfec0021ae00b3a9ccc792695a51a182626fee5 100644 --- a/base/mac/foundation_util.mm +++ b/base/mac/foundation_util.mm @@ -30,12 +30,6 @@ @@ -76,7 +76,7 @@ index bb1cb98f246f120f566fab65565f49a6468b82b4..929188b8d0e39f171679067347d4f836 if ([ns_val isKindOfClass:[NSFont class]]) { return (CTFontRef)(cf_val); diff --git a/base/process/launch_mac.cc b/base/process/launch_mac.cc -index e12c36384ddc05554ed362bba2c0a8b418634f0a..1c740410de70ee5a888ee7cf406dfa3bccc28c9b 100644 +index bf33d321197226a74d4f26731108ad8b0b8c72a0..349dc2cdde63e32daf06f1ccc0d29e7ce8b2ac46 100644 --- a/base/process/launch_mac.cc +++ b/base/process/launch_mac.cc @@ -19,14 +19,19 @@ diff --git a/patches/chromium/mas_disable_remote_accessibility.patch b/patches/chromium/mas_disable_remote_accessibility.patch index 2e626814433..51317f699d6 100644 --- a/patches/chromium/mas_disable_remote_accessibility.patch +++ b/patches/chromium/mas_disable_remote_accessibility.patch @@ -197,7 +197,7 @@ index 6975087ef6cc6483aa0d8c301cedfb126d471e11..fc7c4474aaa74000b901b93b26bb46d7 /////////////////////////////////////////////////////////////////////////////// diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn -index 7fc550eb16288cc5f4152362504a621abbaec3da..6be133c45a9b8c774b9f6e1e2de492c43bac33d3 100644 +index a922dc6ce99ed32ede8812a63a836f72691bece3..9e4ef4235c49eeb7cd34f05ae2d75169d787fa55 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn @@ -341,6 +341,13 @@ component("base") { diff --git a/patches/chromium/mas_disable_remote_layer.patch b/patches/chromium/mas_disable_remote_layer.patch index 87a806ed62c..b31cf0975df 100644 --- a/patches/chromium/mas_disable_remote_layer.patch +++ b/patches/chromium/mas_disable_remote_layer.patch @@ -50,7 +50,7 @@ index 506ff3c2b9a14a725d13e3933bc281d05c0b6b13..9726e2d34d6d123ad3e62d843d21b755 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 3378b9a6d411b853fe64e02812c329f68cbbd2ad..7b2f0b3dc28ff71ae84fe63aa9ea80c2aab75969 100644 +index 27b0c985b119095bd92ac021db10731a917dfa0c..83bd23a7ed0a5870f226442a6335b26de7676206 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm @@ -60,6 +60,7 @@ @@ -79,7 +79,7 @@ index 3378b9a6d411b853fe64e02812c329f68cbbd2ad..7b2f0b3dc28ff71ae84fe63aa9ea80c2 } else { IOSurfaceRef io_surface = ca_layer_tree_coordinator_->GetIOSurfaceForDisplay(); -@@ -378,6 +382,7 @@ +@@ -379,6 +383,7 @@ ca_layer_tree_coordinator_ = std::make_unique( use_remote_layer_api_, allow_av_sample_buffer_display_layer); @@ -87,7 +87,7 @@ index 3378b9a6d411b853fe64e02812c329f68cbbd2ad..7b2f0b3dc28ff71ae84fe63aa9ea80c2 // Create the CAContext to send this to the GPU process, and the layer for // the context. if (use_remote_layer_api_) { -@@ -386,6 +391,7 @@ +@@ -387,6 +392,7 @@ options:@{}] retain]); [ca_context_ setLayer:ca_layer_tree_coordinator_->GetCALayerForDisplay()]; } @@ -95,7 +95,7 @@ index 3378b9a6d411b853fe64e02812c329f68cbbd2ad..7b2f0b3dc28ff71ae84fe63aa9ea80c2 } ImageTransportSurfaceOverlayMacEGL::~ImageTransportSurfaceOverlayMacEGL() { -@@ -464,7 +470,9 @@ +@@ -465,7 +471,9 @@ "GLImpl", static_cast(gl::GetGLImplementation()), "width", pixel_size_.width()); if (use_remote_layer_api_) { 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 8af5607e392..331914f8c12 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 c2824b6bcfab1c13d0e44ca96fc05c97b4a13a6e..61030982c4391dd1b4b508042628e7f006047158 100644 +index 2aaf6fb9cca420cde28635d7628c1b7830570f5a..d53e403bda407bb46f59395ebcbb39cd9495875b 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -129,6 +129,11 @@ +@@ -130,6 +130,11 @@ #include "third_party/abseil-cpp/absl/types/optional.h" #include "url/gurl.h" @@ -22,7 +22,7 @@ index c2824b6bcfab1c13d0e44ca96fc05c97b4a13a6e..61030982c4391dd1b4b508042628e7f0 #if BUILDFLAG(IS_CT_SUPPORTED) #include "components/certificate_transparency/chrome_ct_policy_enforcer.h" #include "components/certificate_transparency/chrome_require_ct_delegate.h" -@@ -437,6 +442,91 @@ bool GetFullDataFilePath( +@@ -438,6 +443,91 @@ bool GetFullDataFilePath( } // namespace @@ -114,7 +114,7 @@ index c2824b6bcfab1c13d0e44ca96fc05c97b4a13a6e..61030982c4391dd1b4b508042628e7f0 constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; NetworkContext::PendingCertVerify::PendingCertVerify() = default; -@@ -739,6 +829,13 @@ void NetworkContext::SetClient( +@@ -743,6 +833,13 @@ void NetworkContext::SetClient( client_.Bind(std::move(client)); } @@ -128,7 +128,7 @@ index c2824b6bcfab1c13d0e44ca96fc05c97b4a13a6e..61030982c4391dd1b4b508042628e7f0 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -2303,6 +2400,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2304,6 +2401,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( std::move(cert_verifier)); cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_.get()); #endif // BUILDFLAG(IS_CHROMEOS) @@ -139,10 +139,10 @@ index c2824b6bcfab1c13d0e44ca96fc05c97b4a13a6e..61030982c4391dd1b4b508042628e7f0 builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( diff --git a/services/network/network_context.h b/services/network/network_context.h -index 34b3e31549ee37b58eee4c11c54bd34af73af263..d88d9d2bc4b95464ca9a8cacec33361f12d25ea4 100644 +index 97039f97082b79e4b7bd5cdb4a5b28023dc70e47..614ba5b278f8bed722072ca07399b247ddb971be 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -105,6 +105,7 @@ class URLMatcher; +@@ -104,6 +104,7 @@ class URLMatcher; namespace network { class CertVerifierWithTrustAnchors; diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index 5978e72355e..90182fe6604 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -133,10 +133,10 @@ index 424fae79eb1c93f1fac293ae8fdeb6d067f523cc..6a2f074ad981deb15b46bd91b6d7eb5d 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 db1e97364a68fdc987274f2a7a940d9d63ac111e..8b236cbd54011bc0008d56ca4213920e478f7a90 100644 +index 4b40e3faa498b6c86b381f6efae9d04e48a85c0f..5499f85fa578511d5817ecd9be2f33cf56e2db4b 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2059,8 +2059,9 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2069,8 +2069,9 @@ void RenderProcessHostImpl::CreateNotificationService( // For workers: if (render_frame_id == MSG_ROUTING_NONE) { storage_partition_impl_->GetPlatformNotificationContext()->CreateService( @@ -148,7 +148,7 @@ index db1e97364a68fdc987274f2a7a940d9d63ac111e..8b236cbd54011bc0008d56ca4213920e return; } -@@ -2068,7 +2069,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2078,7 +2079,7 @@ void RenderProcessHostImpl::CreateNotificationService( RenderFrameHost* rfh = RenderFrameHost::FromID(GetID(), render_frame_id); CHECK(rfh); storage_partition_impl_->GetPlatformNotificationContext()->CreateService( diff --git a/patches/chromium/printing.patch b/patches/chromium/printing.patch index a602cca1f00..fa69a6ac0c8 100644 --- a/patches/chromium/printing.patch +++ b/patches/chromium/printing.patch @@ -11,10 +11,10 @@ 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 861191e82aa304be0a71dcd356d31767540450ef..1f86538121bfc753b3587d9edaf1553726542af9 100644 +index a3cf0a49943f53608f783f439917c256ec5b9040..d52cc220107218e53290d21ce1c52a7f855385b4 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -974,7 +974,6 @@ if (is_win) { +@@ -973,7 +973,6 @@ if (is_win) { "//media:media_unittests", "//media/midi:midi_unittests", "//net:net_unittests", @@ -22,7 +22,7 @@ index 861191e82aa304be0a71dcd356d31767540450ef..1f86538121bfc753b3587d9edaf15537 "//sql:sql_unittests", "//third_party/breakpad:symupload($host_toolchain)", "//ui/base:ui_base_unittests", -@@ -983,6 +982,10 @@ if (is_win) { +@@ -982,6 +981,10 @@ if (is_win) { "//ui/views:views_unittests", "//url:url_unittests", ] @@ -473,7 +473,7 @@ index 746df417a23f7760818ba265d4a7d589dec8bf34..0027387d4717c59f2df3f279caf7aa0d // This means we are _blocking_ until all the necessary pages have been // rendered or the print settings are being loaded. diff --git a/chrome/browser/ui/webui/print_preview/fake_print_render_frame.cc b/chrome/browser/ui/webui/print_preview/fake_print_render_frame.cc -index b2bd74f28f70bc601ec47820030ad965b19cf068..027e4c0b78d44b69504d248755bf7f25ff423361 100644 +index f3c3f85edb19489d079dc93411be64828ae581e2..ff303dcbc034cd8f1530fe1543729e98d3035826 100644 --- a/chrome/browser/ui/webui/print_preview/fake_print_render_frame.cc +++ b/chrome/browser/ui/webui/print_preview/fake_print_render_frame.cc @@ -21,7 +21,7 @@ FakePrintRenderFrame::FakePrintRenderFrame( @@ -483,10 +483,10 @@ index b2bd74f28f70bc601ec47820030ad965b19cf068..027e4c0b78d44b69504d248755bf7f25 -void FakePrintRenderFrame::PrintRequestedPages() {} +void FakePrintRenderFrame::PrintRequestedPages(bool /*silent*/, ::base::Value::Dict /*settings*/) {} - void FakePrintRenderFrame::PrintWithParams(mojom::PrintPagesParamsPtr params) { - NOTREACHED(); + void FakePrintRenderFrame::PrintWithParams(mojom::PrintPagesParamsPtr params, + PrintWithParamsCallback callback) { diff --git a/chrome/browser/ui/webui/print_preview/fake_print_render_frame.h b/chrome/browser/ui/webui/print_preview/fake_print_render_frame.h -index 42f9f296e6ef65a934167c2d4773e504020378bc..3ac69d39e4eb380f97cb779be1e9ad8706ce8243 100644 +index 0e788384809f9f7218c6483822ffea08f86b4f79..c6f08845cb292ff406db5560c9a744dc7ab1c712 100644 --- a/chrome/browser/ui/webui/print_preview/fake_print_render_frame.h +++ b/chrome/browser/ui/webui/print_preview/fake_print_render_frame.h @@ -25,7 +25,7 @@ class FakePrintRenderFrame : public mojom::PrintRenderFrame { @@ -495,14 +495,14 @@ index 42f9f296e6ef65a934167c2d4773e504020378bc..3ac69d39e4eb380f97cb779be1e9ad87 // printing::mojom::PrintRenderFrame: - void PrintRequestedPages() override; + void PrintRequestedPages(bool silent, ::base::Value::Dict settings) override; - void PrintWithParams(mojom::PrintPagesParamsPtr params) override; + void PrintWithParams(mojom::PrintPagesParamsPtr params, + PrintWithParamsCallback callback) override; void PrintForSystemDialog() override; - void SetPrintPreviewUI( diff --git a/components/printing/common/print.mojom b/components/printing/common/print.mojom -index f2c17a8fecc36ea18de71598b582e206661763c5..599b34690da042b57fcd78d0c0557d183ce10c0f 100644 +index 95d9f19082978772297cff1bcd9c5f73db50bd62..96fe7fbb54fe0908e2153d901c130b6a5c621522 100644 --- a/components/printing/common/print.mojom +++ b/components/printing/common/print.mojom -@@ -280,7 +280,7 @@ enum PrintFailureReason { +@@ -285,7 +285,7 @@ union PrintWithParamsResult { interface PrintRenderFrame { // Tells the RenderFrame to switch the CSS to print media type, render every // requested page, and then switch back the CSS to display media type. @@ -511,7 +511,7 @@ index f2c17a8fecc36ea18de71598b582e206661763c5..599b34690da042b57fcd78d0c0557d18 // Requests the frame to be printed with specified parameters. This is used // to programmatically produce PDF by request from the browser (e.g. over -@@ -362,7 +362,7 @@ interface PrintManagerHost { +@@ -368,7 +368,7 @@ interface PrintManagerHost { // Request the print settings from the user. This step is about showing // UI to the user to select the final print settings. [Sync] @@ -521,7 +521,7 @@ index f2c17a8fecc36ea18de71598b582e206661763c5..599b34690da042b57fcd78d0c0557d18 // Tells the browser that there are invalid printer settings. ShowInvalidPrinterSettingsError(); diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc -index bb0a934fb658256370fe29c6dbc9f72e992a9a5c..da7161c51e94f285d2ad6c9f0e2edba7da7d5c9e 100644 +index 0766270f7c8ff9f903395229a541ae1f6183899c..3f9b4a7ade69f3447f8537d2585991aeed63e6d7 100644 --- a/components/printing/renderer/print_render_frame_helper.cc +++ b/components/printing/renderer/print_render_frame_helper.cc @@ -42,6 +42,7 @@ @@ -560,7 +560,7 @@ index bb0a934fb658256370fe29c6dbc9f72e992a9a5c..da7161c51e94f285d2ad6c9f0e2edba7 if (!render_frame_gone_) frame->DispatchAfterPrintEvent(); -@@ -1391,7 +1393,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() { +@@ -1402,7 +1404,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() { } Print(frame, print_preview_context_.source_node(), @@ -570,7 +570,7 @@ index bb0a934fb658256370fe29c6dbc9f72e992a9a5c..da7161c51e94f285d2ad6c9f0e2edba7 if (!render_frame_gone_) print_preview_context_.DispatchAfterPrintEvent(); // WARNING: |this| may be gone at this point. Do not do any more work here and -@@ -1440,6 +1443,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) { +@@ -1451,6 +1454,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) { if (ipc_nesting_level_ > kAllowedIpcDepthForPrint) return; @@ -579,7 +579,7 @@ index bb0a934fb658256370fe29c6dbc9f72e992a9a5c..da7161c51e94f285d2ad6c9f0e2edba7 print_preview_context_.OnPrintPreview(); #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -2052,7 +2057,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -2063,7 +2068,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { return; Print(duplicate_node.GetDocument().GetFrame(), duplicate_node, @@ -589,7 +589,7 @@ index bb0a934fb658256370fe29c6dbc9f72e992a9a5c..da7161c51e94f285d2ad6c9f0e2edba7 // Check if |this| is still valid. if (!weak_this) return; -@@ -2067,7 +2073,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -2078,7 +2084,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, const blink::WebNode& node, @@ -600,7 +600,7 @@ index bb0a934fb658256370fe29c6dbc9f72e992a9a5c..da7161c51e94f285d2ad6c9f0e2edba7 // If still not finished with earlier print request simply ignore. if (prep_frame_view_) return; -@@ -2075,7 +2083,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, +@@ -2086,7 +2094,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, FrameReference frame_ref(frame); uint32_t expected_page_count = 0; @@ -609,7 +609,7 @@ index bb0a934fb658256370fe29c6dbc9f72e992a9a5c..da7161c51e94f285d2ad6c9f0e2edba7 DidFinishPrinting(FAIL_PRINT_INIT); return; // Failed to init print page settings. } -@@ -2094,8 +2102,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, +@@ -2105,8 +2113,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, print_pages_params_->params->print_scaling_option; auto self = weak_ptr_factory_.GetWeakPtr(); @@ -626,7 +626,7 @@ index bb0a934fb658256370fe29c6dbc9f72e992a9a5c..da7161c51e94f285d2ad6c9f0e2edba7 // Check if |this| is still valid. if (!self) return; -@@ -2328,36 +2343,52 @@ void PrintRenderFrameHelper::IPCProcessed() { +@@ -2364,36 +2379,52 @@ void PrintRenderFrameHelper::IPCProcessed() { } } @@ -691,7 +691,7 @@ index bb0a934fb658256370fe29c6dbc9f72e992a9a5c..da7161c51e94f285d2ad6c9f0e2edba7 notify_browser_of_print_failure_ = false; GetPrintManagerHost()->ShowInvalidPrinterSettingsError(); return false; -@@ -2482,7 +2513,7 @@ mojom::PrintPagesParamsPtr PrintRenderFrameHelper::GetPrintSettingsFromUser( +@@ -2518,7 +2549,7 @@ mojom::PrintPagesParamsPtr PrintRenderFrameHelper::GetPrintSettingsFromUser( std::move(params), base::BindOnce( [](base::OnceClosure quit_closure, mojom::PrintPagesParamsPtr* output, @@ -701,7 +701,7 @@ index bb0a934fb658256370fe29c6dbc9f72e992a9a5c..da7161c51e94f285d2ad6c9f0e2edba7 std::move(quit_closure).Run(); }, diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h -index c2bf286ef1741b53022adf420809a87c3bb53cfd..f8b38d09abd3253bfd38b874ebdad753c3f8c4db 100644 +index 66026548181a897c161d7202646f33fd8847ccb8..113a8165b5db6294087773e5a4b2f0035f4c8f5d 100644 --- a/components/printing/renderer/print_render_frame_helper.h +++ b/components/printing/renderer/print_render_frame_helper.h @@ -255,7 +255,7 @@ class PrintRenderFrameHelper @@ -710,10 +710,10 @@ index c2bf286ef1741b53022adf420809a87c3bb53cfd..f8b38d09abd3253bfd38b874ebdad753 // printing::mojom::PrintRenderFrame: - void PrintRequestedPages() override; + void PrintRequestedPages(bool silent, base::Value::Dict settings) override; - void PrintWithParams(mojom::PrintPagesParamsPtr params) override; + void PrintWithParams(mojom::PrintPagesParamsPtr params, + PrintWithParamsCallback callback) override; #if BUILDFLAG(ENABLE_PRINT_PREVIEW) - void PrintForSystemDialog() override; -@@ -327,7 +327,9 @@ class PrintRenderFrameHelper +@@ -328,7 +328,9 @@ class PrintRenderFrameHelper // WARNING: |this| may be gone after this method returns. void Print(blink::WebLocalFrame* frame, const blink::WebNode& node, @@ -724,7 +724,7 @@ index c2bf286ef1741b53022adf420809a87c3bb53cfd..f8b38d09abd3253bfd38b874ebdad753 // Notification when printing is done - signal tear-down/free resources. void DidFinishPrinting(PrintingResult result); -@@ -336,12 +338,14 @@ class PrintRenderFrameHelper +@@ -337,12 +339,14 @@ class PrintRenderFrameHelper // Initialize print page settings with default settings. // Used only for native printing workflow. @@ -742,10 +742,10 @@ index c2bf286ef1741b53022adf420809a87c3bb53cfd..f8b38d09abd3253bfd38b874ebdad753 #if BUILDFLAG(ENABLE_PRINT_PREVIEW) // Set options for print preset from source PDF document. diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn -index 9b8fe6eecdc7093ba43a324f37bbe380e43dc0c0..88164f568c27dc6bad4cedfd83bd2abeae956c5c 100644 +index 56e3651f7e79957e444ec82b534a07dff9ef7415..43f2d487947eaf77171d918cc5072aee4291290b 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -2756,8 +2756,9 @@ source_set("browser") { +@@ -2766,8 +2766,9 @@ source_set("browser") { "//ppapi/shared_impl", ] @@ -758,7 +758,7 @@ index 9b8fe6eecdc7093ba43a324f37bbe380e43dc0c0..88164f568c27dc6bad4cedfd83bd2abe if (is_chromeos) { sources += [ diff --git a/content/browser/utility_sandbox_delegate_win.cc b/content/browser/utility_sandbox_delegate_win.cc -index 5f6847dcc9aa6970d7c8c4831f2be160c0aa15ad..4bd1f7e3b4c50a319043c8041a9ecf4fa8a99ac1 100644 +index e3c1b29138f175836424bcfe917cd00bd081b34c..7d8b6f06c5d1a7ea9a5ed86c5c612e8df08f2659 100644 --- a/content/browser/utility_sandbox_delegate_win.cc +++ b/content/browser/utility_sandbox_delegate_win.cc @@ -95,6 +95,7 @@ bool NetworkPreSpawnTarget(sandbox::TargetPolicy* policy) { @@ -778,7 +778,7 @@ index 5f6847dcc9aa6970d7c8c4831f2be160c0aa15ad..4bd1f7e3b4c50a319043c8041a9ecf4f bool UtilitySandboxedProcessLauncherDelegate::GetAppContainerId( diff --git a/printing/printing_context.cc b/printing/printing_context.cc -index 93db1a80a360702a36f2d3113c9a83105bf7fffe..c3e012ec8d9a1c19434240d27553e486c0729d43 100644 +index 56ee836445c53c5cde3947fca19d8576d2684f6f..454e26baa8b3688c2af98081085aa5378ff0554b 100644 --- a/printing/printing_context.cc +++ b/printing/printing_context.cc @@ -128,7 +128,6 @@ void PrintingContext::UsePdfSettings() { 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 35d277bc7a7..8a829b1be7f 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -30,7 +30,7 @@ index bdad25cd2c823fa2125fc523c400479882735ae6..bf2ddb136274eb3e4e597ed3060aabca // 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 852118f2599087c971ee6475f670a1f0e9d64bd3..ed0e6cff036e76aa266306e5cb4202568ab5b952 100644 +index 5647890d0f62bcd5b1d1b2e6adc511b262a83b7f..9a818c66d76d50e9ba678e7a8e57381315eacf88 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -2075,6 +2075,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) { @@ -43,10 +43,10 @@ index 852118f2599087c971ee6475f670a1f0e9d64bd3..ed0e6cff036e76aa266306e5cb420256 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index c9f744c73f95ad6e63077fbfad2e0c935e6c44c1..a06d49c3ed7d809ddd3ab43f1cc4e3044a6b14d2 100644 +index 14bc2c9e77b7db69d03c00314fe55806d2a9e38c..ad3f25362279d889e800cee3fd20240cc6d176a9 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4571,6 +4571,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { +@@ -4587,6 +4587,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } @@ -59,10 +59,10 @@ index c9f744c73f95ad6e63077fbfad2e0c935e6c44c1..a06d49c3ed7d809ddd3ab43f1cc4e304 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 2ee5a7a78baba5974f99cd98d1ef378b6de2bcd7..df53d0d8371b2f7bbd04ffe6c2d1c171ae457bc8 100644 +index a636e3c31860f67b01c178fd580df466266481ed..53435224b5e331bbe24119752c1a44a8d58bfa88 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -957,6 +957,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -962,6 +962,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, void SendScreenRects() override; void SendActiveState(bool active) override; TextInputManager* GetTextInputManager() override; diff --git a/patches/chromium/render_widget_host_view_base.patch b/patches/chromium/render_widget_host_view_base.patch index b748495a963..334712e8f52 100644 --- a/patches/chromium/render_widget_host_view_base.patch +++ b/patches/chromium/render_widget_host_view_base.patch @@ -24,7 +24,7 @@ index eefdd87f1f85ac62079e97f1a7736234952d419c..f2b1959f7650ecd98ed2db870d1c723a const blink::WebMouseEvent& event, const ui::LatencyInfo& latency) { diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h -index 912a21280fdd53e03cb92404b424f0b26740460a..98dda64426a1489cd44e90a211a6c4f94f62afb7 100644 +index 4174581cda568c887e34c2e2b29edf5ef6e2a092..770599358ca8badf180e249410ba71016d60ab99 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.h +++ b/content/browser/renderer_host/render_widget_host_view_base.h @@ -26,8 +26,10 @@ @@ -60,7 +60,7 @@ index 912a21280fdd53e03cb92404b424f0b26740460a..98dda64426a1489cd44e90a211a6c4f9 // This only needs to be overridden by RenderWidgetHostViewBase subclasses // that handle content embedded within other RenderWidgetHostViews. gfx::PointF TransformPointToRootCoordSpaceF( -@@ -300,6 +307,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { +@@ -308,6 +315,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { virtual void ProcessGestureEvent(const blink::WebGestureEvent& event, const ui::LatencyInfo& latency); diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index 83075078e1b..c0b985cf6b9 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 06e3385d4f148eb23f9ddf560afb563897846609..672bc56194e1ad8b03acd639c17b7f7e67a5dba0 100644 +index f42cc96b606f07f66a9d4dfacbdcd5b8cb157d21..a9e0afc645b8bd543590e80b55a7461381373187 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1539,7 +1539,7 @@ if (is_chrome_branded && !is_android) { +@@ -1546,7 +1546,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index 06e3385d4f148eb23f9ddf560afb563897846609..672bc56194e1ad8b03acd639c17b7f7e chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1568,6 +1568,12 @@ if (!is_android) { +@@ -1575,6 +1575,12 @@ if (!is_android) { } } diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch index db1be0f2a46..1047a3423e7 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 2f86fff71f36353f1fc3d8024f16dbb4921a1db8..db9d0406637bca783f5a9f0beecbbaaac6d1c1cf 100644 +index 028c190ad21eb1899c61295695931bd2353518a5..9e74a54266460fc51e6b3492c842cda3c0b88538 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1279,7 +1279,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1255,7 +1255,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 0ebb2654856..ee020bad0e1 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it does touch a security-sensitive class. diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 8b236cbd54011bc0008d56ca4213920e478f7a90..ece0f7a284fc87f879d21e754b0b050236081d61 100644 +index 5499f85fa578511d5817ecd9be2f33cf56e2db4b..3f0a3b2133f0d48054f33df28b93a9ee40d7ed78 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -1752,9 +1752,15 @@ bool RenderProcessHostImpl::Init() { +@@ -1762,9 +1762,15 @@ bool RenderProcessHostImpl::Init() { std::unique_ptr sandbox_delegate = std::make_unique( cmd_line.get(), IsJitDisabled()); diff --git a/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch b/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch index 7e9b3c98af4..f0a87b75ca4 100644 --- a/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch +++ b/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch @@ -6,7 +6,7 @@ Subject: unsandboxed_ppapi_processes_skip_zygote.patch Unsandboxed ppapi processes should skip zygote. diff --git a/content/browser/ppapi_plugin_sandboxed_process_launcher_delegate.cc b/content/browser/ppapi_plugin_sandboxed_process_launcher_delegate.cc -index b0279116fef365106926dd3b5e4cd5f0670c70ae..0b9e71de7a94d8b19b3534e8b8b9a5d56193567b 100644 +index 6e1d72902ec3e4a479304ff39b8b537d23f5cdf3..b7b198b159d250eca1498206ec29cc0270071f2a 100644 --- a/content/browser/ppapi_plugin_sandboxed_process_launcher_delegate.cc +++ b/content/browser/ppapi_plugin_sandboxed_process_launcher_delegate.cc @@ -8,6 +8,7 @@ diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index bb2a2c91cd3..a8d925dde90 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 1ebb4970ef9c440c5c2584785397696c7ebc14ce..5f200acb893f6c6b4ffb7c5a6ca010dde8a245e9 100644 +index 9b532970afe951f7c12629903baa39f2b8de1a5e..6f01f3eb8df96320700448e4583e4a4a0b3d2beb 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3059,6 +3059,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3066,6 +3066,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, site_instance.get(), params.renderer_initiated_creation, params.main_frame_name, GetOpener(), primary_main_frame_policy); @@ -26,7 +26,7 @@ index 1ebb4970ef9c440c5c2584785397696c7ebc14ce..5f200acb893f6c6b4ffb7c5a6ca010dd std::unique_ptr delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -3069,6 +3076,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3076,6 +3083,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, view_ = CreateWebContentsView(this, std::move(delegate), &render_view_host_delegate_view_); } @@ -35,10 +35,10 @@ index 1ebb4970ef9c440c5c2584785397696c7ebc14ce..5f200acb893f6c6b4ffb7c5a6ca010dd CHECK(view_.get()); diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index f1b8dee6699c02884372aa05279d2d23274efdfd..922048fbc03f7222e42e3640b46d3d5e1b2391ba 100644 +index 5c710ded76711125c8e2de8e2c9bce7569548732..a3ae580ea073024882bd860abf914bbf7c0ed54d 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h -@@ -93,10 +93,13 @@ class BrowserContext; +@@ -94,10 +94,13 @@ class BrowserContext; class BrowserPluginGuestDelegate; class RenderFrameHost; class RenderViewHost; @@ -52,7 +52,7 @@ index f1b8dee6699c02884372aa05279d2d23274efdfd..922048fbc03f7222e42e3640b46d3d5e class WebUI; struct DropData; struct MHTMLGenerationParams; -@@ -234,6 +237,10 @@ class WebContents : public PageNavigator, +@@ -236,6 +239,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 1ff868607e3..2e374e7e836 100644 --- a/patches/chromium/webview_fullscreen.patch +++ b/patches/chromium/webview_fullscreen.patch @@ -14,11 +14,11 @@ 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 187b94d207570a77f058915b9e5b581c777adc5a..55b56c4b18bba342db29bc493e07b27aee1f586a 100644 +index 9c6f51f1667d9bf1b430a83747faebf633a324c7..edc7111e2a61c917ec987264ddfbc4ee55f33730 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -6509,6 +6509,15 @@ void RenderFrameHostImpl::EnterFullscreen( - notified_instances.insert(parent_site_instance); +@@ -6565,6 +6565,17 @@ void RenderFrameHostImpl::EnterFullscreen( + } } + // Entering fullscreen from webview should also notify its outer frame. @@ -26,8 +26,10 @@ index 187b94d207570a77f058915b9e5b581c777adc5a..55b56c4b18bba342db29bc493e07b27a + RenderFrameProxyHost* outer_proxy = + frame_tree_node()->render_manager()->GetProxyToOuterDelegate(); + DCHECK(outer_proxy); -+ outer_proxy->GetAssociatedRemoteFrame()->WillEnterFullscreen( -+ options.Clone()); ++ if (outer_proxy->is_render_frame_proxy_live()) { ++ outer_proxy->GetAssociatedRemoteFrame()->WillEnterFullscreen( ++ options.Clone()); ++ } + } + // Focus the window if another frame may have delegated the capability. diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index efef6124f4d..994967d5e1d 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -26,10 +26,10 @@ index 1dfe162dc69f404b49bae6197fa7b713600eb9bd..dedfb41c933ad7930cbab5aae502e1df // 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 a5f2807bfa3bd2515aac5fb2090780720a860314..0533dbcdb64af9ebf3f3dcec36038fe76136a15a 100644 +index e6ed59bb367c2ec8997867d847d79304b5e78be4..f2401245c4feb507966a47c82c66d956802d5ede 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -909,6 +909,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -873,6 +873,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } @@ -43,10 +43,10 @@ index a5f2807bfa3bd2515aac5fb2090780720a860314..0533dbcdb64af9ebf3f3dcec36038fe7 const v8::Local& worker) { GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread( diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h -index 40146f89d1d946674025c51896fed23a9782b4fb..af85bef23dbc259ba4554aaa28cf3c06a80ea437 100644 +index 62370f36f8b19c409e65c3d19a7536a50c7f3d0c..ad67b32366ee276d4a9917e17ce335c3ec507a48 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -191,6 +191,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -183,6 +183,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { void DidStartWorkerThread() override; void WillStopWorkerThread() override; void WorkerContextCreated(const v8::Local& worker) override; @@ -55,10 +55,10 @@ index 40146f89d1d946674025c51896fed23a9782b4fb..af85bef23dbc259ba4554aaa28cf3c06 const blink::WebSecurityOrigin& script_origin) override; blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel() diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index a9ba1b0ec765ee51b1341afe81210e87d2c93c82..2970cb32f408fa812cc006f3c70ec5c55115781b 100644 +index b3845ea3620684e3a89f9c2a99fb9c8505f942e2..d7fed3409f1846d9655aa2b4adc89768af8ba22f 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -675,6 +675,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -638,6 +638,7 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} diff --git a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch index f816b1d0f40..33c10c2fd8b 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 dedfb41c933ad7930cbab5aae502e1df28cf05e4..8ad7306886109e827a8a692fee39f7c7 // 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 0533dbcdb64af9ebf3f3dcec36038fe76136a15a..6f4019347855650cb2203f59c5568e2a029639a1 100644 +index f2401245c4feb507966a47c82c66d956802d5ede..916fc0110338224c21bc6cc29536a152659e9569 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -921,6 +921,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( +@@ -885,6 +885,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( worker); } @@ -52,10 +52,10 @@ index 0533dbcdb64af9ebf3f3dcec36038fe76136a15a..6f4019347855650cb2203f59c5568e2a const blink::WebSecurityOrigin& script_origin) { return GetContentClient()->renderer()->AllowScriptExtensionForServiceWorker( diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h -index af85bef23dbc259ba4554aaa28cf3c06a80ea437..d6368cee4c3a87882bac1d1d63df8698dd96b0fa 100644 +index ad67b32366ee276d4a9917e17ce335c3ec507a48..62bc2b9122733d397093fdba0b2315cb0993cb48 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -191,6 +191,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -183,6 +183,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { void DidStartWorkerThread() override; void WillStopWorkerThread() override; void WorkerContextCreated(const v8::Local& worker) override; @@ -65,10 +65,10 @@ index af85bef23dbc259ba4554aaa28cf3c06a80ea437..d6368cee4c3a87882bac1d1d63df8698 bool AllowScriptExtensionForServiceWorker( const blink::WebSecurityOrigin& script_origin) override; diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index 2970cb32f408fa812cc006f3c70ec5c55115781b..808234569ff2fc80945b2707020197302e20d856 100644 +index d7fed3409f1846d9655aa2b4adc89768af8ba22f..169916298918d19f23f4e4dce5a306e94d640226 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -675,6 +675,8 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -638,6 +638,8 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} @@ -78,10 +78,10 @@ index 2970cb32f408fa812cc006f3c70ec5c55115781b..808234569ff2fc80945b270702019730 virtual bool AllowScriptExtensionForServiceWorker( const WebSecurityOrigin& script_origin) { diff --git a/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc b/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc -index 03288c7b1897ee2c18b80677ee5837246d36568a..fc10bbf3d92c7f88c734d8ecfb20dbc4b72ae200 100644 +index ae3d2a664a9bd758d495f90f237f4f0ae768aef9..b56470ef35862f1b1b2af69bc48d842d2aa4ba7c 100644 --- a/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc +++ b/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc -@@ -257,6 +257,7 @@ void WorkerOrWorkletScriptController::PrepareForEvaluation() { +@@ -262,6 +262,7 @@ void WorkerOrWorkletScriptController::PrepareForEvaluation() { V8PerContextData* per_context_data = script_state_->PerContextData(); std::ignore = per_context_data->ConstructorForType(global_scope_->GetWrapperTypeInfo()); diff --git a/patches/v8/.patches b/patches/v8/.patches index ea88a8670a8..0e16c5eabc6 100644 --- a/patches/v8/.patches +++ b/patches/v8/.patches @@ -10,4 +10,3 @@ revert_fix_cppgc_removed_deleted_cstors_in_cppheapcreateparams.patch revert_runtime_dhceck_terminating_exception_in_microtasks.patch chore_disable_is_execution_terminating_dcheck.patch build_remove_legacy_oom_error_callback.patch -cherry-pick-5e227bebf193.patch diff --git a/patches/v8/build_gn.patch b/patches/v8/build_gn.patch index 47cea967e99..23d717ab96d 100644 --- a/patches/v8/build_gn.patch +++ b/patches/v8/build_gn.patch @@ -9,10 +9,10 @@ necessary for native modules to load. Also, some fixes relating to mksnapshot on ARM. diff --git a/BUILD.gn b/BUILD.gn -index c51da9f12ecab41256bf0cdb7a0170e99302dc35..a0154b94bf390b639e1144bc3eb6041631b29716 100644 +index c918081b31fdf15efd325ae9d688f6c4f59aded1..3820a03365e58a05f2df16195ed6061f1c451a05 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -626,7 +626,7 @@ config("internal_config") { +@@ -636,7 +636,7 @@ config("internal_config") { ":cppgc_header_features", ] @@ -21,7 +21,7 @@ index c51da9f12ecab41256bf0cdb7a0170e99302dc35..a0154b94bf390b639e1144bc3eb60416 defines += [ "BUILDING_V8_SHARED" ] } -@@ -5986,7 +5986,7 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -5999,7 +5999,7 @@ if (current_toolchain == v8_generator_toolchain) { "src/interpreter/bytecodes.h", ] @@ -30,7 +30,7 @@ index c51da9f12ecab41256bf0cdb7a0170e99302dc35..a0154b94bf390b639e1144bc3eb60416 deps = [ ":v8_libbase", -@@ -6024,6 +6024,8 @@ if (current_toolchain == v8_snapshot_toolchain) { +@@ -6037,6 +6037,8 @@ if (current_toolchain == v8_snapshot_toolchain) { configs = [ ":internal_config" ] diff --git a/patches/v8/build_remove_legacy_oom_error_callback.patch b/patches/v8/build_remove_legacy_oom_error_callback.patch index 989e15f01b4..0fa0b7bbd42 100644 --- a/patches/v8/build_remove_legacy_oom_error_callback.patch +++ b/patches/v8/build_remove_legacy_oom_error_callback.patch @@ -30,10 +30,10 @@ index b39921dea0415362d1a30159f3fac0e345e2313e..810fc4edaf69565959148d3c1ec662f0 bool is_heap_oom = false; const char* detail = nullptr; diff --git a/include/v8-initialization.h b/include/v8-initialization.h -index 5cadd1788926a7b305ba4d05792b9efa6183d73e..c01c337317afb088927cae0239542281a89d1bb1 100644 +index 66adf98c17998dd81178e515db01ef43daae14d7..224ae0dc6b34b4724192a1b0547be110f796a9b2 100644 --- a/include/v8-initialization.h +++ b/include/v8-initialization.h -@@ -286,9 +286,6 @@ class V8_EXPORT V8 { +@@ -284,9 +284,6 @@ class V8_EXPORT V8 { */ static void SetFatalMemoryErrorCallback(OOMErrorCallback callback); @@ -69,10 +69,10 @@ index b54c7388603b4582356f6741c9a36f2835aa1928..b9533b78046228705e2038396eebf23b void SetOOMErrorHandler(OOMErrorCallback that); diff --git a/src/api/api.cc b/src/api/api.cc -index 82ed3b8c44b62d67fc7e897423ca1c1999befb7f..dcae2f80cba468c1a98e589fd68ce60a0b9ae99a 100644 +index 9fafa6b0089aabf55984b68cff85e353fe50ce52..9472ad8f4f776f98d398113b22a6a710596b3cde 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -167,13 +167,6 @@ +@@ -171,13 +171,6 @@ namespace v8 { @@ -86,7 +86,7 @@ index 82ed3b8c44b62d67fc7e897423ca1c1999befb7f..dcae2f80cba468c1a98e589fd68ce60a static OOMErrorCallback g_oom_error_callback = nullptr; static ScriptOrigin GetScriptOriginForScript(i::Isolate* i_isolate, -@@ -231,9 +224,6 @@ void i::V8::FatalProcessOutOfMemory(i::Isolate* i_isolate, const char* location, +@@ -235,9 +228,6 @@ void i::V8::FatalProcessOutOfMemory(i::Isolate* i_isolate, const char* location, // Give the embedder a chance to handle the condition. If it doesn't, // just crash. if (g_oom_error_callback) g_oom_error_callback(location, details); @@ -96,7 +96,7 @@ index 82ed3b8c44b62d67fc7e897423ca1c1999befb7f..dcae2f80cba468c1a98e589fd68ce60a FATAL("Fatal process out of memory: %s", location); UNREACHABLE(); } -@@ -309,9 +299,6 @@ void i::V8::FatalProcessOutOfMemory(i::Isolate* i_isolate, const char* location, +@@ -313,9 +303,6 @@ void i::V8::FatalProcessOutOfMemory(i::Isolate* i_isolate, const char* location, } Utils::ReportOOMFailure(i_isolate, location, details); if (g_oom_error_callback) g_oom_error_callback(location, details); @@ -106,7 +106,7 @@ index 82ed3b8c44b62d67fc7e897423ca1c1999befb7f..dcae2f80cba468c1a98e589fd68ce60a // If the fatal error handler returns, we stop execution. FATAL("API fatal error handler returned after process out of memory"); } -@@ -343,8 +330,6 @@ void Utils::ReportOOMFailure(i::Isolate* i_isolate, const char* location, +@@ -347,8 +334,6 @@ void Utils::ReportOOMFailure(i::Isolate* i_isolate, const char* location, const OOMDetails& details) { if (auto oom_callback = i_isolate->oom_behavior()) { oom_callback(location, details); @@ -115,7 +115,7 @@ index 82ed3b8c44b62d67fc7e897423ca1c1999befb7f..dcae2f80cba468c1a98e589fd68ce60a } else { // TODO(wfh): Remove this fallback once Blink is setting OOM handler. See // crbug.com/614440. -@@ -6141,11 +6126,6 @@ void v8::V8::SetFatalMemoryErrorCallback( +@@ -6175,11 +6160,6 @@ void v8::V8::SetFatalMemoryErrorCallback( g_oom_error_callback = oom_error_callback; } @@ -127,7 +127,7 @@ index 82ed3b8c44b62d67fc7e897423ca1c1999befb7f..dcae2f80cba468c1a98e589fd68ce60a void v8::V8::SetEntropySource(EntropySource entropy_source) { base::RandomNumberGenerator::SetEntropySource(entropy_source); } -@@ -8654,8 +8634,6 @@ void Isolate::Initialize(Isolate* v8_isolate, +@@ -8702,8 +8682,6 @@ void Isolate::Initialize(Isolate* v8_isolate, #endif if (params.oom_error_callback) { v8_isolate->SetOOMErrorHandler(params.oom_error_callback); @@ -136,7 +136,7 @@ index 82ed3b8c44b62d67fc7e897423ca1c1999befb7f..dcae2f80cba468c1a98e589fd68ce60a } #if __clang__ #pragma clang diagnostic pop -@@ -9397,8 +9375,6 @@ size_t Isolate::CopyCodePages(size_t capacity, MemoryRange* code_pages_out) { +@@ -9445,8 +9423,6 @@ size_t Isolate::CopyCodePages(size_t capacity, MemoryRange* code_pages_out) { CALLBACK_SETTER(FatalErrorHandler, FatalErrorCallback, exception_behavior) CALLBACK_SETTER(OOMErrorHandler, OOMErrorCallback, oom_behavior) @@ -146,7 +146,7 @@ index 82ed3b8c44b62d67fc7e897423ca1c1999befb7f..dcae2f80cba468c1a98e589fd68ce60a ModifyCodeGenerationFromStringsCallback2, modify_code_gen_callback2) diff --git a/src/execution/isolate.h b/src/execution/isolate.h -index 00494e347438e92b509ec67f4d77688e091d348b..8c151c8674fdb5d4b3af3de88e97e70239fa8ed7 100644 +index 13100146bdc981480a08156b54649b8f995789ae..9a117c4220704ed512b117aa2f50c3791f8e9189 100644 --- a/src/execution/isolate.h +++ b/src/execution/isolate.h @@ -487,16 +487,9 @@ V8_EXPORT_PRIVATE void FreeCurrentEmbeddedBlob(); diff --git a/patches/v8/cherry-pick-5e227bebf193.patch b/patches/v8/cherry-pick-5e227bebf193.patch deleted file mode 100644 index 31e47fac5dc..00000000000 --- a/patches/v8/cherry-pick-5e227bebf193.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Noordhuis -Date: Sat, 9 Jul 2022 14:05:56 +0200 -Subject: Fix undefined symbol linker error - -Assembler::CheckBuffer() was defined inline in a header file but without -inline linkage, causing an undefined symbol link error on arm64 macOS. - -Fixes: https://github.com/nodejs/node-v8/issues/233 -Bug: v8:13055 -Change-Id: Ifb638705e95de72b2e8d472e7092e88d77cf8ba8 -Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3749583 -Auto-Submit: Ben Noordhuis -Reviewed-by: Leszek Swirski -Reviewed-by: Jakob Kummerow -Commit-Queue: Leszek Swirski -Cr-Commit-Position: refs/heads/main@{#81749} - -diff --git a/src/codegen/arm64/assembler-arm64-inl.h b/src/codegen/arm64/assembler-arm64-inl.h -index da4201b28307a71e988b50e26fc8854fdcc510d4..60deb07b65b5acaaa1e8762cc57730f366f483d2 100644 ---- a/src/codegen/arm64/assembler-arm64-inl.h -+++ b/src/codegen/arm64/assembler-arm64-inl.h -@@ -1066,21 +1066,6 @@ const Register& Assembler::AppropriateZeroRegFor(const CPURegister& reg) const { - return reg.Is64Bits() ? xzr : wzr; - } - --inline void Assembler::CheckBufferSpace() { -- DCHECK_LT(pc_, buffer_start_ + buffer_->size()); -- if (V8_UNLIKELY(buffer_space() < kGap)) { -- GrowBuffer(); -- } --} -- --V8_INLINE void Assembler::CheckBuffer() { -- CheckBufferSpace(); -- if (pc_offset() >= next_veneer_pool_check_) { -- CheckVeneerPool(false, true); -- } -- constpool_.MaybeCheck(); --} -- - EnsureSpace::EnsureSpace(Assembler* assembler) : block_pools_scope_(assembler) { - assembler->CheckBufferSpace(); - } -diff --git a/src/codegen/arm64/assembler-arm64.h b/src/codegen/arm64/assembler-arm64.h -index 703e4bba9381c57849882e7cb2cdeb751064dd2a..dceda86275d3ef0bfc2b5bea9d8f04957b2e721c 100644 ---- a/src/codegen/arm64/assembler-arm64.h -+++ b/src/codegen/arm64/assembler-arm64.h -@@ -2625,8 +2625,21 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { - } - - void GrowBuffer(); -- V8_INLINE void CheckBufferSpace(); -- void CheckBuffer(); -+ -+ void CheckBufferSpace() { -+ DCHECK_LT(pc_, buffer_start_ + buffer_->size()); -+ if (V8_UNLIKELY(buffer_space() < kGap)) { -+ GrowBuffer(); -+ } -+ } -+ -+ void CheckBuffer() { -+ CheckBufferSpace(); -+ if (pc_offset() >= next_veneer_pool_check_) { -+ CheckVeneerPool(false, true); -+ } -+ constpool_.MaybeCheck(); -+ } - - // Emission of the veneer pools may be blocked in some code sequences. - int veneer_pool_blocked_nesting_; // Block emission if this is not zero. diff --git a/patches/v8/dcheck.patch b/patches/v8/dcheck.patch index d7b2329787c..3dd20921716 100644 --- a/patches/v8/dcheck.patch +++ b/patches/v8/dcheck.patch @@ -6,10 +6,10 @@ Subject: dcheck.patch https://github.com/auchenberg/volkswagen diff --git a/src/api/api.cc b/src/api/api.cc -index fb22f212024d84555e5a5acdfc70ffa6259b9846..82ed3b8c44b62d67fc7e897423ca1c1999befb7f 100644 +index bbab4c72ac93fe7a5bba5de531e66be0775244ca..9fafa6b0089aabf55984b68cff85e353fe50ce52 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -9146,7 +9146,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { +@@ -9194,7 +9194,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { } void Isolate::PerformMicrotaskCheckpoint() { @@ -19,7 +19,7 @@ index fb22f212024d84555e5a5acdfc70ffa6259b9846..82ed3b8c44b62d67fc7e897423ca1c19 i_isolate->default_microtask_queue()->PerformCheckpoint(this); } diff --git a/src/heap/heap.cc b/src/heap/heap.cc -index df03810a6fea9ee45a9e8dfb8845f8e6eebbcc08..e2a2fdf77d434c504547d7589f67c556f1f2ae2c 100644 +index 5ed434303b6be71dc99abd7600f4ef489f763419..7e2952b9b14f915df72573d6be0813401da0cafb 100644 --- a/src/heap/heap.cc +++ b/src/heap/heap.cc @@ -6195,9 +6195,9 @@ void Heap::TearDown() { diff --git a/patches/v8/do_not_export_private_v8_symbols_on_windows.patch b/patches/v8/do_not_export_private_v8_symbols_on_windows.patch index 873945550cd..9c6435bc65f 100644 --- a/patches/v8/do_not_export_private_v8_symbols_on_windows.patch +++ b/patches/v8/do_not_export_private_v8_symbols_on_windows.patch @@ -12,10 +12,10 @@ This patch can be safely removed if, when it is removed, `node.lib` does not contain any standard C++ library exports (e.g. `std::ostringstream`). diff --git a/BUILD.gn b/BUILD.gn -index 12df5c4fb41f5e710dfeac145d69d6a28e53c064..012e1755e11afed5cb154240cce4c6996790aa57 100644 +index b6a232081301a74ffbffb98311fc29c4015fc9f9..f5d605043e7f43324fd0bdf74f1decf634143cb0 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -626,6 +626,10 @@ config("internal_config") { +@@ -636,6 +636,10 @@ config("internal_config") { ":cppgc_header_features", ] diff --git a/patches/v8/expose_mksnapshot.patch b/patches/v8/expose_mksnapshot.patch index 00c560abdb6..823df35e5a6 100644 --- a/patches/v8/expose_mksnapshot.patch +++ b/patches/v8/expose_mksnapshot.patch @@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch Needed in order to target mksnapshot for mksnapshot zip. diff --git a/BUILD.gn b/BUILD.gn -index a0154b94bf390b639e1144bc3eb6041631b29716..12df5c4fb41f5e710dfeac145d69d6a28e53c064 100644 +index 3820a03365e58a05f2df16195ed6061f1c451a05..b6a232081301a74ffbffb98311fc29c4015fc9f9 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -5998,7 +5998,6 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -6011,7 +6011,6 @@ if (current_toolchain == v8_generator_toolchain) { if (current_toolchain == v8_snapshot_toolchain) { v8_executable("mksnapshot") { diff --git a/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch b/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch index 8b7b4daa285..e39d8853848 100644 --- a/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch +++ b/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch @@ -6,7 +6,7 @@ Subject: fix: usage of c++ [[deprecated]] attribute for older msvc versions This attribute can only be used in all contexts in Visual Studio 2019 diff --git a/include/v8config.h b/include/v8config.h -index 714d8a6f057ae98d8809a55e83c323c805170e8d..66ee2bd73b47231c17795ad0b23e558216878cae 100644 +index 6213da2ef434fff934b298eada084647d7a6ddc4..754743b0c82e2ccf9a330d18785f8cb59df80869 100644 --- a/include/v8config.h +++ b/include/v8config.h @@ -454,10 +454,13 @@ path. Add it with -I to the command line diff --git a/patches/v8/revert_runtime_dhceck_terminating_exception_in_microtasks.patch b/patches/v8/revert_runtime_dhceck_terminating_exception_in_microtasks.patch index fa5ea09a847..f4802be8f6e 100644 --- a/patches/v8/revert_runtime_dhceck_terminating_exception_in_microtasks.patch +++ b/patches/v8/revert_runtime_dhceck_terminating_exception_in_microtasks.patch @@ -18,10 +18,10 @@ index ca4b1dc557f573bfcde200201cbd2f05e3c6b530..9edc8ce00c524a63cb23911a474f1904 StoreRoot(RootIndex::kCurrentMicrotask, microtask); TNode saved_entered_context_count = GetEnteredContextCount(); diff --git a/src/codegen/code-stub-assembler.cc b/src/codegen/code-stub-assembler.cc -index 2d2ac48555bdec0b96acd0cd8aafb47e71d4a53c..81d6204d3efd0f55105ec48ee6627293b2ffe5fc 100644 +index a984d2ce736a2c9a46eb7cc46eb03fc062f508d2..6bda9bc5878b1ee344eac9f9c4420db09a307792 100644 --- a/src/codegen/code-stub-assembler.cc +++ b/src/codegen/code-stub-assembler.cc -@@ -6156,12 +6156,6 @@ void CodeStubAssembler::SetPendingMessage(TNode message) { +@@ -6123,12 +6123,6 @@ void CodeStubAssembler::SetPendingMessage(TNode message) { StoreFullTaggedNoWriteBarrier(pending_message, message); } @@ -35,10 +35,10 @@ index 2d2ac48555bdec0b96acd0cd8aafb47e71d4a53c..81d6204d3efd0f55105ec48ee6627293 int type) { return Word32Equal(instance_type, Int32Constant(type)); diff --git a/src/codegen/code-stub-assembler.h b/src/codegen/code-stub-assembler.h -index 79844e15dff8bcc9da7df17e3b76677c8cd5f87c..7efd34e45a3e263d86f1f3cef54b24c68424a8d4 100644 +index 9633ba5333c4f1c37e706f655fe37c59c4993b86..6022d5d5063bc6c4db1c15e1ffaaf4d5420c0a01 100644 --- a/src/codegen/code-stub-assembler.h +++ b/src/codegen/code-stub-assembler.h -@@ -2532,7 +2532,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler +@@ -2518,7 +2518,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler TNode GetPendingMessage(); void SetPendingMessage(TNode message); diff --git a/patches/v8/workaround_an_undefined_symbol_error.patch b/patches/v8/workaround_an_undefined_symbol_error.patch index e25c92d6513..39c674b87d7 100644 --- a/patches/v8/workaround_an_undefined_symbol_error.patch +++ b/patches/v8/workaround_an_undefined_symbol_error.patch @@ -39,10 +39,10 @@ index 818af524388b1aba51e984b7ff7f7b856d1e590b..7ba8a0e9bc11a65e72e66aebd87e1935 const Operand& operand, FlagsUpdate S, AddSubOp op) { DCHECK_EQ(rd.SizeInBits(), rn.SizeInBits()); diff --git a/src/codegen/arm64/assembler-arm64.h b/src/codegen/arm64/assembler-arm64.h -index f12e1ef130451afa1cb334a4ba07bdb2588ccc24..703e4bba9381c57849882e7cb2cdeb751064dd2a 100644 +index e3d8eb27dea2d241933bcb597bef35b46fcd2a09..0a752245ec25c80d5ed34b1a858fa43cc0d6dd40 100644 --- a/src/codegen/arm64/assembler-arm64.h +++ b/src/codegen/arm64/assembler-arm64.h -@@ -2119,11 +2119,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { +@@ -2120,11 +2120,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { return rm.code() << Rm_offset; } @@ -55,7 +55,7 @@ index f12e1ef130451afa1cb334a4ba07bdb2588ccc24..703e4bba9381c57849882e7cb2cdeb75 static Instr Ra(CPURegister ra) { DCHECK_NE(ra.code(), kSPRegInternalCode); -@@ -2147,15 +2143,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { +@@ -2148,15 +2144,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { // These encoding functions allow the stack pointer to be encoded, and // disallow the zero register. diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc index 8a6feece589..c444deba46a 100644 --- a/shell/browser/api/electron_api_web_contents.cc +++ b/shell/browser/api/electron_api_web_contents.cc @@ -150,7 +150,7 @@ #endif #if BUILDFLAG(IS_LINUX) -#include "ui/views/linux_ui/linux_ui.h" +#include "ui/linux/linux_ui.h" #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) @@ -395,7 +395,7 @@ absl::optional GetCursorBlinkInterval() { if (system_value) return *system_value; #elif BUILDFLAG(IS_LINUX) - if (auto* linux_ui = views::LinuxUI::instance()) + if (auto* linux_ui = ui::LinuxUi::instance()) return linux_ui->GetCursorBlinkInterval(); #elif BUILDFLAG(IS_WIN) const auto system_msec = ::GetCaretBlinkTime(); diff --git a/shell/browser/electron_browser_client.cc b/shell/browser/electron_browser_client.cc index 0eb3bcc1388..ca46535c690 100644 --- a/shell/browser/electron_browser_client.cc +++ b/shell/browser/electron_browser_client.cc @@ -1541,8 +1541,8 @@ bool ElectronBrowserClient::PreSpawnChild(sandbox::TargetPolicy* policy, ChildSpawnFlags flags) { // Allow crashpad to communicate via named pipe. sandbox::ResultCode result = policy->AddRule( - sandbox::TargetPolicy::SUBSYS_FILES, - sandbox::TargetPolicy::FILES_ALLOW_ANY, L"\\??\\pipe\\crashpad_*"); + sandbox::SubSystem::kFiles, sandbox::Semantics::kFilesAllowAny, + L"\\??\\pipe\\crashpad_*"); if (result != sandbox::SBOX_ALL_OK) return false; return true; diff --git a/shell/browser/electron_browser_main_parts.cc b/shell/browser/electron_browser_main_parts.cc index 8ffd3e4a308..a8891a0a782 100644 --- a/shell/browser/electron_browser_main_parts.cc +++ b/shell/browser/electron_browser_main_parts.cc @@ -76,9 +76,9 @@ #include "ui/gfx/color_utils.h" #include "ui/gtk/gtk_compat.h" // nogncheck #include "ui/gtk/gtk_util.h" // nogncheck +#include "ui/linux/linux_ui.h" +#include "ui/linux/linux_ui_factory.h" #include "ui/ozone/public/ozone_platform.h" -#include "ui/views/linux_ui/linux_ui.h" -#include "ui/views/linux_ui/linux_ui_factory.h" #endif #if BUILDFLAG(IS_WIN) @@ -366,7 +366,7 @@ void ElectronBrowserMainParts::PostDestroyThreads() { void ElectronBrowserMainParts::ToolkitInitialized() { #if BUILDFLAG(IS_LINUX) - auto linux_ui = CreateLinuxUi(); + auto linux_ui = ui::CreateLinuxUi(); DCHECK(ui::LinuxInputMethodContextFactory::instance()); // Try loading gtk symbols used by Electron. @@ -388,7 +388,7 @@ void ElectronBrowserMainParts::ToolkitInitialized() { // here returns a NativeThemeGtk, which monitors GTK settings. dark_theme_observer_ = std::make_unique(); linux_ui->GetNativeTheme(nullptr)->AddObserver(dark_theme_observer_.get()); - views::LinuxUI::SetInstance(std::move(linux_ui)); + ui::LinuxUi::SetInstance(std::move(linux_ui)); // Cursor theme changes are tracked by LinuxUI (via a CursorThemeManager // implementation). Start observing them once it's initialized. diff --git a/shell/browser/javascript_environment.cc b/shell/browser/javascript_environment.cc index 02fe3d27256..2acd06cbbaf 100644 --- a/shell/browser/javascript_environment.cc +++ b/shell/browser/javascript_environment.cc @@ -253,6 +253,7 @@ v8::Isolate* JavascriptEnvironment::Initialize(uv_loop_t* event_loop) { // --js-flags. std::string js_flags = cmd->GetSwitchValueASCII(blink::switches::kJavaScriptFlags); + js_flags.append(" --no-freeze-flags-after-init"); if (!js_flags.empty()) v8::V8::SetFlagsFromString(js_flags.c_str(), js_flags.size()); diff --git a/shell/browser/printing/print_view_manager_electron.cc b/shell/browser/printing/print_view_manager_electron.cc index 369b97fbd04..ccfb4d0f44f 100644 --- a/shell/browser/printing/print_view_manager_electron.cc +++ b/shell/browser/printing/print_view_manager_electron.cc @@ -6,6 +6,7 @@ #include +#include "base/bind.h" #include "build/build_config.h" #include "components/printing/browser/print_to_pdf/pdf_print_utils.h" #include "printing/mojom/print.mojom.h" @@ -133,7 +134,39 @@ void PrintViewManagerElectron::PrintToPdf( headless_jobs_.emplace_back(cookie); callback_ = std::move(callback); - GetPrintRenderFrame(rfh)->PrintWithParams(std::move(print_pages_params)); + // There is no need for a weak pointer here since the mojo proxy is held + // in the base class. If we're gone, mojo will discard the callback. + GetPrintRenderFrame(rfh)->PrintWithParams( + std::move(print_pages_params), + base::BindOnce(&PrintViewManagerElectron::OnDidPrintWithParams, + base::Unretained(this))); +} + +void PrintViewManagerElectron::OnDidPrintWithParams( + printing::mojom::PrintWithParamsResultPtr result) { + if (result->is_failure_reason()) { + switch (result->get_failure_reason()) { + case printing::mojom::PrintFailureReason::kGeneralFailure: + ReleaseJob(PRINTING_FAILED); + return; + case printing::mojom::PrintFailureReason::kInvalidPageRange: + ReleaseJob(PAGE_COUNT_EXCEEDED); + return; + } + } + + auto& content = *result->get_params()->content; + if (!content.metafile_data_region.IsValid()) { + ReleaseJob(INVALID_MEMORY_HANDLE); + return; + } + base::ReadOnlySharedMemoryMapping map = content.metafile_data_region.Map(); + if (!map.IsValid()) { + ReleaseJob(METAFILE_MAP_ERROR); + return; + } + data_ = std::string(static_cast(map.memory()), map.size()); + ReleaseJob(PRINT_SUCCESS); } void PrintViewManagerElectron::GetDefaultPrintSettings( @@ -171,20 +204,6 @@ void PrintViewManagerElectron::ShowInvalidPrinterSettingsError() { ReleaseJob(INVALID_PRINTER_SETTINGS); } -void PrintViewManagerElectron::PrintingFailed( - int32_t cookie, - printing::mojom::PrintFailureReason reason) { - auto entry = std::find(headless_jobs_.begin(), headless_jobs_.end(), cookie); - if (entry == headless_jobs_.end()) { - PrintViewManagerBase::PrintingFailed(cookie, reason); - return; - } - - ReleaseJob(reason == printing::mojom::PrintFailureReason::kInvalidPageRange - ? PAGE_COUNT_EXCEEDED - : PRINTING_FAILED); -} - #if BUILDFLAG(ENABLE_PRINT_PREVIEW) void PrintViewManagerElectron::UpdatePrintSettings( int32_t cookie, @@ -245,37 +264,6 @@ void PrintViewManagerElectron::DidGetPrintedPagesCount(int32_t cookie, } } -void PrintViewManagerElectron::DidPrintDocument( - printing::mojom::DidPrintDocumentParamsPtr params, - DidPrintDocumentCallback callback) { - auto entry = std::find(headless_jobs_.begin(), headless_jobs_.end(), - params->document_cookie); - if (entry == headless_jobs_.end()) { - PrintViewManagerBase::DidPrintDocument(std::move(params), - std::move(callback)); - return; - } - - auto& content = *params->content; - if (!content.metafile_data_region.IsValid()) { - ReleaseJob(INVALID_MEMORY_HANDLE); - std::move(callback).Run(false); - return; - } - - base::ReadOnlySharedMemoryMapping map = content.metafile_data_region.Map(); - if (!map.IsValid()) { - ReleaseJob(METAFILE_MAP_ERROR); - std::move(callback).Run(false); - return; - } - - data_ = std::string(static_cast(map.memory()), map.size()); - headless_jobs_.erase(entry); - std::move(callback).Run(true); - ReleaseJob(PRINT_SUCCESS); -} - void PrintViewManagerElectron::Reset() { printing_rfh_ = nullptr; callback_.Reset(); diff --git a/shell/browser/printing/print_view_manager_electron.h b/shell/browser/printing/print_view_manager_electron.h index 197b3c77adf..bf244a522ac 100644 --- a/shell/browser/printing/print_view_manager_electron.h +++ b/shell/browser/printing/print_view_manager_electron.h @@ -61,23 +61,22 @@ class PrintViewManagerElectron PrintToPDFCallback callback); private: - explicit PrintViewManagerElectron(content::WebContents* web_contents); friend class content::WebContentsUserData; + explicit PrintViewManagerElectron(content::WebContents* web_contents); + + void OnDidPrintWithParams(printing::mojom::PrintWithParamsResultPtr result); + // WebContentsObserver overrides (via PrintManager): void RenderFrameDeleted(content::RenderFrameHost* render_frame_host) override; // printing::mojom::PrintManagerHost: - void DidPrintDocument(printing::mojom::DidPrintDocumentParamsPtr params, - DidPrintDocumentCallback callback) override; void DidGetPrintedPagesCount(int32_t cookie, uint32_t number_pages) override; void GetDefaultPrintSettings( GetDefaultPrintSettingsCallback callback) override; void ScriptedPrint(printing::mojom::ScriptedPrintParamsPtr params, ScriptedPrintCallback callback) override; void ShowInvalidPrinterSettingsError() override; - void PrintingFailed(int32_t cookie, - printing::mojom::PrintFailureReason reason) override; #if BUILDFLAG(ENABLE_PRINT_PREVIEW) void UpdatePrintSettings(int32_t cookie, base::Value::Dict job_settings, diff --git a/shell/browser/ui/electron_desktop_window_tree_host_linux.cc b/shell/browser/ui/electron_desktop_window_tree_host_linux.cc index 17b85784c0d..0ab1f292619 100644 --- a/shell/browser/ui/electron_desktop_window_tree_host_linux.cc +++ b/shell/browser/ui/electron_desktop_window_tree_host_linux.cc @@ -16,8 +16,8 @@ #include "shell/browser/ui/views/client_frame_view_linux.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/skia_conversions.h" +#include "ui/linux/linux_ui.h" #include "ui/platform_window/platform_window.h" -#include "ui/views/linux_ui/linux_ui.h" #include "ui/views/widget/desktop_aura/desktop_window_tree_host.h" #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h" #include "ui/views/window/non_client_view.h" diff --git a/shell/browser/ui/electron_desktop_window_tree_host_linux.h b/shell/browser/ui/electron_desktop_window_tree_host_linux.h index e9bb28adb97..6a6130b4489 100644 --- a/shell/browser/ui/electron_desktop_window_tree_host_linux.h +++ b/shell/browser/ui/electron_desktop_window_tree_host_linux.h @@ -13,9 +13,9 @@ #include "shell/browser/native_window_views.h" #include "shell/browser/ui/views/client_frame_view_linux.h" #include "third_party/skia/include/core/SkRRect.h" +#include "ui/linux/device_scale_factor_observer.h" #include "ui/native_theme/native_theme_observer.h" #include "ui/platform_window/platform_window.h" -#include "ui/views/linux_ui/device_scale_factor_observer.h" #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h" namespace electron { @@ -23,7 +23,7 @@ namespace electron { class ElectronDesktopWindowTreeHostLinux : public views::DesktopWindowTreeHostLinux, public ui::NativeThemeObserver, - public views::DeviceScaleFactorObserver { + public ui::DeviceScaleFactorObserver { public: ElectronDesktopWindowTreeHostLinux( NativeWindowViews* native_window_view, @@ -62,10 +62,10 @@ class ElectronDesktopWindowTreeHostLinux base::ScopedObservation theme_observation_{this}; - base::ScopedObservation + base::ScopedObservation scale_observation_{this}; ui::PlatformWindowState window_state_ = ui::PlatformWindowState::kUnknown; }; diff --git a/shell/browser/ui/gtk/app_indicator_icon.h b/shell/browser/ui/gtk/app_indicator_icon.h index ab0f4d56341..8695545d9b4 100644 --- a/shell/browser/ui/gtk/app_indicator_icon.h +++ b/shell/browser/ui/gtk/app_indicator_icon.h @@ -13,7 +13,7 @@ #include "base/nix/xdg_util.h" #include "third_party/skia/include/core/SkImage.h" #include "ui/base/glib/glib_signal.h" -#include "ui/views/linux_ui/status_icon_linux.h" +#include "ui/linux/status_icon_linux.h" typedef struct _AppIndicator AppIndicator; typedef struct _GtkWidget GtkWidget; @@ -33,7 +33,7 @@ namespace electron::gtkui { class AppIndicatorIconMenu; // Status icon implementation which uses libappindicator. -class AppIndicatorIcon : public views::StatusIconLinux { +class AppIndicatorIcon : public ui::StatusIconLinux { public: // The id uniquely identifies the new status icon from other chrome status // icons. @@ -49,7 +49,7 @@ class AppIndicatorIcon : public views::StatusIconLinux { // Indicates whether libappindicator so could be opened. static bool CouldOpen(); - // Overridden from views::StatusIconLinux: + // Overridden from ui::StatusIconLinux: void SetIcon(const gfx::ImageSkia& image) override; void SetToolTip(const std::u16string& tool_tip) override; void UpdatePlatformContextMenu(ui::MenuModel* menu) override; diff --git a/shell/browser/ui/gtk/gtk_status_icon.h b/shell/browser/ui/gtk/gtk_status_icon.h index 22b0788026a..7d7163cea96 100644 --- a/shell/browser/ui/gtk/gtk_status_icon.h +++ b/shell/browser/ui/gtk/gtk_status_icon.h @@ -9,7 +9,7 @@ #include "ui/base/glib/glib_integers.h" #include "ui/base/glib/glib_signal.h" -#include "ui/views/linux_ui/status_icon_linux.h" +#include "ui/linux/status_icon_linux.h" typedef struct _GtkStatusIcon GtkStatusIcon; @@ -27,7 +27,7 @@ class AppIndicatorIconMenu; // Status icon implementation which uses the system tray X11 spec (via // GtkStatusIcon). -class GtkStatusIcon : public views::StatusIconLinux { +class GtkStatusIcon : public ui::StatusIconLinux { public: GtkStatusIcon(const gfx::ImageSkia& image, const std::u16string& tool_tip); ~GtkStatusIcon() override; @@ -36,7 +36,7 @@ class GtkStatusIcon : public views::StatusIconLinux { GtkStatusIcon(const GtkStatusIcon&) = delete; GtkStatusIcon& operator=(const GtkStatusIcon&) = delete; - // Overridden from views::StatusIconLinux: + // Overridden from ui::StatusIconLinux: void SetIcon(const gfx::ImageSkia& image) override; void SetToolTip(const std::u16string& tool_tip) override; void UpdatePlatformContextMenu(ui::MenuModel* menu) override; diff --git a/shell/browser/ui/gtk/status_icon.cc b/shell/browser/ui/gtk/status_icon.cc index 72eeeb81716..dea4a7f9527 100644 --- a/shell/browser/ui/gtk/status_icon.cc +++ b/shell/browser/ui/gtk/status_icon.cc @@ -33,7 +33,7 @@ bool IsStatusIconSupported() { #endif } -std::unique_ptr CreateLinuxStatusIcon( +std::unique_ptr CreateLinuxStatusIcon( const gfx::ImageSkia& image, const std::u16string& tool_tip, const char* id_prefix) { diff --git a/shell/browser/ui/gtk/status_icon.h b/shell/browser/ui/gtk/status_icon.h index 43203d2c780..df80d03157e 100644 --- a/shell/browser/ui/gtk/status_icon.h +++ b/shell/browser/ui/gtk/status_icon.h @@ -13,12 +13,12 @@ #include "base/strings/string_util.h" #include "ui/gfx/image/image_skia.h" -#include "ui/views/linux_ui/status_icon_linux.h" +#include "ui/linux/status_icon_linux.h" namespace electron::gtkui { bool IsStatusIconSupported(); -std::unique_ptr CreateLinuxStatusIcon( +std::unique_ptr CreateLinuxStatusIcon( const gfx::ImageSkia& image, const std::u16string& tool_tip, const char* id_prefix); diff --git a/shell/browser/ui/tray_icon_gtk.h b/shell/browser/ui/tray_icon_gtk.h index c01621aed24..7da8890d6b7 100644 --- a/shell/browser/ui/tray_icon_gtk.h +++ b/shell/browser/ui/tray_icon_gtk.h @@ -9,11 +9,11 @@ #include #include "shell/browser/ui/tray_icon.h" -#include "ui/views/linux_ui/status_icon_linux.h" +#include "ui/linux/status_icon_linux.h" namespace electron { -class TrayIconGtk : public TrayIcon, public views::StatusIconLinux::Delegate { +class TrayIconGtk : public TrayIcon, public ui::StatusIconLinux::Delegate { public: TrayIconGtk(); ~TrayIconGtk() override; @@ -23,7 +23,7 @@ class TrayIconGtk : public TrayIcon, public views::StatusIconLinux::Delegate { void SetToolTip(const std::string& tool_tip) override; void SetContextMenu(ElectronMenuModel* menu_model) override; - // views::StatusIconLinux::Delegate + // ui::StatusIconLinux::Delegate void OnClick() override; bool HasClickAction() override; // The following four methods are only used by StatusIconLinuxDbus, which we @@ -34,7 +34,7 @@ class TrayIconGtk : public TrayIcon, public views::StatusIconLinux::Delegate { void OnImplInitializationFailed() override; private: - std::unique_ptr icon_; + std::unique_ptr icon_; gfx::ImageSkia image_; std::u16string tool_tip_; ui::MenuModel* menu_model_; diff --git a/shell/browser/ui/views/client_frame_view_linux.cc b/shell/browser/ui/views/client_frame_view_linux.cc index 2a085d04d6a..011764e864f 100644 --- a/shell/browser/ui/views/client_frame_view_linux.cc +++ b/shell/browser/ui/views/client_frame_view_linux.cc @@ -23,11 +23,11 @@ #include "ui/gfx/text_constants.h" #include "ui/gtk/gtk_compat.h" // nogncheck #include "ui/gtk/gtk_util.h" // nogncheck +#include "ui/linux/linux_ui.h" +#include "ui/linux/nav_button_provider.h" #include "ui/native_theme/native_theme.h" #include "ui/strings/grit/ui_strings.h" #include "ui/views/controls/button/image_button.h" -#include "ui/views/linux_ui/linux_ui.h" -#include "ui/views/linux_ui/nav_button_provider.h" #include "ui/views/style/typography.h" #include "ui/views/widget/widget.h" #include "ui/views/window/frame_buttons.h" @@ -41,6 +41,25 @@ namespace { constexpr int kResizeOutsideBorderSize = 10; constexpr int kResizeInsideBoundsSize = 5; +ui::NavButtonProvider::ButtonState ButtonStateToNavButtonProviderState( + views::Button::ButtonState state) { + switch (state) { + case views::Button::STATE_NORMAL: + return ui::NavButtonProvider::ButtonState::kNormal; + case views::Button::STATE_HOVERED: + return ui::NavButtonProvider::ButtonState::kHovered; + case views::Button::STATE_PRESSED: + return ui::NavButtonProvider::ButtonState::kPressed; + case views::Button::STATE_DISABLED: + return ui::NavButtonProvider::ButtonState::kDisabled; + + case views::Button::STATE_COUNT: + default: + NOTREACHED(); + return ui::NavButtonProvider::ButtonState::kNormal; + } +} + } // namespace // static @@ -48,19 +67,18 @@ const char ClientFrameViewLinux::kViewClassName[] = "ClientFrameView"; ClientFrameViewLinux::ClientFrameViewLinux() : theme_(ui::NativeTheme::GetInstanceForNativeUi()), - nav_button_provider_( - views::LinuxUI::instance()->CreateNavButtonProvider()), + nav_button_provider_(ui::LinuxUi::instance()->CreateNavButtonProvider()), nav_buttons_{ - NavButton{views::NavButtonProvider::FrameButtonDisplayType::kClose, + NavButton{ui::NavButtonProvider::FrameButtonDisplayType::kClose, views::FrameButton::kClose, &views::Widget::Close, IDS_APP_ACCNAME_CLOSE, HTCLOSE}, - NavButton{views::NavButtonProvider::FrameButtonDisplayType::kMaximize, + NavButton{ui::NavButtonProvider::FrameButtonDisplayType::kMaximize, views::FrameButton::kMaximize, &views::Widget::Maximize, IDS_APP_ACCNAME_MAXIMIZE, HTMAXBUTTON}, - NavButton{views::NavButtonProvider::FrameButtonDisplayType::kRestore, + NavButton{ui::NavButtonProvider::FrameButtonDisplayType::kRestore, views::FrameButton::kMaximize, &views::Widget::Restore, IDS_APP_ACCNAME_RESTORE, HTMAXBUTTON}, - NavButton{views::NavButtonProvider::FrameButtonDisplayType::kMinimize, + NavButton{ui::NavButtonProvider::FrameButtonDisplayType::kMinimize, views::FrameButton::kMinimize, &views::Widget::Minimize, IDS_APP_ACCNAME_MINIMIZE, HTMINBUTTON}, }, @@ -85,14 +103,14 @@ ClientFrameViewLinux::ClientFrameViewLinux() native_theme_observer_.Observe(theme_); - if (views::LinuxUI* ui = views::LinuxUI::instance()) { + if (ui::LinuxUi* ui = ui::LinuxUi::instance()) { ui->AddWindowButtonOrderObserver(this); OnWindowButtonOrderingChange(); } } ClientFrameViewLinux::~ClientFrameViewLinux() { - if (views::LinuxUI* ui = views::LinuxUI::instance()) + if (ui::LinuxUi* ui = ui::LinuxUi::instance()) ui->RemoveWindowButtonOrderObserver(this); theme_->RemoveObserver(this); } @@ -112,7 +130,7 @@ void ClientFrameViewLinux::Init(NativeWindowViews* window, window->GetAcceleratedWidget())); host_supports_client_frame_shadow_ = tree_host->SupportsClientFrameShadow(); - frame_provider_ = views::LinuxUI::instance()->GetWindowFrameProvider( + frame_provider_ = ui::LinuxUi::instance()->GetWindowFrameProvider( !host_supports_client_frame_shadow_); UpdateWindowTitle(); @@ -326,11 +344,11 @@ void ClientFrameViewLinux::UpdateThemeValues() { SchedulePaint(); } -views::NavButtonProvider::FrameButtonDisplayType +ui::NavButtonProvider::FrameButtonDisplayType ClientFrameViewLinux::GetButtonTypeToSkip() const { return frame_->IsMaximized() - ? views::NavButtonProvider::FrameButtonDisplayType::kMaximize - : views::NavButtonProvider::FrameButtonDisplayType::kRestore; + ? ui::NavButtonProvider::FrameButtonDisplayType::kMaximize + : ui::NavButtonProvider::FrameButtonDisplayType::kRestore; } void ClientFrameViewLinux::UpdateButtonImages() { @@ -338,7 +356,7 @@ void ClientFrameViewLinux::UpdateButtonImages() { frame_->IsMaximized(), ShouldPaintAsActive()); - views::NavButtonProvider::FrameButtonDisplayType skip_type = + ui::NavButtonProvider::FrameButtonDisplayType skip_type = GetButtonTypeToSkip(); for (NavButton& button : nav_buttons_) { @@ -351,7 +369,8 @@ void ClientFrameViewLinux::UpdateButtonImages() { views::Button::ButtonState state = static_cast(state_id); button.button->SetImage( - state, nav_button_provider_->GetImage(button.type, state)); + state, nav_button_provider_->GetImage( + button.type, ButtonStateToNavButtonProviderState(state))); } } } @@ -369,7 +388,7 @@ void ClientFrameViewLinux::LayoutButtons() { void ClientFrameViewLinux::LayoutButtonsOnSide( ButtonSide side, gfx::Rect* remaining_content_bounds) { - views::NavButtonProvider::FrameButtonDisplayType skip_type = + ui::NavButtonProvider::FrameButtonDisplayType skip_type = GetButtonTypeToSkip(); std::vector frame_buttons; diff --git a/shell/browser/ui/views/client_frame_view_linux.h b/shell/browser/ui/views/client_frame_view_linux.h index b9bf50d8f7a..c76512465e0 100644 --- a/shell/browser/ui/views/client_frame_view_linux.h +++ b/shell/browser/ui/views/client_frame_view_linux.h @@ -11,14 +11,14 @@ #include "base/scoped_observation.h" #include "shell/browser/ui/views/frameless_view.h" +#include "ui/linux/linux_ui.h" +#include "ui/linux/nav_button_provider.h" +#include "ui/linux/window_button_order_observer.h" +#include "ui/linux/window_frame_provider.h" #include "ui/native_theme/native_theme.h" #include "ui/native_theme/native_theme_observer.h" #include "ui/views/controls/button/image_button.h" #include "ui/views/controls/label.h" -#include "ui/views/linux_ui/linux_ui.h" -#include "ui/views/linux_ui/nav_button_provider.h" -#include "ui/views/linux_ui/window_button_order_observer.h" -#include "ui/views/linux_ui/window_frame_provider.h" #include "ui/views/widget/widget.h" #include "ui/views/window/frame_buttons.h" @@ -26,7 +26,7 @@ namespace electron { class ClientFrameViewLinux : public FramelessView, public ui::NativeThemeObserver, - public views::WindowButtonOrderObserver { + public ui::WindowButtonOrderObserver { public: static const char kViewClassName[]; ClientFrameViewLinux(); @@ -71,7 +71,7 @@ class ClientFrameViewLinux : public FramelessView, static constexpr int kNavButtonCount = 4; struct NavButton { - views::NavButtonProvider::FrameButtonDisplayType type; + ui::NavButtonProvider::FrameButtonDisplayType type; views::FrameButton frame_button; void (views::Widget::*callback)(); int accessibility_id; @@ -98,7 +98,7 @@ class ClientFrameViewLinux : public FramelessView, enum class ButtonSide { kLeading, kTrailing }; - views::NavButtonProvider::FrameButtonDisplayType GetButtonTypeToSkip() const; + ui::NavButtonProvider::FrameButtonDisplayType GetButtonTypeToSkip() const; void UpdateButtonImages(); void LayoutButtons(); void LayoutButtonsOnSide(ButtonSide side, @@ -115,7 +115,7 @@ class ClientFrameViewLinux : public FramelessView, views::Label* title_; - std::unique_ptr nav_button_provider_; + std::unique_ptr nav_button_provider_; std::array nav_buttons_; std::vector leading_frame_buttons_; @@ -123,14 +123,14 @@ class ClientFrameViewLinux : public FramelessView, bool host_supports_client_frame_shadow_ = false; - views::WindowFrameProvider* frame_provider_; + ui::WindowFrameProvider* frame_provider_; base::ScopedObservation native_theme_observer_{this}; - base::ScopedObservation + base::ScopedObservation window_button_order_observer_{this}; base::CallbackListSubscription paint_as_active_changed_subscription_; diff --git a/shell/browser/ui/views/electron_views_delegate.cc b/shell/browser/ui/views/electron_views_delegate.cc index 6f7859f2246..3510b896fc3 100644 --- a/shell/browser/ui/views/electron_views_delegate.cc +++ b/shell/browser/ui/views/electron_views_delegate.cc @@ -12,7 +12,7 @@ #if BUILDFLAG(IS_LINUX) #include "base/environment.h" #include "base/nix/xdg_util.h" -#include "ui/views/linux_ui/linux_ui.h" +#include "ui/linux/linux_ui.h" #endif namespace { diff --git a/shell/browser/web_view_guest_delegate.cc b/shell/browser/web_view_guest_delegate.cc index 884c4be1ab8..465e25e5e55 100644 --- a/shell/browser/web_view_guest_delegate.cc +++ b/shell/browser/web_view_guest_delegate.cc @@ -49,7 +49,10 @@ void WebViewGuestDelegate::AttachToIframe( // frame |embedder_frame| hosts the inner WebContents. embedder_web_contents_->AttachInnerWebContents( base::WrapUnique(guest_web_contents), - embedder_frame, false); + embedder_frame, + /*remote_frame=*/mojo::NullAssociatedRemote(), + /*remote_frame_host_receiver=*/mojo::NullAssociatedReceiver(), + /*is_full_page=*/false); ResetZoomController(); diff --git a/shell/common/gin_converters/value_converter.cc b/shell/common/gin_converters/value_converter.cc index 414d535db5e..8510f50a0ef 100644 --- a/shell/common/gin_converters/value_converter.cc +++ b/shell/common/gin_converters/value_converter.cc @@ -30,7 +30,7 @@ v8::Local Converter::ToV8( const base::Value::Dict& val) { base::Value value(val.Clone()); return content::V8ValueConverter::Create()->ToV8Value( - &value, isolate->GetCurrentContext()); + value, isolate->GetCurrentContext()); } bool Converter::FromV8(v8::Isolate* isolate, @@ -50,7 +50,7 @@ bool Converter::FromV8(v8::Isolate* isolate, v8::Local Converter::ToV8(v8::Isolate* isolate, const base::Value& val) { return content::V8ValueConverter::Create()->ToV8Value( - &val, isolate->GetCurrentContext()); + val, isolate->GetCurrentContext()); } bool Converter::FromV8(v8::Isolate* isolate, @@ -72,7 +72,7 @@ v8::Local Converter::ToV8( const base::Value::List& val) { base::Value value(val.Clone()); return content::V8ValueConverter::Create()->ToV8Value( - &value, isolate->GetCurrentContext()); + value, isolate->GetCurrentContext()); } } // namespace gin diff --git a/spec-main/chromium-spec.ts b/spec-main/chromium-spec.ts index cac88b927f1..c1e831d5903 100644 --- a/spec-main/chromium-spec.ts +++ b/spec-main/chromium-spec.ts @@ -345,7 +345,7 @@ describe('web security', () => { it('wasm codegen is disallowed by default', async () => { const r = await loadWasm(''); - expect(r).to.equal('WebAssembly.instantiate(): Wasm code generation disallowed by embedder'); + expect(r).to.equal('WebAssembly.instantiate(): Refused to compile or instantiate WebAssembly module because \'unsafe-eval\' is not an allowed source of script in the following Content Security Policy directive: "script-src \'self\' \'unsafe-inline\'"'); }); it('wasm codegen is allowed with "wasm-unsafe-eval" csp', async () => {