diff --git a/BUILD.gn b/BUILD.gn index 1c8f6f63222e..399e526ca622 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -663,6 +663,8 @@ source_set("electron_lib") { if (enable_plugins) { deps += [ "chromium_src:plugins" ] sources += [ + "shell/common/plugin_info.cc", + "shell/common/plugin_info.h", "shell/renderer/pepper_helper.cc", "shell/renderer/pepper_helper.h", ] @@ -723,7 +725,7 @@ source_set("electron_lib") { ] } - if (enable_basic_printing) { + if (enable_printing) { sources += [ "shell/browser/printing/print_view_manager_electron.cc", "shell/browser/printing/print_view_manager_electron.h", diff --git a/DEPS b/DEPS index 5fddbf10409b..86f587a8b708 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '108.0.5355.0', + '109.0.5382.0', 'node_version': 'v16.17.1', 'nan_version': diff --git a/build/args/all.gn b/build/args/all.gn index e52c9678523d..a2bbaee7a0c7 100644 --- a/build/args/all.gn +++ b/build/args/all.gn @@ -20,7 +20,7 @@ enable_cdm_host_verification = false proprietary_codecs = true ffmpeg_branding = "Chrome" -enable_basic_printing = true +enable_printing = true # Removes DLLs from the build, which are only meant to be used for Chromium development. # See https://github.com/electron/electron/pull/17985 diff --git a/chromium_src/BUILD.gn b/chromium_src/BUILD.gn index dd3b5f7ed8fb..5f807598c76a 100644 --- a/chromium_src/BUILD.gn +++ b/chromium_src/BUILD.gn @@ -212,7 +212,7 @@ static_library("chrome") { deps += [ "//components/cdm/renderer" ] } - if (enable_basic_printing) { + if (enable_printing) { sources += [ "//chrome/browser/bad_message.cc", "//chrome/browser/bad_message.h", @@ -264,7 +264,10 @@ static_library("chrome") { sources += [ "//chrome/browser/printing/pdf_to_emf_converter.cc", "//chrome/browser/printing/pdf_to_emf_converter.h", + "//chrome/browser/printing/printer_xml_parser_impl.cc", + "//chrome/browser/printing/printer_xml_parser_impl.h", ] + deps += [ "//printing:printing_base" ] } } diff --git a/docs/api/session.md b/docs/api/session.md index a9867b4478b4..764243c7b14d 100644 --- a/docs/api/session.md +++ b/docs/api/session.md @@ -453,7 +453,7 @@ Clears the session’s HTTP cache. `shadercache`, `websql`, `serviceworkers`, `cachestorage`. If not specified, clear all storage types. * `quotas` string[] (optional) - The types of quotas to clear, can contain: - `temporary`, `persistent`, `syncable`. If not specified, clear all quotas. + `temporary`, `syncable`. If not specified, clear all quotas. Returns `Promise` - resolves when the storage data has been cleared. diff --git a/filenames.gni b/filenames.gni index bd2f91fd6ac4..da15f04d00e3 100644 --- a/filenames.gni +++ b/filenames.gni @@ -380,8 +380,6 @@ filenames = { "shell/browser/electron_navigation_throttle.h", "shell/browser/electron_permission_manager.cc", "shell/browser/electron_permission_manager.h", - "shell/browser/electron_quota_permission_context.cc", - "shell/browser/electron_quota_permission_context.h", "shell/browser/electron_speech_recognition_manager_delegate.cc", "shell/browser/electron_speech_recognition_manager_delegate.h", "shell/browser/electron_web_contents_utility_handler_impl.cc", diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 97ebd92fcffe..b703442392e3 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -121,3 +121,5 @@ fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch preconnect_manager.patch fix_remove_caption-removing_style_call.patch build_allow_electron_to_use_exec_script.patch +revert_use_accessibility_pkey_when_setting_page_access.patch +roll_clang_llvmorg-16-init-8189-g97196a2d-2.patch diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index ad5177053c07..70941c79be2c 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -23,10 +23,10 @@ index 0af40eb8f556aa29c8b7e1bdd0d62b1fb7b38791..b3ae64cf8836fdd3634bfd24fc2f8a25 int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index fb0483af59b0e289bd716a3417a545233f17be1f..6a7e5ab92e6fa23762794efc3031ce982836c20e 100644 +index eb19f8831bdcef0cbca918332fabc1dd8257b87e..57711e9aa802af4e1a3e308147f13e9e1695d743 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -4365,6 +4365,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, +@@ -4359,6 +4359,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, observer.DidCreateScriptContext(context, world_id); } @@ -67,10 +67,10 @@ index 149ca596036a4a4c123b6982014001953cf06800..dd069baf01929b75f42093ecf09ecf8e 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 c8af53d40eaa1dd3a0067948a8cda80d1599cee3..4de918ee52efa7ec27a21aa2f57616d31dfd07d1 100644 +index 9736b31c03a32635fb8fde581321cc10ec11b11a..c9fd2170a25a7970648b8210ebe94e225f4ee3aa 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 -@@ -209,6 +209,7 @@ void LocalWindowProxy::Initialize() { +@@ -197,6 +197,7 @@ void LocalWindowProxy::Initialize() { } InstallConditionalFeatures(); @@ -79,10 +79,10 @@ index c8af53d40eaa1dd3a0067948a8cda80d1599cee3..4de918ee52efa7ec27a21aa2f57616d3 if (World().IsMainWorld()) { GetFrame()->Loader().DispatchDidClearWindowObjectInMainWorld(); diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h -index 83a62e23b1d395b0aa545de5b828c24196cccc6d..0ca8163eb9ab87aead27bc8b2ee9e614d7e1d8c7 100644 +index 4c1364e12cdf0968bae45bd306823b7698f1c0d3..4a76951b78b0a086ed801df3e5ded6a4a8025eda 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client.h +++ b/third_party/blink/renderer/core/frame/local_frame_client.h -@@ -301,6 +301,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { +@@ -303,6 +303,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) = 0; @@ -92,10 +92,10 @@ index 83a62e23b1d395b0aa545de5b828c24196cccc6d..0ca8163eb9ab87aead27bc8b2ee9e614 int32_t world_id) = 0; virtual bool AllowScriptExtensions() = 0; diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc -index 7b726508f926eb9e694230c3801a4324aac1e989..c688eb24441e2921de1fc85d69deb4a965fdd2b7 100644 +index ff373fdfab30d5fad746915e4bcd037d1c041902..02f59f941e3ba33ab48e8d3755e186abc4b86444 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc -@@ -273,6 +273,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( +@@ -281,6 +281,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( web_frame_->Client()->DidCreateScriptContext(context, world_id); } @@ -110,10 +110,10 @@ index 7b726508f926eb9e694230c3801a4324aac1e989..c688eb24441e2921de1fc85d69deb4a9 v8::Local context, int32_t world_id) { diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h -index c974fa2f7c7f9c2aa5f075ec4aeb887d0b104453..b4ed9b2fadcfad7676387045b8581eb8d33e89e8 100644 +index 2fe4b1c231c875a8c1c836db0e469b00b65fd335..fe6f16fc7c9f9458b3365ff7556428f5415d9190 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h -@@ -80,6 +80,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient { +@@ -82,6 +82,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient { void DidCreateScriptContext(v8::Local, int32_t world_id) override; @@ -123,10 +123,10 @@ index c974fa2f7c7f9c2aa5f075ec4aeb887d0b104453..b4ed9b2fadcfad7676387045b8581eb8 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 ba841a41c1387c2cac3578bc01524b0a1868f74d..d2ce9ae524025cc06028b4ca80d04c580dc29b44 100644 +index f876e56f192323f39946d3b266cad97ae56d6a8c..d7f1b827f207f505f70827b3ac1df3fd146417c3 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.h +++ b/third_party/blink/renderer/core/loader/empty_clients.h -@@ -366,6 +366,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { +@@ -368,6 +368,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { void DidCreateScriptContext(v8::Local, int32_t world_id) override {} diff --git a/patches/chromium/add_electron_deps_to_license_credits_file.patch b/patches/chromium/add_electron_deps_to_license_credits_file.patch index 6313ceffd596..7c0203f339ea 100644 --- a/patches/chromium/add_electron_deps_to_license_credits_file.patch +++ b/patches/chromium/add_electron_deps_to_license_credits_file.patch @@ -7,14 +7,13 @@ Ensure that licenses for the dependencies introduced by Electron are included in `LICENSES.chromium.html` diff --git a/tools/licenses.py b/tools/licenses.py -index c4ffc17fb5b372d56f68bc69e9d4fc93ae40d45f..253618104ea7bb4c97085da9df1496efaee32a46 100755 +index 8acf3c385f2e1d8144b17171728a06a4be4c82d9..37503a57c7e0bad9a6d2d49326e2ac0cc86cc141 100755 --- a/tools/licenses.py +++ b/tools/licenses.py -@@ -347,6 +347,32 @@ SPECIAL_CASES = { - "License File": - "/third_party/swiftshader/third_party/SPIRV-Headers/LICENSE", +@@ -377,6 +377,31 @@ SPECIAL_CASES = { + "License": "Apache 2.0", + "License File": "/third_party/selenium-atoms/LICENSE.closure", }, -+ + os.path.join('third_party', 'electron_node'): { + "Name": "Node.js", + "URL": "https://github.com/nodejs/node", diff --git a/patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch b/patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch index 483c949a840f..a193f8d3d065 100644 --- a/patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch +++ b/patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch @@ -53,7 +53,7 @@ index 18c34ce9965912caa58457fc28be2b4f6edffb78..d1fc002ff98ea25ff4fec7bacd44140c } // namespace gtk diff --git a/ui/gtk/window_frame_provider_gtk.cc b/ui/gtk/window_frame_provider_gtk.cc -index 6aff3b989aff9488b85ca46a62a52a1c7cfb3215..751247c2608ca5143044f6395baae5917c909f46 100644 +index c7857a3e316554e6b5f46c023a1a8084a3263074..5ad7d4ffa7e9c12ec4640a845a4c763420c23ec2 100644 --- a/ui/gtk/window_frame_provider_gtk.cc +++ b/ui/gtk/window_frame_provider_gtk.cc @@ -38,16 +38,18 @@ std::string GetThemeName() { @@ -111,8 +111,8 @@ index 6aff3b989aff9488b85ca46a62a52a1c7cfb3215..751247c2608ca5143044f6395baae591 WindowFrameProviderGtk::~WindowFrameProviderGtk() = default; -@@ -264,7 +266,7 @@ void WindowFrameProviderGtk::PaintWindowFrame(gfx::Canvas* canvas, - top_area_height_dip * scale - asset.frame_thickness_px.top(); +@@ -272,7 +274,7 @@ void WindowFrameProviderGtk::PaintWindowFrame( + top_area_height_dip * scale - effective_frame_thickness_px.top(); auto header = PaintHeaderbar({client_bounds_px.width(), top_area_height_px}, - HeaderContext(solid_frame_, focused), scale); @@ -120,7 +120,7 @@ index 6aff3b989aff9488b85ca46a62a52a1c7cfb3215..751247c2608ca5143044f6395baae591 image = gfx::ImageSkia::CreateFrom1xBitmap(header); // In GTK4, the headerbar gets clipped by the window. if (GtkCheckVersion(4)) { -@@ -296,7 +298,7 @@ void WindowFrameProviderGtk::MaybeUpdateBitmaps(float scale) { +@@ -304,7 +306,7 @@ void WindowFrameProviderGtk::MaybeUpdateBitmaps(float scale) { gfx::Rect frame_bounds_dip(kMaxFrameSizeDip, kMaxFrameSizeDip, 2 * kMaxFrameSizeDip, 2 * kMaxFrameSizeDip); @@ -129,7 +129,7 @@ index 6aff3b989aff9488b85ca46a62a52a1c7cfb3215..751247c2608ca5143044f6395baae591 frame_bounds_dip.Inset(-GtkStyleContextGetPadding(focused_context)); frame_bounds_dip.Inset(-GtkStyleContextGetBorder(focused_context)); gfx::Size bitmap_size(BitmapSizePx(asset), BitmapSizePx(asset)); -@@ -304,7 +306,7 @@ void WindowFrameProviderGtk::MaybeUpdateBitmaps(float scale) { +@@ -312,7 +314,7 @@ void WindowFrameProviderGtk::MaybeUpdateBitmaps(float scale) { PaintBitmap(bitmap_size, frame_bounds_dip, focused_context, scale); asset.unfocused_bitmap = PaintBitmap(bitmap_size, frame_bounds_dip, @@ -139,7 +139,7 @@ index 6aff3b989aff9488b85ca46a62a52a1c7cfb3215..751247c2608ca5143044f6395baae591 // In GTK4, there's no way to obtain the frame thickness from CSS values // directly, so we must determine it experimentally based on the drawn diff --git a/ui/gtk/window_frame_provider_gtk.h b/ui/gtk/window_frame_provider_gtk.h -index 867896de7fa036b7c8be5adf5a7731c97e942d69..2c38d399f95cc2c8851aded5993e3019941defc0 100644 +index d8cb2c6aab333cc55ad1daa70ac91b0569d33a7c..558aa3979301f79df789a29ba3ad1cf134bd6494 100644 --- a/ui/gtk/window_frame_provider_gtk.h +++ b/ui/gtk/window_frame_provider_gtk.h @@ -14,7 +14,7 @@ namespace gtk { @@ -151,7 +151,7 @@ index 867896de7fa036b7c8be5adf5a7731c97e942d69..2c38d399f95cc2c8851aded5993e3019 WindowFrameProviderGtk(const WindowFrameProviderGtk&) = delete; WindowFrameProviderGtk& operator=(const WindowFrameProviderGtk&) = delete; -@@ -69,6 +69,9 @@ class WindowFrameProviderGtk : public ui::WindowFrameProvider { +@@ -70,6 +70,9 @@ class WindowFrameProviderGtk : public ui::WindowFrameProvider { // Cached bitmaps and metrics. The scale is rounded to percent. base::flat_map assets_; 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 e2362d1bf4b1..efdfc106296f 100644 --- a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -72,10 +72,10 @@ index f3b681ec44c57f69c57390f31bd951cef8de3f0c..2fbe866ddf50d7eb324b0e2e4d120f4c // 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 50cae526561de69c7b6b3b5d2467946ee92fcb23..fe35e9c6b8c51e61f0f89c8feca03a36f756d432 100644 +index f891deeeadcdbad04917117776f1e3c525a46f1d..9a5fa540aabf20be54e0f000aa3c9cb67a3c9dc3 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -3808,13 +3808,21 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3813,13 +3813,21 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } @@ -99,7 +99,7 @@ index 50cae526561de69c7b6b3b5d2467946ee92fcb23..fe35e9c6b8c51e61f0f89c8feca03a36 if (!is_initial_state) { for (auto& observer : observers_) 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 ac38111515f40630f2d16c8425e39775e4118818..0a4890ed17305e215eb8963d27767d77471eebb7 100644 +index 089b33948393916ffc631655ce3ef26a4062760f..f4aafb71fd3f9add27c2cfd7110b7e43edebef2a 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h @@ -426,6 +426,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, @@ -110,7 +110,7 @@ index ac38111515f40630f2d16c8425e39775e4118818..0a4890ed17305e215eb8963d27767d77 void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) override; mojom::blink::PageVisibilityState GetVisibilityState() override; -@@ -879,6 +880,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -882,6 +883,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, // If true, we send IPC messages when |preferred_size_| changes. bool send_preferred_size_changes_ = false; diff --git a/patches/chromium/allow_in-process_windows_to_have_different_web_prefs.patch b/patches/chromium/allow_in-process_windows_to_have_different_web_prefs.patch index aee177d0c52c..bad40cfc5ca3 100644 --- a/patches/chromium/allow_in-process_windows_to_have_different_web_prefs.patch +++ b/patches/chromium/allow_in-process_windows_to_have_different_web_prefs.patch @@ -32,7 +32,7 @@ index 86791679979e715308090c5868cac9d54169d812..92d1c191249a2922a9a1196fabfc6146 accelerated_video_decode_enabled(false), animation_policy( diff --git a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc -index f8792c52abc09a8fadbd4f3a478ce29c7f49c1a7..6e41b0be6aa017521efe73dc6c80cf76d3059e0c 100644 +index a14abb56f6bc02ad473ab6aa82f74aeb37fbf2be..b9cdbf8ebdebb5c6781e5b28b3ffcbb0ac4aefcc 100644 --- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc +++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc @@ -148,6 +148,19 @@ bool StructTraitsaccelerated_video_decode_enabled = data.accelerated_video_decode_enabled(); diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h -index cac389c5ebd303945d958336e0c3601fdc2d7152..0c56b1d9e3c94559abd77325e3e5791e46d72867 100644 +index 23997d2681aa26953b33d38cb5895835443f12ba..29131c3b8c44f1f0420b96dee58af1dd471f152c 100644 --- a/third_party/blink/public/common/web_preferences/web_preferences.h +++ b/third_party/blink/public/common/web_preferences/web_preferences.h @@ -10,6 +10,7 @@ @@ -88,7 +88,7 @@ index cac389c5ebd303945d958336e0c3601fdc2d7152..0c56b1d9e3c94559abd77325e3e5791e // This flags corresponds to a Page's Settings' setCookieEnabled state. It // only controls whether or not the "document.cookie" field is properly diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h -index e3290deda800c0807f5c9dd0d8360c15f9b56554..eff323e0c2a660b965f2c834ac4d0ae795528268 100644 +index b29d904a19673e0c9fe6f433fa9912c8a96dd328..c54e361e1bdea96e8c4870612f83abf6e57154d9 100644 --- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h +++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h @@ -6,6 +6,7 @@ @@ -153,7 +153,7 @@ index e3290deda800c0807f5c9dd0d8360c15f9b56554..eff323e0c2a660b965f2c834ac4d0ae7 return r.cookie_enabled; } diff --git a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom -index b370a37da63b26937cf07a7be121e56887ef99a5..4577bfba785f052ebb05be0ef15455c8a1d10aee 100644 +index ebd883f20d5dd9c3706f69e317edb6ba6f2a174a..66fe27e88508e3b198137009b0e9f3293311daa6 100644 --- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom +++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom @@ -9,6 +9,7 @@ import "third_party/blink/public/mojom/css/preferred_contrast.mojom"; diff --git a/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch b/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch index 3d76aba7f255..d47e3f6229e2 100644 --- a/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch +++ b/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch @@ -47,7 +47,7 @@ index 185b8281232401a76844987b4b949954e62f93b6..ac58d5bc1f2ced7784621a46bb339a96 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 7c24e00caa235d0434377c1f4225efbe462f5525..cb2d82d806c679b780f83373d2bdffc9b1f1e12d 100644 +index 3f2ae4cb1347a8bac7df6d993d5b70b4212fdc66..72d70e3f94f990f8f9f5e4268f6186762e409d15 100644 --- a/ui/base/models/simple_menu_model.h +++ b/ui/base/models/simple_menu_model.h @@ -50,6 +50,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel { diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch index 3333220358af..28c14fb9f5f6 100644 --- a/patches/chromium/blink_local_frame.patch +++ b/patches/chromium/blink_local_frame.patch @@ -15,7 +15,7 @@ Refs changes in: This patch reverts the changes to fix associated crashes in Electron. diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc -index b7c1c9e1db6e7366912447cd4c2e3d4ac6f131e6..65689678cafabd61b273ef8350f4c11394384945 100644 +index 8b6abb315d33ce752884510beca325833b893bce..b197d38944c0560c7f9cb25b706eb8a5876c59d3 100644 --- a/third_party/blink/renderer/core/frame/frame.cc +++ b/third_party/blink/renderer/core/frame/frame.cc @@ -124,14 +124,6 @@ bool Frame::Detach(FrameDetachType type) { @@ -49,7 +49,7 @@ index b7c1c9e1db6e7366912447cd4c2e3d4ac6f131e6..65689678cafabd61b273ef8350f4c113 // 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 79bb5259e80c4708e1b93876b6aa8cd3e8dca66c..175b2a77d696a60fa8209809edc758912a11e83a 100644 +index 29f6228187e4640b0bc461476d44806cdeeb4fbc..d29676a1cb4fbd5f08d85032cbf79eec1c0954b8 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc @@ -548,10 +548,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { diff --git a/patches/chromium/build_add_electron_tracing_category.patch b/patches/chromium/build_add_electron_tracing_category.patch index cfa3d82aa1fa..74418d4e0936 100644 --- a/patches/chromium/build_add_electron_tracing_category.patch +++ b/patches/chromium/build_add_electron_tracing_category.patch @@ -8,7 +8,7 @@ categories in use are known / declared. This patch is required for us to introduce a new Electron category for Electron-specific tracing. diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h -index cfa800eb9fc7707b6b881d6504371fe7c56c4642..1a0cc1e6cd7fb90f84699ae18b00d68428a28e8d 100644 +index 2f152a16322fb907fb3daa04a86d5378fe14654a..3d898cde97a44f4b29ab17aa5974864c88e26b0e 100644 --- a/base/trace_event/builtin_categories.h +++ b/base/trace_event/builtin_categories.h @@ -81,6 +81,7 @@ diff --git a/patches/chromium/build_disable_partition_alloc_on_mac.patch b/patches/chromium/build_disable_partition_alloc_on_mac.patch index fa65566678e1..fec56575884d 100644 --- a/patches/chromium/build_disable_partition_alloc_on_mac.patch +++ b/patches/chromium/build_disable_partition_alloc_on_mac.patch @@ -9,15 +9,15 @@ and can be removed when the crash in fork is resolved. Related issue: https://github.com/electron/electron/issues/32718 diff --git a/build_overrides/partition_alloc.gni b/build_overrides/partition_alloc.gni -index 2e63825db7a41ecbb044547dbfe318767d743a4e..e245960ab5a714293cc08b556988a28e37f120ff 100644 +index f621d80f9ce1909519a4a158b779117f3906383e..d190ac74157e69dd8bc9851a9b1ede9fe59c575e 100644 --- a/build_overrides/partition_alloc.gni +++ b/build_overrides/partition_alloc.gni -@@ -40,7 +40,7 @@ _disable_partition_alloc = is_component_build || (is_win && is_debug) +@@ -41,7 +41,7 @@ _disable_partition_alloc_everywhere = is_component_build || (is_win && is_debug) # - NaCl: No plans to support it. # - iOS: not done yet. --_is_partition_alloc_platform = !is_nacl && !is_ios -+_is_partition_alloc_platform = !is_nacl && !is_ios && !is_mac +-_is_partition_alloc_everywhere_platform = !is_nacl && !is_ios ++_is_partition_alloc_everywhere_platform = !is_nacl && !is_ios && !is_mac # Under Windows debug build, the allocator shim is not compatible with CRT. # NaCl in particular does seem to link some binaries statically diff --git a/patches/chromium/build_disable_print_content_analysis.patch b/patches/chromium/build_disable_print_content_analysis.patch index 4e5bca7550db..6ac268892a91 100644 --- a/patches/chromium/build_disable_print_content_analysis.patch +++ b/patches/chromium/build_disable_print_content_analysis.patch @@ -13,10 +13,10 @@ This patch can be removed when enable_print_content_analysis can be more easily enabled or disabled by default with buildflags. diff --git a/printing/buildflags/buildflags.gni b/printing/buildflags/buildflags.gni -index 4c7f9e2a074229f002dba786123423066b49d3bc..f2cd0d435fda91a74970c51d120687d27fa2e0e1 100644 +index 6c7cc4a41fed63a68d19caee424f3b102d2e09fc..1ef6b397de1a641ec19e4306389cc3f6d362c254 100644 --- a/printing/buildflags/buildflags.gni +++ b/printing/buildflags/buildflags.gni -@@ -36,7 +36,7 @@ declare_args() { +@@ -44,7 +44,7 @@ declare_args() { # Enable snapshotting a page when printing for its content to be analyzed for # sensitive content by enterprise users. 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 380ca584edf2..3f2e00474d4e 100644 --- a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch +++ b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch @@ -11,10 +11,10 @@ if we ever align our .pak file generation with Chrome we can remove this patch. diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index b12b4e65be8ad29054f5fdd98600888726b1d068..d67683efeabed3209eac553ff050ec2e5974f496 100644 +index fa4871fa8f0f5b14300f23385950cca4cef91a52..8030006a34744233930e1be8b2cb0cd5dfe58f9c 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -181,11 +181,16 @@ if (!is_android && !is_mac) { +@@ -180,11 +180,16 @@ if (!is_android && !is_mac) { "common/crash_keys.h", ] @@ -33,10 +33,10 @@ index b12b4e65be8ad29054f5fdd98600888726b1d068..d67683efeabed3209eac553ff050ec2e "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index cb7cbdca15b12f5735d20777cb3b2fd8d3129061..7ce770bde9e70ac7f3aceb3dd7c14f4a19c76bfc 100644 +index 2633629b554c900cd9270992e31b1242b4b6691d..c9cb968edca451c7e10f94cba85fccd015559b62 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4679,7 +4679,7 @@ static_library("browser") { +@@ -4689,7 +4689,7 @@ static_library("browser") { # On Windows, the hashes are embedded in //chrome:chrome_initial rather # than here in :chrome_dll. @@ -46,10 +46,10 @@ index cb7cbdca15b12f5735d20777cb3b2fd8d3129061..7ce770bde9e70ac7f3aceb3dd7c14f4a sources += [ "certificate_viewer_stub.cc" ] } diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index e368f894735d19ff166997b8f72379a8988541ac..141308ad441cd6864318533071dd033f1499ebf3 100644 +index 8df0860b35aaea7ec5605126f7e2b8655c88dbba..3c48ea7ec152b793f84e8c5407e0f5c8700ceb4a 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -6153,7 +6153,6 @@ test("unit_tests") { +@@ -6176,7 +6176,6 @@ test("unit_tests") { deps += [ "//chrome:other_version", @@ -57,7 +57,7 @@ index e368f894735d19ff166997b8f72379a8988541ac..141308ad441cd6864318533071dd033f "//chrome//services/util_win:unit_tests", "//chrome/app:chrome_dll_resources", "//chrome/app:crash_reporter_client_win_unit_tests", -@@ -6178,6 +6177,10 @@ test("unit_tests") { +@@ -6201,6 +6200,10 @@ test("unit_tests") { "//ui/resources", ] @@ -68,7 +68,7 @@ index e368f894735d19ff166997b8f72379a8988541ac..141308ad441cd6864318533071dd033f ldflags = [ "/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll", "/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll", -@@ -7103,7 +7106,7 @@ test("unit_tests") { +@@ -7127,7 +7130,7 @@ test("unit_tests") { } deps += [ @@ -77,7 +77,7 @@ index e368f894735d19ff166997b8f72379a8988541ac..141308ad441cd6864318533071dd033f "//chrome/browser/autofill_assistant/password_change/vector_icons:vector_icons", "//chrome/browser/enterprise/connectors/analysis:features", "//chrome/browser/media/router:test_support", -@@ -7226,6 +7229,10 @@ test("unit_tests") { +@@ -7250,6 +7253,10 @@ test("unit_tests") { } } diff --git a/patches/chromium/build_gn.patch b/patches/chromium/build_gn.patch index 78fe704e1aa2..ed068252e935 100644 --- a/patches/chromium/build_gn.patch +++ b/patches/chromium/build_gn.patch @@ -14,7 +14,7 @@ tradeoff is that switching from MAS_BUILD to !MAS_BUILD or vice-versa will rebuild the entire tree. diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn -index 21b4055dc151bd1868fee580866109db8f69bd01..b852a33b41608ef2f157c8bf428158a012045454 100644 +index 818ac10ac12357702bab267d7d9fc2a720050624..091b1ae4b16771a5ec05cdeab6a1f281b2d9ccc5 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -123,6 +123,9 @@ if (current_os == "") { @@ -27,7 +27,7 @@ index 21b4055dc151bd1868fee580866109db8f69bd01..b852a33b41608ef2f157c8bf428158a0 # Set to enable the official build level of optimization. This has nothing # to do with branding, but enables an additional level of optimization above # release (!is_debug). This might be better expressed as a tri-state -@@ -348,6 +351,7 @@ default_compiler_configs = [ +@@ -352,6 +355,7 @@ default_compiler_configs = [ "//build/config/compiler/pgo:default_pgo_flags", "//build/config/coverage:default_coverage", "//build/config/sanitizers:default_sanitizer_flags", diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index 29aeb6364379..74e8b0156dbe 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 f00a5c63bb8f6c61f1a89cb38cf1ea253a353e25..94690c49a771cb5ff873696bf0926972e7276d50 100644 +index 23103e8095822a96cc6f6b7f6a68b23b4c84b0bc..09ea6b2f8ed3d0e089684ebf67133fc18ad0f0da 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -7443,6 +7443,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -7444,6 +7444,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 f00a5c63bb8f6c61f1a89cb38cf1ea253a353e25..94690c49a771cb5ff873696bf0926972 &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 04bd45199b0dbed365f42ccb1a2fda070091c54d..6db9441a458a1293118fd3fbbe6f439fafb730b4 100644 +index 309ba2f3e4886cc56f758e71a7033a2c2c78ebc6..2e56e7ba8e0c97133b9bbe3993167f0f188f7716 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4004,6 +4004,14 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4007,6 +4007,14 @@ FrameTree* WebContentsImpl::CreateNewWindow( } auto* new_contents_impl = new_contents.get(); @@ -39,7 +39,7 @@ index 04bd45199b0dbed365f42ccb1a2fda070091c54d..6db9441a458a1293118fd3fbbe6f439f new_contents_impl->GetController().SetSessionStorageNamespace( partition_config, session_storage_namespace); -@@ -4048,12 +4056,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4051,12 +4059,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( AddWebContentsDestructionObserver(new_contents_impl); } @@ -68,7 +68,7 @@ index 683ea0bc548ed4978873d44c0ce7db6933585eda..e6241d0b14660a8aec09aab2271162c2 // 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 f31156ba6ea6d6229198d129c5b56cfa1847c5fc..41f3dac6323bda9d1a10bcb8678fe3da3e195160 100644 +index aa339110c1b4e24ddee8dfbe6089914cfa838f05..8960320e83ea60a1cc5e2f4e2483bb3e560ef141 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc @@ -622,6 +622,8 @@ bool ContentBrowserClient::CanCreateWindow( @@ -81,7 +81,7 @@ index f31156ba6ea6d6229198d129c5b56cfa1847c5fc..41f3dac6323bda9d1a10bcb8678fe3da 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 65d57c0efa1b268f0cbe4b49bd64a51d1da3cdc0..2dcea7a09b8521020e0821e18cbd45219caca639 100644 +index 0f2baa054d4671abce2664490425cb9e5864d887..6db4f46c8088c1e2d5412fc891bc49b8d4d850f1 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -163,6 +163,7 @@ class NetworkService; @@ -92,7 +92,7 @@ index 65d57c0efa1b268f0cbe4b49bd64a51d1da3cdc0..2dcea7a09b8521020e0821e18cbd4521 } // namespace network namespace sandbox { -@@ -1010,6 +1011,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1012,6 +1013,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -124,7 +124,7 @@ index 4f4ce7c49df42d32e9a2dfb770671bb038d31f36..bd4bdeda3403325ac5c3b83bc575b468 const OpenURLParams& params) { return nullptr; diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 7119f2fe8397a1bd3472af5b00346672ed90f2b1..f33bc7ec4bce4b6a4c38462110b68aae5b6280d6 100644 +index 03b810c51df61f1da8f4b7e3d48acd1517067277..5043d85e36e100cd912fc656f95d702521448d7b 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -16,6 +16,7 @@ @@ -150,10 +150,10 @@ index 7119f2fe8397a1bd3472af5b00346672ed90f2b1..f33bc7ec4bce4b6a4c38462110b68aae // typically happens when popups are created. virtual void WebContentsCreated(WebContents* source_contents, diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index d7f19a4efc3540d8bac48d00c37436362043f074..fb0483af59b0e289bd716a3417a545233f17be1f 100644 +index 9dbaf9479b4861de927f9cce5807ac15f2f3757d..eb19f8831bdcef0cbca918332fabc1dd8257b87e 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -6210,6 +6210,10 @@ WebView* RenderFrameImpl::CreateNewWindow( +@@ -6208,6 +6208,10 @@ WebView* RenderFrameImpl::CreateNewWindow( /*openee_can_access_opener_origin=*/true, !GetWebFrame()->IsAllowedToDownload(), GetWebFrame()->IsAdFrame()); @@ -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 fe5e2a61ec5a794b05bfc6a8eb1f69e105b69ed6..9f18da7c62951ecaf767ab9ead773c6e005c1dd8 100644 +index b1ff74ed6f56967c86576de5a7c144354baa4095..0e4aed446d0e9493dcee769f471bbb620f37fb89 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -2145,6 +2145,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2162,6 +2162,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, WebWindowFeatures window_features = GetWindowFeaturesFromString(features, entered_window, completed_url); diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index 4ac9fb4cfd0e..4ea77c2017b9 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 1d49ec9a62ebc062ac825bebf471e2da99f4b65d..f19a6d112fe006b9a1eaa5dff375f6d2 } diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index a3853924c98fae1ecb32bbf5e3dfe98108a82b66..cd8f9f7f75a950860c52bf825413a53a23bd7cb3 100644 +index 4dacb65d29ae2523736704a0127b0a8150f739a0..3115d134232f6a10def44bf5c6a2a4b89c849555 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -1814,12 +1814,11 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -1811,12 +1811,11 @@ bool Browser::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -127,7 +127,7 @@ index a3853924c98fae1ecb32bbf5e3dfe98108a82b66..cd8f9f7f75a950860c52bf825413a53a WebContents* Browser::CreateCustomWebContents( diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h -index e80e3d192f615140cad4f804cf08f8dbc8590834..d5980c0c190c03fef24561d1a224b52b1e900ffa 100644 +index 201e468d272af0fbd263cf030dbd499ef1fff413..6d79e02baef84b01e98b03c670e8bb2b63a853ed 100644 --- a/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h @@ -842,8 +842,7 @@ class Browser : public TabStripModelObserver, @@ -155,7 +155,7 @@ index 45a27e0b458d5ad30619727aa54e9136aab13546..1e1c67b5c9eec3ce050d9702276a02b2 // uses this to spawn new windows/tabs, which is also not allowed for // local presentations. diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h -index c5ac95f3f5de7a71a52dc3ad6ec7cdd6da8a7f75..cd5b29a7df6bad940dbe9dbf972a58c6deef1fb8 100644 +index 9f36b1721b154ebd31a593800d5eb1f5930314cc..5c0f9cb89b675b58d7334c71c6546afb58498c03 100644 --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h @@ -105,8 +105,7 @@ class PresentationReceiverWindowController final @@ -167,7 +167,7 @@ index c5ac95f3f5de7a71a52dc3ad6ec7cdd6da8a7f75..cd5b29a7df6bad940dbe9dbf972a58c6 + const content::mojom::CreateNewWindowParams& params) override; // The profile used for the presentation. - raw_ptr otr_profile_; + raw_ptr otr_profile_; diff --git a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc index f1561f1759be766d00543a868c9cd931dc17a72a..e2502b1f9219841857da4a27d5723052b3915757 100644 --- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc @@ -246,10 +246,10 @@ index 4e32d708ecf4afd3913d86ec1602ef2dc9a60998..1dd2f50fba1387b5eeb554dd540957d7 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 d922a3a2fa6c2cbd9bf7563e17cb72ba5fb0fa49..b4ca9ba85766357a76560b8440fcd6901c0b00cb 100644 +index 1b57fb8d75365aa589556c1c44a28ef81ed6598b..fc0b20e3ce29b51a752517487538a296bf7f753e 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3931,8 +3931,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3934,8 +3934,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( source_site_instance, params.window_container_type, @@ -274,7 +274,7 @@ index bd4bdeda3403325ac5c3b83bc575b46844b5077a..224d70abab0fdcd08fd09cff4a3deba5 } diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index f33bc7ec4bce4b6a4c38462110b68aae5b6280d6..53cf3913f59bc4d2fc883462a1b854ed18d7681f 100644 +index 5043d85e36e100cd912fc656f95d702521448d7b..b96fccea32b1f8ae4cfb9a463019b82062c796f7 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -321,8 +321,7 @@ class CONTENT_EXPORT WebContentsDelegate { @@ -344,10 +344,10 @@ index 06d3ed32b65708d91b220cdd4991fd377d84217c..bc942580c1bfb16bc5a8e9168f55626d content::RenderFrameHost* opener, content::SiteInstance* source_site_instance, diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc -index 3d75b8de4e87fb365ca3472387b74dcdc1acf221..235be638fc445d7b2fcd907cbfeddbd44c624383 100644 +index 1570a5d8ccbfbe2ea041ca458f3b59a8b40ef28e..0d0d7a45cd9f4299bbeab1b3d10f9159082698e5 100644 --- a/fuchsia_web/webengine/browser/frame_impl.cc +++ b/fuchsia_web/webengine/browser/frame_impl.cc -@@ -525,8 +525,7 @@ bool FrameImpl::IsWebContentsCreationOverridden( +@@ -529,8 +529,7 @@ bool FrameImpl::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -358,10 +358,10 @@ index 3d75b8de4e87fb365ca3472387b74dcdc1acf221..235be638fc445d7b2fcd907cbfeddbd4 // can catch bad client behavior while not interfering with normal operation. constexpr size_t kMaxPendingWebContentsCount = 10; diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h -index ac903eeed4d888b1128c9d96aec755d519aee590..cdfccea0e758c35e772b554ba0f3c987b58124d7 100644 +index 07a9e1713df6fe952880a7a1f3c25ddc56046c90..8c7f4f7220ce0b7569ac10a7bf73911cb172537b 100644 --- a/fuchsia_web/webengine/browser/frame_impl.h +++ b/fuchsia_web/webengine/browser/frame_impl.h -@@ -310,8 +310,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame, +@@ -316,8 +316,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame, content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -400,7 +400,7 @@ index a4e4703e5c2a3e668806e61ca5437a6a571e73d2..f1198ac26f34c68efd70e77453b0705c return delegate_->HandleShouldOverrideWebContentsCreation(); return false; diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h -index 105c29d75c54fe5ff2909af38f52bb00fdee3d05..3fbb4beca0e0b727858d4966a509851700baa167 100644 +index 63a3eb7b4a73e8d28662ca1175008b7e4225ed36..df1fd8f901507854bc6fbed5ba8b94c15b58b56d 100644 --- a/ui/views/controls/webview/web_dialog_view.h +++ b/ui/views/controls/webview/web_dialog_view.h @@ -155,8 +155,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView, diff --git a/patches/chromium/chrome_key_systems.patch b/patches/chromium/chrome_key_systems.patch index 9550fb86aaa7..7774ee0b5224 100644 --- a/patches/chromium/chrome_key_systems.patch +++ b/patches/chromium/chrome_key_systems.patch @@ -7,7 +7,7 @@ Disable persiste licence support check for widevine cdm, as its not supported in the current version of chrome. diff --git a/chrome/renderer/media/chrome_key_systems.cc b/chrome/renderer/media/chrome_key_systems.cc -index 13fea00df7ea693ff10576be264f17eafe8f80bf..ee5966ee7e0503d9dd43b407e605952a73aff309 100644 +index 56533ee562300302d27e3bde27148d36612f2f65..dcb9816d632dd3198377de3f87252fda5bc90133 100644 --- a/chrome/renderer/media/chrome_key_systems.cc +++ b/chrome/renderer/media/chrome_key_systems.cc @@ -17,7 +17,9 @@ diff --git a/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch b/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch index 70a06793a5a2..56a8a94b7613 100644 --- a/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch +++ b/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch @@ -7,7 +7,7 @@ By default, chromium sets up one v8 snapshot to be used in all v8 contexts. This to have a dedicated browser process v8 snapshot defined by the file `browser_v8_context_snapshot.bin`. diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc -index f55888577c514abe5ed64e8b88ff9f6e442815fd..1cb549ad9229dc9cf478e1bb3959a984055d8fe1 100644 +index 89cbfffe47ba6dbf6ba771b49a327ea69a3aede9..3089d64a8d701fcce9a153b1fbb6553e030e0bcc 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc @@ -38,6 +38,7 @@ @@ -48,7 +48,7 @@ index f55888577c514abe5ed64e8b88ff9f6e442815fd..1cb549ad9229dc9cf478e1bb3959a984 #endif // V8_USE_EXTERNAL_STARTUP_DATA } -@@ -955,7 +962,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) { +@@ -954,7 +961,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) { return TerminateForFatalInitializationError(); #endif // BUILDFLAG(IS_ANDROID) && (ICU_UTIL_DATA_IMPL == ICU_UTIL_DATA_FILE) @@ -81,7 +81,7 @@ index a687861c04b323102a8d2bfe22b24a964793cd9b..4a7a469111eaec3e1e76ee852bd5afbb return new ContentClient(); } diff --git a/content/public/app/content_main_delegate.h b/content/public/app/content_main_delegate.h -index 94b0925b07528eb21004aeb180594c067932f1d3..095f697908595d14aa7fb524efe31df3a80e4144 100644 +index 8420d43b88bc7187d8e0701dd58a5de07366a5c6..5572fad8219ae2c72f7c636b8b86c0b64cf75411 100644 --- a/content/public/app/content_main_delegate.h +++ b/content/public/app/content_main_delegate.h @@ -9,6 +9,7 @@ @@ -92,7 +92,7 @@ index 94b0925b07528eb21004aeb180594c067932f1d3..095f697908595d14aa7fb524efe31df3 #include "build/build_config.h" #include "content/common/content_export.h" #include "content/public/common/main_function_params.h" -@@ -162,6 +163,8 @@ class CONTENT_EXPORT ContentMainDelegate { +@@ -165,6 +166,8 @@ class CONTENT_EXPORT ContentMainDelegate { virtual bool ShouldHandleConsoleControlEvents(); #endif @@ -102,10 +102,10 @@ index 94b0925b07528eb21004aeb180594c067932f1d3..095f697908595d14aa7fb524efe31df3 friend class ContentClientCreator; friend class ContentClientInitializer; diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc -index 67d3be89ac776ebc39c245641f9fbb4e9dd5e03d..1e88f4034ef2b72b2373e17c607b9e38bf24863b 100644 +index e5dc2a6baddd1668998ca2c91f10d30893ea76b0..098cf457cc2391c53ab6f67f5ac0fc0f45e05a9d 100644 --- a/gin/v8_initializer.cc +++ b/gin/v8_initializer.cc -@@ -495,8 +495,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out, +@@ -491,8 +491,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out, #if defined(V8_USE_EXTERNAL_STARTUP_DATA) @@ -115,7 +115,7 @@ index 67d3be89ac776ebc39c245641f9fbb4e9dd5e03d..1e88f4034ef2b72b2373e17c607b9e38 if (g_mapped_snapshot) { // TODO(crbug.com/802962): Confirm not loading different type of snapshot // files in a process. -@@ -505,10 +504,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) { +@@ -501,10 +500,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) { base::MemoryMappedFile::Region file_region; base::File file = diff --git a/patches/chromium/disable_color_correct_rendering.patch b/patches/chromium/disable_color_correct_rendering.patch index 2544e5f71427..46ed6f8774f1 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 e4db8136e957313da28b7ef2bcff4ec91eee5deb..bd4fbda15d8d73d92ec8684a66a4aaeea53990d1 100644 +index a3352d5caf21c7a6124a1438506bc822f6bfba08..1246f8514ca639aa8663b1eae9e8aaf3579fd7dc 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -1882,6 +1882,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( +@@ -1890,6 +1890,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( TargetColorParams LayerTreeHostImpl::GetTargetColorParams( gfx::ContentColorUsage content_color_usage) const { TargetColorParams params; @@ -81,7 +81,7 @@ index 5ca2e3b7999fb0c8da4953c6a20352a4b9de675d..86b4f9d2d1882e5706fd559e01442b02 !command_line->HasSwitch(switches::kUIDisablePartialSwap); diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index f52718f68a21d257fd51fcad6b8fef94cd339673..e4e8885b53ec990729e2ca38cdab5757af4cd1dc 100644 +index f04810f29948413128cb837c72a4d6ea63b8cda2..867347f86465b6361865757176ab104acb8548ef 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc @@ -230,6 +230,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( @@ -93,7 +93,7 @@ index f52718f68a21d257fd51fcad6b8fef94cd339673..e4e8885b53ec990729e2ca38cdab5757 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 d0b9284fcd1120722b751a462f7018353e7b07c3..6c6a50e6f5f78a5e1caaf539bde4893b4a8bd0a8 100644 +index 92c10b616e04409b2758346c46b69ee94f4c0300..c3b9758697d21c2836ed826faa3b05baae478f58 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -200,6 +200,7 @@ @@ -104,7 +104,7 @@ index d0b9284fcd1120722b751a462f7018353e7b07c3..6c6a50e6f5f78a5e1caaf539bde4893b #include "ui/gl/gl_switches.h" #include "url/gurl.h" #include "url/origin.h" -@@ -3231,6 +3232,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3236,6 +3237,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[] = { 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 cd93b7bba1db..e06107219144 100644 --- a/patches/chromium/disable_freezing_flags_after_init_in_node.patch +++ b/patches/chromium/disable_freezing_flags_after_init_in_node.patch @@ -15,10 +15,10 @@ 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 ff83822653e2e661eb0ce9e3a1a90c045b25fdb1..f7141cb915ab8028117264ecd8ebfdb53b1079f0 100644 +index 75c2d3742606190237b1e481c29ecdbef2bf8396..3f4bdac059e7143e6525ba38a84f8ac69837e2b5 100644 --- a/content/renderer/render_process_impl.cc +++ b/content/renderer/render_process_impl.cc -@@ -241,6 +241,9 @@ RenderProcessImpl::RenderProcessImpl() +@@ -224,6 +224,9 @@ RenderProcessImpl::RenderProcessImpl() SetV8FlagIfNotFeature(features::kWebAssemblyDynamicTiering, "--no-wasm-dynamic-tiering"); @@ -27,4 +27,4 @@ index ff83822653e2e661eb0ce9e3a1a90c045b25fdb1..f7141cb915ab8028117264ecd8ebfdb5 + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) { - if (command_line->HasSwitch(switches::kEnableCrashpad) || + base::CommandLine* const command_line = diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index cb8566ec1504..4aebf8f8fb5d 100644 --- a/patches/chromium/disable_hidden.patch +++ b/patches/chromium/disable_hidden.patch @@ -6,10 +6,10 @@ Subject: disable_hidden.patch Electron uses this to disable background throttling for hidden windows. diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index 0133090585389abafc843d7f7258d3d2281a5b54..a81933bcbb926659ba9dc8c775ce022a0f7bdafb 100644 +index ff4e181fae1849772b699bf83e0f7e9556dbd71e..84b3bcbfb4f52098efad6f2b8ab8e8445d8fe13a 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -819,6 +819,9 @@ void RenderWidgetHostImpl::WasHidden() { +@@ -824,6 +824,9 @@ void RenderWidgetHostImpl::WasHidden() { if (is_hidden_) return; @@ -20,19 +20,18 @@ index 0133090585389abafc843d7f7258d3d2281a5b54..a81933bcbb926659ba9dc8c775ce022a 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 688c6b226d83996e29f5aebc542163fe6b53e77a..a57beb8ba60416db6bc8d99eea0c450d3eb7a44b 100644 +index 6ea55a22496a5186513963d06fa700cb82758177..f749d7b40bedbfcd1fc6dac1adfa2faebeb29d7a 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h -@@ -889,6 +889,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl - - SiteInstanceGroup* GetSiteInstanceGroup(); - +@@ -893,6 +893,8 @@ class CONTENT_EXPORT RenderWidgetHostImpl + void UpdateBrowserControlsState(cc::BrowserControlsState constraints, + cc::BrowserControlsState current, + bool animate); + // Electron: Prevents the widget from getting hidden. + bool disable_hidden_ = false; -+ + protected: // |routing_id| must not be MSG_ROUTING_NONE. - // If this object outlives |delegate|, DetachDelegate() must be called when diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc index 8b712a21e7ee1d2375c28af6a2f8d7279220138c..96c24edf6e4044a3ced0a87ecbd7a56f36f5d3d3 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc diff --git a/patches/chromium/disable_unload_metrics.patch b/patches/chromium/disable_unload_metrics.patch index 85842d96a432..83d95cad5c50 100644 --- a/patches/chromium/disable_unload_metrics.patch +++ b/patches/chromium/disable_unload_metrics.patch @@ -24,10 +24,10 @@ This patch temporarily disables the metrics so we can have green CI, and we should continue seeking for a real fix. diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc -index 30ea1ea16adeef33ed6831de1b92cece90a370d2..1dd9657c567380e895a1decf8e549ebc6dbc4e95 100644 +index 26cc823999a321f79e12ce57868ed8a89f99a581..4d0fa75f335d88f291f10a57cea566bdc8c5b451 100644 --- a/content/browser/renderer_host/navigator.cc +++ b/content/browser/renderer_host/navigator.cc -@@ -1240,6 +1240,7 @@ void Navigator::RecordNavigationMetrics( +@@ -1245,6 +1245,7 @@ void Navigator::RecordNavigationMetrics( .InMilliseconds()); } @@ -35,7 +35,7 @@ index 30ea1ea16adeef33ed6831de1b92cece90a370d2..1dd9657c567380e895a1decf8e549ebc // If this is a same-process navigation and we have timestamps for unload // durations, fill those metrics out as well. if (params.unload_start && params.unload_end && -@@ -1290,6 +1291,7 @@ void Navigator::RecordNavigationMetrics( +@@ -1295,6 +1296,7 @@ void Navigator::RecordNavigationMetrics( first_before_unload_start_time) .InMilliseconds()); } diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index 1693d7768419..121bda966cdb 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4 } // namespace net diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index b1ac2fd235d3fc424d15b5c5991d7026a0f85090..6dc46954b070795de082d8542f8bae56d7b52dd4 100644 +index 7d5a24b9090a00017c85b2892bd98b83cf904c42..f32fdf5b0bb7934d87e1dea43bb029738b0e96ec 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1409,6 +1409,13 @@ void NetworkContext::SetNetworkConditions( +@@ -1410,6 +1410,13 @@ void NetworkContext::SetNetworkConditions( std::move(network_conditions)); } @@ -51,10 +51,10 @@ index b1ac2fd235d3fc424d15b5c5991d7026a0f85090..6dc46954b070795de082d8542f8bae56 // 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 5b0a62302719f2aca565d933be4391ce59894f01..f16ba305b84c46ffbbef66d95c3f04bc8cc4f7e3 100644 +index 9c249984078c92a4470509ae7120c6bd561cd83a..140a954bc4e99f9742f0aeab8bdcf6668018a3ca 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -298,6 +298,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -299,6 +299,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CloseIdleConnections(CloseIdleConnectionsCallback callback) override; void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id, mojom::NetworkConditionsPtr conditions) override; @@ -63,10 +63,10 @@ index 5b0a62302719f2aca565d933be4391ce59894f01..f16ba305b84c46ffbbef66d95c3f04bc void SetEnableReferrers(bool enable_referrers) override; void SetEnablePreconnect(bool enable_preconnect) override; diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index cc820d3cc7217263e23cd5aeea97dcf736e4be77..8dd936e47c8c528ee2ca777788da5df98342dc7c 100644 +index a420ab8d9367596ffc5be6da6b38ff484d47cd50..338e08cf8fd749c543455c7415f8d27614696d1a 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1108,6 +1108,9 @@ interface NetworkContext { +@@ -1106,6 +1106,9 @@ interface NetworkContext { SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, NetworkConditions? conditions); @@ -77,7 +77,7 @@ index cc820d3cc7217263e23cd5aeea97dcf736e4be77..8dd936e47c8c528ee2ca777788da5df9 SetAcceptLanguage(string new_accept_language); diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h -index c19a06999a65d7510f4e43f9c72384f693358f2e..ea1a137892b928dbfdc9c7241acfaf23b2633e84 100644 +index 5d143b852c73626a0b071c3ed925d99b8ff4510b..a3965d6db50c4aa0f3d68e294735e8a26a86389b 100644 --- a/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h @@ -135,6 +135,7 @@ class TestNetworkContext : public mojom::NetworkContext { diff --git a/patches/chromium/extend_apply_webpreferences.patch b/patches/chromium/extend_apply_webpreferences.patch index 093cc5c7071e..922ffaddbdd7 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 fe35e9c6b8c51e61f0f89c8feca03a36f756d432..775d81466dea650bb849cf6fb1a97662781a9b2d 100644 +index 9a5fa540aabf20be54e0f000aa3c9cb67a3c9dc3..b1cac1f40ed25652ad7f57d2e55f1ffab2368be2 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc @@ -164,6 +164,7 @@ @@ -23,7 +23,7 @@ index fe35e9c6b8c51e61f0f89c8feca03a36f756d432..775d81466dea650bb849cf6fb1a97662 #include "third_party/blink/renderer/platform/graphics/image.h" #include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h" #include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h" -@@ -1811,6 +1812,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, +@@ -1813,6 +1814,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, #if BUILDFLAG(IS_MAC) web_view_impl->SetMaximumLegibleScale( prefs.default_maximum_page_scale_factor); diff --git a/patches/chromium/feat_add_onclose_to_messageport.patch b/patches/chromium/feat_add_onclose_to_messageport.patch index 45733473cd5c..8f069fd96be6 100644 --- a/patches/chromium/feat_add_onclose_to_messageport.patch +++ b/patches/chromium/feat_add_onclose_to_messageport.patch @@ -10,7 +10,7 @@ get this standardised, but in lieu of that, this makes MessagePort a whole bunch more useful! diff --git a/third_party/blink/renderer/core/messaging/message_port.cc b/third_party/blink/renderer/core/messaging/message_port.cc -index 6da49190731463ad3b6ea524d933b2dcc6b3b09a..ffd17302846663abdd5e7ef1782081f88a565db7 100644 +index b38bbd1d14f6a0eb10412858fb4dc7f714aa3ede..5526dec4f134b265f5de5ff6820fe9c5119a3ed9 100644 --- a/third_party/blink/renderer/core/messaging/message_port.cc +++ b/third_party/blink/renderer/core/messaging/message_port.cc @@ -174,6 +174,7 @@ void MessagePort::close() { diff --git a/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch b/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch index 86270200faa8..96441eaf1d9e 100644 --- a/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch +++ b/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch @@ -13,7 +13,7 @@ other protocols to register their streaming behavior. MultibufferDataSource::Ass then refers to the list so that it can correctly determine the data source's settings. diff --git a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc -index 2201f930953ed125a0439bafb26e27b42de11003..7372476a7a794d5de8ee01858690f77af8875501 100644 +index 35e37b00ca87f1975c11ab98858b7849487304e5..82248fc99bbd0484f15de6ed7a7451cda741f807 100644 --- a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc +++ b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc @@ -11,8 +11,10 @@ @@ -65,7 +65,7 @@ index 2201f930953ed125a0439bafb26e27b42de11003..7372476a7a794d5de8ee01858690f77a void MultiBufferDataSource::SetReader(MultiBufferReader* reader) { diff --git a/third_party/blink/renderer/platform/media/multi_buffer_data_source.h b/third_party/blink/renderer/platform/media/multi_buffer_data_source.h -index fd7d59b9c50d0142a3d17a43b348f66f7f868674..e2361792eb6f9ba1e46018283634e2b9293916ec 100644 +index 28789ff812609dcad26955f4d22e9bfac8b9f948..6ea16442e0c4f29d1df81081a93a5f9fb6972d5c 100644 --- a/third_party/blink/renderer/platform/media/multi_buffer_data_source.h +++ b/third_party/blink/renderer/platform/media/multi_buffer_data_source.h @@ -33,6 +33,8 @@ namespace blink { diff --git a/patches/chromium/feat_configure_launch_options_for_service_process.patch b/patches/chromium/feat_configure_launch_options_for_service_process.patch index b349ea8dfff7..cdb4b225532d 100644 --- a/patches/chromium/feat_configure_launch_options_for_service_process.patch +++ b/patches/chromium/feat_configure_launch_options_for_service_process.patch @@ -143,7 +143,7 @@ index e547f42bc0d06b485797ccc1605969259631831f..0f3041f4a5b636440d9579303721f2ae host->GetChildProcess()->BindServiceInterface(std::move(receiver)); } diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc -index 171b8440c25580d717f87c4f68bd8f4734b5fcf1..35826081dc3fc2f17fd7ceaf25c2c014ae623304 100644 +index 1bb75bb14aa1afd9ebebf343b1a9436cd3f790f1..9260fa0eba56eca9c24a16880b07efb5481c15a1 100644 --- a/content/browser/utility_process_host.cc +++ b/content/browser/utility_process_host.cc @@ -108,11 +108,13 @@ const ChildProcessData& UtilityProcessHost::GetData() { @@ -187,7 +187,7 @@ index 171b8440c25580d717f87c4f68bd8f4734b5fcf1..35826081dc3fc2f17fd7ceaf25c2c014 mojom::ChildProcess* UtilityProcessHost::GetChildProcess() { return static_cast(process_->GetHost()) ->child_process(); -@@ -356,9 +376,22 @@ bool UtilityProcessHost::StartProcess() { +@@ -358,9 +378,22 @@ bool UtilityProcessHost::StartProcess() { } #endif // BUILDFLAG(IS_CHROMEOS_LACROS) @@ -572,10 +572,10 @@ index 1e8f3994764a2b4e4efb87a08c522cc0e0103e18..83cc16ffbf484aa78b1c350d20a5a15f #if BUILDFLAG(IS_MAC) // Whether or not to disclaim TCC responsibility for the process, defaults to diff --git a/sandbox/policy/win/sandbox_win.cc b/sandbox/policy/win/sandbox_win.cc -index 2191f51de17cfde5bb39f8231c8210dea6aa4fdd..6239f68771832d245d7270fd83e04f4fdce44032 100644 +index 929ba04c503d0b73d684599bccb60a22c2413334..032fee3f0a771c296e800db4825352f9060a927c 100644 --- a/sandbox/policy/win/sandbox_win.cc +++ b/sandbox/policy/win/sandbox_win.cc -@@ -851,11 +851,9 @@ ResultCode GenerateConfigForSandboxedProcess(const base::CommandLine& cmd_line, +@@ -852,11 +852,9 @@ ResultCode GenerateConfigForSandboxedProcess(const base::CommandLine& cmd_line, // command line flag. ResultCode LaunchWithoutSandbox( const base::CommandLine& cmd_line, @@ -588,7 +588,7 @@ index 2191f51de17cfde5bb39f8231c8210dea6aa4fdd..6239f68771832d245d7270fd83e04f4f // Network process runs in a job even when unsandboxed. This is to ensure it // does not outlive the browser, which could happen if there is a lot of I/O // on process shutdown, in which case TerminateProcess can fail. See -@@ -1091,7 +1089,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) { +@@ -1092,7 +1090,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) { ResultCode SandboxWin::GeneratePolicyForSandboxedProcess( const base::CommandLine& cmd_line, const std::string& process_type, @@ -597,7 +597,7 @@ index 2191f51de17cfde5bb39f8231c8210dea6aa4fdd..6239f68771832d245d7270fd83e04f4f SandboxDelegate* delegate, TargetPolicy* policy) { const base::CommandLine& launcher_process_command_line = -@@ -1105,7 +1103,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess( +@@ -1106,7 +1104,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess( } // Add any handles to be inherited to the policy. @@ -606,7 +606,7 @@ index 2191f51de17cfde5bb39f8231c8210dea6aa4fdd..6239f68771832d245d7270fd83e04f4f policy->AddHandleToShare(handle); if (!policy->GetConfig()->IsConfigured()) { -@@ -1120,6 +1118,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess( +@@ -1121,6 +1119,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess( // have no effect. These calls can fail with SBOX_ERROR_BAD_PARAMS. policy->SetStdoutHandle(GetStdHandle(STD_OUTPUT_HANDLE)); policy->SetStderrHandle(GetStdHandle(STD_ERROR_HANDLE)); @@ -620,7 +620,7 @@ index 2191f51de17cfde5bb39f8231c8210dea6aa4fdd..6239f68771832d245d7270fd83e04f4f #endif if (!delegate->PreSpawnTarget(policy)) -@@ -1132,7 +1137,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess( +@@ -1133,7 +1138,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess( ResultCode SandboxWin::StartSandboxedProcess( const base::CommandLine& cmd_line, const std::string& process_type, @@ -629,7 +629,7 @@ index 2191f51de17cfde5bb39f8231c8210dea6aa4fdd..6239f68771832d245d7270fd83e04f4f SandboxDelegate* delegate, base::Process* process) { const base::ElapsedTimer timer; -@@ -1140,7 +1145,7 @@ ResultCode SandboxWin::StartSandboxedProcess( +@@ -1141,7 +1146,7 @@ ResultCode SandboxWin::StartSandboxedProcess( // Avoid making a policy if we won't use it. if (IsUnsandboxedProcess(delegate->GetSandboxType(), cmd_line, *base::CommandLine::ForCurrentProcess())) { @@ -638,7 +638,7 @@ index 2191f51de17cfde5bb39f8231c8210dea6aa4fdd..6239f68771832d245d7270fd83e04f4f process); } -@@ -1151,7 +1156,7 @@ ResultCode SandboxWin::StartSandboxedProcess( +@@ -1152,7 +1157,7 @@ ResultCode SandboxWin::StartSandboxedProcess( auto policy = g_broker_services->CreatePolicy(tag); auto time_policy_created = timer.Elapsed(); ResultCode result = GeneratePolicyForSandboxedProcess( 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 978c7b658e85..791c705a5492 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -81,7 +81,7 @@ index 8af69cac78b7488d28f1f05ccb174793fe5148cd..9f74e511c263d147b5fbe81fe100d217 private: const HWND hwnd_; diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index f8ceaa5f44852c8c37aee80205b8ed5edff11beb..b4a3ff7859425b11e5d640a81e8ab9653efa51fe 100644 +index 3d2fbf9ae3ed9a7621ed54ad7da4e290781b8b60..c2c65f685e760248adf3efcc98e6c7a8f1f7e5fb 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn @@ -137,6 +137,8 @@ viz_component("service") { @@ -516,7 +516,7 @@ index dc270ca19b0b29f863afdadf7b63fe9dad674a87..98843a7102bea4ab106ad4c84ecb1871 // Creating output surface failed. The host can send a new request, possibly // with a different compositing mode. diff --git a/content/browser/compositor/viz_process_transport_factory.cc b/content/browser/compositor/viz_process_transport_factory.cc -index 4c5bf12286fbce150106b412cdc303093a5505a8..af4c8fa380dd2c8f738955afc459fdff09b7029d 100644 +index 034f957b148ef7d17301b7b75e0258c3a9230812..dd8ff1bd6257a524ff8f5a3a2e6f550f9e5114e2 100644 --- a/content/browser/compositor/viz_process_transport_factory.cc +++ b/content/browser/compositor/viz_process_transport_factory.cc @@ -388,8 +388,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( 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 089c2c9dc808..5f368ecf99f2 100644 --- a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch +++ b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch @@ -103,10 +103,10 @@ index dd8e82d32cba09733b98f48ff08e750b4dec82d2..0680b97af6a933c060d759740da2a294 string mime_type; diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc -index 7e7032d83da30c95a01e5f240934a5aec81c8345..05095deaccf5ce111e3fc4ee4d304e17e55485a9 100644 +index 52070fab8653653534c8759b01b025c24dd18e3b..28f453ee8aa36a1a3341aa60966a885f8c5f4014 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc -@@ -606,6 +606,7 @@ URLLoader::URLLoader( +@@ -479,6 +479,7 @@ URLLoader::URLLoader( mojo::SimpleWatcher::ArmingPolicy::MANUAL, base::SequencedTaskRunnerHandle::Get()), per_factory_corb_state_(context.GetMutableCorbState()), @@ -114,7 +114,7 @@ index 7e7032d83da30c95a01e5f240934a5aec81c8345..05095deaccf5ce111e3fc4ee4d304e17 devtools_request_id_(request.devtools_request_id), request_mode_(request.mode), request_credentials_mode_(request.credentials_mode), -@@ -785,7 +786,7 @@ URLLoader::URLLoader( +@@ -661,7 +662,7 @@ URLLoader::URLLoader( url_request_->SetRequestHeadersCallback(base::BindRepeating( &URLLoader::SetRawRequestHeadersAndNotify, base::Unretained(this))); @@ -123,7 +123,7 @@ index 7e7032d83da30c95a01e5f240934a5aec81c8345..05095deaccf5ce111e3fc4ee4d304e17 url_request_->SetResponseHeadersCallback(base::BindRepeating( &URLLoader::SetRawResponseHeaders, base::Unretained(this))); } -@@ -1572,6 +1573,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { +@@ -1442,6 +1443,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { } response_ = BuildResponseHead(); @@ -144,7 +144,7 @@ index 7e7032d83da30c95a01e5f240934a5aec81c8345..05095deaccf5ce111e3fc4ee4d304e17 // Parse and remove the Trust Tokens response headers, if any are expected, diff --git a/services/network/url_loader.h b/services/network/url_loader.h -index 0cb0cc23cad280fd04dde13c8070d04ca2f886a0..e50b4f518da8fae47a76c26affcc7a5d2f07068f 100644 +index 9be9f703b189050332ca506dd3066609c3fa3992..1a15939f15fcc93de02cf0ff67faaefc5adbee53 100644 --- a/services/network/url_loader.h +++ b/services/network/url_loader.h @@ -526,6 +526,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader diff --git a/patches/chromium/fix_adapt_exclusive_access_for_electron_needs.patch b/patches/chromium/fix_adapt_exclusive_access_for_electron_needs.patch index 06f63af915ca..08d7b6ed7951 100644 --- a/patches/chromium/fix_adapt_exclusive_access_for_electron_needs.patch +++ b/patches/chromium/fix_adapt_exclusive_access_for_electron_needs.patch @@ -16,7 +16,7 @@ Linux or Windows to un-fullscreen in some circumstances without this change. diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc -index cd48375cfb1a780cdf328c1b1598d84ad1643440..574c8473fa0ade2dd84a75b7395501da02f27718 100644 +index fc36b60182f6b1d72dc8ea8a7de4ed6adaf575d5..5e59033fe91d6e33a4ad04b927daeefeb40b8b6f 100644 --- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc +++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc @@ -17,12 +17,16 @@ @@ -36,23 +36,20 @@ index cd48375cfb1a780cdf328c1b1598d84ad1643440..574c8473fa0ade2dd84a75b7395501da #include "chrome/common/chrome_switches.h" #include "content/public/browser/navigation_details.h" #include "content/public/browser/navigation_entry.h" -@@ -181,6 +185,7 @@ void FullscreenController::EnterFullscreenModeForTab( +@@ -180,10 +184,12 @@ void FullscreenController::EnterFullscreenModeForTab( return; } +#if 0 - if (base::FeatureList::IsEnabled( - blink::features::kWindowPlacementFullscreenCompanionWindow)) { - if (!popunder_preventer_) -@@ -188,6 +193,7 @@ void FullscreenController::EnterFullscreenModeForTab( - else - popunder_preventer_->WillActivateWebContents(web_contents); - } + if (!popunder_preventer_) + popunder_preventer_ = std::make_unique(web_contents); + else + popunder_preventer_->WillActivateWebContents(web_contents); +#endif // Keep the current state. |SetTabWithExclusiveAccess| may change the return // value of |IsWindowFullscreenForTabOrPending|. -@@ -237,11 +243,13 @@ void FullscreenController::EnterFullscreenModeForTab( +@@ -233,11 +239,13 @@ void FullscreenController::EnterFullscreenModeForTab( } void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) { @@ -66,13 +63,11 @@ index cd48375cfb1a780cdf328c1b1598d84ad1643440..574c8473fa0ade2dd84a75b7395501da if (MaybeToggleFullscreenWithinTab(web_contents, false)) { // During tab capture of fullscreen-within-tab views, the browser window -@@ -299,11 +307,13 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) { +@@ -295,9 +303,11 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) { void FullscreenController::FullscreenTabOpeningPopup( content::WebContents* opener, content::WebContents* popup) { +#if 0 - DCHECK(base::FeatureList::IsEnabled( - blink::features::kWindowPlacementFullscreenCompanionWindow)); DCHECK_EQ(exclusive_access_tab(), opener); DCHECK(popunder_preventer_); popunder_preventer_->AddPotentialPopunder(popup); @@ -80,7 +75,7 @@ index cd48375cfb1a780cdf328c1b1598d84ad1643440..574c8473fa0ade2dd84a75b7395501da } void FullscreenController::OnTabDeactivated( -@@ -472,18 +482,17 @@ void FullscreenController::EnterFullscreenModeInternal( +@@ -471,18 +481,17 @@ void FullscreenController::EnterFullscreenModeInternal( // Do not enter fullscreen mode if disallowed by pref. This prevents the user // from manually entering fullscreen mode and also disables kiosk mode on // desktop platforms. @@ -104,7 +99,7 @@ index cd48375cfb1a780cdf328c1b1598d84ad1643440..574c8473fa0ade2dd84a75b7395501da if (option == TAB) { url = GetRequestingOrigin(); tab_fullscreen_ = true; -@@ -516,6 +525,7 @@ void FullscreenController::EnterFullscreenModeInternal( +@@ -515,6 +524,7 @@ void FullscreenController::EnterFullscreenModeInternal( if (!extension_caused_fullscreen_.is_empty()) url = extension_caused_fullscreen_; } @@ -112,7 +107,7 @@ index cd48375cfb1a780cdf328c1b1598d84ad1643440..574c8473fa0ade2dd84a75b7395501da if (option == BROWSER) base::RecordAction(base::UserMetricsAction("ToggleFullscreen")); -@@ -543,12 +553,12 @@ void FullscreenController::ExitFullscreenModeInternal() { +@@ -536,12 +546,12 @@ void FullscreenController::ExitFullscreenModeInternal() { RecordExitingUMA(); toggled_into_fullscreen_ = false; started_fullscreen_transition_ = true; @@ -129,10 +124,10 @@ index cd48375cfb1a780cdf328c1b1598d84ad1643440..574c8473fa0ade2dd84a75b7395501da extension_caused_fullscreen_ = GURL(); diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.h b/chrome/browser/ui/exclusive_access/fullscreen_controller.h -index 07eeac78d168a60f5c0fa0226a68740539487ca0..3088c9a9ecc6cde91f1b37a5f144f359b7358377 100644 +index 232938c7317c5feba8ce1f8b9f3f0dbb025a6778..c0a154352dfecf625cdb709d2fb579fed3452b2b 100644 --- a/chrome/browser/ui/exclusive_access/fullscreen_controller.h +++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.h -@@ -247,10 +247,12 @@ class FullscreenController : public ExclusiveAccessControllerBase { +@@ -246,10 +246,12 @@ class FullscreenController : public ExclusiveAccessControllerBase { // Used in testing to set the state to tab fullscreen. bool is_tab_fullscreen_for_testing_ = false; 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 8cdb43d73c36..2f2d1f3ea6a4 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 d40229af898fe65df610f229751da201f437d95c..6d0dbdfa625dc1ab90cc9e86b5f7f4706dfd8149 100644 +index 1b38a7a87ff0b057e42ac499ecd95ffd2a79b1cb..7de64cd87d1efdc788bad7b6e7ac57d8978fc18c 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3459,7 +3459,7 @@ void WebContentsImpl::EnterFullscreenMode( +@@ -3462,7 +3462,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_crash_loading_non-standard_schemes_in_iframes.patch b/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch index c64f96d290d3..4551aa38eddd 100644 --- a/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch +++ b/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch @@ -17,10 +17,10 @@ policy->CanCommitOriginAndUrl. Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3856266. diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc -index 14dfb45da60c0552be10c8998ec126db1e7be202..bf89fb878e2bddf98558e6d6e9db8b00d525baf2 100644 +index 86010a7553ae78aef6004eee8e1bd371fde37052..98c0fd3a37ce6bc6d4cab0db15f23565aa3b2bd0 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -6716,10 +6716,11 @@ std::pair NavigationRequest:: +@@ -6732,10 +6732,11 @@ std::pair NavigationRequest:: if (IsForMhtmlSubframe()) return origin_with_debug_info; @@ -37,10 +37,10 @@ index 14dfb45da60c0552be10c8998ec126db1e7be202..bf89fb878e2bddf98558e6d6e9db8b00 } diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/browser/renderer_host/render_frame_host_impl.h -index 246afdee0f86004598e84703bd29126a9b864801..633e419651d4d9a70347e81eec18630a51899a40 100644 +index ba7a4595b08c6aa7ca79c38bdc4e37617378c7bb..b919e46ce95819026e43862f3e64e65124402209 100644 --- a/content/browser/renderer_host/render_frame_host_impl.h +++ b/content/browser/renderer_host/render_frame_host_impl.h -@@ -2662,6 +2662,17 @@ class CONTENT_EXPORT RenderFrameHostImpl +@@ -2675,6 +2675,17 @@ class CONTENT_EXPORT RenderFrameHostImpl kIframeNestedWithinFencedFrame }; @@ -58,7 +58,7 @@ index 246afdee0f86004598e84703bd29126a9b864801..633e419651d4d9a70347e81eec18630a protected: friend class RenderFrameHostFactory; -@@ -3008,17 +3019,6 @@ class CONTENT_EXPORT RenderFrameHostImpl +@@ -3021,17 +3032,6 @@ class CONTENT_EXPORT RenderFrameHostImpl // relevant. void ResetWaitingState(); 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 12380734c9e0..7bfb4c1ace47 100644 --- a/patches/chromium/fix_crash_when_saving_edited_pdf_files.patch +++ b/patches/chromium/fix_crash_when_saving_edited_pdf_files.patch @@ -13,10 +13,10 @@ This patch can be removed should we choose to support chrome.fileSystem or support it enough to fix the crash. diff --git a/chrome/browser/resources/pdf/pdf_viewer.ts b/chrome/browser/resources/pdf/pdf_viewer.ts -index faa76a4083ad33bf8262fa322b9bfdd885320e8f..5ef867b567fc8f1dd230ab46de7f8b3b05e47b38 100644 +index 12173c90cae77b522e6545a8d964c63e8b3e5403..5738e64ee954e973fd494203e0cf9ab151fbf331 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 { +@@ -874,26 +874,12 @@ export class PdfViewerElement extends PdfViewerBaseElement { dataArray = [result.dataToSave]; } @@ -48,7 +48,7 @@ index faa76a4083ad33bf8262fa322b9bfdd885320e8f..5ef867b567fc8f1dd230ab46de7f8b3b } /** -@@ -987,30 +973,12 @@ export class PdfViewerElement extends PdfViewerBaseElement { +@@ -1001,30 +987,12 @@ export class PdfViewerElement extends PdfViewerBaseElement { fileName = fileName + '.pdf'; } diff --git a/patches/chromium/fix_dont_delete_SerialPortManager_on_main_thread.patch b/patches/chromium/fix_dont_delete_SerialPortManager_on_main_thread.patch index afa0d8af240b..897e48406f19 100644 --- a/patches/chromium/fix_dont_delete_SerialPortManager_on_main_thread.patch +++ b/patches/chromium/fix_dont_delete_SerialPortManager_on_main_thread.patch @@ -50,10 +50,10 @@ upstream would also hit this DCHECK, so give it a try with content_shell or chrome and that would help reporting upstream crbug. diff --git a/services/device/device_service.cc b/services/device/device_service.cc -index e21ddc77480abc177b2c2afd76ccc0126b27ebb7..7db962d3bc076e9465b2e4e081122fd5bb2aa8d5 100644 +index eb9831586c92d5fbd90e075a8c32fa2e647edd82..c3bf4194fd97826aae8b9da5e0c91100081828c7 100644 --- a/services/device/device_service.cc +++ b/services/device/device_service.cc -@@ -159,7 +159,7 @@ DeviceService::~DeviceService() { +@@ -158,7 +158,7 @@ DeviceService::~DeviceService() { // naturally sequenced after the last task on // |serial_port_manager_task_runner_| per ThreadPool shutdown semantics). // See crbug.com/1263149#c20 for details. 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 e1931630ec73..1e068534d888 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 fee4259850b016a11ce15dc1e0c1b0d7cba342f9..00af441fea3cf6ea5d13713cc7488ac584cdd43d 100644 +index 1da0ea2829f867c2283eeb8b0d0888e8dd09c843..65666182b58996ca681a8600de8b5509492f2af7 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -1870,7 +1870,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -1869,7 +1869,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, // IncrementCapturerCount() is destructed. void DecrementCapturerCount(bool stay_hidden, bool stay_awake, @@ -21,7 +21,7 @@ index fee4259850b016a11ce15dc1e0c1b0d7cba342f9..00af441fea3cf6ea5d13713cc7488ac5 // 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 29e51ec3e7b36a506e13cc4a18dfa4f9a68b93ce..fea0284c96ee4f25a50f04a19bca0c03444e8a6c 100644 +index f0ca6d5d46e86bc85b60ff0de3185075f169075a..6c5b9bad4f647c2e1c2a4c68067f76353b5d60b6 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h @@ -672,6 +672,10 @@ class WebContents : public PageNavigator, diff --git a/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch b/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch index 9faf7e82c8f7..170975e16fb4 100644 --- a/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch +++ b/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch @@ -45,10 +45,10 @@ index f7f9a981003ba1e3fefc9fc0f2b2bcf921c0a4d5..cd69daf186a6ec22fb70a2a36568e544 // RenderFrameMetadataProvider::Observer implementation. void OnRenderFrameMetadataChangedBeforeActivation( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 6d0dbdfa625dc1ab90cc9e86b5f7f4706dfd8149..497a2f4cc2ac00c8025db80dffea61a880fe1818 100644 +index 7de64cd87d1efdc788bad7b6e7ac57d8978fc18c..5137396f62b709f1ddc061609069b755fd77642c 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -7927,7 +7927,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( +@@ -7942,7 +7942,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( "WebContentsImpl::OnFocusedElementChangedInFrame", "render_frame_host", frame); RenderWidgetHostViewBase* root_view = diff --git a/patches/chromium/fix_patch_out_profile_refs_in_accessibility_ui.patch b/patches/chromium/fix_patch_out_profile_refs_in_accessibility_ui.patch index 11efb9c534f4..d211de103fbf 100644 --- a/patches/chromium/fix_patch_out_profile_refs_in_accessibility_ui.patch +++ b/patches/chromium/fix_patch_out_profile_refs_in_accessibility_ui.patch @@ -7,7 +7,7 @@ This tweaks Chrome's Accessibility support at chrome://accessibility to make it usable from Electron by removing Profile references. diff --git a/chrome/browser/accessibility/accessibility_ui.cc b/chrome/browser/accessibility/accessibility_ui.cc -index a5d85cc43e916455d4d8d1506e02c38f6d768315..7163b83b3a78c1c1ed0880f8c96f8847e4b0bae2 100644 +index 3e85919a69889aa0255dc46153d9beba7582ca11..9a12aa3c4856620a5a8d95bdc277a1e143b86a2c 100644 --- a/chrome/browser/accessibility/accessibility_ui.cc +++ b/chrome/browser/accessibility/accessibility_ui.cc @@ -21,7 +21,10 @@ @@ -75,7 +75,7 @@ index a5d85cc43e916455d4d8d1506e02c38f6d768315..7163b83b3a78c1c1ed0880f8c96f8847 data.Set(kBrowsersField, std::move(browser_list)); base::Value::List widgets_list; -@@ -483,8 +490,10 @@ void AccessibilityUIMessageHandler::SetGlobalFlag( +@@ -484,8 +491,10 @@ void AccessibilityUIMessageHandler::SetGlobalFlag( AllowJavascript(); if (flag_name_str == kInternal) { @@ -86,7 +86,7 @@ index a5d85cc43e916455d4d8d1506e02c38f6d768315..7163b83b3a78c1c1ed0880f8c96f8847 return; } -@@ -588,8 +597,12 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree( +@@ -589,8 +598,12 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree( AXPropertyFilter::ALLOW_EMPTY); AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY); @@ -99,7 +99,7 @@ index a5d85cc43e916455d4d8d1506e02c38f6d768315..7163b83b3a78c1c1ed0880f8c96f8847 std::string accessibility_contents = web_contents->DumpAccessibilityTree(internal, property_filters); result.Set(kTreeField, accessibility_contents); -@@ -614,6 +627,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( +@@ -615,6 +628,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( AXPropertyFilter::ALLOW_EMPTY); AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY); @@ -107,7 +107,7 @@ index a5d85cc43e916455d4d8d1506e02c38f6d768315..7163b83b3a78c1c1ed0880f8c96f8847 for (Browser* browser : *BrowserList::GetInstance()) { if (browser->session_id().id() == session_id) { base::Value::Dict result = BuildTargetDescriptor(browser); -@@ -626,6 +640,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( +@@ -627,6 +641,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( return; } } @@ -115,7 +115,7 @@ index a5d85cc43e916455d4d8d1506e02c38f6d768315..7163b83b3a78c1c1ed0880f8c96f8847 #endif // !BUILDFLAG(IS_ANDROID) // No browser with the specified |session_id| was found. base::Value::Dict result; -@@ -738,5 +753,7 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents( +@@ -739,5 +754,7 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents( // static void AccessibilityUIMessageHandler::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { diff --git a/patches/chromium/fix_properly_honor_printing_page_ranges.patch b/patches/chromium/fix_properly_honor_printing_page_ranges.patch index ff51e6de4d25..86a9b8dc94d9 100644 --- a/patches/chromium/fix_properly_honor_printing_page_ranges.patch +++ b/patches/chromium/fix_properly_honor_printing_page_ranges.patch @@ -100,10 +100,10 @@ index 07f495636151c5ad7399bf2bd810e0732b06e24e..ddd5c57d05ec4f298a028ac15656f4d9 } else { // No need to bother, we don't know how many pages are available. diff --git a/ui/gtk/printing/print_dialog_gtk.cc b/ui/gtk/printing/print_dialog_gtk.cc -index 98985bc4c291212604e5b6cfe7fce0d27c698675..f46202bfa500ac282f2e4ba1c3237f6d4e48184a 100644 +index 05966912e8ffa859641bb4e23fbfc2b4145a6964..d9946744538818964194c29f4c0e6c3ca0d39fa1 100644 --- a/ui/gtk/printing/print_dialog_gtk.cc +++ b/ui/gtk/printing/print_dialog_gtk.cc -@@ -245,6 +245,24 @@ void PrintDialogGtk::UpdateSettings( +@@ -247,6 +247,24 @@ void PrintDialogGtk::UpdateSettings( gtk_print_settings_set_n_copies(gtk_settings_, settings->copies()); gtk_print_settings_set_collate(gtk_settings_, settings->collate()); diff --git a/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch b/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch index 5291ba280310..ac29b12f75f2 100644 --- a/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch +++ b/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch @@ -8,11 +8,11 @@ v8::Value instead of base::Value. Refs https://bugs.chromium.org/p/chromium/issues/detail?id=1323953 diff --git a/extensions/renderer/script_injection.cc b/extensions/renderer/script_injection.cc -index 01d3ac55dbf4d366e660bbee1d964f21bc3182ac..9ead280cce1577f05ff3409f8b31bd0fb044eaea 100644 +index bbeec904936d05ef76a9e5de1dcd7159e5c0f364..4be3de364630e989f4ac956944362800d535ef73 100644 --- a/extensions/renderer/script_injection.cc +++ b/extensions/renderer/script_injection.cc -@@ -342,6 +342,7 @@ void ScriptInjection::InjectJs(std::set* executing_scripts, - blocking_option, +@@ -331,6 +331,7 @@ void ScriptInjection::InjectJs(std::set* executing_scripts, + blink::mojom::LoadEventBlockingOption::kBlock, base::BindOnce(&ScriptInjection::OnJsInjectionCompleted, weak_ptr_factory_.GetWeakPtr()), + base::NullCallback(), @@ -64,10 +64,10 @@ index acc31345b556a4daf8a189cf7a9f302926e7cfdb..1f57875bb31f0e92829a0380e6f0f357 #endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index 175b2a77d696a60fa8209809edc758912a11e83a..86cdb09f3d87cdc6970a288f50848c78687f6f36 100644 +index d29676a1cb4fbd5f08d85032cbf79eec1c0954b8..4a5cece8b4b856a842b83b7648b1a79022591695 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -2526,6 +2526,7 @@ void LocalFrame::RequestExecuteScript( +@@ -2532,6 +2532,7 @@ void LocalFrame::RequestExecuteScript( mojom::blink::EvaluationTiming evaluation_timing, mojom::blink::LoadEventBlockingOption blocking_option, WebScriptExecutionCallback callback, @@ -75,7 +75,7 @@ index 175b2a77d696a60fa8209809edc758912a11e83a..86cdb09f3d87cdc6970a288f50848c78 BackForwardCacheAware back_forward_cache_aware, mojom::blink::WantResultOption want_result_option, mojom::blink::PromiseResultOption promise_behavior) { -@@ -2556,7 +2557,8 @@ void LocalFrame::RequestExecuteScript( +@@ -2562,7 +2563,8 @@ void LocalFrame::RequestExecuteScript( PausableScriptExecutor::CreateAndRun( ToScriptState(DomWindow(), *world), std::move(script_sources), execute_script_policy, user_gesture, evaluation_timing, blocking_option, @@ -86,7 +86,7 @@ index 175b2a77d696a60fa8209809edc758912a11e83a..86cdb09f3d87cdc6970a288f50848c78 void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() { diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h -index baac5c90c88991dc4b3ced175a8830f8d4cf1935..3b7f6a708fb41df297f9017daa6ec815ea1c418b 100644 +index 82ac293f021885add6a8a01050e46792d6bbb078..4f067940c8caad33464ed8a465ff68e0044844c0 100644 --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h @@ -762,6 +762,7 @@ class CORE_EXPORT LocalFrame final @@ -205,7 +205,7 @@ index 1e4d9e098463d61dcab787afcc46fea63b27e012..3f1ebf493ddd7d1c209acee2fb1255a0 const mojom::blink::UserActivationOption user_activation_option_; const mojom::blink::LoadEventBlockingOption blocking_option_; diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc -index 682a6bb23e341e05901a85e2b2d7947146e971a0..b3153edb3ef02a26376b8d43a839f2f2af98670a 100644 +index 3c2710a3b3a2dcd387da7d804d2f83ec6c92d23d..8eb84be90396f393fcf8105f210cf9b68652fca0 100644 --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc @@ -1101,14 +1101,15 @@ void WebLocalFrameImpl::RequestExecuteScript( diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index d01442be838a..dba028e887e9 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 d1700997390777100002fb0a2f4a5fc0e961fb15..1a08dabef38c67b7ccfc5522e91b0322a9b6e82e 100644 +index c822c6b4202bb338df90cbf2a881a96f70dbcc43..d4936493e05e46eeb5888942ad1746dc9b92512e 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -3306,6 +3306,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -3326,6 +3326,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } @@ -20,10 +20,10 @@ index d1700997390777100002fb0a2f4a5fc0e961fb15..1a08dabef38c67b7ccfc5522e91b0322 } diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 2dcea7a09b8521020e0821e18cbd45219caca639..0a128058163ec4adcdfb051d5c2e0f6c8394b81b 100644 +index 6db4f46c8088c1e2d5412fc891bc49b8d4d850f1..114ac80b2453695149296f5766f454cb6cde5ee5 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -272,6 +272,11 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -271,6 +271,11 @@ class CONTENT_EXPORT ContentBrowserClient { virtual ~ContentBrowserClient() = default; diff --git a/patches/chromium/gin_enable_disable_v8_platform.patch b/patches/chromium/gin_enable_disable_v8_platform.patch index ab85cf4a9fca..684ab2629df2 100644 --- a/patches/chromium/gin_enable_disable_v8_platform.patch +++ b/patches/chromium/gin_enable_disable_v8_platform.patch @@ -38,10 +38,10 @@ index 10caab6d9ef3345332c163a55dcef991248ab4ea..c9bc6e5dd7e1cf8d198afcd21cbb2497 // Returns whether `Initialize` has already been invoked in the process. // Initialization is a one-way operation (i.e., this method cannot return diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc -index ec89b58257d262c5c181b09b4db1f809eeba0579..67d3be89ac776ebc39c245641f9fbb4e9dd5e03d 100644 +index 351073770fa0c0ad98351ecdb338f03a10598e54..e5dc2a6baddd1668998ca2c91f10d30893ea76b0 100644 --- a/gin/v8_initializer.cc +++ b/gin/v8_initializer.cc -@@ -367,7 +367,8 @@ void SetFlags(IsolateHolder::ScriptMode mode, +@@ -363,7 +363,8 @@ void SetFlags(IsolateHolder::ScriptMode mode, // static void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, const std::string js_command_line_flags, @@ -51,7 +51,7 @@ index ec89b58257d262c5c181b09b4db1f809eeba0579..67d3be89ac776ebc39c245641f9fbb4e static bool v8_is_initialized = false; if (v8_is_initialized) return; -@@ -377,7 +378,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, +@@ -373,7 +374,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, // See https://crbug.com/v8/11043 SetFlags(mode, js_command_line_flags); diff --git a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch index 90c64dee45cb..cffbc8ababa1 100644 --- a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch +++ b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch @@ -40,7 +40,7 @@ index 1b03f182346d544a2551ab3a8fcad288d819ea26..67884548adff4a8dbda52e68f863445b void UpdateDawnInfo(const std::vector& dawn_info_list); diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc -index 8d5c6ff71a6ce8e0c02221ea19b81fd3d3b9f7aa..383b499d2f3b62996ebbcd8e9c44daab5c7aba34 100644 +index d9f374195861f474ba0386141f5d8cad5cb92e22..0d73c322299969d364013becc9b90b9980f4d2ea 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.cc +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc @@ -1198,6 +1198,12 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() { diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index 7b961b4e2c32..01d4d4895916 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 01f27f9eb13bd8fbd3f2d77dee16b29bdebc5a73..3eae0887c8ac3a62122e90576199877e158b377f 100644 +index 592f519797f1afcad7abd7e82422141979f6d635..6ab09ae13e1c4914771c1db82a813a10ca00d8cf 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1032,6 +1032,11 @@ +@@ -1051,6 +1051,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 3ab127c56339..2fbc7ff0121a 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 a6adc31330f50a9495ef335b6c5d99e5d8f45e39..a85d5bb16ab0ce8a0193c54af282d49424a5b40b 100755 +index b05da20af6339e9ec75fc4e5f1e1706db530d249..244f103df4db5dd04c5f1a7821741c4a5486bdd1 100755 --- a/tools/clang/scripts/update.py +++ b/tools/clang/scripts/update.py @@ -302,6 +302,8 @@ def GetDefaultHostOs(): diff --git a/patches/chromium/load_v8_snapshot_in_browser_process.patch b/patches/chromium/load_v8_snapshot_in_browser_process.patch index 0827d00fb052..44adedd196d8 100644 --- a/patches/chromium/load_v8_snapshot_in_browser_process.patch +++ b/patches/chromium/load_v8_snapshot_in_browser_process.patch @@ -9,7 +9,7 @@ but due to the nature of electron, we need to load the v8 snapshot in the browser process. diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc -index e2f53860b9ea57e1a07f58a7490770a9b7517143..f55888577c514abe5ed64e8b88ff9f6e442815fd 100644 +index 6965f862853afa8ddebfbfc0ee766bcf7b0643a6..89cbfffe47ba6dbf6ba771b49a327ea69a3aede9 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc @@ -261,11 +261,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) { diff --git a/patches/chromium/mas_disable_remote_accessibility.patch b/patches/chromium/mas_disable_remote_accessibility.patch index 0bc79e9ac73f..6f358c054816 100644 --- a/patches/chromium/mas_disable_remote_accessibility.patch +++ b/patches/chromium/mas_disable_remote_accessibility.patch @@ -44,7 +44,7 @@ index 89b9323c08cfed0d3ea3a0ec1beaa0bdfabe343e..d000b7f43f393d297a3715ea4279537b } // namespace diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm -index eb178455e92ae0c5f6d5033ffc1990b711466a83..9b4f909501f6cbc50a7d88cef679add9e6c454d2 100644 +index 1b91b71bae8201d7cae5850a8c810bd179a36ab1..7f4bc1ded505067ba83001b389ab5813bad17dc4 100644 --- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm +++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm @@ -566,10 +566,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) { @@ -227,7 +227,7 @@ index f2cd4583734aab9a6760f357eb6fb9ce73d96753..a420b3cf9b1c325967318db322d61c4e /////////////////////////////////////////////////////////////////////////////// diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn -index 3d74c126c9a019f5a4b58235ef9f43ea235a76bf..2d026f3e34679137e4a68b3c57fc2e71dda1f17b 100644 +index 52f8e4e48b4c54dc39231dc4702dc4ce9089c520..c1cc143209fbd60a34ad1d8f92c55c94f780e977 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn @@ -353,6 +353,13 @@ component("base") { @@ -293,10 +293,10 @@ index f6d8e8847203d705aea9f581bab84c361a6164c9..d8b17d16aaeba9e9aa95bd0e646a143b // Used to force the NSApplication's focused accessibility element to be the // views::Views accessibility tree when the NSView for this is focused. diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm -index bde63eb428a0271a992dff06fcc0bf97731623cd..ce87fa64378d71ef4982cfceda92b736bedd9255 100644 +index 020c952ea07bd67b3acefe33c73e7c1aed598fea..1b67c91b499aa583bd2f7516658f7377cec62566 100644 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm -@@ -335,14 +335,22 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -336,14 +336,22 @@ void HandleAccelerator(const ui::Accelerator& accelerator, NativeWidgetMacNSWindowHost::GetNativeViewAccessibleForNSView() const { if (in_process_ns_window_bridge_) return in_process_ns_window_bridge_->ns_view(); @@ -319,7 +319,7 @@ index bde63eb428a0271a992dff06fcc0bf97731623cd..ce87fa64378d71ef4982cfceda92b736 } remote_cocoa::mojom::NativeWidgetNSWindow* -@@ -1329,6 +1337,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -1328,6 +1336,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator, void NativeWidgetMacNSWindowHost::SetRemoteAccessibilityTokens( const std::vector& window_token, const std::vector& view_token) { @@ -327,7 +327,7 @@ index bde63eb428a0271a992dff06fcc0bf97731623cd..ce87fa64378d71ef4982cfceda92b736 remote_window_accessible_ = ui::RemoteAccessibility::GetRemoteElementFromToken(window_token); remote_view_accessible_ = -@@ -1337,14 +1346,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -1336,14 +1345,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator, [remote_view_accessible_ setTopLevelUIElement:remote_window_accessible_.get()]; [NSAccessibilityRemoteUIElement setRemoteUIApp:YES]; diff --git a/patches/chromium/mas_disable_remote_layer.patch b/patches/chromium/mas_disable_remote_layer.patch index afecec4c17bc..b6514613c433 100644 --- a/patches/chromium/mas_disable_remote_layer.patch +++ b/patches/chromium/mas_disable_remote_layer.patch @@ -16,7 +16,7 @@ cases where performance improves when disabling remote CoreAnimation (remote CoreAnimation is really only about battery usage). diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.h b/gpu/ipc/service/image_transport_surface_overlay_mac.h -index 8d1b4e5bf4f95dc890a956b616860f955da5b929..9914fba92b472fbe52c1f14e695b213122350842 100644 +index 54df9cd23be7441f9b61e9f94b191b3a6a7ab6fd..1ba6c4804cd98c6aa118fcd4ee74b1368648bde6 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.h +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.h @@ -21,7 +21,9 @@ @@ -50,10 +50,10 @@ index 8d1b4e5bf4f95dc890a956b616860f955da5b929..9914fba92b472fbe52c1f14e695b2131 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 3bf9a1c4ca3fc41bc912852b291a1484da29e00a..eda48669fc091122004733d3585e2dc9cf81c35b 100644 +index 6944ef9d099231c04e1b13e8a434ca436637ddd2..f0e64b88d0dcaff5937424c14a41552a554c2be0 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm -@@ -61,6 +61,7 @@ +@@ -68,6 +68,7 @@ ca_layer_tree_coordinator_ = std::make_unique( use_remote_layer_api_, allow_av_sample_buffer_display_layer); @@ -61,7 +61,7 @@ index 3bf9a1c4ca3fc41bc912852b291a1484da29e00a..eda48669fc091122004733d3585e2dc9 // Create the CAContext to send this to the GPU process, and the layer for // the context. if (use_remote_layer_api_) { -@@ -69,6 +70,7 @@ +@@ -76,6 +77,7 @@ options:@{}] retain]); [ca_context_ setLayer:ca_layer_tree_coordinator_->GetCALayerForDisplay()]; } @@ -69,7 +69,7 @@ index 3bf9a1c4ca3fc41bc912852b291a1484da29e00a..eda48669fc091122004733d3585e2dc9 } ImageTransportSurfaceOverlayMac::~ImageTransportSurfaceOverlayMac() { -@@ -146,7 +148,9 @@ +@@ -153,7 +155,9 @@ "GLImpl", static_cast(gl::GetGLImplementation()), "width", pixel_size_.width()); if (use_remote_layer_api_) { @@ -79,7 +79,7 @@ index 3bf9a1c4ca3fc41bc912852b291a1484da29e00a..eda48669fc091122004733d3585e2dc9 } else { IOSurfaceRef io_surface = ca_layer_tree_coordinator_->GetIOSurfaceForDisplay(); -@@ -378,6 +382,7 @@ +@@ -385,6 +389,7 @@ ca_layer_tree_coordinator_ = std::make_unique( use_remote_layer_api_, allow_av_sample_buffer_display_layer); @@ -87,7 +87,7 @@ index 3bf9a1c4ca3fc41bc912852b291a1484da29e00a..eda48669fc091122004733d3585e2dc9 // 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 @@ +@@ -393,6 +398,7 @@ options:@{}] retain]); [ca_context_ setLayer:ca_layer_tree_coordinator_->GetCALayerForDisplay()]; } @@ -95,7 +95,7 @@ index 3bf9a1c4ca3fc41bc912852b291a1484da29e00a..eda48669fc091122004733d3585e2dc9 } ImageTransportSurfaceOverlayMacEGL::~ImageTransportSurfaceOverlayMacEGL() { -@@ -464,7 +470,9 @@ +@@ -490,7 +496,9 @@ "GLImpl", static_cast(gl::GetGLImplementation()), "width", pixel_size_.width()); if (use_remote_layer_api_) { diff --git a/patches/chromium/mas_no_private_api.patch b/patches/chromium/mas_no_private_api.patch index d8985abdd907..4ece6c9b6038 100644 --- a/patches/chromium/mas_no_private_api.patch +++ b/patches/chromium/mas_no_private_api.patch @@ -166,7 +166,7 @@ index 644990412b4d67789faffc65c4f1114fa96c8f42..085ceafcda3f66b27cec2aedde86ac7c void BluetoothAdapterMac::RemovePairingDelegateInternal( diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn -index cfec184939ea205dfcc0b1066eeca5c5275596aa..d0dca967df81f6a3d321cd046532bd4cb21e1619 100644 +index 04a5bbef30bdd1827f455b8288faf9fbd86f103e..1e6b91961c3e32aa223383b444d075ada9688b0b 100644 --- a/media/audio/BUILD.gn +++ b/media/audio/BUILD.gn @@ -180,6 +180,12 @@ source_set("audio") { diff --git a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch index d3555e2f0f49..c1b5deaf6325 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 a5974ea868cfca930794f522038844138a02b3ce..b1ac2fd235d3fc424d15b5c5991d7026a0f85090 100644 +index 0c8c9acc540dd9cbffb88cb0b85488409d9dce8c..7d5a24b9090a00017c85b2892bd98b83cf904c42 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -132,6 +132,11 @@ +@@ -133,6 +133,11 @@ #include "third_party/abseil-cpp/absl/types/optional.h" #include "url/gurl.h" @@ -22,7 +22,7 @@ index a5974ea868cfca930794f522038844138a02b3ce..b1ac2fd235d3fc424d15b5c5991d7026 #if BUILDFLAG(IS_CT_SUPPORTED) #include "components/certificate_transparency/chrome_ct_policy_enforcer.h" #include "components/certificate_transparency/chrome_require_ct_delegate.h" -@@ -440,6 +445,91 @@ bool GetFullDataFilePath( +@@ -441,6 +446,91 @@ bool GetFullDataFilePath( } // namespace @@ -114,7 +114,7 @@ index a5974ea868cfca930794f522038844138a02b3ce..b1ac2fd235d3fc424d15b5c5991d7026 constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; NetworkContext::PendingCertVerify::PendingCertVerify() = default; -@@ -742,6 +832,13 @@ void NetworkContext::SetClient( +@@ -743,6 +833,13 @@ void NetworkContext::SetClient( client_.Bind(std::move(client)); } @@ -128,7 +128,7 @@ index a5974ea868cfca930794f522038844138a02b3ce..b1ac2fd235d3fc424d15b5c5991d7026 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -2322,6 +2419,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2320,6 +2417,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 a5974ea868cfca930794f522038844138a02b3ce..b1ac2fd235d3fc424d15b5c5991d7026 builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( diff --git a/services/network/network_context.h b/services/network/network_context.h -index 7a0d76107bf45fd4d1e638b9b66965c4ace4e893..5b0a62302719f2aca565d933be4391ce59894f01 100644 +index 4bc66ef02ca4db149c68332e10ad1978e3af13be..9c249984078c92a4470509ae7120c6bd561cd83a 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -102,6 +102,7 @@ class URLMatcher; +@@ -103,6 +103,7 @@ class URLMatcher; namespace network { class CertVerifierWithTrustAnchors; @@ -150,7 +150,7 @@ index 7a0d76107bf45fd4d1e638b9b66965c4ace4e893..5b0a62302719f2aca565d933be4391ce class CookieManager; class ExpectCTReporter; class HostResolver; -@@ -238,6 +239,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -239,6 +240,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) override; @@ -169,10 +169,10 @@ index 7a0d76107bf45fd4d1e638b9b66965c4ace4e893..5b0a62302719f2aca565d933be4391ce std::unique_ptr internal_host_resolver_; // Map values set to non-null only if that HostResolver has its own private diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index 88e964da0580c757a7612a8faf272d2a61a0c811..cc820d3cc7217263e23cd5aeea97dcf736e4be77 100644 +index 91edf4a7675f5f0ddbc060b2f6db517847a22172..a420ab8d9367596ffc5be6da6b38ff484d47cd50 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -285,6 +285,17 @@ struct NetworkContextFilePaths { +@@ -283,6 +283,17 @@ struct NetworkContextFilePaths { bool trigger_migration = false; }; @@ -190,7 +190,7 @@ index 88e964da0580c757a7612a8faf272d2a61a0c811..cc820d3cc7217263e23cd5aeea97dcf7 // Parameters for constructing a network context. struct NetworkContextParams { // The user agent string. -@@ -853,6 +864,9 @@ interface NetworkContext { +@@ -851,6 +862,9 @@ interface NetworkContext { // Sets a client for this network context. SetClient(pending_remote client); diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index 9fa2d7d69c62..c7c9b75f9647 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -31,7 +31,7 @@ index dfbfbf4e5d92eb8c7c2ba38f31264ac41713a485..78cc81931321656c308e5611e30e0813 const GURL& origin, const GURL& document_url, diff --git a/content/browser/notifications/blink_notification_service_impl.cc b/content/browser/notifications/blink_notification_service_impl.cc -index a84465f5c59921a1febaf2015be71fb593eb92a5..0b8e0aea8ac663c22c327005cb95d3f19dd1200c 100644 +index f66c863b18da856b449eaf4fd8cf8202d34a2f10..55aecd359a7d375f64d2125e3c08d9ea50175cda 100644 --- a/content/browser/notifications/blink_notification_service_impl.cc +++ b/content/browser/notifications/blink_notification_service_impl.cc @@ -83,11 +83,13 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl( @@ -49,7 +49,7 @@ index a84465f5c59921a1febaf2015be71fb593eb92a5..0b8e0aea8ac663c22c327005cb95d3f1 service_worker_context_(std::move(service_worker_context)), render_process_host_id_(render_process_host->GetID()), @@ -152,7 +154,7 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification( - notification_id, std::move(event_listener_remote)); + notification_id, std::move(event_listener_remote), weak_document_ptr_); browser_context_->GetPlatformNotificationService()->DisplayNotification( - notification_id, origin_.GetURL(), document_url_, @@ -113,7 +113,7 @@ index 65ee7d921294a8b135f06666e8ef66faf281afc4..b8a789107ab8793f248ff592667a4ecd void PlatformNotificationContextImpl::RemoveService( diff --git a/content/browser/notifications/platform_notification_context_impl.h b/content/browser/notifications/platform_notification_context_impl.h -index 05fb3299e4eea19aeef8eb618ec81cb721a36cae..46d1cd2f96d68d36f6dd080fd69ffced9fa89ca0 100644 +index 5d66bbea7b30a4145745676749ab49ecd5c93dbc..1a923782adf35c31571c4af459027966e2505c43 100644 --- a/content/browser/notifications/platform_notification_context_impl.h +++ b/content/browser/notifications/platform_notification_context_impl.h @@ -48,6 +48,7 @@ struct NotificationDatabaseData; @@ -133,7 +133,7 @@ index 05fb3299e4eea19aeef8eb618ec81cb721a36cae..46d1cd2f96d68d36f6dd080fd69ffced 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 a0de2c6d5f027fefa052a4b87882685d4e347cd8..446a67010214e68d5981c74e9c3923cec16edc60 100644 +index 81a7142ce6948e9ba9e5f355f4c98508dd40fb34..a0c3faf9fa20f55650745019613b18e615dd5e0f 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -2068,8 +2068,9 @@ void RenderProcessHostImpl::CreateNotificationService( diff --git a/patches/chromium/port_autofill_colors_to_the_color_pipeline.patch b/patches/chromium/port_autofill_colors_to_the_color_pipeline.patch index 34fb2eb92a0b..d5441b2d9ecf 100644 --- a/patches/chromium/port_autofill_colors_to_the_color_pipeline.patch +++ b/patches/chromium/port_autofill_colors_to_the_color_pipeline.patch @@ -8,13 +8,13 @@ needed in chromium but our autofill implementation uses them. This patch can be our autofill implementation to work like Chromium's. diff --git a/ui/color/color_id.h b/ui/color/color_id.h -index a0ea99233f8d890f34da329dd90b4c791eb8e64b..6e097af16731e7c9a624a33014f393dc618f74ed 100644 +index 813deda1c0ab67ea855c5a85a88dd1797a99bdd6..c918e44036b042bd7dc3562957d990f86b6a4ac4 100644 --- a/ui/color/color_id.h +++ b/ui/color/color_id.h -@@ -240,6 +240,10 @@ - E_CPONLY(kColorReadAnythingForegroundDark) \ - E_CPONLY(kColorReadAnythingForegroundLight) \ - E_CPONLY(kColorReadAnythingForegroundYellow) \ +@@ -250,6 +250,10 @@ + E_CPONLY(kColorScrollbarThumbInactive) \ + E_CPONLY(kColorScrollbarThumbPressed) \ + E_CPONLY(kColorScrollbarTrack) \ + E_CPONLY(kColorResultsTableNormalBackground) \ + E_CPONLY(kColorResultsTableHoveredBackground) \ + E_CPONLY(kColorResultsTableNormalText) \ @@ -22,7 +22,7 @@ index a0ea99233f8d890f34da329dd90b4c791eb8e64b..6e097af16731e7c9a624a33014f393dc E_CPONLY(kColorSeparator) \ E_CPONLY(kColorShadowBase) \ E_CPONLY(kColorShadowValueAmbientShadowElevationSixteen) \ -@@ -294,6 +298,7 @@ +@@ -304,6 +308,7 @@ E_CPONLY(kColorTreeNodeForeground) \ E_CPONLY(kColorTreeNodeForegroundSelectedFocused) \ E_CPONLY(kColorTreeNodeForegroundSelectedUnfocused) \ @@ -31,13 +31,13 @@ index a0ea99233f8d890f34da329dd90b4c791eb8e64b..6e097af16731e7c9a624a33014f393dc #if BUILDFLAG(IS_CHROMEOS) diff --git a/ui/color/ui_color_mixer.cc b/ui/color/ui_color_mixer.cc -index 2b8697cac1a1fa7ce2c7abfb436dc38d334c93ec..2952397d1f9f6a44ace0e3c7cd2bce92a0217df3 100644 +index 3e7ef724d0b58dc43c5aecaaba2794dccacc31ba..803ab33876467c30bda8aaaf42a4a3d4e443c509 100644 --- a/ui/color/ui_color_mixer.cc +++ b/ui/color/ui_color_mixer.cc -@@ -154,6 +154,17 @@ void AddUiColorMixer(ColorProvider* provider, - mixer[kColorReadAnythingForegroundDark] = {gfx::kGoogleGrey200}; - mixer[kColorReadAnythingForegroundLight] = {gfx::kGoogleGrey800}; - mixer[kColorReadAnythingForegroundYellow] = {gfx::kGoogleGrey800}; +@@ -178,6 +178,17 @@ void AddUiColorMixer(ColorProvider* provider, + : SkColorSetA(SK_ColorBLACK, 0x80)}; + mixer[kColorScrollbarTrack] = {dark_mode ? SkColorSetRGB(0x42, 0x42, 0x42) + : SkColorSetRGB(0xF1, 0xF1, 0xF1)}; + mixer[kColorResultsTableNormalBackground] = {SK_ColorWHITE}; + mixer[kColorResultsTableHoveredBackground] = + SetAlpha(kColorResultsTableNormalText, 0x0D); @@ -52,7 +52,7 @@ index 2b8697cac1a1fa7ce2c7abfb436dc38d334c93ec..2952397d1f9f6a44ace0e3c7cd2bce92 mixer[kColorSeparator] = {kColorMidground}; mixer[kColorShadowBase] = {dark_mode ? SK_ColorBLACK : gfx::kGoogleGrey800}; mixer[kColorShadowValueAmbientShadowElevationThree] = -@@ -235,6 +246,7 @@ void AddUiColorMixer(ColorProvider* provider, +@@ -259,6 +270,7 @@ void AddUiColorMixer(ColorProvider* provider, mixer[kColorTreeNodeForegroundSelectedFocused] = {kColorTreeNodeForeground}; mixer[kColorTreeNodeForegroundSelectedUnfocused] = { kColorTreeNodeForegroundSelectedFocused}; diff --git a/patches/chromium/preconnect_manager.patch b/patches/chromium/preconnect_manager.patch index ff871bb3c968..f5f82a82e23e 100644 --- a/patches/chromium/preconnect_manager.patch +++ b/patches/chromium/preconnect_manager.patch @@ -62,7 +62,7 @@ index 48b500a8ead699ef9d30d3219f41a913711bc4a0..f3e9c87c5ce29a4e9dc8204413f47a76 void PreconnectManager::Start(const GURL& url, diff --git a/chrome/browser/predictors/preconnect_manager.h b/chrome/browser/predictors/preconnect_manager.h -index d3cd85950261b66be42a22772b6344ab5cb63267..3346bb79dd1f945c4c86c664a82637ef0ce6229c 100644 +index 9b89c3a93b68596d7a89d5cd8e10dc5e9126c2c4..968e8ac012af57ae48a6f9a26ee228938d969876 100644 --- a/chrome/browser/predictors/preconnect_manager.h +++ b/chrome/browser/predictors/preconnect_manager.h @@ -18,7 +18,9 @@ diff --git a/patches/chromium/printing.patch b/patches/chromium/printing.patch index fecde5008d69..93bef57bf9d1 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 a6b18dea1236535e4c802c4c1abceefb69609b17..76bc010c7a4af291fff8d44c0e5c54b93f355b87 100644 +index c6e527e33e7280342284c7fb46503d47395a5a23..617ec42be88e848a04491aec1cbc54b060016414 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -980,7 +980,6 @@ if (is_win) { +@@ -991,7 +991,6 @@ if (is_win) { "//media:media_unittests", "//media/midi:midi_unittests", "//net:net_unittests", @@ -22,12 +22,12 @@ index a6b18dea1236535e4c802c4c1abceefb69609b17..76bc010c7a4af291fff8d44c0e5c54b9 "//sql:sql_unittests", "//third_party/breakpad:symupload($host_toolchain)", "//ui/base:ui_base_unittests", -@@ -989,6 +988,10 @@ if (is_win) { +@@ -1000,6 +999,10 @@ if (is_win) { "//ui/views:views_unittests", "//url:url_unittests", ] + -+ if (enable_basic_printing) { ++ if (enable_printing) { + deps += [ "//printing:printing_unittests" ] + } } @@ -78,7 +78,7 @@ index a1372cc90fc84b159e9952fa747e36360ae1a170..429b93910457675347b3b80e232e71aa : PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3; } diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc -index 51bab147b3c353313e91b1ff09b735bfdde9b19a..d311ed33b2cf8fc459af7c3b7dd0c0ff9f2fdc51 100644 +index ec5386f5bef38a5f8bbde193e5f61de36f50494f..2348993386efbdf991bd749b482baee1a6892b92 100644 --- a/chrome/browser/printing/print_job_worker.cc +++ b/chrome/browser/printing/print_job_worker.cc @@ -20,7 +20,6 @@ @@ -97,7 +97,7 @@ index 51bab147b3c353313e91b1ff09b735bfdde9b19a..d311ed33b2cf8fc459af7c3b7dd0c0ff #include "printing/backend/print_backend.h" #include "printing/buildflags/buildflags.h" #include "printing/mojom/print.mojom.h" -@@ -208,16 +208,19 @@ void PrintJobWorker::SetSettings(base::Value::Dict new_settings, +@@ -211,16 +211,19 @@ void PrintJobWorker::SetSettings(base::Value::Dict new_settings, #endif // BUILDFLAG(IS_LINUX) && defined(USE_CUPS) } @@ -553,7 +553,7 @@ index 2273775eccac63960bdea6124e657b4177120ad8..a94d3ecb7fde44888ef85df1cda1c1b5 PrintWithParamsCallback callback) override; void PrintForSystemDialog() override; diff --git a/components/printing/common/print.mojom b/components/printing/common/print.mojom -index 220a751903f8bec318e5d7f48f35333b3b1c155b..60c54f6e407ba89894847b7e34f0ea9e3afd63af 100644 +index 72a4e933b8aface53db92884b245d8b92d950917..b7aa4fd0e96e43a6ef0be6c9fbe720b235956714 100644 --- a/components/printing/common/print.mojom +++ b/components/printing/common/print.mojom @@ -289,7 +289,7 @@ union PrintWithParamsResult { @@ -565,7 +565,7 @@ index 220a751903f8bec318e5d7f48f35333b3b1c155b..60c54f6e407ba89894847b7e34f0ea9e // Requests the frame to be printed with specified parameters. This is used // to programmatically produce PDF by request from the browser (e.g. over -@@ -372,7 +372,7 @@ interface PrintManagerHost { +@@ -373,7 +373,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] @@ -796,41 +796,21 @@ index 51a5497b809cda82b223138f43507172a9f066ae..71227492fd87e577518f3bf55ded37b0 #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 a82ab440893d22424366c969d6765a10ee05ea86..a68bc27a93a38f5a1cb0c3dc225def6290dbf688 100644 +index 2799c8b88e09656f599c672f7a5422b802a56dbf..b33864b2d57fb26637bd96edbd8fb917881f5f4c 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -2819,8 +2819,9 @@ source_set("browser") { +@@ -2823,8 +2823,9 @@ source_set("browser") { "//ppapi/shared_impl", ] -- assert(enable_basic_printing) +- assert(enable_printing) - deps += [ "//printing" ] -+ if (enable_basic_printing) { ++ if (enable_printing) { + deps += [ "//printing" ] + } if (is_chromeos) { sources += [ -diff --git a/content/browser/utility_sandbox_delegate_win.cc b/content/browser/utility_sandbox_delegate_win.cc -index aa59ef2ea780af3e881be9a984eef5d309586dc4..c5bd3ed36ff3f4d1fe75ef2c6a1d40d655c0bbe0 100644 ---- a/content/browser/utility_sandbox_delegate_win.cc -+++ b/content/browser/utility_sandbox_delegate_win.cc -@@ -99,6 +99,7 @@ bool NetworkPreSpawnTarget(sandbox::TargetConfig* config) { - return true; - } - -+#if BUILDFLAG(ENABLE_PRINTING) - // Sets the sandbox policy for the print backend service process. - bool PrintBackendPreSpawnTarget(sandbox::TargetConfig* config) { - DCHECK(!config->IsConfigured()); -@@ -192,6 +193,7 @@ bool XrCompositingPreSpawnTarget(sandbox::TargetConfig* config, - - return true; - } -+#endif - } // namespace - - std::string UtilitySandboxedProcessLauncherDelegate::GetSandboxTag() { diff --git a/printing/printing_context.cc b/printing/printing_context.cc index 3a9e75c229f028dcbfb2d7b9294bc42989cb4c1e..a890c5517c0708034bbc6b9b606c990a9ae8be7a 100644 --- a/printing/printing_context.cc 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 c6e504ef3a46..2b1d1ced7fcd 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -30,10 +30,10 @@ index 5f1eea557b549a6db081ff925ba9995b0591d9fa..62c5ef52ec774623f2cfc7c269973a26 // 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 a81933bcbb926659ba9dc8c775ce022a0f7bdafb..bc0d1fab2160fa476c875a6a5e549c878c855795 100644 +index 84b3bcbfb4f52098efad6f2b8ab8e8445d8fe13a..6ed422b4bfc5019a935634cad5488b2927461486 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -2093,6 +2093,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) { +@@ -2098,6 +2098,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) { void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) { if (view_) view_->UpdateCursor(WebCursor(cursor)); @@ -43,10 +43,10 @@ index a81933bcbb926659ba9dc8c775ce022a0f7bdafb..bc0d1fab2160fa476c875a6a5e549c87 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 6db9441a458a1293118fd3fbbe6f439fafb730b4..d922a3a2fa6c2cbd9bf7563e17cb72ba5fb0fa49 100644 +index 2e56e7ba8e0c97133b9bbe3993167f0f188f7716..1b57fb8d75365aa589556c1c44a28ef81ed6598b 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4591,6 +4591,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { +@@ -4594,6 +4594,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } @@ -59,10 +59,10 @@ index 6db9441a458a1293118fd3fbbe6f439fafb730b4..d922a3a2fa6c2cbd9bf7563e17cb72ba 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 185b2f060ed466b470c4ba6cfb637c4be29b2689..fee4259850b016a11ce15dc1e0c1b0d7cba342f9 100644 +index 0125718b03d2e59dac0b96d27a1a41d6db4126c2..1da0ea2829f867c2283eeb8b0d0888e8dd09c843 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -978,6 +978,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -977,6 +977,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, void SendScreenRects() override; void SendActiveState(bool active) override; TextInputManager* GetTextInputManager() override; @@ -71,7 +71,7 @@ index 185b2f060ed466b470c4ba6cfb637c4be29b2689..fee4259850b016a11ce15dc1e0c1b0d7 RenderWidgetHostImpl* render_widget_host) override; bool IsShowingContextMenuOnPage() const override; diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h -index b6e021165de91d92316c0b379e4fbdb616a56877..14f31672f3df2da3007ef5fa372359c2be92bdce 100644 +index 0fe98cc87b443d12da70dcc60195b5d3f0382126..485e5a2d42a8c92b77910d5c551e3a92037764b1 100644 --- a/content/public/browser/web_contents_observer.h +++ b/content/public/browser/web_contents_observer.h @@ -13,6 +13,7 @@ diff --git a/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch b/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch index 77a7736ca20e..6e0a005c6344 100644 --- a/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch +++ b/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch @@ -12,10 +12,10 @@ should be removed as soon as those have been updated. Patching because every instance is a FTBFS that prevents testing any one instance's fix. diff --git a/base/functional/callback_helpers.h b/base/functional/callback_helpers.h -index 417610f6dcd336f54840dfcde1fe23809da5f5f5..a1df1373277e6ee711394f77c353ab91b09b739d 100644 +index 19d605162f11a09123d4e32336ce961817d780de..2ab5a2b70dc89229225d52ff23d9d80952ca685d 100644 --- a/base/functional/callback_helpers.h +++ b/base/functional/callback_helpers.h -@@ -96,6 +96,22 @@ class OnceCallbackHolder final { +@@ -97,6 +97,22 @@ class OnceCallbackHolder final { } // namespace internal diff --git a/patches/chromium/render_widget_host_view_base.patch b/patches/chromium/render_widget_host_view_base.patch index 18e913788864..78481190f526 100644 --- a/patches/chromium/render_widget_host_view_base.patch +++ b/patches/chromium/render_widget_host_view_base.patch @@ -6,7 +6,7 @@ Subject: render_widget_host_view_base.patch ... something to do with OSR? and maybe as well? terrifying. diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc -index b0c9044e9978ff38ecd730541e512bbe73e45a27..aecd5ef1019188a593f23436b5392f57805620b0 100644 +index e5d57b61367227762c1e4cab6a3d7c7ffc4c74a5..b1217d282b8c70a3afb2c5af130aed9c0d78de2f 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.cc +++ b/content/browser/renderer_host/render_widget_host_view_base.cc @@ -706,6 +706,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor( diff --git a/patches/chromium/render_widget_host_view_mac.patch b/patches/chromium/render_widget_host_view_mac.patch index 2d4c24baa56b..e9c8e40de406 100644 --- a/patches/chromium/render_widget_host_view_mac.patch +++ b/patches/chromium/render_widget_host_view_mac.patch @@ -10,7 +10,7 @@ kinds of utility windows. Similarly for `disableAutoHideCursor`. Additionally, disables usage of some private APIs in MAS builds. diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -index 1f5898124ca5ab45349dd4749c1b33a10723d46a..3c70ba4663b0176167a32e588dfd2840ba13362c 100644 +index 22b03d5bd27f09731a3c2d6dbb03c7dc612a2975..274a7e784af522b8f58c36095ca6c0cdadb97671 100644 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm @@ -158,6 +158,15 @@ void ExtractUnderlines(NSAttributedString* string, @@ -29,7 +29,7 @@ index 1f5898124ca5ab45349dd4749c1b33a10723d46a..3c70ba4663b0176167a32e588dfd2840 // RenderWidgetHostViewCocoa --------------------------------------------------- // Private methods: -@@ -599,6 +608,9 @@ - (BOOL)acceptsMouseEventsWhenInactive { +@@ -597,6 +606,9 @@ - (BOOL)acceptsMouseEventsWhenInactive { } - (BOOL)acceptsFirstMouse:(NSEvent*)theEvent { @@ -39,7 +39,7 @@ index 1f5898124ca5ab45349dd4749c1b33a10723d46a..3c70ba4663b0176167a32e588dfd2840 return [self acceptsMouseEventsWhenInactive]; } -@@ -675,6 +687,10 @@ - (BOOL)shouldIgnoreMouseEvent:(NSEvent*)theEvent { +@@ -673,6 +685,10 @@ - (BOOL)shouldIgnoreMouseEvent:(NSEvent*)theEvent { // its parent view. BOOL hitSelf = NO; while (view) { @@ -50,7 +50,7 @@ index 1f5898124ca5ab45349dd4749c1b33a10723d46a..3c70ba4663b0176167a32e588dfd2840 if (view == self) hitSelf = YES; if ([view isKindOfClass:[self class]] && ![view isEqual:self] && -@@ -994,6 +1010,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv { +@@ -992,6 +1008,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv { eventType == NSEventTypeKeyDown && !(modifierFlags & NSEventModifierFlagCommand); @@ -61,7 +61,7 @@ index 1f5898124ca5ab45349dd4749c1b33a10723d46a..3c70ba4663b0176167a32e588dfd2840 // We only handle key down events and just simply forward other events. if (eventType != NSEventTypeKeyDown) { _hostHelper->ForwardKeyboardEvent(event, latency_info); -@@ -1818,9 +1838,11 @@ - (NSAccessibilityRole)accessibilityRole { +@@ -1816,9 +1836,11 @@ - (NSAccessibilityRole)accessibilityRole { // Since this implementation doesn't have to wait any IPC calls, this doesn't // make any key-typing jank. --hbono 7/23/09 // @@ -73,7 +73,7 @@ index 1f5898124ca5ab45349dd4749c1b33a10723d46a..3c70ba4663b0176167a32e588dfd2840 - (NSArray*)validAttributesForMarkedText { // This code is just copied from WebKit except renaming variables. -@@ -1829,7 +1851,10 @@ - (NSArray*)validAttributesForMarkedText { +@@ -1827,7 +1849,10 @@ - (NSArray*)validAttributesForMarkedText { initWithObjects:NSUnderlineStyleAttributeName, NSUnderlineColorAttributeName, NSMarkedClauseSegmentAttributeName, diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index 5f7f2839f054..cfc3bbef10a0 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 58879beacaeed450abf6a6e753f75f592a0e5460..b12b4e65be8ad29054f5fdd98600888726b1d068 100644 +index d5049a4e98a4c6969dab65edfeb97d26a594de47..fa4871fa8f0f5b14300f23385950cca4cef91a52 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1552,7 +1552,7 @@ if (is_chrome_branded && !is_android) { +@@ -1542,7 +1542,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index 58879beacaeed450abf6a6e753f75f592a0e5460..b12b4e65be8ad29054f5fdd986008887 chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1581,6 +1581,12 @@ if (!is_android) { +@@ -1571,6 +1571,12 @@ if (!is_android) { } } diff --git a/patches/chromium/revert_use_accessibility_pkey_when_setting_page_access.patch b/patches/chromium/revert_use_accessibility_pkey_when_setting_page_access.patch new file mode 100644 index 000000000000..74cfda868215 --- /dev/null +++ b/patches/chromium/revert_use_accessibility_pkey_when_setting_page_access.patch @@ -0,0 +1,162 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Kleinschmidt +Date: Wed, 26 Oct 2022 10:59:53 -0400 +Subject: Revert "Use accessibility.pkey when setting page access." + +This reverts commit 1c803026432e70740a319a51b41415694ebe36c9. + +https://chromium-review.googlesource.com/c/chromium/src/+/3949281 +breaks builds running in Docker. + +This patch should be removed once +https://chromium-review.googlesource.com/c/chromium/src/+/3949284 +is merged. + +diff --git a/base/allocator/partition_allocator/BUILD.gn b/base/allocator/partition_allocator/BUILD.gn +index 7f55dfd28b41c19a61590a71fa72c7bc73edc4a0..d8688eca677aac51c3e6e16104c3fe3b765167f0 100644 +--- a/base/allocator/partition_allocator/BUILD.gn ++++ b/base/allocator/partition_allocator/BUILD.gn +@@ -110,8 +110,6 @@ component("partition_alloc") { + "partition_alloc_base/numerics/safe_math_arm_impl.h", + "partition_alloc_base/numerics/safe_math_clang_gcc_impl.h", + "partition_alloc_base/numerics/safe_math_shared_impl.h", +- "partition_alloc_base/pkey.cc", +- "partition_alloc_base/pkey.h", + "partition_alloc_base/posix/eintr_wrapper.h", + "partition_alloc_base/rand_util.cc", + "partition_alloc_base/rand_util.h", +diff --git a/base/allocator/partition_allocator/page_allocator_internals_posix.h b/base/allocator/partition_allocator/page_allocator_internals_posix.h +index 6ec54137fc0287375e267ba04f62201b7aac5cbd..fde49fd5b169507c9b8d26908bb306b4f0226c11 100644 +--- a/base/allocator/partition_allocator/page_allocator_internals_posix.h ++++ b/base/allocator/partition_allocator/page_allocator_internals_posix.h +@@ -15,7 +15,6 @@ + #include "base/allocator/partition_allocator/oom.h" + #include "base/allocator/partition_allocator/page_allocator.h" + #include "base/allocator/partition_allocator/partition_alloc_base/debug/debugging_buildflags.h" +-#include "base/allocator/partition_allocator/partition_alloc_base/pkey.h" + #include "base/allocator/partition_allocator/partition_alloc_base/posix/eintr_wrapper.h" + #include "base/allocator/partition_allocator/partition_alloc_check.h" + #include "build/build_config.h" +@@ -201,14 +200,8 @@ bool TrySetSystemPagesAccessInternal( + uintptr_t address, + size_t length, + PageAccessibilityConfiguration accessibility) { +-#if BUILDFLAG(ENABLE_PKEYS) +- return 0 == base::PkeyMprotect(reinterpret_cast(address), length, +- GetAccessFlags(accessibility), +- accessibility.pkey); +-#else + return 0 == PA_HANDLE_EINTR(mprotect(reinterpret_cast(address), length, + GetAccessFlags(accessibility))); +-#endif + } + + void SetSystemPagesAccessInternal( +@@ -216,14 +209,8 @@ void SetSystemPagesAccessInternal( + size_t length, + PageAccessibilityConfiguration accessibility) { + int access_flags = GetAccessFlags(accessibility); +-#if BUILDFLAG(ENABLE_PKEYS) +- int ret = +- base::PkeyMprotect(reinterpret_cast(address), length, +- GetAccessFlags(accessibility), accessibility.pkey); +-#else +- int ret = PA_HANDLE_EINTR(mprotect(reinterpret_cast(address), length, +- GetAccessFlags(accessibility))); +-#endif ++ const int ret = PA_HANDLE_EINTR( ++ mprotect(reinterpret_cast(address), length, access_flags)); + + // On Linux, man mprotect(2) states that ENOMEM is returned when (1) internal + // kernel data structures cannot be allocated, (2) the address range is +diff --git a/base/allocator/partition_allocator/partition_alloc_base/pkey.cc b/base/allocator/partition_allocator/partition_alloc_base/pkey.cc +deleted file mode 100644 +index b9f3e25cb037c18a146ad6843450e7b12b13100a..0000000000000000000000000000000000000000 +--- a/base/allocator/partition_allocator/partition_alloc_base/pkey.cc ++++ /dev/null +@@ -1,49 +0,0 @@ +-// Copyright 2022 The Chromium Authors +-// Use of this source code is governed by a BSD-style license that can be +-// found in the LICENSE file. +- +-#include "base/allocator/partition_allocator/partition_alloc_base/pkey.h" +- +-#if BUILDFLAG(ENABLE_PKEYS) +- +-#include +-#include +-#include +-#include +- +-#include "base/allocator/partition_allocator/partition_alloc_base/cpu.h" +-#include "base/allocator/partition_allocator/partition_alloc_check.h" +- +-#if !BUILDFLAG(IS_LINUX) +-#error "This pkey code is currently only supported on Linux" +-#endif +- +-namespace partition_alloc::internal::base { +- +-bool CPUHasPkeySupport() { +- return base::CPU::GetInstanceNoAllocation().has_pku(); +-} +- +-int PkeyMprotect(void* addr, size_t len, int prot, int pkey) { +- if (PA_UNLIKELY(CPUHasPkeySupport())) { +- // The pkey_mprotect syscall is supported from Linux 4.9. If the CPU is +- // recent enough to have PKU support, then it's likely that we also run on a +- // more recent kernel. But fall back to mprotect if the syscall is not +- // available and pkey is 0. +- // Note that we can't use mprotect as the default for the pkey == 0 case, +- // since we can temporarily change the pkey back to 0 on some globals. +- int ret = syscall(SYS_pkey_mprotect, addr, len, prot, pkey); +- if (PA_LIKELY(ret == 0)) +- return ret; +- if (errno != ENOSYS) +- return ret; +- // fall through if syscall doesn't exist +- } +- PA_CHECK(pkey == 0); +- +- return mprotect(addr, len, prot); +-} +- +-} // namespace partition_alloc::internal::base +- +-#endif // BUILDFLAG(ENABLE_PKEYS) +diff --git a/base/allocator/partition_allocator/partition_alloc_base/pkey.h b/base/allocator/partition_allocator/partition_alloc_base/pkey.h +deleted file mode 100644 +index 4830b50aa628cde64ceead76ddc60aaf13c8bab4..0000000000000000000000000000000000000000 +--- a/base/allocator/partition_allocator/partition_alloc_base/pkey.h ++++ /dev/null +@@ -1,30 +0,0 @@ +-// Copyright 2022 The Chromium Authors +-// Use of this source code is governed by a BSD-style license that can be +-// found in the LICENSE file. +- +-#ifndef BASE_ALLOCATOR_PARTITION_ALLOCATOR_PARTITION_ALLOC_BASE_PKEY_H_ +-#define BASE_ALLOCATOR_PARTITION_ALLOCATOR_PARTITION_ALLOC_BASE_PKEY_H_ +- +-#include "base/allocator/partition_allocator/partition_alloc_buildflags.h" +- +-#if BUILDFLAG(ENABLE_PKEYS) +- +-#include "base/allocator/partition_allocator/partition_alloc_base/compiler_specific.h" +- +-#include +-#include +- +-namespace partition_alloc::internal::base { +- +-// Check if the CPU supports pkeys. +-bool CPUHasPkeySupport(); +- +-// A wrapper around pkey_mprotect that falls back to regular mprotect if the +-// CPU/kernel doesn't support it (and pkey is 0). +-[[nodiscard]] int PkeyMprotect(void* addr, size_t len, int prot, int pkey); +- +-} // namespace partition_alloc::internal::base +- +-#endif // BUILDFLAG(ENABLE_PKEYS) +- +-#endif // BASE_ALLOCATOR_PARTITION_ALLOCATOR_PARTITION_ALLOC_BASE_PKEY_H_ diff --git a/patches/chromium/roll_clang_llvmorg-16-init-8189-g97196a2d-2.patch b/patches/chromium/roll_clang_llvmorg-16-init-8189-g97196a2d-2.patch new file mode 100644 index 000000000000..a2ac8c9838e5 --- /dev/null +++ b/patches/chromium/roll_clang_llvmorg-16-init-8189-g97196a2d-2.patch @@ -0,0 +1,51 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Nico Weber +Date: Wed, 26 Oct 2022 12:18:49 +0000 +Subject: Roll clang llvmorg-16-init-8189-g97196a2d-2 : + llvmorg-16-init-8697-g60809cd2-1 + +Ran `tools/clang/scripts/upload_revision.py 60809cd29308e78d662375e6957a2b1b85415def`. + +Needed to resolve https://crbug.com/1377819 + +Bug: 1378191 +Change-Id: Id426d7c6c171738044189a707b4579313231886f +Cq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel +Cq-Include-Trybots: chromium/try:dawn-win10-x86-deps-rel +Cq-Include-Trybots: chromium/try:linux-chromeos-dbg +Cq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng +Cq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng +Cq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng +Cq-Include-Trybots: chromium/try:mac11-arm64-rel,mac_chromium_asan_rel_ng +Cq-Include-Trybots: chromium/try:ios-catalyst +Cq-Include-Trybots: chromium/try:win-asan,win7-rel +Cq-Include-Trybots: chromium/try:android-official +Cq-Include-Trybots: chromium/try:mac-official +Cq-Include-Trybots: chromium/try:win-official,win32-official +Cq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86 +Cq-Include-Trybots: chrome/try:iphone-device,ipad-device +Cq-Include-Trybots: chrome/try:linux-chromeos-chrome +Cq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome +Cq-Include-Trybots: chrome/try:linux-pgo,mac-pgo,win32-pgo,win64-pgo +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3976312 +Reviewed-by: Nico Weber +Commit-Queue: Nico Weber +Reviewed-by: Hans Wennborg +Auto-Submit: Nico Weber +Cr-Commit-Position: refs/heads/main@{#1063747} + +diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py +index 244f103df4db5dd04c5f1a7821741c4a5486bdd1..6b13b7687d94f9e08b313b22c63588b4bc454297 100755 +--- a/tools/clang/scripts/update.py ++++ b/tools/clang/scripts/update.py +@@ -35,8 +35,8 @@ import zlib + # https://chromium.googlesource.com/chromium/src/+/main/docs/updating_clang.md + # Reverting problematic clang rolls is safe, though. + # This is the output of `git describe` and is usable as a commit-ish. +-CLANG_REVISION = 'llvmorg-16-init-8189-g97196a2d' +-CLANG_SUB_REVISION = 2 ++CLANG_REVISION = 'llvmorg-16-init-8697-g60809cd2' ++CLANG_SUB_REVISION = 1 + + PACKAGE_VERSION = '%s-%s' % (CLANG_REVISION, CLANG_SUB_REVISION) + RELEASE_VERSION = '16.0.0' diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch index 33b055b78964..d41f95eb923d 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 17b628006b06fd07c902ef2dcf1de4d5ac918dea..0b49ae9d5312e5fb2ad75ddb1812aa0777ef6e0c 100644 +index 5fa36b1a1329d99d7af656eb7114560955bf48e0..638734289630430eab2dac318a1c21460041dab5 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1273,7 +1273,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1281,7 +1281,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 a1672393ea17..8cb40f4bb64e 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,7 +22,7 @@ However, the patch would need to be reviewed by the security team, as it does touch a security-sensitive class. diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 446a67010214e68d5981c74e9c3923cec16edc60..d0b9284fcd1120722b751a462f7018353e7b07c3 100644 +index a0c3faf9fa20f55650745019613b18e615dd5e0f..92c10b616e04409b2758346c46b69ee94f4c0300 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -1766,9 +1766,15 @@ bool RenderProcessHostImpl::Init() { diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index 558372e3456b..564903e9f089 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 b4ca9ba85766357a76560b8440fcd6901c0b00cb..d40229af898fe65df610f229751da201f437d95c 100644 +index fc0b20e3ce29b51a752517487538a296bf7f753e..1b38a7a87ff0b057e42ac499ecd95ffd2a79b1cb 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3082,6 +3082,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3085,6 +3085,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 b4ca9ba85766357a76560b8440fcd6901c0b00cb..d40229af898fe65df610f229751da201 std::unique_ptr delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -3092,6 +3099,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3095,6 +3102,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, view_ = CreateWebContentsView(this, std::move(delegate), &render_view_host_delegate_view_); } @@ -35,7 +35,7 @@ index b4ca9ba85766357a76560b8440fcd6901c0b00cb..d40229af898fe65df610f229751da201 CHECK(view_.get()); diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index aea5078136b95310240c404a3b363cf6b9d3ab7a..29e51ec3e7b36a506e13cc4a18dfa4f9a68b93ce 100644 +index cc61bc1b435003c58d51f7e1c8656f96a28b8916..f0ca6d5d46e86bc85b60ff0de3185075f169075a 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h @@ -95,10 +95,13 @@ class BrowserContext; diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index dc6b91523fad..502a7a1d2a15 100644 --- a/patches/chromium/webview_fullscreen.patch +++ b/patches/chromium/webview_fullscreen.patch @@ -14,10 +14,10 @@ Note that we also need to manually update embedder's `api::WebContents::IsFullscreenForTabOrPending` value. diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 94690c49a771cb5ff873696bf0926972e7276d50..e6df759eff45383f809a98994bfae3b1d79807ef 100644 +index 09ea6b2f8ed3d0e089684ebf67133fc18ad0f0da..d659c06fa6b21b16beedb8e7d48c10a2154e7d95 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -6718,6 +6718,17 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -6719,6 +6719,17 @@ void RenderFrameHostImpl::EnterFullscreen( } } diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index 3d3bff45f250..a480cac71522 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -10,10 +10,10 @@ An attempt to upstream this was made, but rejected: https://chromium-review.googlesource.com/c/chromium/src/+/1954347 diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index 69e9da01fd70890a3df6c3c3959f87feb9ea316e..ce8cbdd6ce54bb2e0f1e6371679fc0d1438ae69c 100644 +index 09846e00f1a75b54ddfe9434521add4ce3b20e97..25b01a54932108c5a888607e19d76f2301e05b76 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -369,6 +369,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -373,6 +373,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} @@ -26,10 +26,10 @@ index 69e9da01fd70890a3df6c3c3959f87feb9ea316e..ce8cbdd6ce54bb2e0f1e6371679fc0d1 // 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 9a29b47834bd99129c73397e8873cedc8cf7f014..c3adc4563f0c5d8e50dc1f5acdd61f314b21493d 100644 +index ebf53c6a8bd70b159bb11f75fced1e01b22b9f3a..4f610343494ea807297e0cc1c95f84ea8b26523c 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -867,6 +867,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -877,6 +877,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } @@ -43,10 +43,10 @@ index 9a29b47834bd99129c73397e8873cedc8cf7f014..c3adc4563f0c5d8e50dc1f5acdd61f31 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 bb3be5a46b3dfd9f279c780d501a264cf4fc5be7..799cec3e793b1acf33864bea4d49b3544634781b 100644 +index ff010dfcbab92e236c394685269f78875ecdb558..7c6dd9ce93f78f248eb4c262ef30f964949545f2 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -181,6 +181,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 bb3be5a46b3dfd9f279c780d501a264cf4fc5be7..799cec3e793b1acf33864bea4d49b354 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 4bbd5c412ff46a865de52c07c0f91b2bd05ce476..9b4559f6dd51cec07a4fdc7da35ce645906f1a74 100644 +index 13ddc138a6dbdbed067c6e06900d33add92ed3d1..d18825243a1898afb92ca6d3d4aa60843bb74939 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -633,6 +633,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -636,6 +636,7 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} @@ -67,12 +67,12 @@ index 4bbd5c412ff46a865de52c07c0f91b2bd05ce476..9b4559f6dd51cec07a4fdc7da35ce645 const WebSecurityOrigin& script_origin) { return false; diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc -index 8bb4af88c478ba374682ee7fd56616336c1176b6..b5ab51bf0e8277794303046748ca43ed8cbcf9ba 100644 +index 9056d1bb293dfb8c40c7e3d3d94c238cd514a2aa..fc576e5ad08b93204e1ebfb5486d0ad15733f317 100644 --- a/third_party/blink/renderer/core/workers/worker_thread.cc +++ b/third_party/blink/renderer/core/workers/worker_thread.cc -@@ -745,6 +745,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { - nested_runner_->QuitNow(); +@@ -747,6 +747,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { } + pause_handle_.reset(); + { + v8::HandleScope handle_scope(GetIsolate()); 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 bd8eca6ea170..62a80c469cec 100644 --- a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch +++ b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch @@ -19,10 +19,10 @@ that clearly establishes the worker script is ready for evaluation with the scop initialized. diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h -index ce8cbdd6ce54bb2e0f1e6371679fc0d1438ae69c..4de6b91b2f182be488249bf2a47b376ada77c6e0 100644 +index 25b01a54932108c5a888607e19d76f2301e05b76..209b0a947d16118f1922be7063c0862e0feeb061 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -369,6 +369,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -373,6 +373,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} @@ -35,10 +35,10 @@ index ce8cbdd6ce54bb2e0f1e6371679fc0d1438ae69c..4de6b91b2f182be488249bf2a47b376a // 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 c3adc4563f0c5d8e50dc1f5acdd61f314b21493d..3460a40fb904ad0a976f53d5a53004692a75e380 100644 +index 4f610343494ea807297e0cc1c95f84ea8b26523c..e504fcc9d5d2d5ff5c2b184e8db18cb2763173f7 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -879,6 +879,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( +@@ -889,6 +889,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( worker); } @@ -52,10 +52,10 @@ index c3adc4563f0c5d8e50dc1f5acdd61f314b21493d..3460a40fb904ad0a976f53d5a5300469 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 799cec3e793b1acf33864bea4d49b3544634781b..c4f354300035bede81187ba490178e717a448665 100644 +index 7c6dd9ce93f78f248eb4c262ef30f964949545f2..282142eb34cedbac759df531131864153b67a50b 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h -@@ -181,6 +181,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 799cec3e793b1acf33864bea4d49b3544634781b..c4f354300035bede81187ba490178e71 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 9b4559f6dd51cec07a4fdc7da35ce645906f1a74..66f5268054cd00a8aa0f22cf5197a329b1ce38e5 100644 +index d18825243a1898afb92ca6d3d4aa60843bb74939..771bcc1b20c65fbf5274447b71c7efc55959e463 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h -@@ -633,6 +633,8 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -636,6 +636,8 @@ class BLINK_PLATFORM_EXPORT Platform { virtual void DidStartWorkerThread() {} virtual void WillStopWorkerThread() {} virtual void WorkerContextCreated(const v8::Local& worker) {} diff --git a/patches/node/.patches b/patches/node/.patches index 6ac58f432512..432a9d45b562 100644 --- a/patches/node/.patches +++ b/patches/node/.patches @@ -51,3 +51,5 @@ fixup_for_wc_98-compat-extra-semi.patch drop_deserializerequest_move_constructor_for_c_20_compat.patch fix_parallel_test-v8-stats.patch fix_expose_the_built-in_electron_module_via_the_esm_loader.patch +heap_remove_allocationspace_map_space_enum_constant.patch +test_remove_experimental-wasm-threads_flag.patch diff --git a/patches/node/heap_remove_allocationspace_map_space_enum_constant.patch b/patches/node/heap_remove_allocationspace_map_space_enum_constant.patch new file mode 100644 index 000000000000..fb20fdd2e751 --- /dev/null +++ b/patches/node/heap_remove_allocationspace_map_space_enum_constant.patch @@ -0,0 +1,20 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: John Kleinschmidt +Date: Wed, 26 Oct 2022 16:14:20 -0400 +Subject: Remove AllocationSpace::MAP_SPACE enum constant + +This was removed in: +https://chromium-review.googlesource.com/c/v8/v8/+/3967841 + +diff --git a/test/parallel/test-v8-stats.js b/test/parallel/test-v8-stats.js +index 98ad11f11f9b9bf5699801814f8234e84dfaf638..678cb7626bc82bea17129ce2f8a4590350bf0983 100644 +--- a/test/parallel/test-v8-stats.js ++++ b/test/parallel/test-v8-stats.js +@@ -41,7 +41,6 @@ const expectedHeapSpaces = [ + 'code_large_object_space', + 'code_space', + 'large_object_space', +- 'map_space', + 'new_large_object_space', + 'new_space', + 'old_space', diff --git a/patches/node/test_remove_experimental-wasm-threads_flag.patch b/patches/node/test_remove_experimental-wasm-threads_flag.patch new file mode 100644 index 000000000000..22f469666413 --- /dev/null +++ b/patches/node/test_remove_experimental-wasm-threads_flag.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= +Date: Thu, 20 Oct 2022 16:41:57 +0200 +Subject: test: remove experimental-wasm-threads flag +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It is already true by default in V8. + +Refs: https://github.com/v8/v8/commit/be9ff65a06963f9326756c056a338e1b9e07499c +PR-URL: https://github.com/nodejs/node/pull/45074 +Reviewed-By: Richard Lau +Reviewed-By: Antoine du Hamel +Reviewed-By: Colin Ihrig +Reviewed-By: James M Snell +Reviewed-By: Tobias Nießen + +diff --git a/test/parallel/test-worker-message-port-wasm-threads.js b/test/parallel/test-worker-message-port-wasm-threads.js +index 7eda7802348aaad90c8fc25ed4b2d51e8e9fadf0..4174a8951e9340f244355a07b6c631a0bb06e2c2 100644 +--- a/test/parallel/test-worker-message-port-wasm-threads.js ++++ b/test/parallel/test-worker-message-port-wasm-threads.js +@@ -1,4 +1,3 @@ +-// Flags: --experimental-wasm-threads + 'use strict'; + const common = require('../common'); + const assert = require('assert'); diff --git a/patches/v8/build_gn.patch b/patches/v8/build_gn.patch index d335c5f4af47..3ca5a0f0e3fc 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 bd6252bbce6c8232104b10a11395a83c272b3863..d6d3ab0cafe13334441594ab80cc62b46b79c50b 100644 +index cd2a20bce17c13b3d76844a7f9e7ba51ff91b6d6..76a75f15d9091333398922e3104e4343135d464c 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -634,7 +634,7 @@ config("internal_config") { +@@ -636,7 +636,7 @@ config("internal_config") { ":cppgc_header_features", ] @@ -21,7 +21,7 @@ index bd6252bbce6c8232104b10a11395a83c272b3863..d6d3ab0cafe13334441594ab80cc62b4 defines += [ "BUILDING_V8_SHARED" ] } -@@ -6072,7 +6072,7 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -6092,7 +6092,7 @@ if (current_toolchain == v8_generator_toolchain) { "src/interpreter/bytecodes.h", ] diff --git a/patches/v8/dcheck.patch b/patches/v8/dcheck.patch index 401b60573bfe..c8116def2906 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 14b7c541b3a9261fe1b5b0ee2e65be6bdd029f37..0bc26565403fa1a9827ced3bc6a49ca87bbf46c0 100644 +index fa6ac0acf064bc7921a0503eb1e545951aea3b7d..b0c41d6e3d4bea3ccfefd0f8289c97139fa48540 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -9283,7 +9283,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { +@@ -9302,7 +9302,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { } void Isolate::PerformMicrotaskCheckpoint() { 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 dc5b05d103a2..7acc8bb0173a 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 cda24079b700d0cde451ef84cc2e19345040f32d..f4b89fe682b0454729a00b0e9c929b8e9af74d5d 100644 +index 72eaa801a15a2828cb66b1b6874c48d76c58a238..408b4177bfd0ae971ce55d22edbbc2cae1bcc058 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -634,6 +634,10 @@ config("internal_config") { +@@ -636,6 +636,10 @@ config("internal_config") { ":cppgc_header_features", ] diff --git a/patches/v8/export_symbols_needed_for_windows_build.patch b/patches/v8/export_symbols_needed_for_windows_build.patch index 4c6ac1412015..7170c96a200e 100644 --- a/patches/v8/export_symbols_needed_for_windows_build.patch +++ b/patches/v8/export_symbols_needed_for_windows_build.patch @@ -6,7 +6,7 @@ Subject: Export symbols needed for Windows build These symbols are required to build v8 with BUILD_V8_SHARED on Windows. diff --git a/src/objects/objects.h b/src/objects/objects.h -index e1df081a5c72c5d021d46b535ad3eca1fd8661ef..c3a0cbf15a329d0e4e68aa5fd379352a1cc061ba 100644 +index 2b75ccf3218662621c7d6ae7323d6cda69592044..c81738275074f3710473aa8f3d67911cab1e158f 100644 --- a/src/objects/objects.h +++ b/src/objects/objects.h @@ -953,7 +953,7 @@ enum AccessorComponent { ACCESSOR_GETTER, ACCESSOR_SETTER }; diff --git a/patches/v8/expose_mksnapshot.patch b/patches/v8/expose_mksnapshot.patch index 5d96acce38af..56c18df4a5d4 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 d6d3ab0cafe13334441594ab80cc62b46b79c50b..cda24079b700d0cde451ef84cc2e19345040f32d 100644 +index 76a75f15d9091333398922e3104e4343135d464c..72eaa801a15a2828cb66b1b6874c48d76c58a238 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -6084,7 +6084,6 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -6104,7 +6104,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 823cfe0821f6..49da25e906f6 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,10 +6,10 @@ 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 a959be130d5319751ce32740e9d6ac0df5194162..5c2c78d978eb46775a2f1ebffac13a15cff1728d 100644 +index 2ac27b36b47ee3b1ded9e4690f6c537b6d76d056..d3aedea22529c03284f37608acecce1c9303ea2c 100644 --- a/include/v8config.h +++ b/include/v8config.h -@@ -471,10 +471,13 @@ path. Add it with -I to the command line +@@ -486,10 +486,13 @@ path. Add it with -I to the command line # define V8_NOINLINE /* NOT SUPPORTED */ #endif @@ -25,7 +25,7 @@ index a959be130d5319751ce32740e9d6ac0df5194162..5c2c78d978eb46775a2f1ebffac13a15 #else # define V8_DEPRECATED(message) #endif -@@ -482,7 +485,11 @@ path. Add it with -I to the command line +@@ -497,7 +500,11 @@ path. Add it with -I to the command line // A macro (V8_DEPRECATE_SOON) to make it easier to see what will be deprecated. #if defined(V8_IMMINENT_DEPRECATION_WARNINGS) @@ -38,7 +38,7 @@ index a959be130d5319751ce32740e9d6ac0df5194162..5c2c78d978eb46775a2f1ebffac13a15 #else # define V8_DEPRECATE_SOON(message) #endif -@@ -516,7 +523,7 @@ path. Add it with -I to the command line +@@ -531,7 +538,7 @@ path. Add it with -I to the command line END_ALLOW_USE_DEPRECATED() diff --git a/patches/v8/fix_disable_implies_dcheck_for_node_stream_array_buffers.patch b/patches/v8/fix_disable_implies_dcheck_for_node_stream_array_buffers.patch index 8783d763efae..82cd40f1b9cc 100644 --- a/patches/v8/fix_disable_implies_dcheck_for_node_stream_array_buffers.patch +++ b/patches/v8/fix_disable_implies_dcheck_for_node_stream_array_buffers.patch @@ -18,10 +18,10 @@ This patch can be removed when streams support rab/gsab, or when support is synchronized across both v8 and node. diff --git a/src/objects/js-array-buffer.cc b/src/objects/js-array-buffer.cc -index a1aca2a9dfef5a2b843ff345ae30506578d6f0c1..d580b70cd94b646cb86f1c035981c4a587d7b6c2 100644 +index 3695e9a17e5bb435a9b8a1a79ee68fab5c83cdb3..1c07176ef3c876cb7cb456dad4ffb9bcbf7a125b 100644 --- a/src/objects/js-array-buffer.cc +++ b/src/objects/js-array-buffer.cc -@@ -71,9 +71,9 @@ void JSArrayBuffer::Attach(std::shared_ptr backing_store) { +@@ -73,9 +73,9 @@ void JSArrayBuffer::Attach(std::shared_ptr backing_store) { DCHECK_NOT_NULL(backing_store); DCHECK_EQ(is_shared(), backing_store->is_shared()); DCHECK_EQ(is_resizable_by_js(), backing_store->is_resizable_by_js()); 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 4ea28281865f..54749a2cc029 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 f58636fee555d782e18b7521c0c4f28ed60b3a52..6b0c63b34ff09f70cb9a4fe419f3b9bb 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 68dd0da0750948d74bdcfeff4b25693e6d03855e..4b9bf906b90762749011ab7c21c43d9e862f1fda 100644 +index 02e9e47d91a27be970faf8fb4c56924c32d14575..ce241314fb56ab3dc4eefdec9e433f2013418f0b 100644 --- a/src/codegen/code-stub-assembler.cc +++ b/src/codegen/code-stub-assembler.cc -@@ -6257,12 +6257,6 @@ void CodeStubAssembler::SetPendingMessage(TNode message) { +@@ -6271,12 +6271,6 @@ void CodeStubAssembler::SetPendingMessage(TNode message) { StoreFullTaggedNoWriteBarrier(pending_message, message); } @@ -35,10 +35,10 @@ index 68dd0da0750948d74bdcfeff4b25693e6d03855e..4b9bf906b90762749011ab7c21c43d9e 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 6d654b5d5fa3f996ed488e51f58b14a297531cdf..2f705993ba1de7dec89d6edcb46ada63cf29cc92 100644 +index 52418a6daca749c267d942f73af907bc624bb9c1..d4ae8a47054f59cff25abcd7b8e39ce5af5eebfa 100644 --- a/src/codegen/code-stub-assembler.h +++ b/src/codegen/code-stub-assembler.h -@@ -2586,7 +2586,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler +@@ -2590,7 +2590,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler TNode GetPendingMessage(); void SetPendingMessage(TNode message); diff --git a/shell/app/electron_content_client.cc b/shell/app/electron_content_client.cc index a1b375973a9a..c855cba599f5 100644 --- a/shell/app/electron_content_client.cc +++ b/shell/app/electron_content_client.cc @@ -43,7 +43,6 @@ #endif // BUILDFLAG(ENABLE_PDF_VIEWER) #if BUILDFLAG(ENABLE_PLUGINS) -#include "content/public/browser/plugin_service.h" #include "content/public/common/content_plugin_info.h" #include "ppapi/shared_impl/ppapi_permissions.h" #include "ppapi/shared_impl/ppapi_switches.h" // nogncheck crbug.com/1125897 @@ -121,20 +120,6 @@ void ComputeBuiltInPlugins(std::vector* plugins) { "Portable Document Format"); pdf_info.mime_types.push_back(pdf_mime_type); plugins->push_back(pdf_info); - - // NB. in Chrome, this plugin isn't registered until the PDF extension is - // loaded. However, in Electron, we load the PDF extension unconditionally - // when it is enabled in the build, so we're OK to load the plugin eagerly - // here. - content::WebPluginInfo info; - info.type = content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN; - info.name = base::ASCIIToUTF16(kPDFExtensionPluginName); - // This isn't a real file path; it's just used as a unique identifier. - info.path = base::FilePath::FromUTF8Unsafe(extension_misc::kPdfExtensionId); - info.background_color = content::WebPluginInfo::kDefaultBackgroundColor; - info.mime_types.emplace_back(kPDFMimeType, "pdf", "Portable Document Format"); - content::PluginService::GetInstance()->RefreshPlugins(); - content::PluginService::GetInstance()->RegisterInternalPlugin(info, true); #endif // BUILDFLAG(ENABLE_PDF_VIEWER) } #endif // BUILDFLAG(ENABLE_PLUGINS) diff --git a/shell/browser/api/electron_api_browser_window.cc b/shell/browser/api/electron_api_browser_window.cc index fdf191eaaead..57478700911a 100644 --- a/shell/browser/api/electron_api_browser_window.cc +++ b/shell/browser/api/electron_api_browser_window.cc @@ -73,17 +73,6 @@ BrowserWindow::BrowserWindow(gin::Arguments* args, web_preferences.Set(options::kShow, show); } - bool titleBarOverlay = false; - options.Get(options::ktitleBarOverlay, &titleBarOverlay); - if (titleBarOverlay) { - std::string enabled_features = ""; - if (web_preferences.Get(options::kEnableBlinkFeatures, &enabled_features)) { - enabled_features += ","; - } - enabled_features += features::kWebAppWindowControlsOverlay.name; - web_preferences.Set(options::kEnableBlinkFeatures, enabled_features); - } - // Copy the webContents option to webPreferences. v8::Local value; if (options.Get("webContents", &value)) { diff --git a/shell/browser/api/electron_api_session.cc b/shell/browser/api/electron_api_session.cc index c70f692a3426..b39b053119bf 100644 --- a/shell/browser/api/electron_api_session.cc +++ b/shell/browser/api/electron_api_session.cc @@ -138,8 +138,6 @@ uint32_t GetQuotaMask(const std::vector& quota_types) { auto type = base::ToLowerASCII(it); if (type == "temporary") quota_mask |= StoragePartition::QUOTA_MANAGED_STORAGE_MASK_TEMPORARY; - else if (type == "persistent") - quota_mask |= StoragePartition::QUOTA_MANAGED_STORAGE_MASK_PERSISTENT; else if (type == "syncable") quota_mask |= StoragePartition::QUOTA_MANAGED_STORAGE_MASK_SYNCABLE; } diff --git a/shell/browser/electron_browser_client.cc b/shell/browser/electron_browser_client.cc index f98f0d676b93..903c2c0d5be7 100644 --- a/shell/browser/electron_browser_client.cc +++ b/shell/browser/electron_browser_client.cc @@ -83,7 +83,6 @@ #include "shell/browser/electron_browser_context.h" #include "shell/browser/electron_browser_main_parts.h" #include "shell/browser/electron_navigation_throttle.h" -#include "shell/browser/electron_quota_permission_context.h" #include "shell/browser/electron_speech_recognition_manager_delegate.h" #include "shell/browser/electron_web_contents_utility_handler_impl.h" #include "shell/browser/font_defaults.h" @@ -603,11 +602,6 @@ std::string ElectronBrowserClient::GetGeolocationApiKey() { return api_key; } -scoped_refptr -ElectronBrowserClient::CreateQuotaPermissionContext() { - return base::MakeRefCounted(); -} - content::GeneratedCodeCacheSettings ElectronBrowserClient::GetGeneratedCodeCacheSettings( content::BrowserContext* context) { diff --git a/shell/browser/electron_browser_client.h b/shell/browser/electron_browser_client.h index 00af11c48b00..143b6d7b13ac 100644 --- a/shell/browser/electron_browser_client.h +++ b/shell/browser/electron_browser_client.h @@ -125,8 +125,6 @@ class ElectronBrowserClient : public content::ContentBrowserClient, int child_process_id) override; void DidCreatePpapiPlugin(content::BrowserPpapiHost* browser_host) override; std::string GetGeolocationApiKey() override; - scoped_refptr CreateQuotaPermissionContext() - override; content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings( content::BrowserContext* context) override; void AllowCertificateError( diff --git a/shell/browser/electron_browser_main_parts.cc b/shell/browser/electron_browser_main_parts.cc index 1a962b4c6719..64fd9746449d 100644 --- a/shell/browser/electron_browser_main_parts.cc +++ b/shell/browser/electron_browser_main_parts.cc @@ -7,6 +7,7 @@ #include #include #include +#include #include "base/base_switches.h" #include "base/command_line.h" @@ -117,6 +118,11 @@ #include "chrome/browser/spellchecker/spellcheck_factory.h" // nogncheck #endif +#if BUILDFLAG(ENABLE_PLUGINS) +#include "content/public/browser/plugin_service.h" +#include "shell/common/plugin_info.h" +#endif // BUILDFLAG(ENABLE_PLUGINS) + namespace electron { namespace { @@ -390,6 +396,18 @@ void ElectronBrowserMainParts::PostCreateThreads() { content::GetIOThreadTaskRunner({})->PostTask( FROM_HERE, base::BindOnce(&tracing::TracingSamplerProfiler::CreateOnChildThread)); +#if BUILDFLAG(ENABLE_PLUGINS) + // PluginService can only be used on the UI thread + // and ContentClient::AddPlugins gets called for both browser and render + // process where the latter will not have UI thread which leads to DCHECK. + // Separate the WebPluginInfo registration for these processes. + std::vector plugins; + auto* plugin_service = content::PluginService::GetInstance(); + plugin_service->RefreshPlugins(); + GetInternalPlugins(&plugins); + for (const auto& plugin : plugins) + plugin_service->RegisterInternalPlugin(plugin, true); +#endif } void ElectronBrowserMainParts::PostDestroyThreads() { diff --git a/shell/browser/electron_quota_permission_context.cc b/shell/browser/electron_quota_permission_context.cc deleted file mode 100644 index cdb79b533113..000000000000 --- a/shell/browser/electron_quota_permission_context.cc +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) 2015 GitHub, Inc. -// Use of this source code is governed by the MIT license that can be -// found in the LICENSE file. - -#include "shell/browser/electron_quota_permission_context.h" - -#include - -#include "content/public/common/storage_quota_params.h" - -namespace electron { - -ElectronQuotaPermissionContext::ElectronQuotaPermissionContext() = default; - -ElectronQuotaPermissionContext::~ElectronQuotaPermissionContext() = default; - -void ElectronQuotaPermissionContext::RequestQuotaPermission( - const content::StorageQuotaParams& params, - int render_process_id, - PermissionCallback callback) { - std::move(callback).Run(response::QUOTA_PERMISSION_RESPONSE_ALLOW); -} - -} // namespace electron diff --git a/shell/browser/electron_quota_permission_context.h b/shell/browser/electron_quota_permission_context.h deleted file mode 100644 index 219a8e57ffdf..000000000000 --- a/shell/browser/electron_quota_permission_context.h +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2015 GitHub, Inc. -// Use of this source code is governed by the MIT license that can be -// found in the LICENSE file. - -#ifndef ELECTRON_SHELL_BROWSER_ELECTRON_QUOTA_PERMISSION_CONTEXT_H_ -#define ELECTRON_SHELL_BROWSER_ELECTRON_QUOTA_PERMISSION_CONTEXT_H_ - -#include "content/public/browser/quota_permission_context.h" - -namespace content { -struct StorageQuotaParams; -} - -namespace electron { - -class ElectronQuotaPermissionContext : public content::QuotaPermissionContext { - public: - typedef content::QuotaPermissionContext::QuotaPermissionResponse response; - - ElectronQuotaPermissionContext(); - - // disable copy - ElectronQuotaPermissionContext(const ElectronQuotaPermissionContext&) = - delete; - ElectronQuotaPermissionContext& operator=( - const ElectronQuotaPermissionContext&) = delete; - - // content::QuotaPermissionContext: - void RequestQuotaPermission(const content::StorageQuotaParams& params, - int render_process_id, - PermissionCallback callback) override; - - private: - ~ElectronQuotaPermissionContext() override; -}; - -} // namespace electron - -#endif // ELECTRON_SHELL_BROWSER_ELECTRON_QUOTA_PERMISSION_CONTEXT_H_ 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 fa323c666900..3cf284aad1a6 100644 --- a/shell/browser/ui/electron_desktop_window_tree_host_linux.cc +++ b/shell/browser/ui/electron_desktop_window_tree_host_linux.cc @@ -78,6 +78,14 @@ void ElectronDesktopWindowTreeHostLinux::OnWindowStateChanged( UpdateWindowState(new_state); } +void ElectronDesktopWindowTreeHostLinux::OnWindowTiledStateChanged( + ui::WindowTiledEdges new_tiled_edges) { + static_cast( + native_window_view_->widget()->non_client_view()->frame_view()) + ->set_tiled_edges(new_tiled_edges); + UpdateFrameHints(); +} + void ElectronDesktopWindowTreeHostLinux::UpdateWindowState( ui::PlatformWindowState new_state) { if (window_state_ == new_state) @@ -159,7 +167,15 @@ void ElectronDesktopWindowTreeHostLinux::UpdateClientDecorationHints( input_insets = view->GetInputInsets(); } - + const auto tiled_edges = view->tiled_edges(); + if (tiled_edges.left) + insets.set_left(0); + if (tiled_edges.right) + insets.set_right(0); + if (tiled_edges.top) + insets.set_top(0); + if (tiled_edges.bottom) + insets.set_bottom(0); gfx::Insets scaled_insets = gfx::ScaleToCeiledInsets(insets, scale); window->SetDecorationInsets(&scaled_insets); 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 6a6130b4489b..e437c055932d 100644 --- a/shell/browser/ui/electron_desktop_window_tree_host_linux.h +++ b/shell/browser/ui/electron_desktop_window_tree_host_linux.h @@ -46,6 +46,7 @@ class ElectronDesktopWindowTreeHostLinux void OnBoundsChanged(const BoundsChange& change) override; void OnWindowStateChanged(ui::PlatformWindowState old_state, ui::PlatformWindowState new_state) override; + void OnWindowTiledStateChanged(ui::WindowTiledEdges new_tiled_edges) override; // ui::NativeThemeObserver: void OnNativeThemeUpdated(ui::NativeTheme* observed_theme) override; diff --git a/shell/browser/ui/views/client_frame_view_linux.cc b/shell/browser/ui/views/client_frame_view_linux.cc index 9c22c9d09bc2..82b8f93e85df 100644 --- a/shell/browser/ui/views/client_frame_view_linux.cc +++ b/shell/browser/ui/views/client_frame_view_linux.cc @@ -295,7 +295,7 @@ void ClientFrameViewLinux::OnPaint(gfx::Canvas* canvas) { if (!frame_->IsFullscreen()) { frame_provider_->PaintWindowFrame(canvas, GetLocalBounds(), GetTitlebarBounds().bottom(), - ShouldPaintAsActive()); + ShouldPaintAsActive(), tiled_edges()); } } diff --git a/shell/browser/ui/views/client_frame_view_linux.h b/shell/browser/ui/views/client_frame_view_linux.h index c9f33d146e00..7cc2dab74e1b 100644 --- a/shell/browser/ui/views/client_frame_view_linux.h +++ b/shell/browser/ui/views/client_frame_view_linux.h @@ -11,6 +11,7 @@ #include "base/scoped_observation.h" #include "shell/browser/ui/views/frameless_view.h" +#include "ui/base/ui_base_types.h" #include "ui/linux/linux_ui.h" #include "ui/linux/nav_button_provider.h" #include "ui/linux/window_button_order_observer.h" @@ -39,6 +40,11 @@ class ClientFrameViewLinux : public FramelessView, gfx::Insets GetInputInsets() const; gfx::Rect GetWindowContentBounds() const; SkRRect GetRoundedWindowContentBounds() const; + // Returns which edges of the frame are tiled. + const ui::WindowTiledEdges& tiled_edges() const { return tiled_edges_; } + void set_tiled_edges(ui::WindowTiledEdges tiled_edges) { + tiled_edges_ = tiled_edges; + } protected: // ui::NativeThemeObserver: @@ -137,6 +143,8 @@ class ClientFrameViewLinux : public FramelessView, window_button_order_observer_{this}; base::CallbackListSubscription paint_as_active_changed_subscription_; + + ui::WindowTiledEdges tiled_edges_; }; } // namespace electron diff --git a/shell/common/gin_converters/content_converter.cc b/shell/common/gin_converters/content_converter.cc index f2456f4eda45..71c2e9bb247b 100644 --- a/shell/common/gin_converters/content_converter.cc +++ b/shell/common/gin_converters/content_converter.cc @@ -190,8 +190,8 @@ v8::Local Converter::ToV8( return StringToV8(isolate, "vr"); case blink::PermissionType::WAKE_LOCK_SYSTEM: return StringToV8(isolate, "system-wake-lock"); - case blink::PermissionType::WINDOW_PLACEMENT: - return StringToV8(isolate, "window-placement"); + case blink::PermissionType::WINDOW_MANAGEMENT: + return StringToV8(isolate, "window-management"); case blink::PermissionType::DISPLAY_CAPTURE: return StringToV8(isolate, "display-capture"); case blink::PermissionType::NUM: diff --git a/shell/common/plugin_info.cc b/shell/common/plugin_info.cc new file mode 100644 index 000000000000..81f2cd16e2c0 --- /dev/null +++ b/shell/common/plugin_info.cc @@ -0,0 +1,39 @@ +// Copyright (c) 2022 GitHub, Inc. +// Use of this source code is governed by the MIT license that can be +// found in the LICENSE file. + +#include "shell/common/plugin_info.h" + +#if BUILDFLAG(ENABLE_PDF_VIEWER) +#include "base/strings/utf_string_conversions.h" +#include "chrome/common/pdf_util.h" +#include "extensions/common/constants.h" +#include "shell/common/electron_constants.h" +#endif // BUILDFLAG(ENABLE_PDF_VIEWER) + +namespace electron { + +void GetInternalPlugins(std::vector* plugins) { +#if BUILDFLAG(ENABLE_PDF_VIEWER) + // NB. in Chrome, this plugin isn't registered until the PDF extension is + // loaded. However, in Electron, we load the PDF extension unconditionally + // when it is enabled in the build, so we're OK to load the plugin eagerly + // here. + plugins->push_back(GetPDFPluginInfo()); +#endif +} + +#if BUILDFLAG(ENABLE_PDF_VIEWER) +content::WebPluginInfo GetPDFPluginInfo() { + content::WebPluginInfo info; + info.type = content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN; + info.name = base::ASCIIToUTF16(kPDFExtensionPluginName); + // This isn't a real file path; it's just used as a unique identifier. + info.path = base::FilePath::FromUTF8Unsafe(extension_misc::kPdfExtensionId); + info.background_color = content::WebPluginInfo::kDefaultBackgroundColor; + info.mime_types.emplace_back(kPDFMimeType, "pdf", "Portable Document Format"); + return info; +} +#endif // BUILDFLAG(ENABLE_PDF_VIEWER) + +} // namespace electron diff --git a/shell/common/plugin_info.h b/shell/common/plugin_info.h new file mode 100644 index 000000000000..94b5f009e08e --- /dev/null +++ b/shell/common/plugin_info.h @@ -0,0 +1,23 @@ +// Copyright (c) 2022 GitHub, Inc. +// Use of this source code is governed by the MIT license that can be +// found in the LICENSE file. + +#ifndef ELECTRON_SHELL_COMMON_PLUGIN_INFO_H_ +#define ELECTRON_SHELL_COMMON_PLUGIN_INFO_H_ + +#include + +#include "content/public/common/content_plugin_info.h" +#include "electron/buildflags/buildflags.h" + +namespace electron { + +void GetInternalPlugins(std::vector* plugins); + +#if BUILDFLAG(ENABLE_PDF_VIEWER) +content::WebPluginInfo GetPDFPluginInfo(); +#endif // BUILDFLAG(ENABLE_PDF_VIEWER) + +} // namespace electron + +#endif // ELECTRON_SHELL_COMMON_PLUGIN_INFO_H_ diff --git a/shell/common/v8_value_serializer.cc b/shell/common/v8_value_serializer.cc index c66e85f893c5..6ede4c21dbe4 100644 --- a/shell/common/v8_value_serializer.cc +++ b/shell/common/v8_value_serializer.cc @@ -19,7 +19,11 @@ namespace electron { namespace { -enum SerializationTag { kNativeImageTag = 'i', kVersionTag = 0xFF }; +enum SerializationTag { + kNativeImageTag = 'i', + kTrailerOffsetTag = 0xFE, + kVersionTag = 0xFF +}; } // namespace class V8Serializer : public v8::ValueSerializer::Delegate { @@ -167,6 +171,23 @@ class V8Deserializer : public v8::ValueDeserializer::Delegate { return false; if (!deserializer_.ReadUint32(blink_version)) return false; + static constexpr uint32_t kMinWireFormatVersionWithTrailer = 21; + if (*blink_version >= kMinWireFormatVersionWithTrailer) { + // In these versions, we expect kTrailerOffsetTag (0xFE) followed by an + // offset and size. See details in + // third_party/blink/renderer/core/v8/serialization/serialization_tag.h. + uint8_t trailer_offset_tag = 0; + if (!ReadTag(&trailer_offset_tag) || + trailer_offset_tag != kTrailerOffsetTag) + return false; + const void* trailer_offset_and_size_bytes = nullptr; + static constexpr size_t kTrailerOffsetDataSize = + sizeof(uint64_t) + sizeof(uint32_t); + if (!deserializer_.ReadRawBytes(kTrailerOffsetDataSize, + &trailer_offset_and_size_bytes)) + return false; + } + return true; } diff --git a/shell/renderer/renderer_client_base.cc b/shell/renderer/renderer_client_base.cc index cdef182a5473..8923708ab662 100644 --- a/shell/renderer/renderer_client_base.cc +++ b/shell/renderer/renderer_client_base.cc @@ -73,6 +73,7 @@ #endif // BUILDFLAG(ENABLE_PDF_VIEWER) #if BUILDFLAG(ENABLE_PLUGINS) +#include "shell/common/plugin_info.h" #include "shell/renderer/pepper_helper.h" #endif // BUILDFLAG(ENABLE_PLUGINS) @@ -420,19 +421,12 @@ bool RendererClientBase::IsPluginHandledExternally( ->CreateFrameContainer(plugin_element, original_url, mime_type, info); } - // TODO(nornagon): this info should be shared with the data in - // electron_content_client.cc / ComputeBuiltInPlugins. - content::WebPluginInfo info; - info.type = content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN; - info.name = base::ASCIIToUTF16(kPDFExtensionPluginName); - info.path = base::FilePath::FromUTF8Unsafe(extension_misc::kPdfExtensionId); - info.background_color = content::WebPluginInfo::kDefaultBackgroundColor; - info.mime_types.emplace_back(kPDFMimeType, "pdf", "Portable Document Format"); return extensions::MimeHandlerViewContainerManager::Get( content::RenderFrame::FromWebFrame( plugin_element.GetDocument().GetFrame()), true /* create_if_does_not_exist */) - ->CreateFrameContainer(plugin_element, original_url, mime_type, info); + ->CreateFrameContainer(plugin_element, original_url, mime_type, + GetPDFPluginInfo()); #else return false; #endif diff --git a/spec-chromium/BUILD.gn b/spec-chromium/BUILD.gn index 8385f6b83565..39b9886dcf34 100644 --- a/spec-chromium/BUILD.gn +++ b/spec-chromium/BUILD.gn @@ -47,7 +47,7 @@ group("chromium_unittests") { "//v8/test/unittests:unittests", ] - if (enable_basic_printing) { + if (enable_printing) { deps += [ "//printing:printing_unittests" ] } diff --git a/spec/chromium-spec.ts b/spec/chromium-spec.ts index 244363c1e8a2..1bda05652755 100644 --- a/spec/chromium-spec.ts +++ b/spec/chromium-spec.ts @@ -2359,6 +2359,8 @@ describe('navigator.serial', () => { `, true); }; + const notFoundError = 'NotFoundError: Failed to execute \'requestPort\' on \'Serial\': No port selected by the user.'; + after(closeAllWindows); afterEach(() => { session.defaultSession.setPermissionCheckHandler(null); @@ -2368,7 +2370,7 @@ describe('navigator.serial', () => { it('does not return a port if select-serial-port event is not defined', async () => { w.loadFile(path.join(fixturesPath, 'pages', 'blank.html')); const port = await getPorts(); - expect(port).to.equal('NotFoundError: No port selected by the user.'); + expect(port).to.equal(notFoundError); }); it('does not return a port when permission denied', async () => { @@ -2377,7 +2379,7 @@ describe('navigator.serial', () => { }); session.defaultSession.setPermissionCheckHandler(() => false); const port = await getPorts(); - expect(port).to.equal('NotFoundError: No port selected by the user.'); + expect(port).to.equal(notFoundError); }); it('does not crash when select-serial-port is called with an invalid port', async () => { @@ -2385,7 +2387,7 @@ describe('navigator.serial', () => { callback('i-do-not-exist'); }); const port = await getPorts(); - expect(port).to.equal('NotFoundError: No port selected by the user.'); + expect(port).to.equal(notFoundError); }); it('returns a port when select-serial-port event is defined', async () => { @@ -2402,7 +2404,7 @@ describe('navigator.serial', () => { if (havePorts) { expect(port).to.equal('[object SerialPort]'); } else { - expect(port).to.equal('NotFoundError: No port selected by the user.'); + expect(port).to.equal(notFoundError); } }); @@ -2727,9 +2729,7 @@ describe('navigator.hid', () => { } else { expect(device).to.equal(''); } - if (process.arch === 'arm64' || process.arch === 'arm') { - // arm CI returns HID devices - this block may need to change if CI hardware changes. - expect(haveDevices).to.be.true(); + if (haveDevices) { // Verify that navigation will clear device permissions const grantedDevices = await w.webContents.executeJavaScript('navigator.hid.getDevices()'); expect(grantedDevices).to.not.be.empty();