diff --git a/DEPS b/DEPS index 45f7b8e6e8..b6f91c4e5e 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '107.0.5286.0', + '108.0.5329.0', 'node_version': 'v16.17.1', 'nan_version': diff --git a/build/args/all.gn b/build/args/all.gn index 665c659def..e52c967852 100644 --- a/build/args/all.gn +++ b/build/args/all.gn @@ -45,3 +45,6 @@ enable_cet_shadow_stack = false # V8 in the browser process. # Ref: https://source.chromium.org/chromium/chromium/src/+/45fba672185aae233e75d6ddc81ea1e0b30db050:v8/BUILD.gn;l=281 is_cfi = false + +# TODO: fix this once sysroots have been updated. +use_qt = false diff --git a/patches/boringssl/expose_aes-cfb.patch b/patches/boringssl/expose_aes-cfb.patch index f7c95c9524..1f096efb65 100644 --- a/patches/boringssl/expose_aes-cfb.patch +++ b/patches/boringssl/expose_aes-cfb.patch @@ -58,7 +58,7 @@ index 852b76bea69988e0b3ac76a17b603128f239dde0..d443f4dc2daea0b7aa86ae75d31d995f callback(EVP_aes_192_ctr(), "aes-192-ctr", NULL, arg); callback(EVP_aes_256_ctr(), "aes-256-ctr", NULL, arg); diff --git a/include/openssl/cipher.h b/include/openssl/cipher.h -index 380d25d9c2a8efb0636db5749a8e3b1ba6908ad5..7a5aa1c142e15cf06e63882e83d82a93c0d38785 100644 +index ba4b6983f5e898b5300ee7a5d683e0cba94682e8..1117a007da931e005b41e9d97672bdfd4eb61449 100644 --- a/include/openssl/cipher.h +++ b/include/openssl/cipher.h @@ -460,6 +460,7 @@ OPENSSL_EXPORT const EVP_CIPHER *EVP_des_ede3_ecb(void); diff --git a/patches/boringssl/revert_track_ssl_error_zero_return_explicitly.patch b/patches/boringssl/revert_track_ssl_error_zero_return_explicitly.patch index da447887c5..db565208cc 100644 --- a/patches/boringssl/revert_track_ssl_error_zero_return_explicitly.patch +++ b/patches/boringssl/revert_track_ssl_error_zero_return_explicitly.patch @@ -20,7 +20,7 @@ index 2ca14efae5ea478f43794a81883b00dfdb1a37b0..d73055fbf39334925ef4b4804bbaca57 case ssl_open_record_error: diff --git a/ssl/ssl_lib.cc b/ssl/ssl_lib.cc -index 82acb6534f3520b0161b80ca0d9247221002afeb..ae02d8cf9f136909259046bd259e18f6c3092323 100644 +index 1b2e9f41da12c3a3863d7862ccf95f1d6c54e8f4..4f5bdf7240e741c498e0927abd7aff06cb914f0c 100644 --- a/ssl/ssl_lib.cc +++ b/ssl/ssl_lib.cc @@ -1319,7 +1319,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) { @@ -32,7 +32,7 @@ index 82acb6534f3520b0161b80ca0d9247221002afeb..ae02d8cf9f136909259046bd259e18f6 return SSL_ERROR_ZERO_RETURN; } // An EOF was observed which violates the protocol, and the underlying -@@ -2576,13 +2576,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) { +@@ -2592,13 +2592,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) { return CRYPTO_get_ex_data(&ctx->ex_data, idx); } diff --git a/patches/chromium/.patches b/patches/chromium/.patches index efa176d161..3b356b4ab0 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -85,7 +85,6 @@ build_libc_as_static_library.patch build_do_not_depend_on_packed_resource_integrity.patch refactor_restore_base_adaptcallbackforrepeating.patch hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch -don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch logging_win32_only_create_a_console_if_logging_to_stderr.patch fix_media_key_usage_with_globalshortcuts.patch feat_expose_raw_response_headers_from_urlloader.patch @@ -117,7 +116,6 @@ add_maximized_parameter_to_linuxui_getwindowframeprovider.patch revert_spellcheck_fully_launch_spell_check_delayed_initialization.patch add_electron_deps_to_license_credits_file.patch feat_add_set_can_resize_mutator.patch -fix_revert_emulationhandler_update_functions_to_early_return.patch fix_crash_loading_non-standard_schemes_in_iframes.patch disable_optimization_guide_for_preconnect_feature.patch fix_return_v8_value_from_localframe_requestexecutescript.patch diff --git a/patches/chromium/accelerator.patch b/patches/chromium/accelerator.patch index 4786fa2f37..f2a09a1d73 100644 --- a/patches/chromium/accelerator.patch +++ b/patches/chromium/accelerator.patch @@ -10,7 +10,7 @@ This patch makes three changes to Accelerator::GetShortcutText to improve shortc 3. Ctrl-Shift-= and Ctrl-Plus show up as such diff --git a/ui/base/accelerators/accelerator.cc b/ui/base/accelerators/accelerator.cc -index e032433d7096a941132c25528781ecbf375eb9af..33d88f947bc9a0a4795f1584e114952f942b277b 100644 +index 2b38e56d26ae7738d82e14094c2d63357a9eb1ef..23e73566e444ab9ff3e409b0b87024be327e2dc4 100644 --- a/ui/base/accelerators/accelerator.cc +++ b/ui/base/accelerators/accelerator.cc @@ -11,6 +11,7 @@ @@ -63,7 +63,7 @@ index e032433d7096a941132c25528781ecbf375eb9af..33d88f947bc9a0a4795f1584e114952f if (IsCmdDown()) { diff --git a/ui/base/accelerators/accelerator.h b/ui/base/accelerators/accelerator.h -index e0d9df439d120c0a47f55666b3818c7ba6796e70..283c6283f5aeaae1a5436e5fbb17ce2db4a9034e 100644 +index bcc44522d01713aad2231417e1e6c89c9004dc29..1e2836e2de583cb3bd6d7fca5cc6b34f0f6e8418 100644 --- a/ui/base/accelerators/accelerator.h +++ b/ui/base/accelerators/accelerator.h @@ -16,6 +16,7 @@ diff --git a/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch b/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch index b6a40adbe9..3f95323956 100644 --- a/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch +++ b/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch @@ -10,7 +10,7 @@ Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set. This should be upstreamed. diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc -index d435206f773dd30086ae81868412bc28029935d8..a0856c214d962199a2e51c7bd14f0f676d35507e 100644 +index 160763ceb331840027f4e150c8f905111bfa04c6..41504c1b62b6a6fe3509ce7c0732dc3c20fe76d0 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc @@ -239,6 +239,10 @@ int GpuMain(MainFunctionParams parameters) { @@ -33,7 +33,7 @@ index d435206f773dd30086ae81868412bc28029935d8..a0856c214d962199a2e51c7bd14f0f67 client->PostSandboxInitialized(); } diff --git a/content/public/gpu/content_gpu_client.h b/content/public/gpu/content_gpu_client.h -index e7811da60f78b5dcf782f832933c164d08b982bb..938f70f5545e252516dc940d07fc940a61685a10 100644 +index 3020e59f491f95740983b01c16e2a5be01d60f67..b25140275ce636717ca60a3cb17eb2f35f50d8be 100644 --- a/content/public/gpu/content_gpu_client.h +++ b/content/public/gpu/content_gpu_client.h @@ -30,6 +30,10 @@ class CONTENT_EXPORT ContentGpuClient { diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index af299ff034..354d37249a 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -10,10 +10,10 @@ DidCreateScriptContext is called, not all JS APIs are available in the context, which can cause some preload scripts to trip. diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h -index 9bdb516d44cf69fa438f99a7bdb0df9c989465a7..fa235f8993cfdb7dce2da0b505ebe2461334a9b9 100644 +index 158c3764a375f8df32e25e12351b0dcf4efaac17..0acaa8858f2667124b702f9a8f4d2f28adf36d61 100644 --- a/content/public/renderer/render_frame_observer.h +++ b/content/public/renderer/render_frame_observer.h -@@ -136,6 +136,8 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener, +@@ -135,6 +135,8 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener, virtual void DidHandleOnloadEvents() {} virtual void DidCreateScriptContext(v8::Local context, int32_t world_id) {} @@ -23,7 +23,7 @@ index 9bdb516d44cf69fa438f99a7bdb0df9c989465a7..fa235f8993cfdb7dce2da0b505ebe246 int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 36b3f9d6d535e1fde2cf3496dabcac07c372b892..41913e27f955e81397b08c1690579c25d6704498 100644 +index adab8f27a3947c6a0f326a284f6bad158d2da639..c99603c883a67b28c812e05c1133555abc8d34dc 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -4351,6 +4351,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, @@ -40,10 +40,10 @@ index 36b3f9d6d535e1fde2cf3496dabcac07c372b892..41913e27f955e81397b08c1690579c25 int world_id) { for (auto& observer : observers_) diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h -index eea01ab95a033b5fb537db004dc0b63724192a93..d72b75f1dbccc4aa7bf9f4abb080b0692c4b9d04 100644 +index 0e1296d023867bf1e4f12757d482cffcfe8a1942..0e4b144aeb54af86bc663d8b20fba4d0483ec28c 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h -@@ -589,6 +589,8 @@ class CONTENT_EXPORT RenderFrameImpl +@@ -591,6 +591,8 @@ class CONTENT_EXPORT RenderFrameImpl uint32_t ng_call_count) override; void DidCreateScriptContext(v8::Local context, int world_id) override; @@ -53,10 +53,10 @@ index eea01ab95a033b5fb537db004dc0b63724192a93..d72b75f1dbccc4aa7bf9f4abb080b069 int world_id) override; void DidChangeScrollOffset() override; diff --git a/third_party/blink/public/web/web_local_frame_client.h b/third_party/blink/public/web/web_local_frame_client.h -index 103989bc5a74f6adc79734f97e517056596aa913..ccf2ba4cbdf382164db9f6951a00a11434d4f661 100644 +index 149ca596036a4a4c123b6982014001953cf06800..dd069baf01929b75f42093ecf09ecf8eb20376c0 100644 --- a/third_party/blink/public/web/web_local_frame_client.h +++ b/third_party/blink/public/web/web_local_frame_client.h -@@ -579,6 +579,9 @@ class BLINK_EXPORT WebLocalFrameClient { +@@ -580,6 +580,9 @@ class BLINK_EXPORT WebLocalFrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) {} @@ -92,7 +92,7 @@ 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 90e53a2dc78c1be9e03d3b80b4d0938a43128fa0..a428af1c219522aa8a08ebfdb10abd2f8a34a44e 100644 +index 7b726508f926eb9e694230c3801a4324aac1e989..c688eb24441e2921de1fc85d69deb4a965fdd2b7 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( @@ -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 3ca0a5a99d9c0b2f93bb8f63b01199b45101e557..70248d589390023ed388882deb843347147783f7 100644 +index 05f6e4002766fec006a55b2edf621f6b0b1a0d59..a9f6d89d0310732d7d26c0e9f8461ecadc87dbee 100644 --- a/third_party/blink/renderer/core/loader/empty_clients.h +++ b/third_party/blink/renderer/core/loader/empty_clients.h -@@ -368,6 +368,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { +@@ -366,6 +366,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient { void DidCreateScriptContext(v8::Local, int32_t world_id) override {} diff --git a/patches/chromium/add_electron_deps_to_license_credits_file.patch b/patches/chromium/add_electron_deps_to_license_credits_file.patch index e789eaad6a..6313ceffd5 100644 --- a/patches/chromium/add_electron_deps_to_license_credits_file.patch +++ b/patches/chromium/add_electron_deps_to_license_credits_file.patch @@ -7,7 +7,7 @@ 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 a58dbf44370baabbfa2986c734c96a210cc16f1d..1d6934460f788ab76275710e727fb062f5c92b5b 100755 +index c4ffc17fb5b372d56f68bc69e9d4fc93ae40d45f..253618104ea7bb4c97085da9df1496efaee32a46 100755 --- a/tools/licenses.py +++ b/tools/licenses.py @@ -347,6 +347,32 @@ SPECIAL_CASES = { diff --git a/patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch b/patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch index 34a141582f..483c949a84 100644 --- a/patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch +++ b/patches/chromium/add_maximized_parameter_to_linuxui_getwindowframeprovider.patch @@ -8,7 +8,7 @@ decorations in maximized mode where needed, preventing empty space caused by decoration shadows and rounded titlebars around the window while maximized. diff --git a/ui/gtk/gtk_ui.cc b/ui/gtk/gtk_ui.cc -index 7d1c3407ff408fbbb0d123323af09fb9e46e5453..90c93d2826739df07fb1accc48cd83810dea8dee 100644 +index c847ccaad26a147b18abb95dd4a9898b9024c296..d32bd13fd25e8cbf577252813fd93827e0aa8db3 100644 --- a/ui/gtk/gtk_ui.cc +++ b/ui/gtk/gtk_ui.cc @@ -504,13 +504,15 @@ std::unique_ptr GtkUi::CreateNavButtonProvider() { @@ -31,19 +31,19 @@ index 7d1c3407ff408fbbb0d123323af09fb9e46e5453..90c93d2826739df07fb1accc48cd8381 } diff --git a/ui/gtk/gtk_ui.h b/ui/gtk/gtk_ui.h -index 3bf62d4de0ce141db60bab5356839d20543b3026..ca0f0bc3270b9b3ad793cd48b95a61bd7965b458 100644 +index 18c34ce9965912caa58457fc28be2b4f6edffb78..d1fc002ff98ea25ff4fec7bacd44140c7d7ec4fd 100644 --- a/ui/gtk/gtk_ui.h +++ b/ui/gtk/gtk_ui.h -@@ -95,7 +95,7 @@ class GtkUi : public ui::LinuxUi { +@@ -102,7 +102,7 @@ class GtkUi : public ui::LinuxUiAndTheme { + WindowFrameActionSource source) override; bool PreferDarkTheme() const override; - bool AnimationsEnabled() const override; std::unique_ptr CreateNavButtonProvider() override; - ui::WindowFrameProvider* GetWindowFrameProvider(bool solid_frame) override; + ui::WindowFrameProvider* GetWindowFrameProvider(bool solid_frame, bool maximized) override; - base::flat_map GetKeyboardLayoutMap() override; - std::string GetCursorThemeName() override; - int GetCursorThemeSize() override; -@@ -199,6 +199,8 @@ class GtkUi : public ui::LinuxUi { + + private: + using TintMap = std::map; +@@ -191,6 +191,8 @@ class GtkUi : public ui::LinuxUiAndTheme { // while Chrome is running. std::unique_ptr solid_frame_provider_; std::unique_ptr transparent_frame_provider_; @@ -53,7 +53,7 @@ index 3bf62d4de0ce141db60bab5356839d20543b3026..ca0f0bc3270b9b3ad793cd48b95a61bd } // namespace gtk diff --git a/ui/gtk/window_frame_provider_gtk.cc b/ui/gtk/window_frame_provider_gtk.cc -index e4dbdad327eb77994ffd7f068c67336a19897915..d3ae0636455489a7c7443df85cb769952c98aca2 100644 +index 6aff3b989aff9488b85ca46a62a52a1c7cfb3215..751247c2608ca5143044f6395baae5917c909f46 100644 --- a/ui/gtk/window_frame_provider_gtk.cc +++ b/ui/gtk/window_frame_provider_gtk.cc @@ -38,16 +38,18 @@ std::string GetThemeName() { @@ -139,7 +139,7 @@ index e4dbdad327eb77994ffd7f068c67336a19897915..d3ae0636455489a7c7443df85cb76995 // 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 8370c1cb3f8c3532d94e1265242cbf2397920480..2e0105ba8782dfe0a3ac169850734032c8ab071c 100644 +index 867896de7fa036b7c8be5adf5a7731c97e942d69..2c38d399f95cc2c8851aded5993e3019941defc0 100644 --- a/ui/gtk/window_frame_provider_gtk.h +++ b/ui/gtk/window_frame_provider_gtk.h @@ -14,7 +14,7 @@ namespace gtk { @@ -162,15 +162,15 @@ index 8370c1cb3f8c3532d94e1265242cbf2397920480..2e0105ba8782dfe0a3ac169850734032 } // namespace gtk diff --git a/ui/linux/linux_ui.h b/ui/linux/linux_ui.h -index e177923484a1be740170a65c2b3067f04e949995..68f217d316f15129f66e74f14851613dbb24970e 100644 +index 4c5e4e19fc94c62717d4983c0dc056628c59bd4d..fa9be339b2004df224d46431e3fcced3b79e9a2a 100644 --- a/ui/linux/linux_ui.h +++ b/ui/linux/linux_ui.h -@@ -171,7 +171,7 @@ class COMPONENT_EXPORT(LINUX_UI) LinuxUi { +@@ -270,7 +270,7 @@ class COMPONENT_EXPORT(LINUX_UI) LinuxUiTheme { // if transparency is unsupported and the frame should be rendered opaque. // The returned object is not owned by the caller and will remain alive until // the process ends. - virtual WindowFrameProvider* GetWindowFrameProvider(bool solid_frame) = 0; + virtual WindowFrameProvider* GetWindowFrameProvider(bool solid_frame, bool maximized) = 0; - // Returns a map of KeyboardEvent code to KeyboardEvent key values. - virtual base::flat_map GetKeyboardLayoutMap() = 0; + const base::ObserverList::Unchecked& + window_button_order_observer_list() const { diff --git a/patches/chromium/add_ui_scopedcliboardwriter_writeunsaferawdata.patch b/patches/chromium/add_ui_scopedcliboardwriter_writeunsaferawdata.patch index d269e9a1c9..f60a8d23d8 100644 --- a/patches/chromium/add_ui_scopedcliboardwriter_writeunsaferawdata.patch +++ b/patches/chromium/add_ui_scopedcliboardwriter_writeunsaferawdata.patch @@ -8,7 +8,7 @@ was removed as part of the Raw Clipboard API scrubbing. https://bugs.chromium.org/p/chromium/issues/detail?id=1217643 diff --git a/ui/base/clipboard/scoped_clipboard_writer.cc b/ui/base/clipboard/scoped_clipboard_writer.cc -index 1eb1d0fe4696f26e7de43fc8797c283e9e6db042..766f8d8df866ce7fbc337cecceb715cced39643c 100644 +index 3d644fbcf9be5ea6a61dd90fa25e23288cb0358b..8730b2c9089c66a646ad92d56f6152fc3946f22e 100644 --- a/ui/base/clipboard/scoped_clipboard_writer.cc +++ b/ui/base/clipboard/scoped_clipboard_writer.cc @@ -227,6 +227,16 @@ void ScopedClipboardWriter::WriteEncodedDataTransferEndpointForTesting( @@ -29,7 +29,7 @@ index 1eb1d0fe4696f26e7de43fc8797c283e9e6db042..766f8d8df866ce7fbc337cecceb715cc objects_.clear(); platform_representations_.clear(); diff --git a/ui/base/clipboard/scoped_clipboard_writer.h b/ui/base/clipboard/scoped_clipboard_writer.h -index 96f5bf8b6b5f3ed5ab25e15845f0de455eb68e0b..e6718a893e1bc5c970245c8265c95dda5d5fa2ff 100644 +index 5ac38344f1221ce402ad2c0e2954c442f3955318..49e22a89d823649f4c62bbae7323a055dcc47934 100644 --- a/ui/base/clipboard/scoped_clipboard_writer.h +++ b/ui/base/clipboard/scoped_clipboard_writer.h @@ -84,6 +84,10 @@ class COMPONENT_EXPORT(UI_BASE_CLIPBOARD) ScopedClipboardWriter { diff --git a/patches/chromium/add_webmessageportconverter_entangleandinjectmessageportchannel.patch b/patches/chromium/add_webmessageportconverter_entangleandinjectmessageportchannel.patch index c83390dde8..db38c5dd0b 100644 --- a/patches/chromium/add_webmessageportconverter_entangleandinjectmessageportchannel.patch +++ b/patches/chromium/add_webmessageportconverter_entangleandinjectmessageportchannel.patch @@ -8,7 +8,7 @@ accessing Blink internals. Its inverse, which already exists, is used in Android WebView. diff --git a/third_party/blink/public/web/web_message_port_converter.h b/third_party/blink/public/web/web_message_port_converter.h -index 70270faafcae01aba19d2be9ece3821c1c75dc29..809ec708c3faa9deb69ff17d499e645540358b88 100644 +index a58ddcc8f6e79d3288d0c645875c8b1bbdaaf209..1283bd18cce78bc5eaad71b3fad01031b54d1ab3 100644 --- a/third_party/blink/public/web/web_message_port_converter.h +++ b/third_party/blink/public/web/web_message_port_converter.h @@ -13,6 +13,7 @@ class Isolate; @@ -19,9 +19,9 @@ index 70270faafcae01aba19d2be9ece3821c1c75dc29..809ec708c3faa9deb69ff17d499e6455 } // namespace v8 namespace blink { -@@ -25,6 +26,9 @@ class WebMessagePortConverter { +@@ -25,6 +26,9 @@ class BLINK_EXPORT WebMessagePortConverter { // neutered, it will return nullopt. - BLINK_EXPORT static absl::optional + static absl::optional DisentangleAndExtractMessagePortChannel(v8::Isolate*, v8::Local); + + BLINK_EXPORT static v8::Local @@ -30,7 +30,7 @@ index 70270faafcae01aba19d2be9ece3821c1c75dc29..809ec708c3faa9deb69ff17d499e6455 } // namespace blink diff --git a/third_party/blink/renderer/core/exported/web_message_port_converter.cc b/third_party/blink/renderer/core/exported/web_message_port_converter.cc -index 0f9377d28fdf8dd6511fbf025493367205ff74d6..5b04fb60cbd079b7d589ca14dfbb351fd2492f74 100644 +index f440ee59be4ed14760f2948751f31f7ea3d42e2a..654fbb2d12c9fe7cb362d792ede64c9d1f8c099f 100644 --- a/third_party/blink/renderer/core/exported/web_message_port_converter.cc +++ b/third_party/blink/renderer/core/exported/web_message_port_converter.cc @@ -6,6 +6,7 @@ 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 690005c003..fa65db1104 100644 --- a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -6,10 +6,10 @@ Subject: allow disabling blink scheduler throttling per RenderView This allows us to disable throttling for hidden windows. diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc -index 5c03f1194643c6f7302131404f7d869502f1e18b..fa990e6a444d5321213d956b01ba89ef21d57bd2 100644 +index 8650bbf10070021c6ead3a3b315de6125a8a24cd..6c8c4fcaa78a580dd5bc8b66645e17a61dff31ce 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc -@@ -659,6 +659,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { +@@ -667,6 +667,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); } @@ -22,10 +22,10 @@ index 5c03f1194643c6f7302131404f7d869502f1e18b..fa990e6a444d5321213d956b01ba89ef return is_active(); } diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h -index dfefe47c77c723c1cfdc6abe0e8ff96bc5ec6ddd..8d195ec46b9a6ea830c1ff36ee740b3b8be2b341 100644 +index 84b4727e8e8f7eb84c6654854606dc1d4f3c5fb9..827cf26d2a1e5c2869524c4709a613896a94dbb4 100644 --- a/content/browser/renderer_host/render_view_host_impl.h +++ b/content/browser/renderer_host/render_view_host_impl.h -@@ -137,6 +137,7 @@ class CONTENT_EXPORT RenderViewHostImpl +@@ -138,6 +138,7 @@ class CONTENT_EXPORT RenderViewHostImpl void EnablePreferredSizeMode() override; void WriteIntoTrace(perfetto::TracedProto context) const override; @@ -34,7 +34,7 @@ index dfefe47c77c723c1cfdc6abe0e8ff96bc5ec6ddd..8d195ec46b9a6ea830c1ff36ee740b3b void SendRendererPreferencesToRenderer( const blink::RendererPreferences& preferences); diff --git a/content/public/browser/render_view_host.h b/content/public/browser/render_view_host.h -index e5931e1115d1f90a8fc0c1ec6b3e2a0b58246c74..a9b58297ec46da7432b717e2a71736b0187f9917 100644 +index 9979c25ecd57e68331b628a518368635db5c2027..32733bf951af3eff7da5fd5758bbcbaa49ff0e3c 100644 --- a/content/public/browser/render_view_host.h +++ b/content/public/browser/render_view_host.h @@ -76,6 +76,9 @@ class CONTENT_EXPORT RenderViewHost { @@ -48,10 +48,10 @@ index e5931e1115d1f90a8fc0c1ec6b3e2a0b58246c74..a9b58297ec46da7432b717e2a71736b0 // This interface should only be implemented inside content. friend class RenderViewHostImpl; diff --git a/third_party/blink/public/mojom/page/page.mojom b/third_party/blink/public/mojom/page/page.mojom -index 6ff7c34463f3ce5011ea8711d23f9cd11da38d8b..2b8e313dfac2ea9fad0583bb5e98d0c385e8584a 100644 +index 0cfe109e1ee4ac59dc8ddc68dff3ab929fcf480b..398be46c71fb9ea42ea655b204aaff31501d48c9 100644 --- a/third_party/blink/public/mojom/page/page.mojom +++ b/third_party/blink/public/mojom/page/page.mojom -@@ -137,4 +137,7 @@ interface PageBroadcast { +@@ -131,4 +131,7 @@ interface PageBroadcast { mojo_base.mojom.UnguessableToken devtools_frame_token, RemoteFrameInterfacesFromBrowser remote_frame_interfaces, RemoteMainFrameInterfaces remote_main_frame_interfaces); @@ -60,10 +60,10 @@ index 6ff7c34463f3ce5011ea8711d23f9cd11da38d8b..2b8e313dfac2ea9fad0583bb5e98d0c3 + SetSchedulerThrottling(bool allowed); }; diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h -index 3af33a4d699b5bbfb0a1abac9408ad322a47a5ac..30bc8aa73fb46a0306ccc837a99cc4d58daef99d 100644 +index f3b681ec44c57f69c57390f31bd951cef8de3f0c..2fbe866ddf50d7eb324b0e2e4d120f4c4bcf2875 100644 --- a/third_party/blink/public/web/web_view.h +++ b/third_party/blink/public/web/web_view.h -@@ -366,6 +366,7 @@ class WebView { +@@ -365,6 +365,7 @@ class BLINK_EXPORT WebView { // Scheduling ----------------------------------------------------------- virtual PageScheduler* Scheduler() const = 0; @@ -72,10 +72,10 @@ index 3af33a4d699b5bbfb0a1abac9408ad322a47a5ac..30bc8aa73fb46a0306ccc837a99cc4d5 // 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 a29d97603b7de57b99038fae199d04cc5ee40999..7419518434b91a49f36e84b484c445d631f87f82 100644 +index 03b884bf2b0b4f1eaa084ecfda76e926226e8495..74c35b16d5778a5ac0618b9395a855995e9d0296 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -3800,6 +3800,13 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3808,13 +3808,21 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } @@ -89,21 +89,20 @@ index a29d97603b7de57b99038fae199d04cc5ee40999..7419518434b91a49f36e84b484c445d6 void WebViewImpl::SetVisibilityState( mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) { -@@ -3811,7 +3818,8 @@ void WebViewImpl::SetVisibilityState( - } + DCHECK(GetPage()); GetPage()->SetVisibilityState(visibility_state, is_initial_state); GetPage()->GetPageScheduler()->SetPageVisible( - visibility_state == mojom::blink::PageVisibilityState::kVisible); + scheduler_throttling_allowed_ ? + (visibility_state == mojom::blink::PageVisibilityState::kVisible) : true); - } - - mojom::blink::PageVisibilityState WebViewImpl::GetVisibilityState() { + // Notify observers of the change. + 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 49da24df2b0136eed93ba36e7fbde8772a366c8f..65f7f120d1f518883f5709ed32d2d43f440e3388 100644 +index ac38111515f40630f2d16c8425e39775e4118818..0a4890ed17305e215eb8963d27767d77471eebb7 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h -@@ -425,6 +425,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -426,6 +426,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, LocalDOMWindow* PagePopupWindow() const; PageScheduler* Scheduler() const override; @@ -111,7 +110,7 @@ index 49da24df2b0136eed93ba36e7fbde8772a366c8f..65f7f120d1f518883f5709ed32d2d43f void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) override; mojom::blink::PageVisibilityState GetVisibilityState() override; -@@ -875,6 +876,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -879,6 +880,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 ec2ffe37b7..aee177d0c5 100644 --- a/patches/chromium/allow_in-process_windows_to_have_different_web_prefs.patch +++ b/patches/chromium/allow_in-process_windows_to_have_different_web_prefs.patch @@ -8,7 +8,7 @@ WebPreferences of in-process child windows, rather than relying on process-level command line switches, as before. diff --git a/third_party/blink/common/web_preferences/web_preferences.cc b/third_party/blink/common/web_preferences/web_preferences.cc -index 645d50cd3d50581fa0d13d1dc67158b60b628327..4adc497c5959c7d499ebc82189b4c654c64f2a17 100644 +index 86791679979e715308090c5868cac9d54169d812..92d1c191249a2922a9a1196fabfc61461aeda944 100644 --- a/third_party/blink/common/web_preferences/web_preferences.cc +++ b/third_party/blink/common/web_preferences/web_preferences.cc @@ -142,6 +142,19 @@ WebPreferences::WebPreferences() @@ -32,7 +32,7 @@ index 645d50cd3d50581fa0d13d1dc67158b60b628327..4adc497c5959c7d499ebc82189b4c654 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 b71bd477dac6fb5dde6a5c68b0acb066bfa47c32..a1607db91e9c373691a526988d098695cb72cc0c 100644 +index f8792c52abc09a8fadbd4f3a478ce29c7f49c1a7..6e41b0be6aa017521efe73dc6c80cf76d3059e0c 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 b8023168b7be3f74e376c7a22f3519defa4eb01d..56c8f4f96203e4c8c963afda7244bac261a8519a 100644 +index cac389c5ebd303945d958336e0c3601fdc2d7152..0c56b1d9e3c94559abd77325e3e5791e46d72867 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 b8023168b7be3f74e376c7a22f3519defa4eb01d..56c8f4f96203e4c8c963afda7244bac2 // 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 59571fe4cbf8a75b3fd62d31bbd3bf693e1003a2..c1ca3d5343c66402143dcb5c9b809361ec17b498 100644 +index e3290deda800c0807f5c9dd0d8360c15f9b56554..eff323e0c2a660b965f2c834ac4d0ae795528268 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,18 +153,18 @@ index 59571fe4cbf8a75b3fd62d31bbd3bf693e1003a2..c1ca3d5343c66402143dcb5c9b809361 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 3cba12472e2856d43076e5f171486b32673156eb..fb2fbea01bbd9f5bc05663e80aaae84460204374 100644 +index b370a37da63b26937cf07a7be121e56887ef99a5..4577bfba785f052ebb05be0ef15455c8a1d10aee 100644 --- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom +++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom -@@ -10,6 +10,7 @@ import "third_party/blink/public/mojom/v8_cache_options.mojom"; +@@ -9,6 +9,7 @@ import "third_party/blink/public/mojom/css/preferred_contrast.mojom"; + import "third_party/blink/public/mojom/v8_cache_options.mojom"; import "url/mojom/url.mojom"; - import "url/mojom/origin.mojom"; import "mojo/public/mojom/base/string16.mojom"; +import "mojo/public/mojom/base/file_path.mojom"; enum PointerType { kPointerNone = 1, // 1 << 0 -@@ -209,6 +210,19 @@ struct WebPreferences { +@@ -208,6 +209,19 @@ struct WebPreferences { // If true, stylus handwriting recognition to text input will be available in // editable input fields which are non-password type. bool stylus_handwriting_enabled; diff --git a/patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch b/patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch index 3e7cca104e..84f527f561 100644 --- a/patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch +++ b/patches/chromium/allow_new_privileges_in_unsandboxed_child_processes.patch @@ -6,7 +6,7 @@ Subject: allow new privileges in unsandboxed child processes This allows unsandboxed renderers to launch setuid processes on Linux. diff --git a/content/browser/child_process_launcher_helper_linux.cc b/content/browser/child_process_launcher_helper_linux.cc -index 16d838b710d4f717733f4aa8f92f144922969b3b..ff2c78c7b803159dde97dafdb799d9b8761dc3fd 100644 +index dd5ccfc0bdc2e071999d1bf864dc065dd1311407..7464e84f6e610749dce5c3a46afce262f29020cc 100644 --- a/content/browser/child_process_launcher_helper_linux.cc +++ b/content/browser/child_process_launcher_helper_linux.cc @@ -54,6 +54,18 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread( diff --git a/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch b/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch index ae09b284c2..3d76aba7f2 100644 --- a/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch +++ b/patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch @@ -6,7 +6,7 @@ Subject: Allow setting secondary label via SimpleMenuModel Builds on https://chromium-review.googlesource.com/c/chromium/src/+/2208976 diff --git a/ui/base/models/simple_menu_model.cc b/ui/base/models/simple_menu_model.cc -index 6e1ed6b05b9358a46c796ac175a6556703477a1f..f138d6dc153694c2c3fbb8c98d9557e5bab8214e 100644 +index 185b8281232401a76844987b4b949954e62f93b6..ac58d5bc1f2ced7784621a46bb339a96fc20ed71 100644 --- a/ui/base/models/simple_menu_model.cc +++ b/ui/base/models/simple_menu_model.cc @@ -53,6 +53,11 @@ std::u16string SimpleMenuModel::Delegate::GetLabelForCommandId( @@ -47,7 +47,7 @@ index 6e1ed6b05b9358a46c796ac175a6556703477a1f..f138d6dc153694c2c3fbb8c98d9557e5 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 7ecb2f6cae709af8c512cfb6cac71d449a9b39c4..b7781d44125c1d66dba90bc39f9f17b194a85665 100644 +index 7c24e00caa235d0434377c1f4225efbe462f5525..cb2d82d806c679b780f83373d2bdffc9b1f1e12d 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_file_path.patch b/patches/chromium/blink_file_path.patch index 8185b75732..2f431ce546 100644 --- a/patches/chromium/blink_file_path.patch +++ b/patches/chromium/blink_file_path.patch @@ -7,7 +7,7 @@ This is used by editors to obtain the filesystem path from a dragged file. See documentation at https://electronjs.org/docs/api/file-object diff --git a/third_party/blink/renderer/core/fileapi/file.h b/third_party/blink/renderer/core/fileapi/file.h -index c061962bec620d2da0e217d8f55b7db57d120f97..59d9946ecfb7d68b41f539ce7c29c7398e00e9b2 100644 +index 6ad3b117511544ca318dac7a5fdae6edabb5dd25..754d1b5fdb1fb08f119705e0da3def5a49863ebf 100644 --- a/third_party/blink/renderer/core/fileapi/file.h +++ b/third_party/blink/renderer/core/fileapi/file.h @@ -211,6 +211,9 @@ class CORE_EXPORT File final : public Blob { diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch index c59bd2672d..d099a414bf 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 0e50579d9b1c989beee4113d6762d32b8074efb4..bbcd21ddc38a799fe4226447f9b3447f1ea54feb 100644 +index 25cf5f42eee6f81cb09c464a55b59f08675ad7e4..01e00224d28ec6f706f1315d8ba9880501babd4b 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,10 +49,10 @@ index 0e50579d9b1c989beee4113d6762d32b8074efb4..bbcd21ddc38a799fe4226447f9b3447f // 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 b19001d3f24edc2f979c0585614897a404890994..baba2925889605ab997a1ceb1f4acd1b809bcf58 100644 +index 88d0d5a62daff16b62749b01837a3475555d9f42..076d5e45c2c5a15c23a2b24eaa1a0b25c33a8949 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -547,10 +547,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { +@@ -548,10 +548,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { } DCHECK(!view_ || !view_->IsAttached()); @@ -63,7 +63,7 @@ index b19001d3f24edc2f979c0585614897a404890994..baba2925889605ab997a1ceb1f4acd1b if (!Client()) return false; -@@ -596,6 +592,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { +@@ -597,6 +593,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { DCHECK(!view_->IsAttached()); Client()->WillBeDetached(); diff --git a/patches/chromium/boringssl_build_gn.patch b/patches/chromium/boringssl_build_gn.patch index ff94bf807a..c33b278fff 100644 --- a/patches/chromium/boringssl_build_gn.patch +++ b/patches/chromium/boringssl_build_gn.patch @@ -6,7 +6,7 @@ Subject: boringssl BUILD.gn Build BoringSSL with some extra functions that nodejs needs. diff --git a/third_party/boringssl/BUILD.gn b/third_party/boringssl/BUILD.gn -index efcbdf378b61af0a4b0f2cd784160d95439e84e1..fc6bba3fdd71ee40bb38f7d95a2f4dccd82d3e17 100644 +index a39ab4ff7721b750b1cf40039aae3fe6ca16f2e1..b35ef893af39d752971c9f7348cea72bc951bfef 100644 --- a/third_party/boringssl/BUILD.gn +++ b/third_party/boringssl/BUILD.gn @@ -44,6 +44,20 @@ config("no_asm_config") { diff --git a/patches/chromium/breakpad_allow_getting_string_values_for_crash_keys.patch b/patches/chromium/breakpad_allow_getting_string_values_for_crash_keys.patch index 9c2342ded0..e1b4d68121 100644 --- a/patches/chromium/breakpad_allow_getting_string_values_for_crash_keys.patch +++ b/patches/chromium/breakpad_allow_getting_string_values_for_crash_keys.patch @@ -13,7 +13,7 @@ on linux. If removing this patch doesn't cause a compile failure, it's fine to delete! diff --git a/components/crash/core/common/crash_key.h b/components/crash/core/common/crash_key.h -index bf88c1180ee507c97e2613d4aba12a8e87fcfcd3..fae2b77315784f9167c0fcf4cc5330520c14b862 100644 +index 90c37dadd07d7c278bcdc2de972a6be17ef17fbc..73312f2a78998eb6ca6266edbd8af7759d1d9581 100644 --- a/components/crash/core/common/crash_key.h +++ b/components/crash/core/common/crash_key.h @@ -219,6 +219,10 @@ class CrashKeyStringCombined : public internal::CrashKeyStringCombinedImpl { diff --git a/patches/chromium/breakpad_treat_node_processes_as_browser_processes.patch b/patches/chromium/breakpad_treat_node_processes_as_browser_processes.patch index f10afcbb1f..7718f215e7 100644 --- a/patches/chromium/breakpad_treat_node_processes_as_browser_processes.patch +++ b/patches/chromium/breakpad_treat_node_processes_as_browser_processes.patch @@ -10,7 +10,7 @@ breakpad independently, as a "browser" process. This patches crash annotation. diff --git a/components/crash/core/app/breakpad_linux.cc b/components/crash/core/app/breakpad_linux.cc -index 1fa85302da7a64abc42fd9558ddbcaf68b387517..62d15f57e4c5a0a24aa730e8979fb1e9537fecd3 100644 +index 24d436ed26cf85d0c7307bcd6999a3f110423c45..c2bd854664edfd589f30804c7dd2997c8fe0f104 100644 --- a/components/crash/core/app/breakpad_linux.cc +++ b/components/crash/core/app/breakpad_linux.cc @@ -719,8 +719,13 @@ bool CrashDone(const MinidumpDescriptor& minidump, diff --git a/patches/chromium/build_add_electron_tracing_category.patch b/patches/chromium/build_add_electron_tracing_category.patch index 7a7811551b..cfa3d82aa1 100644 --- a/patches/chromium/build_add_electron_tracing_category.patch +++ b/patches/chromium/build_add_electron_tracing_category.patch @@ -8,10 +8,10 @@ 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 2c2cde3260fb1d104d01fcc0fb7b160dc29fc4c0..61a55b7f837c6881efe277d9a4653eee9d650206 100644 +index cfa800eb9fc7707b6b881d6504371fe7c56c4642..1a0cc1e6cd7fb90f84699ae18b00d68428a28e8d 100644 --- a/base/trace_event/builtin_categories.h +++ b/base/trace_event/builtin_categories.h -@@ -80,6 +80,7 @@ +@@ -81,6 +81,7 @@ X("drmcursor") \ X("dwrite") \ X("DXVA_Decoding") \ diff --git a/patches/chromium/build_disable_partition_alloc_on_mac.patch b/patches/chromium/build_disable_partition_alloc_on_mac.patch index e2138e8e8b..e7b3cc748c 100644 --- a/patches/chromium/build_disable_partition_alloc_on_mac.patch +++ b/patches/chromium/build_disable_partition_alloc_on_mac.patch @@ -9,7 +9,7 @@ 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 7ce71f04ed4c5c0da7dd6f26c35f01ddda490484..0c39dc9c08c1c29e842f8f924134609472b5a156 100644 +index 44ace8017bdf9ce2ddb996e30ee03dbdc6274fb9..e2ce9f6c57e55f6a9257bb2e58e99895ca52f8c6 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) diff --git a/patches/chromium/build_disable_print_content_analysis.patch b/patches/chromium/build_disable_print_content_analysis.patch index 55e2341501..4e5bca7550 100644 --- a/patches/chromium/build_disable_print_content_analysis.patch +++ b/patches/chromium/build_disable_print_content_analysis.patch @@ -13,7 +13,7 @@ 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 e57b8edde3b3e8f7a9cd580e2bcd039f1beebdff..88b7962836cfe93a59d1569245f4815f22be355e 100644 +index 4c7f9e2a074229f002dba786123423066b49d3bc..f2cd0d435fda91a74970c51d120687d27fa2e0e1 100644 --- a/printing/buildflags/buildflags.gni +++ b/printing/buildflags/buildflags.gni @@ -36,7 +36,7 @@ declare_args() { 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 98c977b41f..6f6f78b63d 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 0223183c4e869e835429a52ad7d9eb381a2d21f5..47162ccaa75ea637b7ce5ed0fed976862b14c427 100644 +index 63676cdc719e543d6982b0f894ad88d65c139f57..7f288b72470f765155a55edd2914f0d4571a3fd2 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -176,11 +176,16 @@ if (!is_android && !is_mac) { +@@ -181,11 +181,16 @@ if (!is_android && !is_mac) { "common/crash_keys.h", ] @@ -33,10 +33,10 @@ index 0223183c4e869e835429a52ad7d9eb381a2d21f5..47162ccaa75ea637b7ce5ed0fed97686 "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index e1274ce21a8d794b7753c0017b0558cfd92f9530..ba723ec8f05e03981a273a3890a775c151aaed99 100644 +index b0eb1273091ecdb79a789de0b5ccc95cb8d6b235..e8a9aab57e5f6edd73e13d7cf14a2c6c69b0938a 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4639,7 +4639,7 @@ static_library("browser") { +@@ -4676,7 +4676,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 e1274ce21a8d794b7753c0017b0558cfd92f9530..ba723ec8f05e03981a273a3890a775c1 sources += [ "certificate_viewer_stub.cc" ] } diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index 9e848b82105112f95a77ad87f23d9ffc762bd88b..4f10f85a7a4a9951b0a11fef0419f5301564e378 100644 +index e334004ece09359f687cf3d47452f805c57ba69f..8724def124cdc811a065538517f8a68185ab8084 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -6065,7 +6065,6 @@ test("unit_tests") { +@@ -6113,7 +6113,6 @@ test("unit_tests") { deps += [ "//chrome:other_version", @@ -57,7 +57,7 @@ index 9e848b82105112f95a77ad87f23d9ffc762bd88b..4f10f85a7a4a9951b0a11fef0419f530 "//chrome//services/util_win:unit_tests", "//chrome/app:chrome_dll_resources", "//chrome/app:crash_reporter_client_win_unit_tests", -@@ -6090,6 +6089,10 @@ test("unit_tests") { +@@ -6138,6 +6137,10 @@ test("unit_tests") { "//ui/resources", ] @@ -68,7 +68,7 @@ index 9e848b82105112f95a77ad87f23d9ffc762bd88b..4f10f85a7a4a9951b0a11fef0419f530 ldflags = [ "/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll", "/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll", -@@ -7018,7 +7021,7 @@ test("unit_tests") { +@@ -7064,7 +7067,7 @@ test("unit_tests") { } deps += [ @@ -77,7 +77,7 @@ index 9e848b82105112f95a77ad87f23d9ffc762bd88b..4f10f85a7a4a9951b0a11fef0419f530 "//chrome/browser/autofill_assistant/password_change/vector_icons:vector_icons", "//chrome/browser/enterprise/connectors/analysis:features", "//chrome/browser/media/router:test_support", -@@ -7140,6 +7143,10 @@ test("unit_tests") { +@@ -7187,6 +7190,10 @@ test("unit_tests") { } } diff --git a/patches/chromium/build_gn.patch b/patches/chromium/build_gn.patch index a8ab854a62..78fe704e1a 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 c737e53c2ce7237974f6c749eae60ba1de7ec2c1..26ba3ae4a77bc8f525c2ad927ff2956c028ef337 100644 +index 21b4055dc151bd1868fee580866109db8f69bd01..b852a33b41608ef2f157c8bf428158a012045454 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -123,6 +123,9 @@ if (current_os == "") { diff --git a/patches/chromium/build_libc_as_static_library.patch b/patches/chromium/build_libc_as_static_library.patch index ddfabf16ab..b1aec81929 100644 --- a/patches/chromium/build_libc_as_static_library.patch +++ b/patches/chromium/build_libc_as_static_library.patch @@ -7,7 +7,7 @@ Build libc++ as static library to compile and pass nan tests diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn -index 6f904094e6c9bf23f7a7a69a14e28196327074b0..d70fd8f616e0022860128861c5b8d484a3e2bd3e 100644 +index 3956cb73cdde75a2778fba1a9fae456e890a7b5e..deb7ceab1d8fffb4300d3a168d86f5d1236caa9d 100644 --- a/buildtools/third_party/libc++/BUILD.gn +++ b/buildtools/third_party/libc++/BUILD.gn @@ -44,7 +44,11 @@ config("winver") { @@ -32,7 +32,7 @@ index 6f904094e6c9bf23f7a7a69a14e28196327074b0..d70fd8f616e0022860128861c5b8d484 ] if (is_linux) { diff --git a/buildtools/third_party/libc++abi/BUILD.gn b/buildtools/third_party/libc++abi/BUILD.gn -index 40f1285f14c0843405e0ee51879b8742285a006d..5be895d3e36df53a5960006a1513f1322400fd23 100644 +index 8316e2754db29d96121d72bc4ef43313ec5760ba..225f05272d435bea47c02b0cc166291c0ba39244 100644 --- a/buildtools/third_party/libc++abi/BUILD.gn +++ b/buildtools/third_party/libc++abi/BUILD.gn @@ -4,7 +4,7 @@ diff --git a/patches/chromium/build_make_libcxx_abi_unstable_false_for_electron.patch b/patches/chromium/build_make_libcxx_abi_unstable_false_for_electron.patch index 31261a43b9..dc7f0e12a6 100644 --- a/patches/chromium/build_make_libcxx_abi_unstable_false_for_electron.patch +++ b/patches/chromium/build_make_libcxx_abi_unstable_false_for_electron.patch @@ -6,7 +6,7 @@ Subject: build: make libcxx_abi_unstable false for electron https://nornagon.medium.com/a-libc-odyssey-973e51649063 diff --git a/buildtools/third_party/libc++/__config_site b/buildtools/third_party/libc++/__config_site -index c9f885120cdcafbdd021a3d2afa3d7f29bf56367..a26efc71bed9c672528431fa8969e60d0aac3c42 100644 +index c9230033a1250c50c863487bfea3547a3e821707..866c6f5c5f672b797be9456045405ac906a61b98 100644 --- a/buildtools/third_party/libc++/__config_site +++ b/buildtools/third_party/libc++/__config_site @@ -12,7 +12,6 @@ diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index 199dc82096..7ce327c3f6 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 1c652afe8b002635b34d6718c8c69cdd86dd9f8b..21eb439646c16aa72e78e9436006a29cbd8c5bf4 100644 +index b8268a932ff774feb18bf61ede65fdd99cf95938..58caea552e2892c12365a79ce5148559f784264b 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -7344,6 +7344,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -7320,6 +7320,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 1c652afe8b002635b34d6718c8c69cdd86dd9f8b..21eb439646c16aa72e78e9436006a29c &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index abb91fd00245fddf49ee8d28be081a041aa9fce9..707d9a116c8ea119977b54d3a3365d96fef05a5a 100644 +index b904e7bebfd8ac67d90974c923b657a2099b30cf..df0dff67e23423a5a527a93dac27a6fe19e2aaf0 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4005,6 +4005,14 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4003,6 +4003,14 @@ FrameTree* WebContentsImpl::CreateNewWindow( } auto* new_contents_impl = new_contents.get(); @@ -39,7 +39,7 @@ index abb91fd00245fddf49ee8d28be081a041aa9fce9..707d9a116c8ea119977b54d3a3365d96 new_contents_impl->GetController().SetSessionStorageNamespace( partition_config, session_storage_namespace); -@@ -4049,12 +4057,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4047,12 +4055,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( AddWebContentsDestructionObserver(new_contents_impl); } @@ -53,10 +53,10 @@ index abb91fd00245fddf49ee8d28be081a041aa9fce9..707d9a116c8ea119977b54d3a3365d96 new_contents_impl, opener, params.target_url, params.referrer.To(), params.disposition, diff --git a/content/common/frame.mojom b/content/common/frame.mojom -index 4eee5f6c069c83039bf0acee71056d8ed4ea92eb..9212926fba9d06296c9c46a95519b6ed777569ee 100644 +index 683ea0bc548ed4978873d44c0ce7db6933585eda..e6241d0b14660a8aec09aab2271162c296c4ca1b 100644 --- a/content/common/frame.mojom +++ b/content/common/frame.mojom -@@ -574,6 +574,10 @@ struct CreateNewWindowParams { +@@ -590,6 +590,10 @@ struct CreateNewWindowParams { // Additional parameters for creating picture-in-picture windows. blink.mojom.PictureInPictureWindowOptions? pip_options; @@ -68,10 +68,10 @@ index 4eee5f6c069c83039bf0acee71056d8ed4ea92eb..9212926fba9d06296c9c46a95519b6ed // 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 1e6bbfd6e7d79d1d75bd590fd2040ce51d330f16..3154a7ea00daa120279c34bdb5799b278e73ac62 100644 +index b30318ca59f7a3b6967e2fab0b67551ee3558b75..0c960245b1039f42e712373dd52df41d09a95992 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -617,6 +617,8 @@ bool ContentBrowserClient::CanCreateWindow( +@@ -622,6 +622,8 @@ bool ContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -81,7 +81,7 @@ index 1e6bbfd6e7d79d1d75bd590fd2040ce51d330f16..3154a7ea00daa120279c34bdb5799b27 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 b4d22a849e067bb942825449e649a4a00fc4947a..67a8cbf589693a0a347f6604a36ed2a39d4ef2da 100644 +index d9b15a5491e6156f036c57558c351d878a829fbd..faae9fd7b3355c15a3088d8041cf6ee699cd6c71 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 b4d22a849e067bb942825449e649a4a00fc4947a..67a8cbf589693a0a347f6604a36ed2a3 } // namespace network namespace sandbox { -@@ -1003,6 +1004,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1010,6 +1011,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -102,10 +102,10 @@ index b4d22a849e067bb942825449e649a4a00fc4947a..67a8cbf589693a0a347f6604a36ed2a3 bool opener_suppressed, bool* no_javascript_access); diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc -index 74847a4fbd4d0d897ce6aecd1b39e30bc226f8f4..3ddcc2d403a68fdc2b4b0246899cd9507ecc6195 100644 +index 4f4ce7c49df42d32e9a2dfb770671bb038d31f36..bd4bdeda3403325ac5c3b83bc575b46844b5077a 100644 --- a/content/public/browser/web_contents_delegate.cc +++ b/content/public/browser/web_contents_delegate.cc -@@ -26,6 +26,17 @@ namespace content { +@@ -27,6 +27,17 @@ namespace content { WebContentsDelegate::WebContentsDelegate() = default; @@ -124,7 +124,7 @@ index 74847a4fbd4d0d897ce6aecd1b39e30bc226f8f4..3ddcc2d403a68fdc2b4b0246899cd950 const OpenURLParams& params) { return nullptr; diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 815bee280776026f477c695d31cff8e040e25a49..04eff05d01eb94e5020cdd6e1cc2555077692ba0 100644 +index 7119f2fe8397a1bd3472af5b00346672ed90f2b1..f33bc7ec4bce4b6a4c38462110b68aae5b6280d6 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h @@ -16,6 +16,7 @@ @@ -135,7 +135,7 @@ index 815bee280776026f477c695d31cff8e040e25a49..04eff05d01eb94e5020cdd6e1cc25550 #include "content/public/browser/eye_dropper.h" #include "content/public/browser/invalidate_type.h" #include "content/public/browser/media_stream_request.h" -@@ -341,6 +342,13 @@ class CONTENT_EXPORT WebContentsDelegate { +@@ -342,6 +343,13 @@ class CONTENT_EXPORT WebContentsDelegate { const StoragePartitionConfig& partition_config, SessionStorageNamespace* session_storage_namespace); @@ -150,10 +150,10 @@ index 815bee280776026f477c695d31cff8e040e25a49..04eff05d01eb94e5020cdd6e1cc25550 // 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 34a64f22b7e6f834409e3afdb243943af370b21d..36b3f9d6d535e1fde2cf3496dabcac07c372b892 100644 +index 64d106a94beabd22048a8557afb0e8a627515af0..adab8f27a3947c6a0f326a284f6bad158d2da639 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -6201,6 +6201,10 @@ WebView* RenderFrameImpl::CreateNewWindow( +@@ -6194,6 +6194,10 @@ WebView* RenderFrameImpl::CreateNewWindow( /*openee_can_access_opener_origin=*/true, !GetWebFrame()->IsAllowedToDownload(), GetWebFrame()->IsAdFrame()); @@ -165,7 +165,7 @@ index 34a64f22b7e6f834409e3afdb243943af370b21d..36b3f9d6d535e1fde2cf3496dabcac07 // moved on send. bool is_background_tab = diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc -index 40b82385697d8721ef6da3d0c77544d6d0ca400c..3a2d5207fb2eeea4b016012b09c3668af8dc35b4 100644 +index d3ae5f373be0cd0e0a930357a4861302b8ba3d36..7040d790725000a9e994c4270b8de80de9b8a373 100644 --- a/content/web_test/browser/web_test_content_browser_client.cc +++ b/content/web_test/browser/web_test_content_browser_client.cc @@ -482,6 +482,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( @@ -178,7 +178,7 @@ index 40b82385697d8721ef6da3d0c77544d6d0ca400c..3a2d5207fb2eeea4b016012b09c3668a bool opener_suppressed, bool* no_javascript_access) { diff --git a/content/web_test/browser/web_test_content_browser_client.h b/content/web_test/browser/web_test_content_browser_client.h -index 4805dd035772fcaea60a1a91eb9911d5c0ce93a9..3b752ea509149f04fd6d10f6977bd29791f6a5d6 100644 +index 0b77223b1fa7a24599c89621423ad9d66f36c114..848029e3f293d11421598c0e5ecf3593b1720bb3 100644 --- a/content/web_test/browser/web_test_content_browser_client.h +++ b/content/web_test/browser/web_test_content_browser_client.h @@ -81,6 +81,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient { @@ -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 496610b02adf00eee937ffb42e5e6461df847441..ad9d8b199c32c189982fbed3ab6b9ae04c5ff968 100644 +index 1edafb783a6a6f82ddb40c889cceee20fcfab996..5c3260bed70a162ce3dbd096542adbc73f4ccee8 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -2108,6 +2108,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2133,6 +2133,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, WebWindowFeatures window_features = GetWindowFeaturesFromString(features, entered_window, completed_url); diff --git a/patches/chromium/chore_add_electron_deps_to_gitignores.patch b/patches/chromium/chore_add_electron_deps_to_gitignores.patch index e3294f5787..a1a5c51436 100644 --- a/patches/chromium/chore_add_electron_deps_to_gitignores.patch +++ b/patches/chromium/chore_add_electron_deps_to_gitignores.patch @@ -6,10 +6,10 @@ Subject: chore: add electron deps to gitignores Makes things like "git status" quicker when developing electron locally diff --git a/.gitignore b/.gitignore -index 651d8ec7d8e98e7588f8f182018188ab234d5c5a..1fc645a7f748d3cad8ca2f4fa9897454cb937a4c 100644 +index 109e9f4361ef7682f5223f7aacb33940e206fa3c..c9d27e1e522adef49b3dd268224ecefaffdf6cc2 100644 --- a/.gitignore +++ b/.gitignore -@@ -230,6 +230,7 @@ vs-chromium-project.txt +@@ -231,6 +231,7 @@ vs-chromium-project.txt /delegate_execute /device/serial/device_serial_mojo.xml /docs/website diff --git a/patches/chromium/chore_allow_chromium_to_handle_synthetic_mouse_events_for_touch.patch b/patches/chromium/chore_allow_chromium_to_handle_synthetic_mouse_events_for_touch.patch index 113c24e6ca..f1855579a4 100644 --- a/patches/chromium/chore_allow_chromium_to_handle_synthetic_mouse_events_for_touch.patch +++ b/patches/chromium/chore_allow_chromium_to_handle_synthetic_mouse_events_for_touch.patch @@ -7,10 +7,10 @@ With WCO, allow chromium to handle synthetic mouse events generated for touch actions in the non-client caption area. diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -index 8f79b6a75929a331cb11cb728a832ba01f48c7a4..e42f8777733c0a26cd72a6f5b4588537b6f1a381 100644 +index c6649fee262eb8c106d18875c6d739b1a944127e..bf66b64b6c717e640fd8bf855c5607d43423101c 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -@@ -1171,6 +1171,10 @@ void DesktopWindowTreeHostWin::HandleWindowScaleFactorChanged( +@@ -1205,6 +1205,10 @@ void DesktopWindowTreeHostWin::HandleWindowScaleFactorChanged( } } @@ -22,10 +22,10 @@ index 8f79b6a75929a331cb11cb728a832ba01f48c7a4..e42f8777733c0a26cd72a6f5b4588537 DesktopWindowTreeHostWin::GetSingletonDesktopNativeCursorManager() { return new DesktopNativeCursorManagerWin(); diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h -index 166ade2f988de2ba4b86aa74d315aeb70a37b768..efd7d0953f9ad4c3cd06f97d4d99ceca056e1caf 100644 +index cec35ceb254777e447047e48fba11dd8d38af97d..17cf2b79963079e66050e29411baa5a398c8d68a 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h -@@ -263,6 +263,7 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin +@@ -265,6 +265,7 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin void HandleWindowSizeChanging() override; void HandleWindowSizeUnchanged() override; void HandleWindowScaleFactorChanged(float window_scale_factor) override; @@ -34,7 +34,7 @@ index 166ade2f988de2ba4b86aa74d315aeb70a37b768..efd7d0953f9ad4c3cd06f97d4d99ceca Widget* GetWidget(); const Widget* GetWidget() const; diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index 696062d4dfe06937bed5902b543b627be63b773a..a8b66dcfab91e3f2c86afdd31e207db474ee4ac1 100644 +index aacb580a7506f2c86769251ad00d8679870a454a..400278ab26a4e095fd837fcf84c952a1297b173d 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -3140,15 +3140,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, @@ -60,7 +60,7 @@ index 696062d4dfe06937bed5902b543b627be63b773a..a8b66dcfab91e3f2c86afdd31e207db4 } diff --git a/ui/views/win/hwnd_message_handler_delegate.h b/ui/views/win/hwnd_message_handler_delegate.h -index 5dbb192d0840ca0ded61397c399b774a8cb05cce..098a9c3140e9e140fdc8f0dc9cf4e8ec84451221 100644 +index 233dd12f86c20a7f5169caab998993f614e8bc7e..3bf6fc95a653f1783510378ffeef5b18da42e559 100644 --- a/ui/views/win/hwnd_message_handler_delegate.h +++ b/ui/views/win/hwnd_message_handler_delegate.h @@ -258,6 +258,10 @@ class VIEWS_EXPORT HWNDMessageHandlerDelegate { diff --git a/patches/chromium/chore_do_not_use_chrome_windows_in_cryptotoken_webrequestsender.patch b/patches/chromium/chore_do_not_use_chrome_windows_in_cryptotoken_webrequestsender.patch index 380b7d1561..71a88952a6 100644 --- a/patches/chromium/chore_do_not_use_chrome_windows_in_cryptotoken_webrequestsender.patch +++ b/patches/chromium/chore_do_not_use_chrome_windows_in_cryptotoken_webrequestsender.patch @@ -10,7 +10,7 @@ In Electron that can be simplified to webContents.isFocused() which maps to "is This can't be upstreamed but the patch is minimal. diff --git a/chrome/browser/resources/cryptotoken/webrequestsender.js b/chrome/browser/resources/cryptotoken/webrequestsender.js -index 8ea2d1c6d7269d25cd34a61d971d35c81b561670..8609defbb5de5c11614858586a9100974aed067c 100644 +index a0ad8622ad90e2d730c053b749e299274ab7cbde..a27fe6ff44d9f15329fb86b9a588ac7c8cdeb0bc 100644 --- a/chrome/browser/resources/cryptotoken/webrequestsender.js +++ b/chrome/browser/resources/cryptotoken/webrequestsender.js @@ -142,10 +142,11 @@ function tabInForeground(tabId) { diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index 6ea5ced74b..ea0e7ce718 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -7,7 +7,7 @@ Pending upstream patch, this gives us fuller access to the window.open params so that we will be able to decide whether to cancel it or not. diff --git a/chrome/browser/android/document/document_web_contents_delegate.cc b/chrome/browser/android/document/document_web_contents_delegate.cc -index eb480c840e0a39485472349e2b276daa03c5ee52..c1523c09fe3a400d311c6df59aa46ef6897dc43b 100644 +index 72644e1404e025bcfa5fa07a817721cdf2aecca5..5d1dae43ae3f79ed3e84f570c120a44ffdacf8ae 100644 --- a/chrome/browser/android/document/document_web_contents_delegate.cc +++ b/chrome/browser/android/document/document_web_contents_delegate.cc @@ -46,8 +46,7 @@ bool DocumentWebContentsDelegate::IsWebContentsCreationOverridden( @@ -21,7 +21,7 @@ index eb480c840e0a39485472349e2b276daa03c5ee52..c1523c09fe3a400d311c6df59aa46ef6 return true; } diff --git a/chrome/browser/android/document/document_web_contents_delegate.h b/chrome/browser/android/document/document_web_contents_delegate.h -index 6f4a0f157fb226d78cdff9a7c6be52b580dbcd2a..df34af06b2f808d66c6284676d70be937bd8fe19 100644 +index bcf9aa806ef31af1fe88e7b7aa661135f2d4d6bc..350dcd90d5961b17af8cd5748460e04d930b269d 100644 --- a/chrome/browser/android/document/document_web_contents_delegate.h +++ b/chrome/browser/android/document/document_web_contents_delegate.h @@ -41,8 +41,7 @@ class DocumentWebContentsDelegate @@ -35,7 +35,7 @@ index 6f4a0f157fb226d78cdff9a7c6be52b580dbcd2a..df34af06b2f808d66c6284676d70be93 #endif // CHROME_BROWSER_ANDROID_DOCUMENT_DOCUMENT_WEB_CONTENTS_DELEGATE_H_ diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc -index 3289268d3ddb3fbb625b8498c2f84370c37acdff..89920af3e44257b6091bb558537fe07d2bb2d899 100644 +index 32a1c3ace3b9e1624f3637e9773c72b8088f296b..cdc4053b02e6f5ef38707b2353adb5057e8048eb 100644 --- a/chrome/browser/media/offscreen_tab.cc +++ b/chrome/browser/media/offscreen_tab.cc @@ -285,8 +285,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden( @@ -49,7 +49,7 @@ index 3289268d3ddb3fbb625b8498c2f84370c37acdff..89920af3e44257b6091bb558537fe07d // uses this to spawn new windows/tabs, which is also not allowed for // offscreen tabs. diff --git a/chrome/browser/media/offscreen_tab.h b/chrome/browser/media/offscreen_tab.h -index faa684c429e8cd5817c043db48dcbea33c6c8782..8b5991bc8279585cc0749f6816aa8a03a2c4e558 100644 +index 155296ba7ee5495be62045bc620bb1cd31d3ceb3..954efde9e7a58f8b556c6ceabb81643f453f7dc3 100644 --- a/chrome/browser/media/offscreen_tab.h +++ b/chrome/browser/media/offscreen_tab.h @@ -107,8 +107,7 @@ class OffscreenTab final : public ProfileObserver, @@ -63,7 +63,7 @@ index faa684c429e8cd5817c043db48dcbea33c6c8782..8b5991bc8279585cc0749f6816aa8a03 content::RenderFrameHost* requesting_frame, const blink::mojom::FullscreenOptions& options) final; diff --git a/chrome/browser/ui/ash/ash_web_view_impl.cc b/chrome/browser/ui/ash/ash_web_view_impl.cc -index a3083a16b1317cc58b87e13f30498bcf3e475eaf..50deda6f7ee9b2cbf57288d54a30a44022be808a 100644 +index cd480419c84969837d8322f1860d62042f116b00..b521b8f84b6ac1c4a7902151a630de386063a589 100644 --- a/chrome/browser/ui/ash/ash_web_view_impl.cc +++ b/chrome/browser/ui/ash/ash_web_view_impl.cc @@ -96,10 +96,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden( @@ -80,7 +80,7 @@ index a3083a16b1317cc58b87e13f30498bcf3e475eaf..50deda6f7ee9b2cbf57288d54a30a440 /*from_user_gesture=*/true); return true; diff --git a/chrome/browser/ui/ash/ash_web_view_impl.h b/chrome/browser/ui/ash/ash_web_view_impl.h -index f0333177f885000fb22818ffa30a0c4ad520a161..03e82957f9d7bf009dcbf5fcd43718c9d2ac9bb8 100644 +index b857041f9be1ee941a40b50ab8cad9c1079028bc..131faece2645aa104da440f09cd7d8bd5e3e324e 100644 --- a/chrome/browser/ui/ash/ash_web_view_impl.h +++ b/chrome/browser/ui/ash/ash_web_view_impl.h @@ -47,8 +47,7 @@ class AshWebViewImpl : public ash::AshWebView, @@ -94,7 +94,7 @@ index f0333177f885000fb22818ffa30a0c4ad520a161..03e82957f9d7bf009dcbf5fcd43718c9 content::WebContents* source, const content::OpenURLParams& params) override; diff --git a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc -index 1318d5e04d5448d2b357454c3ce4207264288760..3b0324c35d5b18ed2e29264aae860c4887cdd382 100644 +index 1d49ec9a62ebc062ac825bebf471e2da99f4b65d..f19a6d112fe006b9a1eaa5dff375f6d2b40ae4da 100644 --- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc +++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc @@ -71,8 +71,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate, @@ -108,10 +108,10 @@ index 1318d5e04d5448d2b357454c3ce4207264288760..3b0324c35d5b18ed2e29264aae860c48 } diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index fc0083d2dcdf72a92cef4e1e830015341df4d65e..d8a82c7d06b58038f8b6a13fbdb31f96599f9e28 100644 +index 18ae737d8d03bc92e2f1005de28853bf99f3b2ca..3790ad21aba91ad5d9e33aae8d74253782a29d89 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -1812,12 +1812,11 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -1814,12 +1814,11 @@ bool Browser::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -127,10 +127,10 @@ index fc0083d2dcdf72a92cef4e1e830015341df4d65e..d8a82c7d06b58038f8b6a13fbdb31f96 WebContents* Browser::CreateCustomWebContents( diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h -index 490f14db4bec628ab2e6d2c2d3582e41f8cf6723..23004cb8b7d494cbf7badc18f5a122155e3552e2 100644 +index b847b573c1204d9d4157cfc33bf388b3b8021698..0aee4c33880d35c2569617d1a4d6ff9efe758614 100644 --- a/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h -@@ -852,8 +852,7 @@ class Browser : public TabStripModelObserver, +@@ -842,8 +842,7 @@ class Browser : public TabStripModelObserver, content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -141,7 +141,7 @@ index 490f14db4bec628ab2e6d2c2d3582e41f8cf6723..23004cb8b7d494cbf7badc18f5a12215 content::RenderFrameHost* opener, content::SiteInstance* source_site_instance, diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc -index 27b0f262235a58d546358ea12d7d7ea05f250c15..4f3cb2d63313703c98fd2149c07c60c95f263cdb 100644 +index 45a27e0b458d5ad30619727aa54e9136aab13546..1e1c67b5c9eec3ce050d9702276a02b24e6f9f21 100644 --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc @@ -202,8 +202,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden( @@ -155,7 +155,7 @@ index 27b0f262235a58d546358ea12d7d7ea05f250c15..4f3cb2d63313703c98fd2149c07c60c9 // 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 b6833e34c5840a4d3a545d1c4a44b2b08d7fc9ea..5ebc16a3545a73e58516cb0fbdddca43e789fd24 100644 +index c5ac95f3f5de7a71a52dc3ad6ec7cdd6da8a7f75..cd5b29a7df6bad940dbe9dbf972a58c6deef1fb8 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 @@ -169,7 +169,7 @@ index b6833e34c5840a4d3a545d1c4a44b2b08d7fc9ea..5ebc16a3545a73e58516cb0fbdddca43 // The profile used for the presentation. 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 ed23267cd9f28f4e02d8374177f0bb697547cc2a..a979719f75ab4c9b49775ec3df5eff13f4429a49 100644 +index f1561f1759be766d00543a868c9cd931dc17a72a..e2502b1f9219841857da4a27d5723052b3915757 100644 --- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc +++ b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc @@ -70,8 +70,7 @@ class HatsNextWebDialog::HatsWebView : public views::WebView { @@ -183,7 +183,7 @@ index ed23267cd9f28f4e02d8374177f0bb697547cc2a..a979719f75ab4c9b49775ec3df5eff13 } content::WebContents* CreateCustomWebContents( diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc -index 9d5265c5774c5e1196af3d0a66b796896676469c..40b9842bed30fd79252aa0fd19daa78e1c9baa5c 100644 +index 5361b1d57e3277b76463e7c67d32b0c378192609..f22776c45911026b637bd854cff7b5b09b96486b 100644 --- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc @@ -169,14 +169,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden( @@ -204,7 +204,7 @@ index 9d5265c5774c5e1196af3d0a66b796896676469c..40b9842bed30fd79252aa0fd19daa78e java_gurl); } diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h -index 2930898b03d7b7ef86d13733cec3cbe84105c166..76625339f42a867c8b68840253e91648721c9343 100644 +index 2b328613e7ccd65bb5fad0e2264aab74484fb9bc..726548375430e9d4f6a720f80d4376765c319723 100644 --- a/components/embedder_support/android/delegate/web_contents_delegate_android.h +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h @@ -78,8 +78,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate { @@ -218,7 +218,7 @@ index 2930898b03d7b7ef86d13733cec3cbe84105c166..76625339f42a867c8b68840253e91648 void SetContentsBounds(content::WebContents* source, const gfx::Rect& bounds) override; diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc -index 40e1d8312d64452beeac4eeb216c156132cd16e1..9b9a34f50d96b8fcae5a6b4133bd292002aa3cf6 100644 +index e055852342aef9ab1b49a9d8a630fae1173862e4..cc3ce00fb16ad560852aae6c3dcab29d920faec1 100644 --- a/components/offline_pages/content/background_loader/background_loader_contents.cc +++ b/components/offline_pages/content/background_loader/background_loader_contents.cc @@ -83,8 +83,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden( @@ -232,7 +232,7 @@ index 40e1d8312d64452beeac4eeb216c156132cd16e1..9b9a34f50d96b8fcae5a6b4133bd2920 return true; } diff --git a/components/offline_pages/content/background_loader/background_loader_contents.h b/components/offline_pages/content/background_loader/background_loader_contents.h -index 58c032fe666591be0a72c350b752ad07326253f0..23c8aa67c698ee6208a89b36c38a5fd39080b299 100644 +index 4e32d708ecf4afd3913d86ec1602ef2dc9a60998..1dd2f50fba1387b5eeb554dd540957d7cc461b0a 100644 --- a/components/offline_pages/content/background_loader/background_loader_contents.h +++ b/components/offline_pages/content/background_loader/background_loader_contents.h @@ -66,8 +66,7 @@ class BackgroundLoaderContents : public content::WebContentsDelegate { @@ -246,10 +246,10 @@ index 58c032fe666591be0a72c350b752ad07326253f0..23c8aa67c698ee6208a89b36c38a5fd3 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 b48f62fb5ba99e7399e739d9d23346c48218c247..84b48011e5a9d5b890a26debce68d0efd3c013c4 100644 +index c9b9041792f757bf00d2027f565058ed2d0e7052..1ca2c578463b66aae6592a587531f38dc954dec5 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3932,8 +3932,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3930,8 +3930,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( source_site_instance, params.window_container_type, @@ -260,10 +260,10 @@ index b48f62fb5ba99e7399e739d9d23346c48218c247..84b48011e5a9d5b890a26debce68d0ef static_cast(delegate_->CreateCustomWebContents( opener, source_site_instance, is_new_browsing_instance, diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc -index 3ddcc2d403a68fdc2b4b0246899cd9507ecc6195..eecc92f2ffce2c2eeb5fde977da6b94a29923b67 100644 +index bd4bdeda3403325ac5c3b83bc575b46844b5077a..224d70abab0fdcd08fd09cff4a3deba5a5387ba4 100644 --- a/content/public/browser/web_contents_delegate.cc +++ b/content/public/browser/web_contents_delegate.cc -@@ -134,8 +134,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden( +@@ -135,8 +135,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden( SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -274,10 +274,10 @@ index 3ddcc2d403a68fdc2b4b0246899cd9507ecc6195..eecc92f2ffce2c2eeb5fde977da6b94a } diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h -index 04eff05d01eb94e5020cdd6e1cc2555077692ba0..42a80fbe1d6a574b04d07fb1da3ae4b65854287c 100644 +index f33bc7ec4bce4b6a4c38462110b68aae5b6280d6..53cf3913f59bc4d2fc883462a1b854ed18d7681f 100644 --- a/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h -@@ -320,8 +320,7 @@ class CONTENT_EXPORT WebContentsDelegate { +@@ -321,8 +321,7 @@ class CONTENT_EXPORT WebContentsDelegate { SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -288,10 +288,10 @@ index 04eff05d01eb94e5020cdd6e1cc2555077692ba0..42a80fbe1d6a574b04d07fb1da3ae4b6 // Allow delegate to creates a custom WebContents when // WebContents::CreateNewWindow() is called. This function is only called diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc -index 0549e437ca79b1926da1e7ac3cd4371d2116cc17..fceb6c073d1e023c722196d907d98b73a379c6a0 100644 +index a4a3713b484d706d18466b0d3e6efef4a16e584b..84fe3304a2967de36efb6595689fee33454a73b5 100644 --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc -@@ -199,8 +199,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden( +@@ -198,8 +198,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -302,10 +302,10 @@ index 0549e437ca79b1926da1e7ac3cd4371d2116cc17..fceb6c073d1e023c722196d907d98b73 // view is used for displaying embedded extension options, we want any // external links to be opened in a new tab, not in a new guest view so we diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h -index 33c6e87c19f67ce6f2cbded50b860e7e009e7d98..174570ed505f3948494f85a7e63433ccffafb9d0 100644 +index e7ca270c9e95c539c5379e09302ae43256e193d2..9c2de6f9992e4630fa8b4359607973d5087b83ff 100644 --- a/extensions/browser/guest_view/extension_options/extension_options_guest.h +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h -@@ -58,8 +58,7 @@ class ExtensionOptionsGuest +@@ -59,8 +59,7 @@ class ExtensionOptionsGuest content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -316,10 +316,10 @@ index 33c6e87c19f67ce6f2cbded50b860e7e009e7d98..174570ed505f3948494f85a7e63433cc content::RenderFrameHost* opener, content::SiteInstance* source_site_instance, diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc -index 75a2534e3be7102a221378afbfef3df8e6a8555e..495fc687379c6456384acc3a1864c5f0c49ad47f 100644 +index 98bc3a82d40f840044a58bcc4b047cf58ea40b09..e11a0a0b8b113c694f9d3fcc284205305d6ba20e 100644 --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc -@@ -399,8 +399,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden( +@@ -390,8 +390,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -330,7 +330,7 @@ index 75a2534e3be7102a221378afbfef3df8e6a8555e..495fc687379c6456384acc3a1864c5f0 } diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h -index 26dc86a7534d9296f1b1f772ec95f5313c61061c..925152a6c1fb645dfff5bd7238b620a8344de734 100644 +index 06d3ed32b65708d91b220cdd4991fd377d84217c..bc942580c1bfb16bc5a8e9168f55626d16b863f0 100644 --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h @@ -170,8 +170,7 @@ class MimeHandlerViewGuest @@ -344,10 +344,10 @@ index 26dc86a7534d9296f1b1f772ec95f5313c61061c..925152a6c1fb645dfff5bd7238b620a8 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 fbbd630fcc3c684c5f79a526e53e8240897d6f6b..ba0c18a6f6430cafefa21bf73717cd3f3b0fde94 100644 +index 3d75b8de4e87fb365ca3472387b74dcdc1acf221..235be638fc445d7b2fcd907cbfeddbd44c624383 100644 --- a/fuchsia_web/webengine/browser/frame_impl.cc +++ b/fuchsia_web/webengine/browser/frame_impl.cc -@@ -413,8 +413,7 @@ bool FrameImpl::IsWebContentsCreationOverridden( +@@ -525,8 +525,7 @@ bool FrameImpl::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -358,7 +358,7 @@ index fbbd630fcc3c684c5f79a526e53e8240897d6f6b..ba0c18a6f6430cafefa21bf73717cd3f // 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 93fb79392c573b48d30136b0e2147b94e73158e6..0bed243e6947f7b54ee5bed9621f6482ca6364f4 100644 +index ac903eeed4d888b1128c9d96aec755d519aee590..cdfccea0e758c35e772b554ba0f3c987b58124d7 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, @@ -372,7 +372,7 @@ index 93fb79392c573b48d30136b0e2147b94e73158e6..0bed243e6947f7b54ee5bed9621f6482 int opener_render_process_id, int opener_render_frame_id, diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc -index 1c1425fcd27aae25a6569762824cdaf4ebf19ffd..b8c06b3519fcfe3da08ea4d1769b7833effb0f69 100644 +index 22f46f2515e62c84edd5540ba783843fef93b211..eb4d36792888278759d9a822b8d0518905245f0a 100644 --- a/headless/lib/browser/headless_web_contents_impl.cc +++ b/headless/lib/browser/headless_web_contents_impl.cc @@ -182,8 +182,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate { @@ -386,7 +386,7 @@ index 1c1425fcd27aae25a6569762824cdaf4ebf19ffd..b8c06b3519fcfe3da08ea4d1769b7833 ->options() ->block_new_web_contents(); diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc -index 6928d3f618de83e7d468b2204dba187a0361c892..0ae568044e6eaee3e486e4dc550be04b7e2ef545 100644 +index a4e4703e5c2a3e668806e61ca5437a6a571e73d2..f1198ac26f34c68efd70e77453b0705c7c73376a 100644 --- a/ui/views/controls/webview/web_dialog_view.cc +++ b/ui/views/controls/webview/web_dialog_view.cc @@ -427,8 +427,7 @@ bool WebDialogView::IsWebContentsCreationOverridden( @@ -400,7 +400,7 @@ index 6928d3f618de83e7d468b2204dba187a0361c892..0ae568044e6eaee3e486e4dc550be04b 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 3c6f0ed5f14251455c8dd295ffc5418ae8d360da..c9ba35edbbc8d2a60fcc53b51e998a9d5a0148ff 100644 +index 105c29d75c54fe5ff2909af38f52bb00fdee3d05..3fbb4beca0e0b727858d4966a509851700baa167 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 aa4ed97885..4b3ec25de6 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 ae4b6d6ea7b16367096ac91c6c8550819ae4769b..bfe03fa38536caa7aec625c89a90a74dcc05809d 100644 +index 2ac7cf0e337b10a2de230d4bb28542315dd30555..4b553794a216021f5c9e481fa2c08313b65e0980 100644 --- a/chrome/renderer/media/chrome_key_systems.cc +++ b/chrome/renderer/media/chrome_key_systems.cc @@ -17,7 +17,9 @@ @@ -20,7 +20,7 @@ index ae4b6d6ea7b16367096ac91c6c8550819ae4769b..bfe03fa38536caa7aec625c89a90a74d #include "components/cdm/renderer/external_clear_key_key_system_info.h" #include "components/cdm/renderer/widevine_key_system_info.h" #include "content/public/renderer/render_thread.h" -@@ -235,12 +237,14 @@ SupportedCodecs GetSupportedCodecs(const media::CdmCapability& capability) { +@@ -238,12 +240,14 @@ SupportedCodecs GetSupportedCodecs(const media::CdmCapability& capability, // Returns whether persistent-license session can be supported. bool CanSupportPersistentLicense() { diff --git a/patches/chromium/command-ismediakey.patch b/patches/chromium/command-ismediakey.patch index b52c74a4d8..6a44aeab2e 100644 --- a/patches/chromium/command-ismediakey.patch +++ b/patches/chromium/command-ismediakey.patch @@ -11,7 +11,7 @@ and electron/electron@d2368d2d3b3de9eec4cc32b6aaf035cc89921bf1 as patches. diff --git a/chrome/browser/extensions/global_shortcut_listener_ozone.cc b/chrome/browser/extensions/global_shortcut_listener_ozone.cc -index ed2ac20679a9357c9493224ec5e08837c7860d6e..7f9a97e11395e5521e100694cd37bcd95bcd8e35 100644 +index 2ac08809148beeb6bacccfc5e9f032c3a88eabe7..025082e5fa644f89cec42fd8a2b97d6f764f375f 100644 --- a/chrome/browser/extensions/global_shortcut_listener_ozone.cc +++ b/chrome/browser/extensions/global_shortcut_listener_ozone.cc @@ -58,7 +58,8 @@ bool GlobalShortcutListenerOzone::RegisterAcceleratorImpl( @@ -52,7 +52,7 @@ index ed2ac20679a9357c9493224ec5e08837c7860d6e..7f9a97e11395e5521e100694cd37bcd9 NotifyKeyPressed(ui::Accelerator(key_code, modifiers)); } diff --git a/chrome/browser/extensions/global_shortcut_listener_ozone.h b/chrome/browser/extensions/global_shortcut_listener_ozone.h -index a2cec20e0ba434afa5e15bf60327c6a6f9b551f9..f58796ff2050883879225a22ed0b3f0c1aacf824 100644 +index 3c2fc1707e38345c114e140104ffc5a93d704918..40dac9fd7beb7a1a589a479a8035391d4a32cbb8 100644 --- a/chrome/browser/extensions/global_shortcut_listener_ozone.h +++ b/chrome/browser/extensions/global_shortcut_listener_ozone.h @@ -46,7 +46,8 @@ class GlobalShortcutListenerOzone @@ -66,7 +66,7 @@ index a2cec20e0ba434afa5e15bf60327c6a6f9b551f9..f58796ff2050883879225a22ed0b3f0c bool is_listening_ = false; diff --git a/chrome/browser/extensions/global_shortcut_listener_win.cc b/chrome/browser/extensions/global_shortcut_listener_win.cc -index 2778a18b6c28f3342c6b43d1de71fbbd46c72f06..85af551f87b8b0f9aed7a2a395ecf79f81f5a0a1 100644 +index 51cc1dd4f3452c18a4b4cc0634509ab4faa9dcd7..bb5f937d59617f323e829c5259a33028822f585a 100644 --- a/chrome/browser/extensions/global_shortcut_listener_win.cc +++ b/chrome/browser/extensions/global_shortcut_listener_win.cc @@ -62,6 +62,8 @@ void GlobalShortcutListenerWin::OnWndProc(HWND hwnd, @@ -87,7 +87,7 @@ index 2778a18b6c28f3342c6b43d1de71fbbd46c72f06..85af551f87b8b0f9aed7a2a395ecf79f // Create an observer that registers a hot key for |accelerator|. std::unique_ptr observer = diff --git a/content/browser/media/media_keys_listener_manager_impl.cc b/content/browser/media/media_keys_listener_manager_impl.cc -index 3f37f08ccc06137317164e96e8934a0202fa5550..b954f8dde00d4f5257223c464e9145a6bef48900 100644 +index f855a6f083d7f0de1aa2ac26e6032917e2a984c8..2901d408d154a86f0df838314e54c17c208ac573 100644 --- a/content/browser/media/media_keys_listener_manager_impl.cc +++ b/content/browser/media/media_keys_listener_manager_impl.cc @@ -297,6 +297,11 @@ void MediaKeysListenerManagerImpl::UpdateSystemMediaControlsEnabledControls() { @@ -103,7 +103,7 @@ index 3f37f08ccc06137317164e96e8934a0202fa5550..b954f8dde00d4f5257223c464e9145a6 NOTREACHED(); } diff --git a/ui/base/accelerators/media_keys_listener.cc b/ui/base/accelerators/media_keys_listener.cc -index 1145e1f3d79482b5bb468c3128431ac674310e5f..e9f595045e0c076e0735f27dfc38bfbc7951d372 100644 +index db596585cbb44b3710636e3fc013f288966f604f..6d5557ee1a2c35ee15e695e024834184a525e2a7 100644 --- a/ui/base/accelerators/media_keys_listener.cc +++ b/ui/base/accelerators/media_keys_listener.cc @@ -13,7 +13,8 @@ MediaKeysListener::~MediaKeysListener() = default; @@ -117,7 +117,7 @@ index 1145e1f3d79482b5bb468c3128431ac674310e5f..e9f595045e0c076e0735f27dfc38bfbc } // namespace ui diff --git a/ui/base/accelerators/media_keys_listener_mac.mm b/ui/base/accelerators/media_keys_listener_mac.mm -index 87a53282aa3afa3fe8469272d8b1ee37dcadf845..55c36da933165c8f86dd2ab440733f4b20bee378 100644 +index 49cdcc41ccc1d1f005520e7f26700a98e5123476..7710129240b17124c8a845e513e49c16daa839a0 100644 --- a/ui/base/accelerators/media_keys_listener_mac.mm +++ b/ui/base/accelerators/media_keys_listener_mac.mm @@ -34,6 +34,12 @@ KeyboardCode MediaKeyCodeToKeyboardCode(int key_code) { @@ -146,7 +146,7 @@ index 87a53282aa3afa3fe8469272d8b1ee37dcadf845..55c36da933165c8f86dd2ab440733f4b } diff --git a/ui/base/x/x11_global_shortcut_listener.cc b/ui/base/x/x11_global_shortcut_listener.cc -index 898e15a25c99ad25221c41594803521565ff4432..664337941023e800c9605f987d0e1d65bb0a444d 100644 +index 8b0bcbe458f44431385cedb89f988756d89636b6..bc10cf442edf14cd43714707565aae9475cb8112 100644 --- a/ui/base/x/x11_global_shortcut_listener.cc +++ b/ui/base/x/x11_global_shortcut_listener.cc @@ -31,11 +31,13 @@ const x11::ModMask kModifiersMasks[] = { @@ -226,7 +226,7 @@ index 898e15a25c99ad25221c41594803521565ff4432..664337941023e800c9605f987d0e1d65 } // namespace ui diff --git a/ui/base/x/x11_global_shortcut_listener.h b/ui/base/x/x11_global_shortcut_listener.h -index bfb82e38a9ccc7459ccb427d512df821517a328b..7f1d5876a51fa53e539b2bab8d2f020f26d39ceb 100644 +index 7165e88ef78e0e1b4683a2ead588dc6529d085b8..a605cd8c1468be78172fed09eb227722b4832227 100644 --- a/ui/base/x/x11_global_shortcut_listener.h +++ b/ui/base/x/x11_global_shortcut_listener.h @@ -41,18 +41,21 @@ class COMPONENT_EXPORT(UI_BASE_X) XGlobalShortcutListener @@ -264,7 +264,7 @@ index bfb82e38a9ccc7459ccb427d512df821517a328b..7f1d5876a51fa53e539b2bab8d2f020f // Invoked when a global shortcut is pressed. void OnKeyPressEvent(const KeyEvent& event); diff --git a/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.cc b/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.cc -index 760dfc340601b7c1807fa750b008bcc79780c583..54f9817017c9fc0ebcd2f5825fb20b2fb8412b02 100644 +index d23310746bca13981d0099ce74c62459471db0e5..6ad79156e62dc60bdf20ef1acf53ec2425cb2bfe 100644 --- a/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.cc +++ b/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.cc @@ -26,27 +26,30 @@ void X11GlobalShortcutListenerOzone::StopListening() { @@ -305,7 +305,7 @@ index 760dfc340601b7c1807fa750b008bcc79780c583..54f9817017c9fc0ebcd2f5825fb20b2f } diff --git a/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.h b/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.h -index 0f1980abdcaf30e23f580b937ecb2c422bf2a357..112967622cb8a6263c7a88dd8d09f48f52448a45 100644 +index 4f7392e2019828caf374d7008068222aa366815f..bc1fcbb68c15d999caa991d678a6bb7473496d39 100644 --- a/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.h +++ b/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.h @@ -28,17 +28,20 @@ class X11GlobalShortcutListenerOzone : public PlatformGlobalShortcutListener, @@ -333,7 +333,7 @@ index 0f1980abdcaf30e23f580b937ecb2c422bf2a357..112967622cb8a6263c7a88dd8d09f48f } // namespace ui diff --git a/ui/ozone/public/platform_global_shortcut_listener.h b/ui/ozone/public/platform_global_shortcut_listener.h -index 5b6ceb2e23d306e446cad5a6b6e7adf37334410a..d4fbca17a11bd52deaf746e052eeeb12d8a4594e 100644 +index dd8bf45d0b7072178d97678565c023c0a6f9a6db..c6af8dbe1dee2d9c1552383b17c81ae12b5cc05c 100644 --- a/ui/ozone/public/platform_global_shortcut_listener.h +++ b/ui/ozone/public/platform_global_shortcut_listener.h @@ -20,7 +20,8 @@ class COMPONENT_EXPORT(OZONE_BASE) PlatformGlobalShortcutListenerDelegate { diff --git a/patches/chromium/crash_allow_disabling_compression_on_linux.patch b/patches/chromium/crash_allow_disabling_compression_on_linux.patch index d61b71b8cf..74f2e4ea71 100644 --- a/patches/chromium/crash_allow_disabling_compression_on_linux.patch +++ b/patches/chromium/crash_allow_disabling_compression_on_linux.patch @@ -13,7 +13,7 @@ Ultimately we should remove the option to disable compression, and subsequently remove this patch. diff --git a/components/crash/core/app/breakpad_linux.cc b/components/crash/core/app/breakpad_linux.cc -index 62d15f57e4c5a0a24aa730e8979fb1e9537fecd3..77fd14f5e9a4330364da4e7e5ee089c9196b4939 100644 +index c2bd854664edfd589f30804c7dd2997c8fe0f104..a9ba02dd1a2474db7789fb55655d0503bb9485e6 100644 --- a/components/crash/core/app/breakpad_linux.cc +++ b/components/crash/core/app/breakpad_linux.cc @@ -111,6 +111,8 @@ void SetUploadURL(const std::string& url) { diff --git a/patches/chromium/crash_allow_setting_more_options.patch b/patches/chromium/crash_allow_setting_more_options.patch index 0d5a296c83..8874dda9a0 100644 --- a/patches/chromium/crash_allow_setting_more_options.patch +++ b/patches/chromium/crash_allow_setting_more_options.patch @@ -9,7 +9,7 @@ rate-limiting, compression and global annotations. This should be upstreamed. diff --git a/components/crash/core/app/breakpad_linux.cc b/components/crash/core/app/breakpad_linux.cc -index 6aa864db880408bf7021ac58673f4d8d489426b4..1fa85302da7a64abc42fd9558ddbcaf68b387517 100644 +index 22477fdfcc7aa9ce6ab5ddefe55ce278c5ede23f..24d436ed26cf85d0c7307bcd6999a3f110423c45 100644 --- a/components/crash/core/app/breakpad_linux.cc +++ b/components/crash/core/app/breakpad_linux.cc @@ -113,6 +113,7 @@ void SetUploadURL(const std::string& url) { @@ -21,7 +21,7 @@ index 6aa864db880408bf7021ac58673f4d8d489426b4..1fa85302da7a64abc42fd9558ddbcaf6 uint64_t g_process_start_time = 0; pid_t g_pid = 0; diff --git a/components/crash/core/app/crash_reporter_client.cc b/components/crash/core/app/crash_reporter_client.cc -index 463f92a6e547006a46119f52203482dd6695a84a..34e6f087613d76947ae463fda2b107fad6ec14e9 100644 +index 284dd099122df85d2cebf467cdb3a54b45a343eb..bb21ddbd2ee4d2952a4b753a5c553005f8dc46db 100644 --- a/components/crash/core/app/crash_reporter_client.cc +++ b/components/crash/core/app/crash_reporter_client.cc @@ -145,6 +145,17 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) { @@ -43,7 +43,7 @@ index 463f92a6e547006a46119f52203482dd6695a84a..34e6f087613d76947ae463fda2b107fa unsigned int CrashReporterClient::GetCrashDumpPercentage() { return 100; diff --git a/components/crash/core/app/crash_reporter_client.h b/components/crash/core/app/crash_reporter_client.h -index 2532e99f00b39777cd9640c76704f7430d39502e..323e039e4591a4099b187f7a0097b4ee8be11a9f 100644 +index 9f8f20dfa65068a13ce3b035a7e3ce062d767161..9b45c7276e97253f79f4555ee692687b040afa67 100644 --- a/components/crash/core/app/crash_reporter_client.h +++ b/components/crash/core/app/crash_reporter_client.h @@ -5,6 +5,7 @@ @@ -75,7 +75,7 @@ index 2532e99f00b39777cd9640c76704f7430d39502e..323e039e4591a4099b187f7a0097b4ee // Used by WebView to sample crashes without generating the unwanted dumps. If // the returned value is less than 100, crash dumping will be sampled to that diff --git a/components/crash/core/app/crashpad_linux.cc b/components/crash/core/app/crashpad_linux.cc -index a80a792f1cb2c996b77443a3383663b4687ae044..2b1453353ce93632b378d4b25295b5cb14df9b2c 100644 +index 99efa6b245b9944710b76a342ec9a37947078a48..e55df93f17560a566e1dd2a63c560054edd772a5 100644 --- a/components/crash/core/app/crashpad_linux.cc +++ b/components/crash/core/app/crashpad_linux.cc @@ -170,6 +170,7 @@ bool PlatformCrashpadInitialization( @@ -101,7 +101,7 @@ index a80a792f1cb2c996b77443a3383663b4687ae044..2b1453353ce93632b378d4b25295b5cb annotations, arguments, false, false)); } else { diff --git a/components/crash/core/app/crashpad_mac.mm b/components/crash/core/app/crashpad_mac.mm -index dc041c43371fd58e3121ef6bc423aadb644bb8d0..a1fa566775724b4a1662a939fda3f0a59bf46b96 100644 +index cab2c95eee53e6c406d6867b0a6e53a3a9fb5ce3..46935fcbf84cf1472214904cf96b03aa0e57be8f 100644 --- a/components/crash/core/app/crashpad_mac.mm +++ b/components/crash/core/app/crashpad_mac.mm @@ -85,6 +85,8 @@ @@ -128,7 +128,7 @@ index dc041c43371fd58e3121ef6bc423aadb644bb8d0..a1fa566775724b4a1662a939fda3f0a5 arguments.push_back("--monitor-self"); } diff --git a/components/crash/core/app/crashpad_win.cc b/components/crash/core/app/crashpad_win.cc -index ae8801a7fc877241313de84a6ae0698d4f2adf69..9ae249bfe41da9743adc7f60d69be0f003ca31e2 100644 +index 9ab5fb1c822752854fc88ba0ee3d24ddca4dd107..11ae602ccc58cb2728911b28d6637079d2dcb359 100644 --- a/components/crash/core/app/crashpad_win.cc +++ b/components/crash/core/app/crashpad_win.cc @@ -91,6 +91,7 @@ bool PlatformCrashpadInitialization( diff --git a/patches/chromium/crashpad_pid_check.patch b/patches/chromium/crashpad_pid_check.patch index 5560d4b3ec..c86ce1a41b 100644 --- a/patches/chromium/crashpad_pid_check.patch +++ b/patches/chromium/crashpad_pid_check.patch @@ -16,7 +16,7 @@ https://github.com/electron/electron/pull/18483#discussion_r292703588 https://github.com/electron/electron/pull/18483#issuecomment-501090683 diff --git a/third_party/crashpad/crashpad/util/win/exception_handler_server.cc b/third_party/crashpad/crashpad/util/win/exception_handler_server.cc -index 6890a01cc4b333927be6c36ff3392706020f57a3..36da005deed5893989585427216fd1e16d5e9f0c 100644 +index ba938ec93f81680d98ab444484db00b1b1f54b88..3d0d2dee374367904dff2bffa967c2da856b7cde 100644 --- a/third_party/crashpad/crashpad/util/win/exception_handler_server.cc +++ b/third_party/crashpad/crashpad/util/win/exception_handler_server.cc @@ -446,9 +446,16 @@ bool ExceptionHandlerServer::ServiceClientConnection( 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 6b074078b5..70a06793a5 100644 --- a/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch +++ b/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch @@ -7,10 +7,10 @@ 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 6242f0a0070b2b862f9fa5ed70825a16d6e270ef..af355d4b0adb509f6b04d8bc2eddbb3a6b3c9a08 100644 +index f55888577c514abe5ed64e8b88ff9f6e442815fd..1cb549ad9229dc9cf478e1bb3959a984055d8fe1 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc -@@ -37,6 +37,7 @@ +@@ -38,6 +38,7 @@ #include "base/process/memory.h" #include "base/process/process.h" #include "base/process/process_handle.h" @@ -18,7 +18,7 @@ index 6242f0a0070b2b862f9fa5ed70825a16d6e270ef..af355d4b0adb509f6b04d8bc2eddbb3a #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" #include "base/task/thread_pool/thread_pool_instance.h" -@@ -232,8 +233,13 @@ std::string GetSnapshotDataDescriptor(const base::CommandLine& command_line) { +@@ -240,8 +241,13 @@ std::string GetSnapshotDataDescriptor(const base::CommandLine& command_line) { #endif @@ -33,7 +33,7 @@ index 6242f0a0070b2b862f9fa5ed70825a16d6e270ef..af355d4b0adb509f6b04d8bc2eddbb3a #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) base::FileDescriptorStore& file_descriptor_store = base::FileDescriptorStore::GetInstance(); -@@ -262,11 +268,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line, +@@ -270,11 +276,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line, #endif // V8_USE_EXTERNAL_STARTUP_DATA @@ -48,7 +48,7 @@ index 6242f0a0070b2b862f9fa5ed70825a16d6e270ef..af355d4b0adb509f6b04d8bc2eddbb3a #endif // V8_USE_EXTERNAL_STARTUP_DATA } -@@ -925,7 +932,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) { +@@ -955,7 +962,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) { return TerminateForFatalInitializationError(); #endif // BUILDFLAG(IS_ANDROID) && (ICU_UTIL_DATA_IMPL == ICU_UTIL_DATA_FILE) @@ -58,7 +58,7 @@ index 6242f0a0070b2b862f9fa5ed70825a16d6e270ef..af355d4b0adb509f6b04d8bc2eddbb3a blink::TrialTokenValidator::SetOriginTrialPolicyGetter( base::BindRepeating([]() -> blink::OriginTrialPolicy* { diff --git a/content/public/app/content_main_delegate.cc b/content/public/app/content_main_delegate.cc -index 5450eb6ba565164953b778f861d8fc75a06b6115..3f15d5a83d6e8011da09da178a0a9dfd2dd95d30 100644 +index a687861c04b323102a8d2bfe22b24a964793cd9b..4a7a469111eaec3e1e76ee852bd5afbbc0da2956 100644 --- a/content/public/app/content_main_delegate.cc +++ b/content/public/app/content_main_delegate.cc @@ -5,6 +5,7 @@ @@ -69,7 +69,7 @@ index 5450eb6ba565164953b778f861d8fc75a06b6115..3f15d5a83d6e8011da09da178a0a9dfd #include "build/build_config.h" #include "content/public/browser/content_browser_client.h" #include "content/public/common/content_client.h" -@@ -83,6 +84,10 @@ absl::optional ContentMainDelegate::PostEarlyInitialization( +@@ -87,6 +88,10 @@ absl::optional ContentMainDelegate::PostEarlyInitialization( return absl::nullopt; } @@ -81,7 +81,7 @@ index 5450eb6ba565164953b778f861d8fc75a06b6115..3f15d5a83d6e8011da09da178a0a9dfd return new ContentClient(); } diff --git a/content/public/app/content_main_delegate.h b/content/public/app/content_main_delegate.h -index f40146c4ed20e63dd09450e43c26736171f02ed4..5e3246a1346bd0210e7b83842a17dcc1986c8647 100644 +index 94b0925b07528eb21004aeb180594c067932f1d3..095f697908595d14aa7fb524efe31df3a80e4144 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 f40146c4ed20e63dd09450e43c26736171f02ed4..5e3246a1346bd0210e7b83842a17dcc1 #include "build/build_config.h" #include "content/common/content_export.h" #include "content/public/common/main_function_params.h" -@@ -154,6 +155,8 @@ class CONTENT_EXPORT ContentMainDelegate { +@@ -162,6 +163,8 @@ class CONTENT_EXPORT ContentMainDelegate { virtual bool ShouldHandleConsoleControlEvents(); #endif @@ -102,10 +102,10 @@ index f40146c4ed20e63dd09450e43c26736171f02ed4..5e3246a1346bd0210e7b83842a17dcc1 friend class ContentClientCreator; friend class ContentClientInitializer; diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc -index 5530d975303cc96701e4b70ffbcaf6e7c02bb016..edd9959cc0fd23711e19de4aee104199a8a3599e 100644 +index 67d3be89ac776ebc39c245641f9fbb4e9dd5e03d..1e88f4034ef2b72b2373e17c607b9e38bf24863b 100644 --- a/gin/v8_initializer.cc +++ b/gin/v8_initializer.cc -@@ -496,8 +496,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out, +@@ -495,8 +495,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out, #if defined(V8_USE_EXTERNAL_STARTUP_DATA) @@ -115,7 +115,7 @@ index 5530d975303cc96701e4b70ffbcaf6e7c02bb016..edd9959cc0fd23711e19de4aee104199 if (g_mapped_snapshot) { // TODO(crbug.com/802962): Confirm not loading different type of snapshot // files in a process. -@@ -506,10 +505,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) { +@@ -505,10 +504,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) { base::MemoryMappedFile::Region file_region; base::File file = @@ -135,7 +135,7 @@ index 5530d975303cc96701e4b70ffbcaf6e7c02bb016..edd9959cc0fd23711e19de4aee104199 void V8Initializer::LoadV8SnapshotFromFile( base::File snapshot_file, diff --git a/gin/v8_initializer.h b/gin/v8_initializer.h -index 13a120c7fe8e69a44793473f3124c33d572a07a3..acb294780873c1d84546eb2b9acc00f86838361d 100644 +index dd9899c3e0dbadfc0074ffce87d51193e1c963cb..25c747ee645d845a0abfaf63cc66595319df4b51 100644 --- a/gin/v8_initializer.h +++ b/gin/v8_initializer.h @@ -9,6 +9,7 @@ diff --git a/patches/chromium/custom_protocols_plzserviceworker.patch b/patches/chromium/custom_protocols_plzserviceworker.patch index 4f09aad276..a80bcfd4f8 100644 --- a/patches/chromium/custom_protocols_plzserviceworker.patch +++ b/patches/chromium/custom_protocols_plzserviceworker.patch @@ -8,10 +8,10 @@ Allow registering custom protocols to handle service worker main script fetching Refs https://bugs.chromium.org/p/chromium/issues/detail?id=996511 diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc -index 2754f849a4a8cdd23956ef8e49b8025c6528a218..76bef9239dcbe93300143bd2b6960beef0d38392 100644 +index fed1df784401595696251bcac6c542b1cf7757a1..eeccb431e137ea647cfb3e62386afd7c817bde49 100644 --- a/content/browser/service_worker/service_worker_context_wrapper.cc +++ b/content/browser/service_worker/service_worker_context_wrapper.cc -@@ -1670,6 +1670,28 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( +@@ -1676,6 +1676,28 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( loader_factory_bundle_info = context()->loader_factory_bundle_for_update_check()->Clone(); @@ -40,7 +40,7 @@ index 2754f849a4a8cdd23956ef8e49b8025c6528a218..76bef9239dcbe93300143bd2b6960bee if (base::FeatureList::IsEnabled( features::kEnableServiceWorkersForChromeUntrusted) && scope.scheme_piece() == kChromeUIUntrustedScheme) { -@@ -1690,9 +1712,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( +@@ -1696,9 +1718,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest( browser_context(), scope_origin)) { config->RegisterURLDataSource(browser_context()); diff --git a/patches/chromium/dcheck.patch b/patches/chromium/dcheck.patch index a7f845049f..72a405cd9c 100644 --- a/patches/chromium/dcheck.patch +++ b/patches/chromium/dcheck.patch @@ -17,7 +17,7 @@ only one or two specific checks fail. Then it's better to simply comment out the failing checks and allow the rest of the target to have them enabled. diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc -index fe8d191217e24b08d36339dbf047beaeb6bd6538..870db0552544e3e89d9498c22ec3db81b46df741 100644 +index 2c0cc8d12b2e7987034fde9819e34b801549878d..c6353228eb5e5c720518d9c7a647349fcc617e05 100644 --- a/ui/base/clipboard/clipboard_win.cc +++ b/ui/base/clipboard/clipboard_win.cc @@ -891,10 +891,10 @@ SkBitmap ClipboardWin::ReadBitmapInternal(ClipboardBuffer buffer) const { diff --git a/patches/chromium/desktop_media_list.patch b/patches/chromium/desktop_media_list.patch index 244cf80fac..7ae8bdb75a 100644 --- a/patches/chromium/desktop_media_list.patch +++ b/patches/chromium/desktop_media_list.patch @@ -8,7 +8,7 @@ Subject: desktop_media_list.patch * Ensure "OnRefreshComplete()" even if there are no items in the list diff --git a/chrome/browser/media/webrtc/desktop_media_list.h b/chrome/browser/media/webrtc/desktop_media_list.h -index f16b2dae4dc5c6c0377400a51302bbb34ec5e485..8aba5333fb046e3f2650ce3a63479bd6afc931aa 100644 +index 2892ec2c97b6a49b696f155780900e5c4654b051..c559ad5e07344281e61148eff3b63a131144fed2 100644 --- a/chrome/browser/media/webrtc/desktop_media_list.h +++ b/chrome/browser/media/webrtc/desktop_media_list.h @@ -107,7 +107,8 @@ class DesktopMediaList { @@ -22,7 +22,7 @@ index f16b2dae4dc5c6c0377400a51302bbb34ec5e485..8aba5333fb046e3f2650ce3a63479bd6 virtual int GetSourceCount() const = 0; virtual const Source& GetSource(int index) const = 0; diff --git a/chrome/browser/media/webrtc/desktop_media_list_base.cc b/chrome/browser/media/webrtc/desktop_media_list_base.cc -index 62156d9c7fe3908d330807a0642a9e9e04e2cae0..736cf6dfe45046d0a177a915dd599e6163137389 100644 +index c49e83d5ea1e8425156f0be482ec9061544db9bd..549e5a3a900c8aca83e64ea000a13e8377d28227 100644 --- a/chrome/browser/media/webrtc/desktop_media_list_base.cc +++ b/chrome/browser/media/webrtc/desktop_media_list_base.cc @@ -69,12 +69,12 @@ void DesktopMediaListBase::StartUpdating(DesktopMediaListObserver* observer) { @@ -41,7 +41,7 @@ index 62156d9c7fe3908d330807a0642a9e9e04e2cae0..736cf6dfe45046d0a177a915dd599e61 int DesktopMediaListBase::GetSourceCount() const { diff --git a/chrome/browser/media/webrtc/desktop_media_list_base.h b/chrome/browser/media/webrtc/desktop_media_list_base.h -index 7d8f137be2d337a0069b0fbf890ef04741d986ec..e8de4f72d819ab55a78a1b1a86f522dac6b5a7a6 100644 +index 202cfa1df6a540fb6e13ef06b43bdabba5535599..94ed6bf35606fe22c4c58cbb4ed6668f84247d52 100644 --- a/chrome/browser/media/webrtc/desktop_media_list_base.h +++ b/chrome/browser/media/webrtc/desktop_media_list_base.h @@ -39,7 +39,7 @@ class DesktopMediaListBase : public DesktopMediaList { @@ -54,10 +54,10 @@ index 7d8f137be2d337a0069b0fbf890ef04741d986ec..e8de4f72d819ab55a78a1b1a86f522da const Source& GetSource(int index) const override; DesktopMediaList::Type GetMediaListType() const override; diff --git a/chrome/browser/media/webrtc/fake_desktop_media_list.cc b/chrome/browser/media/webrtc/fake_desktop_media_list.cc -index 196a49e70a2aaae4e3dc456e9bc00e878d577750..f1ea9ee497d538f2802103d8cc58dd102e088676 100644 +index 1b977da7ff9e2ac86ce131da0dd0c6f3b6a69448..f94b818d3de71cb9a5521186611452c086d56608 100644 --- a/chrome/browser/media/webrtc/fake_desktop_media_list.cc +++ b/chrome/browser/media/webrtc/fake_desktop_media_list.cc -@@ -77,7 +77,8 @@ void FakeDesktopMediaList::StartUpdating(DesktopMediaListObserver* observer) { +@@ -79,7 +79,8 @@ void FakeDesktopMediaList::StartUpdating(DesktopMediaListObserver* observer) { thumbnail_ = gfx::ImageSkia::CreateFrom1xBitmap(bitmap); } @@ -68,10 +68,10 @@ index 196a49e70a2aaae4e3dc456e9bc00e878d577750..f1ea9ee497d538f2802103d8cc58dd10 } diff --git a/chrome/browser/media/webrtc/fake_desktop_media_list.h b/chrome/browser/media/webrtc/fake_desktop_media_list.h -index 0f3bc1477387ea24f20647dc668ed82ce7e609b0..a791ff38795392b32e7cfcacd646bb68fe4cf9e5 100644 +index 33ca7a53dfb6d2c9e3a33f0065a3acd806e82e01..9fdf2e8ff0056ff407015b914c6b03eb6e25e0e4 100644 --- a/chrome/browser/media/webrtc/fake_desktop_media_list.h +++ b/chrome/browser/media/webrtc/fake_desktop_media_list.h -@@ -32,7 +32,8 @@ class FakeDesktopMediaList : public DesktopMediaList { +@@ -40,7 +40,8 @@ class FakeDesktopMediaList : public DesktopMediaList { void SetThumbnailSize(const gfx::Size& thumbnail_size) override; void SetViewDialogWindowId(content::DesktopMediaID dialog_id) override; void StartUpdating(DesktopMediaListObserver* observer) override; @@ -82,21 +82,19 @@ index 0f3bc1477387ea24f20647dc668ed82ce7e609b0..a791ff38795392b32e7cfcacd646bb68 const Source& GetSource(int index) const override; DesktopMediaList::Type GetMediaListType() const override; diff --git a/chrome/browser/media/webrtc/native_desktop_media_list.cc b/chrome/browser/media/webrtc/native_desktop_media_list.cc -index 9cc555065bde14bbbed57112ce09a02768bfc38c..67fe851eb2cf014e6a4e7d4b99499ca4d943291e 100644 +index f32b8fdf9b00cf678dcbf2265e68bac53674fe5a..fbe090a18d10692ee8ef2aed0cd94cb696538515 100644 --- a/chrome/browser/media/webrtc/native_desktop_media_list.cc +++ b/chrome/browser/media/webrtc/native_desktop_media_list.cc -@@ -141,8 +141,9 @@ BOOL CALLBACK AllHwndCollector(HWND hwnd, LPARAM param) { - #endif // BUILDFLAG(IS_WIN) - +@@ -142,7 +142,7 @@ BOOL CALLBACK AllHwndCollector(HWND hwnd, LPARAM param) { #if BUILDFLAG(IS_MAC) -+// Refs https://github.com/electron/electron/pull/30507 - const base::Feature kWindowCaptureMacV2{"WindowCaptureMacV2", -- base::FEATURE_ENABLED_BY_DEFAULT}; -+ base::FEATURE_DISABLED_BY_DEFAULT}; + BASE_FEATURE(kWindowCaptureMacV2, + "WindowCaptureMacV2", +- base::FEATURE_ENABLED_BY_DEFAULT); ++ base::FEATURE_DISABLED_BY_DEFAULT); #endif } // namespace -@@ -440,6 +441,9 @@ void NativeDesktopMediaList::Worker::RefreshNextThumbnail() { +@@ -444,6 +444,9 @@ void NativeDesktopMediaList::Worker::RefreshNextThumbnail() { FROM_HERE, base::BindOnce(&NativeDesktopMediaList::UpdateNativeThumbnailsFinished, media_list_)); @@ -106,7 +104,7 @@ index 9cc555065bde14bbbed57112ce09a02768bfc38c..67fe851eb2cf014e6a4e7d4b99499ca4 } void NativeDesktopMediaList::Worker::OnCaptureResult( -@@ -748,6 +752,11 @@ void NativeDesktopMediaList::RefreshForVizFrameSinkWindows( +@@ -789,6 +792,11 @@ void NativeDesktopMediaList::RefreshForVizFrameSinkWindows( FROM_HERE, base::BindOnce(&Worker::RefreshThumbnails, base::Unretained(worker_.get()), std::move(native_ids), thumbnail_size_)); diff --git a/patches/chromium/disable-redraw-lock.patch b/patches/chromium/disable-redraw-lock.patch index d01b18121b..48da063218 100644 --- a/patches/chromium/disable-redraw-lock.patch +++ b/patches/chromium/disable-redraw-lock.patch @@ -15,10 +15,10 @@ the redraw locking mechanism, which fixes these issues. The electron issue can be found at https://github.com/electron/electron/issues/1821 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index ee704693b5bd303e7093b943a26ada8ef4acdbf9..eb6dcd91c18902c6309553e0073e49cf517dcc7a 100644 +index ec39cb0d15c80f051e89bf4d0f05368dff897fa7..472090adb19411366c50ed8e5a2f1276bc0a47eb 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc -@@ -310,6 +310,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; +@@ -311,6 +311,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; } // namespace @@ -29,7 +29,7 @@ index ee704693b5bd303e7093b943a26ada8ef4acdbf9..eb6dcd91c18902c6309553e0073e49cf // A scoping class that prevents a window from being able to redraw in response // to invalidations that may occur within it for the lifetime of the object. // -@@ -360,7 +364,8 @@ class HWNDMessageHandler::ScopedRedrawLock { +@@ -361,7 +365,8 @@ class HWNDMessageHandler::ScopedRedrawLock { hwnd_(owner_->hwnd()), cancel_unlock_(false), should_lock_(owner_->IsVisible() && !owner->HasChildRenderingWindow() && @@ -39,7 +39,7 @@ index ee704693b5bd303e7093b943a26ada8ef4acdbf9..eb6dcd91c18902c6309553e0073e49cf (!(GetWindowLong(hwnd_, GWL_STYLE) & WS_CAPTION) || !ui::win::IsAeroGlassEnabled())) { if (should_lock_) -@@ -1056,6 +1061,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() { +@@ -1057,6 +1062,10 @@ HWNDMessageHandler::RegisterUnadjustedMouseEvent() { return scoped_enable; } @@ -51,7 +51,7 @@ index ee704693b5bd303e7093b943a26ada8ef4acdbf9..eb6dcd91c18902c6309553e0073e49cf // HWNDMessageHandler, gfx::WindowImpl overrides: diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h -index 3344a25c7e14998d27a5e50e479b43e924463ba1..6397495f3a4144ee39abde7a8473c31e0bf1b297 100644 +index e93d1727cbd8263d3b68e539856a577585a6092c..6d0adb7b5febc5625073312e7f1d557f89927ac8 100644 --- a/ui/views/win/hwnd_message_handler.h +++ b/ui/views/win/hwnd_message_handler.h @@ -210,6 +210,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl, @@ -64,7 +64,7 @@ index 3344a25c7e14998d27a5e50e479b43e924463ba1..6397495f3a4144ee39abde7a8473c31e HICON GetDefaultWindowIcon() const override; HICON GetSmallWindowIcon() const override; diff --git a/ui/views/win/hwnd_message_handler_delegate.h b/ui/views/win/hwnd_message_handler_delegate.h -index d8e0f1d3131aef80c9fcb6069df7d7f986af6605..5dbb192d0840ca0ded61397c399b774a8cb05cce 100644 +index 08e46c7b92f6cbe95c9cb524d09a6ed9e89ecf00..233dd12f86c20a7f5169caab998993f614e8bc7e 100644 --- a/ui/views/win/hwnd_message_handler_delegate.h +++ b/ui/views/win/hwnd_message_handler_delegate.h @@ -46,6 +46,8 @@ class VIEWS_EXPORT HWNDMessageHandlerDelegate { diff --git a/patches/chromium/disable_color_correct_rendering.patch b/patches/chromium/disable_color_correct_rendering.patch index e98257a9da..53218ea3bf 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 5542037a338e34800d86c3ca9cbaf0511fa60570..e5011a2b9d2127c1e17730db54f9574f1ed1d287 100644 +index da77efbe86b691e0b1fa2773cc48fd6a3bd0b94f..fe0147778f667e43229548de8ff0e6639180966f 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -1873,6 +1873,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( +@@ -1882,6 +1882,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( TargetColorParams LayerTreeHostImpl::GetTargetColorParams( gfx::ContentColorUsage content_color_usage) const { TargetColorParams params; @@ -35,7 +35,7 @@ index 5542037a338e34800d86c3ca9cbaf0511fa60570..e5011a2b9d2127c1e17730db54f9574f // If we are likely to software composite the resource, we use sRGB because // software compositing is unable to perform color conversion. diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h -index 809fb46cc34db308e0ec73197859045ba639407c..9360695cd920de372529206212f795f299405fcf 100644 +index ed65d3d86f73759c6bcd06b7b3daae69c16419df..443044170f72accbd8c10b79db95b69b77cb0825 100644 --- a/cc/trees/layer_tree_settings.h +++ b/cc/trees/layer_tree_settings.h @@ -93,6 +93,8 @@ class CC_EXPORT LayerTreeSettings { @@ -48,7 +48,7 @@ index 809fb46cc34db308e0ec73197859045ba639407c..9360695cd920de372529206212f795f2 // Image Decode Service and raster tiles without images until the decode is // ready. diff --git a/components/viz/common/display/renderer_settings.h b/components/viz/common/display/renderer_settings.h -index bc48a50a7664f12a454997db54d893cde9b04881..810a8ce52bf9ac74f47a710f8b332980754996f5 100644 +index 893291f2c79dd921d03785bbef2eb4b1de1f3638..217f3efc64f55506d8dc6548c10830b38d5f5940 100644 --- a/components/viz/common/display/renderer_settings.h +++ b/components/viz/common/display/renderer_settings.h @@ -24,6 +24,7 @@ class VIZ_COMMON_EXPORT RendererSettings { @@ -60,7 +60,7 @@ index bc48a50a7664f12a454997db54d893cde9b04881..810a8ce52bf9ac74f47a710f8b332980 bool force_antialiasing = false; bool force_blending_with_shaders = false; diff --git a/components/viz/host/renderer_settings_creation.cc b/components/viz/host/renderer_settings_creation.cc -index 9d34ced366026eb7cdd00ce40a4eb1af56180d39..abf67f8246bfa37df08cd2216c388dd316fb6499 100644 +index 5ca2e3b7999fb0c8da4953c6a20352a4b9de675d..86b4f9d2d1882e5706fd559e01442b02f629bda9 100644 --- a/components/viz/host/renderer_settings_creation.cc +++ b/components/viz/host/renderer_settings_creation.cc @@ -17,6 +17,7 @@ @@ -81,7 +81,7 @@ index 9d34ced366026eb7cdd00ce40a4eb1af56180d39..abf67f8246bfa37df08cd2216c388dd3 !command_line->HasSwitch(switches::kUIDisablePartialSwap); diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index 510c2bb4c8a859a36605eb4dbfc5b5ce11a9334d..b685b682ee12861b8e9de0bfa83d2ad054a11898 100644 +index af72005a3385b826d38aac13bb9dcb31e13b9045..f69f294fe079e21fa91f64a6d9a90096660265fd 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc @@ -224,6 +224,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( @@ -93,7 +93,7 @@ index 510c2bb4c8a859a36605eb4dbfc5b5ce11a9334d..b685b682ee12861b8e9de0bfa83d2ad0 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 57639004908694d5d4a247ee23446b05b9ac0b14..dfd588523ec35d59f6b44610f6eee0416b983f83 100644 +index 0606b76ac16553ed446f3e3b5d3369aa1c32d72c..bc755d2f68cd5e336e4057283fa2d8f76172e35b 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -199,6 +199,7 @@ @@ -104,7 +104,7 @@ index 57639004908694d5d4a247ee23446b05b9ac0b14..dfd588523ec35d59f6b44610f6eee041 #include "ui/gl/gl_switches.h" #include "url/gurl.h" #include "url/origin.h" -@@ -3206,6 +3207,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3221,6 +3222,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[] = { @@ -113,7 +113,7 @@ index 57639004908694d5d4a247ee23446b05b9ac0b14..dfd588523ec35d59f6b44610f6eee041 sandbox::policy::switches::kDisableSeccompFilterSandbox, sandbox::policy::switches::kNoSandbox, diff --git a/third_party/blink/renderer/platform/graphics/canvas_color_params.cc b/third_party/blink/renderer/platform/graphics/canvas_color_params.cc -index 75d7af9a79d4e7f2cd39e45496ab5fff66407638..35b0bb908245330fbdc5205caa3299bf6fd8f7b4 100644 +index 318005b66e04ed03ce6d44931d9360c0e009cb94..0d622fddb95720141ccf8a285ace47142060c9d1 100644 --- a/third_party/blink/renderer/platform/graphics/canvas_color_params.cc +++ b/third_party/blink/renderer/platform/graphics/canvas_color_params.cc @@ -4,6 +4,7 @@ @@ -156,7 +156,7 @@ index 75d7af9a79d4e7f2cd39e45496ab5fff66407638..35b0bb908245330fbdc5205caa3299bf } diff --git a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc -index ba6ab6961dec25a3f9c572341d24f341c8f58358..ba8cfd2a2572368fc14073a53f8544f269089894 100644 +index e00ae57eac11a72769cd9330dbb666df6381fa8b..2b0c1fb21f9feb7f7ba7489bb96a046a0842dcbe 100644 --- a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc +++ b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc @@ -24,6 +24,7 @@ @@ -167,7 +167,7 @@ index ba6ab6961dec25a3f9c572341d24f341c8f58358..ba8cfd2a2572368fc14073a53f8544f2 #include "ui/native_theme/native_theme_features.h" #include "ui/native_theme/overlay_scrollbar_constants_aura.h" -@@ -178,6 +179,9 @@ cc::LayerTreeSettings GenerateLayerTreeSettings( +@@ -183,6 +184,9 @@ cc::LayerTreeSettings GenerateLayerTreeSettings( settings.main_frame_before_activation_enabled = cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation); @@ -178,7 +178,7 @@ index ba6ab6961dec25a3f9c572341d24f341c8f58358..ba8cfd2a2572368fc14073a53f8544f2 // is what the renderer uses if its not threaded. settings.enable_checker_imaging = diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc -index 961b730933d285ccea7b81b8c21dd5bb0ecea56a..d6e536924f0b397d3e8808298d2b9fdd6025411f 100644 +index d346af4fa91adfc2f031484252e4ae05435f94d7..88315bdf562451a2371e53d994bbb3821f357d0e 100644 --- a/ui/gfx/mac/io_surface.cc +++ b/ui/gfx/mac/io_surface.cc @@ -20,6 +20,7 @@ @@ -189,7 +189,7 @@ index 961b730933d285ccea7b81b8c21dd5bb0ecea56a..d6e536924f0b397d3e8808298d2b9fdd namespace gfx { -@@ -142,6 +143,14 @@ void IOSurfaceMachPortTraits::Release(mach_port_t port) { +@@ -143,6 +144,14 @@ void IOSurfaceMachPortTraits::Release(mach_port_t port) { // Common method used by IOSurfaceSetColorSpace and IOSurfaceCanSetColorSpace. bool IOSurfaceSetColorSpace(IOSurfaceRef io_surface, const ColorSpace& color_space) { @@ -204,7 +204,7 @@ index 961b730933d285ccea7b81b8c21dd5bb0ecea56a..d6e536924f0b397d3e8808298d2b9fdd // Allow but ignore invalid color spaces. if (!color_space.IsValid()) return true; -@@ -312,6 +321,15 @@ IOSurfaceRef CreateIOSurface(const gfx::Size& size, +@@ -313,6 +322,15 @@ IOSurfaceRef CreateIOSurface(const gfx::Size& size, DCHECK_EQ(kIOReturnSuccess, r); } @@ -221,7 +221,7 @@ index 961b730933d285ccea7b81b8c21dd5bb0ecea56a..d6e536924f0b397d3e8808298d2b9fdd IOSurfaceSetValue(surface, CFSTR("IOSurfaceColorSpace"), kCGColorSpaceSRGB); diff --git a/ui/gfx/switches.cc b/ui/gfx/switches.cc -index 0e8044c6d87008c51fd165c6ef8bdc3687d6cc29..78015868927602b5225f252f0a9182f61b8431dc 100644 +index 3efe109c57d7cdf2979bfd97d26ff351b48158f6..d549cb67409425238cf7cae57a34339650584fb7 100644 --- a/ui/gfx/switches.cc +++ b/ui/gfx/switches.cc @@ -11,6 +11,8 @@ namespace switches { @@ -234,7 +234,7 @@ index 0e8044c6d87008c51fd165c6ef8bdc3687d6cc29..78015868927602b5225f252f0a9182f6 // sharpness, kerning, hinting and layout. const char kDisableFontSubpixelPositioning[] = diff --git a/ui/gfx/switches.h b/ui/gfx/switches.h -index e8e5d44e246364dd45594efb442c129676c14270..252096ee18ca33f4b98f68beb1f534e1c2ab805e 100644 +index 96563c15f0849dfced900435e8eb20db4d50bc0d..01e6a4954866cdcdc9e8a2e05c092e059b05426b 100644 --- a/ui/gfx/switches.h +++ b/ui/gfx/switches.h @@ -12,6 +12,7 @@ diff --git a/patches/chromium/disable_compositor_recycling.patch b/patches/chromium/disable_compositor_recycling.patch index 3182cbb1e1..3dc9d45774 100644 --- a/patches/chromium/disable_compositor_recycling.patch +++ b/patches/chromium/disable_compositor_recycling.patch @@ -6,10 +6,10 @@ Subject: fix: disabling compositor recycling Compositor recycling is useful for Chrome because there can be many tabs and spinning up a compositor for each one would be costly. In practice, Chrome uses the parent compositor code path of browser_compositor_view_mac.mm; the NSView of each tab is detached when it's hidden and attached when it's shown. For Electron, there is no parent compositor, so we're forced into the "own compositor" code path, which seems to be non-optimal and pretty ruthless in terms of the release of resources. Electron has no real concept of multiple tabs per window, so it should be okay to disable this ruthless recycling altogether in Electron. diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm -index e0168e7cf64a783a96aa4e43fa3a80bfbbe1fbac..5812734dbc86831e4c7611319647225732b483ea 100644 +index a420b3cf9b1c325967318db322d61c4ebc4cf7c6..c5bc07973bba93aff7837cea92895e2ef7dff897 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm -@@ -524,7 +524,11 @@ +@@ -525,7 +525,11 @@ return; host()->WasHidden(); 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 891a0dc4aa..8aab33368d 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 c00f1b3d1bde2c1bcc201e6580b8f6151e09af0c..bc33814fb82632c0956f057a4e91fd29c45c9d40 100644 +index 69f5528f0f6f3bfe6dab949b26dee9276aa115c6..81d637e84ef11681146beee74b1d27b23b16f11d 100644 --- a/content/renderer/render_process_impl.cc +++ b/content/renderer/render_process_impl.cc -@@ -226,6 +226,9 @@ RenderProcessImpl::RenderProcessImpl() +@@ -241,6 +241,9 @@ RenderProcessImpl::RenderProcessImpl() SetV8FlagIfNotFeature(features::kWebAssemblyDynamicTiering, "--no-wasm-dynamic-tiering"); diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index c000342f0c..dd949a8fb3 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 93c985bbfc6048047a5d3b5a7a9dc7e83ed82391..47c25cf13a76de1c04624fff5e3773c05809b0a1 100644 +index 5b2d9bf9783f23d95be5e512dcf3e6ec9cb5151f..02e1780f15d15426e641077d06351d19f46ebaa8 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -812,6 +812,9 @@ void RenderWidgetHostImpl::WasHidden() { +@@ -819,6 +819,9 @@ void RenderWidgetHostImpl::WasHidden() { if (is_hidden_) return; @@ -20,10 +20,10 @@ index 93c985bbfc6048047a5d3b5a7a9dc7e83ed82391..47c25cf13a76de1c04624fff5e3773c0 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 1301db91b45b5cde376835f2d4caaea92a26556e..31f37242c8a833065fd5e11b7b25e09005fb30c1 100644 +index 688c6b226d83996e29f5aebc542163fe6b53e77a..a57beb8ba60416db6bc8d99eea0c450d3eb7a44b 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h -@@ -885,6 +885,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl +@@ -889,6 +889,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl SiteInstanceGroup* GetSiteInstanceGroup(); @@ -34,10 +34,10 @@ index 1301db91b45b5cde376835f2d4caaea92a26556e..31f37242c8a833065fd5e11b7b25e090 // |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 b9a9aefe1eb1acaf0aeedda2e1945c5ab0219684..06501c3703c68e15d127609a34c4026d10964e31 100644 +index d65137df978bcad6138f13251d4af3b8971aeadd..148d9f1c28c4810767306ee3884128c9bd0684ce 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -602,7 +602,7 @@ void RenderWidgetHostViewAura::HideImpl() { +@@ -604,7 +604,7 @@ void RenderWidgetHostViewAura::HideImpl() { DCHECK(visibility_ == Visibility::HIDDEN || visibility_ == Visibility::OCCLUDED); diff --git a/patches/chromium/disable_optimization_guide_for_preconnect_feature.patch b/patches/chromium/disable_optimization_guide_for_preconnect_feature.patch index 725c9f0395..15b5ef9f83 100644 --- a/patches/chromium/disable_optimization_guide_for_preconnect_feature.patch +++ b/patches/chromium/disable_optimization_guide_for_preconnect_feature.patch @@ -11,7 +11,7 @@ component code in the resource prefetch predictor code since it is unused and in it causes compilation problems on Windows. diff --git a/chrome/browser/predictors/resource_prefetch_predictor.cc b/chrome/browser/predictors/resource_prefetch_predictor.cc -index c4b64a7812bac4534371887eb7e0a07ec9cab8ff..b827d69964d824540ea70f66c467e91be8391e6c 100644 +index 603c4094711700a5ae5b3769f161fc9149ccac75..e54844f7d331d60b9780d89747ecc333a4176c5d 100644 --- a/chrome/browser/predictors/resource_prefetch_predictor.cc +++ b/chrome/browser/predictors/resource_prefetch_predictor.cc @@ -100,10 +100,12 @@ PreconnectPrediction& PreconnectPrediction::operator=( @@ -28,7 +28,7 @@ index c4b64a7812bac4534371887eb7e0a07ec9cab8ff..b827d69964d824540ea70f66c467e91b //////////////////////////////////////////////////////////////////////////////// // ResourcePrefetchPredictor static functions. diff --git a/chrome/browser/predictors/resource_prefetch_predictor.h b/chrome/browser/predictors/resource_prefetch_predictor.h -index 53a23990019accc0504a25dae935c53348c7eaa7..ef6667ce8bbc062dbfb8d2e2cdb6886b3e994b76 100644 +index 60b0eaabd98695838fffd9a7255fd017fe2a01f0..a3d12988d28ef5be0507994d0ef3922aea44b22c 100644 --- a/chrome/browser/predictors/resource_prefetch_predictor.h +++ b/chrome/browser/predictors/resource_prefetch_predictor.h @@ -26,7 +26,9 @@ diff --git a/patches/chromium/disable_unload_metrics.patch b/patches/chromium/disable_unload_metrics.patch index d010858005..85842d96a4 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 8739003ce80baefc904dd2d20df81b62855b482b..89a0c653fdbe7f3ae51844ec93d8c2e062a6bcd1 100644 +index 30ea1ea16adeef33ed6831de1b92cece90a370d2..1dd9657c567380e895a1decf8e549ebc6dbc4e95 100644 --- a/content/browser/renderer_host/navigator.cc +++ b/content/browser/renderer_host/navigator.cc -@@ -1223,6 +1223,7 @@ void Navigator::RecordNavigationMetrics( +@@ -1240,6 +1240,7 @@ void Navigator::RecordNavigationMetrics( .InMilliseconds()); } @@ -35,7 +35,7 @@ index 8739003ce80baefc904dd2d20df81b62855b482b..89a0c653fdbe7f3ae51844ec93d8c2e0 // 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 && -@@ -1273,6 +1274,7 @@ void Navigator::RecordNavigationMetrics( +@@ -1290,6 +1291,7 @@ void Navigator::RecordNavigationMetrics( first_before_unload_start_time) .InMilliseconds()); } diff --git a/patches/chromium/dom_storage_limits.patch b/patches/chromium/dom_storage_limits.patch index c62cc1719f..23e4b10695 100644 --- a/patches/chromium/dom_storage_limits.patch +++ b/patches/chromium/dom_storage_limits.patch @@ -17,7 +17,7 @@ as well as keeps these storage areas limited to a bounded size meanwhile giving application developers more space to work with. diff --git a/components/services/storage/dom_storage/dom_storage_constants.cc b/components/services/storage/dom_storage/dom_storage_constants.cc -index 3fd108c89c3b070a08790850db4dfd6cc8a3ce44..c393f51709efd8b28b07edfe452d2b84b14983ae 100644 +index aa5edd1d07d97bee4912b14996ff804351240e94..8334b7eb6a3293c068f5234508f8dca780ccb262 100644 --- a/components/services/storage/dom_storage/dom_storage_constants.cc +++ b/components/services/storage/dom_storage/dom_storage_constants.cc @@ -6,7 +6,9 @@ @@ -32,7 +32,7 @@ index 3fd108c89c3b070a08790850db4dfd6cc8a3ce44..c393f51709efd8b28b07edfe452d2b84 } // namespace storage diff --git a/third_party/blink/public/mojom/dom_storage/storage_area.mojom b/third_party/blink/public/mojom/dom_storage/storage_area.mojom -index adbb73ef9c5a5a59fd0bfe0137d0dc9219d376e9..7e1e10faba4263d8ec1afefdebb3202da1944d34 100644 +index 332be0811d86c7a265f440ab7719460160a22617..e3382d843599ef6017e0ac557919b3a41809f17d 100644 --- a/third_party/blink/public/mojom/dom_storage/storage_area.mojom +++ b/third_party/blink/public/mojom/dom_storage/storage_area.mojom @@ -50,7 +50,8 @@ struct KeyValue { diff --git a/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch b/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch deleted file mode 100644 index 31fcc14df1..0000000000 --- a/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: John Kleinschmidt -Date: Wed, 16 Jun 2021 11:30:28 -0400 -Subject: Don't run PCScan functions if PCScan is disabled - -PCScan should not be invoked if PCScan is disabled. -Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/2965109. - -diff --git a/base/allocator/partition_allocator/memory_reclaimer.cc b/base/allocator/partition_allocator/memory_reclaimer.cc -index 0d480d11d5d51fa72639d346448ec22f2f6b9621..d6ea0053cee3dcd5ba1ef79c52b82c858876e337 100644 ---- a/base/allocator/partition_allocator/memory_reclaimer.cc -+++ b/base/allocator/partition_allocator/memory_reclaimer.cc -@@ -70,7 +70,7 @@ void MemoryReclaimer::Reclaim(int flags) { - // - // Lastly decommit empty slot spans and lastly try to discard unused pages at - // the end of the remaining active slots. --#if PA_STARSCAN_ENABLE_STARSCAN_ON_RECLAIM && BUILDFLAG(STARSCAN) -+#if PA_STARSCAN_ENABLE_STARSCAN_ON_RECLAIM && defined(PA_ALLOW_PCSCAN) - { - using PCScan = internal::PCScan; - const auto invocation_mode = flags & PurgeFlags::kAggressiveReclaim -diff --git a/base/threading/platform_thread_posix.cc b/base/threading/platform_thread_posix.cc -index 714232b0c2707d6c256e634ff784c18322bf0a85..48c8d0051c427954fe7265fee9cd0c6b5f473984 100644 ---- a/base/threading/platform_thread_posix.cc -+++ b/base/threading/platform_thread_posix.cc -@@ -44,6 +44,7 @@ - #endif - - #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -+#include "base/allocator/partition_allocator/partition_alloc_config.h" - #include "base/allocator/partition_allocator/starscan/pcscan.h" - #include "base/allocator/partition_allocator/starscan/stack/stack.h" - #endif -@@ -77,7 +78,7 @@ void* ThreadFunc(void* params) { - base::DisallowSingleton(); - - #if !BUILDFLAG(IS_NACL) --#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -+#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && defined(PA_ALLOW_PCSCAN) - partition_alloc::internal::PCScan::NotifyThreadCreated( - partition_alloc::internal::GetStackPointer()); - #endif -@@ -104,7 +105,7 @@ void* ThreadFunc(void* params) { - PlatformThread::CurrentHandle().platform_handle(), - PlatformThread::CurrentId()); - --#if !BUILDFLAG(IS_NACL) && BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -+#if !BUILDFLAG(IS_NACL) && BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && defined(PA_ALLOW_PCSCAN) - partition_alloc::internal::PCScan::NotifyThreadDestroyed(); - #endif - -diff --git a/base/threading/platform_thread_win.cc b/base/threading/platform_thread_win.cc -index 960d0100e1857592ee24b2da22e0253ab06098c1..dca9fb72fb69386ffb0910e13f841fa698250b66 100644 ---- a/base/threading/platform_thread_win.cc -+++ b/base/threading/platform_thread_win.cc -@@ -30,6 +30,7 @@ - #include - - #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -+#include "base/allocator/partition_allocator/partition_alloc_config.h" - #include "base/allocator/partition_allocator/starscan/pcscan.h" - #include "base/allocator/partition_allocator/starscan/stack/stack.h" - #endif -@@ -115,7 +116,7 @@ DWORD __stdcall ThreadFunc(void* params) { - FALSE, - DUPLICATE_SAME_ACCESS); - --#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -+#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && defined(PA_ALLOW_PCSCAN) - partition_alloc::internal::PCScan::NotifyThreadCreated( - partition_alloc::internal::GetStackPointer()); - #endif -@@ -136,7 +137,7 @@ DWORD __stdcall ThreadFunc(void* params) { - PlatformThread::CurrentId()); - } - --#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -+#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && defined(PA_ALLOW_PCSCAN) - partition_alloc::internal::PCScan::NotifyThreadDestroyed(); - #endif - diff --git a/patches/chromium/dump_syms.patch b/patches/chromium/dump_syms.patch index 43e274d4c5..c8df6479a3 100644 --- a/patches/chromium/dump_syms.patch +++ b/patches/chromium/dump_syms.patch @@ -8,7 +8,7 @@ this but it is not a blocker for releasing Electron. This patch removes tthe hard fail on dylib resolve failure from dump_syms diff --git a/components/crash/content/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py -index 99395610be5e50a4c65890b9edaa48510043a8a8..dae758a19460bc22b1bcdc8c7e84dfb42f8f50eb 100755 +index 3a98a881039282ec11aca87c0318c663b7c136b0..ffff58fe23acfb7d72153044449c926380e4022e 100755 --- a/components/crash/content/tools/generate_breakpad_symbols.py +++ b/components/crash/content/tools/generate_breakpad_symbols.py @@ -204,7 +204,7 @@ def GetSharedLibraryDependenciesMac(binary, exe_path): diff --git a/patches/chromium/enable_reset_aspect_ratio.patch b/patches/chromium/enable_reset_aspect_ratio.patch index 6815dfde7a..a776993233 100644 --- a/patches/chromium/enable_reset_aspect_ratio.patch +++ b/patches/chromium/enable_reset_aspect_ratio.patch @@ -6,10 +6,10 @@ Subject: feat: enable setting aspect ratio to 0 Make SetAspectRatio accept 0 as valid input, which would reset to null. diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -index 999031ad03f6cfdec05cd3456039042e3ab35564..8f79b6a75929a331cb11cb728a832ba01f48c7a4 100644 +index 9541251b0f38df95f668e260fce086a56b910a2e..c6649fee262eb8c106d18875c6d739b1a944127e 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -@@ -532,7 +532,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) { +@@ -566,7 +566,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) { } void DesktopWindowTreeHostWin::SetAspectRatio(const gfx::SizeF& aspect_ratio) { @@ -19,10 +19,10 @@ index 999031ad03f6cfdec05cd3456039042e3ab35564..8f79b6a75929a331cb11cb728a832ba0 aspect_ratio.height()); } diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index eb6dcd91c18902c6309553e0073e49cf517dcc7a..d6dbcf0ad2370c8cd91e8a3015a07e1a2124643a 100644 +index 472090adb19411366c50ed8e5a2f1276bc0a47eb..9f2b240b0c053a10d4543f0ffb9809fd735d7b6d 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc -@@ -1006,8 +1006,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen, +@@ -1007,8 +1007,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen, } void HWNDMessageHandler::SetAspectRatio(float aspect_ratio) { diff --git a/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch b/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch index d7180a32d1..e04b0ddecc 100644 --- a/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch +++ b/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch @@ -9,7 +9,7 @@ correctly tagged with MAP_JIT we need to use gins page allocator instead of the default V8 allocator. This probably can't be usptreamed. diff --git a/gin/public/v8_platform.h b/gin/public/v8_platform.h -index 2f2e0d67c7141e5daad2d50031c71a542677e108..c53bd76fcd3703cb483949d5ec53f24f482317e5 100644 +index 334e702cae9ea874cc9f08f47b88af7fa60dd13b..87076ea0f7a16f1db57e574d7e4d51b1d32b7d02 100644 --- a/gin/public/v8_platform.h +++ b/gin/public/v8_platform.h @@ -30,6 +30,7 @@ class GIN_EXPORT V8Platform : public v8::Platform { @@ -21,7 +21,7 @@ index 2f2e0d67c7141e5daad2d50031c71a542677e108..c53bd76fcd3703cb483949d5ec53f24f v8::ZoneBackingAllocator* GetZoneBackingAllocator() override; #endif diff --git a/gin/v8_platform.cc b/gin/v8_platform.cc -index b02ab8b6ac701d948daac73bd89bc1fc6533d60c..36c096b4c053eae9326c8ccb7ed6aea07b68c3e5 100644 +index 0e03069bfd06a418caef6e26d074b3fbe5aed4e7..46264c21239b5ed10e10bb23ec081713627d7da8 100644 --- a/gin/v8_platform.cc +++ b/gin/v8_platform.cc @@ -367,6 +367,10 @@ PageAllocator* V8Platform::GetPageAllocator() { diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index dfbda49023..a4154593a3 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -10,7 +10,7 @@ patch may be merged upstream, at which point this patch should be removed. diff --git a/net/url_request/static_http_user_agent_settings.h b/net/url_request/static_http_user_agent_settings.h -index 14c71cc69388da46f62d9835e2a06fef0870da02..9481ea08401ae29ae9c1d960491b05b364257cc8 100644 +index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d41b0dbd3b 100644 --- a/net/url_request/static_http_user_agent_settings.h +++ b/net/url_request/static_http_user_agent_settings.h @@ -30,13 +30,17 @@ class NET_EXPORT StaticHttpUserAgentSettings : public HttpUserAgentSettings { @@ -33,10 +33,10 @@ index 14c71cc69388da46f62d9835e2a06fef0870da02..9481ea08401ae29ae9c1d960491b05b3 } // namespace net diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index 8c29d366ec2c3cc61ec121163e3549472964653c..3363d15a38cb1849a0ccd11077f2e7b4ef9c8865 100644 +index 41754f183010f804b0bd0db6cb82958812f8513d..6fcaa7da6b0be085e9f8969f7571bce053fe4015 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1412,6 +1412,13 @@ void NetworkContext::SetNetworkConditions( +@@ -1415,6 +1415,13 @@ void NetworkContext::SetNetworkConditions( std::move(network_conditions)); } @@ -51,7 +51,7 @@ index 8c29d366ec2c3cc61ec121163e3549472964653c..3363d15a38cb1849a0ccd11077f2e7b4 // 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 572f555b32eb4e38bdcd23b4725c3b4df38316ad..56d27025f215910c40f5dabc41ac61e0b46df784 100644 +index 366870e27981debdf7dc5ed0fa191c3b4f8268a7..dc2111daff67b7812dca687bbdfd65b5f6eb4026 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h @@ -300,6 +300,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -63,10 +63,10 @@ index 572f555b32eb4e38bdcd23b4725c3b4df38316ad..56d27025f215910c40f5dabc41ac61e0 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 e1685a8406794f855fe7f87ec0ecf1f11fb57e21..fce85b23ecdc4b6736d37e4fa976905bf6914e13 100644 +index cb0c5625d50301ea33f7baf3919cde276df6106f..25cd848fb9f04aa86a2c4b3bc4ee2d4a0b3c75c1 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1106,6 +1106,9 @@ interface NetworkContext { +@@ -1107,6 +1107,9 @@ interface NetworkContext { SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, NetworkConditions? conditions); @@ -77,7 +77,7 @@ index e1685a8406794f855fe7f87ec0ecf1f11fb57e21..fce85b23ecdc4b6736d37e4fa976905b SetAcceptLanguage(string new_accept_language); diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h -index 1e90e50caa90e30b082998ade4b9bbf249cc93f2..2befed3d50e9569f7ba86db5858444843bd5dd2a 100644 +index f24aba08e49ed7c649e60b18fb3138cda7c85477..d3d0c2434796d36df84a7cc037f72d9ec5e534f9 100644 --- a/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h @@ -134,6 +134,7 @@ class TestNetworkContext : public mojom::NetworkContext { diff --git a/patches/chromium/extend_apply_webpreferences.patch b/patches/chromium/extend_apply_webpreferences.patch index 1dcf8c8b6c..f96997f5f5 100644 --- a/patches/chromium/extend_apply_webpreferences.patch +++ b/patches/chromium/extend_apply_webpreferences.patch @@ -12,10 +12,10 @@ 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 7419518434b91a49f36e84b484c445d631f87f82..e6d650eb7d93831b7a18fa1768ea1068de27bfeb 100644 +index 74c35b16d5778a5ac0618b9395a855995e9d0296..071b4eb6d0954d248942273effcc2d87c11caadf 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -166,6 +166,7 @@ +@@ -164,6 +164,7 @@ #include "third_party/blink/renderer/core/timing/window_performance.h" #include "third_party/blink/renderer/platform/fonts/font_cache.h" #include "third_party/blink/renderer/platform/fonts/generic_font_family_settings.h" @@ -23,7 +23,7 @@ index 7419518434b91a49f36e84b484c445d631f87f82..e6d650eb7d93831b7a18fa1768ea1068 #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" -@@ -1808,6 +1809,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, +@@ -1807,6 +1808,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_data_parameter_to_processsingleton.patch b/patches/chromium/feat_add_data_parameter_to_processsingleton.patch index 3037022930..6c434f2454 100644 --- a/patches/chromium/feat_add_data_parameter_to_processsingleton.patch +++ b/patches/chromium/feat_add_data_parameter_to_processsingleton.patch @@ -13,7 +13,7 @@ app.requestSingleInstanceLock API so that users can pass in a JSON object for the second instance to send to the first instance. diff --git a/chrome/browser/process_singleton.h b/chrome/browser/process_singleton.h -index 9de82e5422428d6419a24401e0479fbd19a15147..a30b3aae436bbe762ada1bdae69ef83127f0144b 100644 +index 19350d58e817ea8ac7868dd90a08cc25836c9921..5e4a054946c37bed297cc4e952235b83b23756be 100644 --- a/chrome/browser/process_singleton.h +++ b/chrome/browser/process_singleton.h @@ -18,6 +18,7 @@ @@ -65,7 +65,7 @@ index 9de82e5422428d6419a24401e0479fbd19a15147..a30b3aae436bbe762ada1bdae69ef831 #if BUILDFLAG(IS_WIN) bool EscapeVirtualization(const base::FilePath& user_data_dir); diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc -index 99b42b0e8f81c6a5696d56fede3e168cfc282cc3..c205a14239eb9aa2b422a45755d3b07935f379c8 100644 +index 455585a9f6d59d65bcfd322f4f925641148cbf55..cbdf10f63c6a96bc48de1ac3e3b8b199170bd0c5 100644 --- a/chrome/browser/process_singleton_posix.cc +++ b/chrome/browser/process_singleton_posix.cc @@ -607,6 +607,7 @@ class ProcessSingleton::LinuxWatcher @@ -179,10 +179,10 @@ index 99b42b0e8f81c6a5696d56fede3e168cfc282cc3..c205a14239eb9aa2b422a45755d3b079 if (!WriteToSocket(socket.fd(), to_send.data(), to_send.length())) { // Try to kill the other process, because it might have been dead. diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc -index c375a587abd3d575b5c75a0863b01c9611e8287c..33948d69a4a3bf098187b1c383821d1d67be5818 100644 +index 009b522049adc32144c51842369dc1156bd959fa..8fb7835f6e0a7b2690d13b45179f8de70747e874 100644 --- a/chrome/browser/process_singleton_win.cc +++ b/chrome/browser/process_singleton_win.cc -@@ -80,10 +80,12 @@ BOOL CALLBACK BrowserWindowEnumeration(HWND window, LPARAM param) { +@@ -81,10 +81,12 @@ BOOL CALLBACK BrowserWindowEnumeration(HWND window, LPARAM param) { bool ParseCommandLine(const COPYDATASTRUCT* cds, base::CommandLine* parsed_command_line, @@ -197,7 +197,7 @@ index c375a587abd3d575b5c75a0863b01c9611e8287c..33948d69a4a3bf098187b1c383821d1d static const int min_message_size = 7; if (cds->cbData < min_message_size * sizeof(wchar_t) || cds->cbData % sizeof(wchar_t) != 0) { -@@ -133,6 +135,37 @@ bool ParseCommandLine(const COPYDATASTRUCT* cds, +@@ -134,6 +136,37 @@ bool ParseCommandLine(const COPYDATASTRUCT* cds, const std::wstring cmd_line = msg.substr(second_null + 1, third_null - second_null); *parsed_command_line = base::CommandLine::FromString(cmd_line); @@ -235,7 +235,7 @@ index c375a587abd3d575b5c75a0863b01c9611e8287c..33948d69a4a3bf098187b1c383821d1d return true; } return false; -@@ -154,13 +187,14 @@ bool ProcessLaunchNotification( +@@ -155,13 +188,14 @@ bool ProcessLaunchNotification( base::CommandLine parsed_command_line(base::CommandLine::NO_PROGRAM); base::FilePath current_directory; @@ -253,7 +253,7 @@ index c375a587abd3d575b5c75a0863b01c9611e8287c..33948d69a4a3bf098187b1c383821d1d return true; } -@@ -261,9 +295,11 @@ bool ProcessSingleton::EscapeVirtualization( +@@ -267,9 +301,11 @@ bool ProcessSingleton::EscapeVirtualization( ProcessSingleton::ProcessSingleton( const std::string& program_name, const base::FilePath& user_data_dir, @@ -265,7 +265,7 @@ index c375a587abd3d575b5c75a0863b01c9611e8287c..33948d69a4a3bf098187b1c383821d1d program_name_(program_name), is_app_sandboxed_(is_app_sandboxed), is_virtualized_(false), -@@ -290,7 +326,7 @@ ProcessSingleton::NotifyResult ProcessSingleton::NotifyOtherProcess() { +@@ -296,7 +332,7 @@ ProcessSingleton::NotifyResult ProcessSingleton::NotifyOtherProcess() { return PROCESS_NONE; } @@ -275,10 +275,10 @@ index c375a587abd3d575b5c75a0863b01c9611e8287c..33948d69a4a3bf098187b1c383821d1d return PROCESS_NOTIFIED; case chrome::NOTIFY_FAILED: diff --git a/chrome/browser/win/chrome_process_finder.cc b/chrome/browser/win/chrome_process_finder.cc -index b64ed1d155a30582e48c9cdffcee9d0f25a53a6a..cfdb2d75532d270e3dd548eb7475a6cdbddf1016 100644 +index b9ebe9bd3b29049c9e95f5dc54f7087515d870f6..1b9e4562347a7a0f2ae8c1bedfa2140643a28892 100644 --- a/chrome/browser/win/chrome_process_finder.cc +++ b/chrome/browser/win/chrome_process_finder.cc -@@ -36,7 +36,9 @@ HWND FindRunningChromeWindow(const base::FilePath& user_data_dir) { +@@ -38,7 +38,9 @@ HWND FindRunningChromeWindow(const base::FilePath& user_data_dir) { return base::win::MessageWindow::FindWindow(user_data_dir.value()); } @@ -289,19 +289,17 @@ index b64ed1d155a30582e48c9cdffcee9d0f25a53a6a..cfdb2d75532d270e3dd548eb7475a6cd TRACE_EVENT0("startup", "AttemptToNotifyRunningChrome"); DCHECK(remote_window); -@@ -50,7 +52,8 @@ NotifyChromeResult AttemptToNotifyRunningChrome(HWND remote_window) { - } +@@ -67,12 +69,29 @@ NotifyChromeResult AttemptToNotifyRunningChrome(HWND remote_window) { + new_command_line.AppendSwitchNative(switches::kSourceShortcut, si.lpTitle); // Send the command line to the remote chrome window. - // Format is "START\0<<>>\0<<>>". + // Format is + // "START\0\0\0\0". - std::wstring to_send(L"START\0", 6); // want the NULL in the string. - base::FilePath cur_dir; - if (!base::GetCurrentDirectory(&cur_dir)) { -@@ -64,6 +67,22 @@ NotifyChromeResult AttemptToNotifyRunningChrome(HWND remote_window) { - base::CommandLine::ForCurrentProcess()->GetCommandLineString()); - to_send.append(L"\0", 1); // Null separator. + std::wstring to_send = base::StrCat( + {base::WStringPiece{L"START\0", 6}, cur_dir.value(), + base::WStringPiece{L"\0", 1}, new_command_line.GetCommandLineString(), + base::WStringPiece{L"\0", 1}}); + size_t additional_data_size = additional_data.size_bytes(); + if (additional_data_size) { @@ -323,7 +321,7 @@ index b64ed1d155a30582e48c9cdffcee9d0f25a53a6a..cfdb2d75532d270e3dd548eb7475a6cd // window (otherwise it will just flash in the taskbar). ::AllowSetForegroundWindow(process_id); diff --git a/chrome/browser/win/chrome_process_finder.h b/chrome/browser/win/chrome_process_finder.h -index 5516673cee019f6060077091e59498bf9038cd6e..8edea5079b46c2cba67833114eb9c21d85cfc22d 100644 +index ddea93de709db5967a353bb73d433737c6aac40c..43c6896923032ffa16a0df4efd48a42f869c15d7 100644 --- a/chrome/browser/win/chrome_process_finder.h +++ b/chrome/browser/win/chrome_process_finder.h @@ -7,6 +7,7 @@ diff --git a/patches/chromium/feat_add_onclose_to_messageport.patch b/patches/chromium/feat_add_onclose_to_messageport.patch index 4ac85ff44f..f048906894 100644 --- a/patches/chromium/feat_add_onclose_to_messageport.patch +++ b/patches/chromium/feat_add_onclose_to_messageport.patch @@ -10,10 +10,10 @@ 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 bea9ad4d66ad154d349d6d3165a55636b705733d..c4df8c86d474880eb01fe12db3cedd23d93b4b67 100644 +index ce4769d9c6f1756947cef382e83b55cece5ed0e5..0b3a900ba8029fbec276a947948f67e540933017 100644 --- a/third_party/blink/renderer/core/messaging/message_port.cc +++ b/third_party/blink/renderer/core/messaging/message_port.cc -@@ -167,6 +167,7 @@ void MessagePort::close() { +@@ -174,6 +174,7 @@ void MessagePort::close() { Entangle(pipe.TakePort0()); } closed_ = true; diff --git a/patches/chromium/feat_add_set_can_resize_mutator.patch b/patches/chromium/feat_add_set_can_resize_mutator.patch index 5b2adba9ec..b8f40ec800 100644 --- a/patches/chromium/feat_add_set_can_resize_mutator.patch +++ b/patches/chromium/feat_add_set_can_resize_mutator.patch @@ -11,7 +11,7 @@ and in turn, avoid showing a frame at startup for frameless applications. diff --git a/ui/views/widget/widget_delegate.h b/ui/views/widget/widget_delegate.h -index 431d19f2543a9011de76b941982603ff98afa041..32e07e0c9686e6942a40c4d4775a03068cfd33b5 100644 +index 8e15368a19ec68a468ad9834dd6d08b5b30f98a8..9b73c9faf0fa25568d0a278b1e9a1933ba20224f 100644 --- a/ui/views/widget/widget_delegate.h +++ b/ui/views/widget/widget_delegate.h @@ -323,6 +323,10 @@ class VIEWS_EXPORT WidgetDelegate { diff --git a/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch b/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch index 4aa36f57c5..a0ef8bc1c5 100644 --- a/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch +++ b/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch @@ -13,7 +13,7 @@ uses internally for things like menus and devtools. We can remove this patch once it has in some shape been upstreamed. diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc -index 6da0ab90d57119e7b70205e2bfe38f3b86f727e3..7d63c8d16d6d9c390ab08339a4b2ba4362a3a890 100644 +index 8260b496a498f06ddf91f0b9525ce7f56a66f310..fc28dcfefcd815de12954e7e6eec680a65a8f83a 100644 --- a/ui/native_theme/native_theme.cc +++ b/ui/native_theme/native_theme.cc @@ -132,6 +132,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors, @@ -26,7 +26,7 @@ index 6da0ab90d57119e7b70205e2bfe38f3b86f727e3..7d63c8d16d6d9c390ab08339a4b2ba43 } diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h -index 23e21452e6eccfa5e7823ccbc2f59b8a6dbff30d..083af9dbbc407b84964cee5d473c8600bc022940 100644 +index 2285728e0c3dc6539e436b2d775b5816fac32766..af1dcf1e550d7eeec1b38f75ab0f0af9867a57e2 100644 --- a/ui/native_theme/native_theme.h +++ b/ui/native_theme/native_theme.h @@ -406,6 +406,23 @@ class NATIVE_THEME_EXPORT NativeTheme { @@ -62,7 +62,7 @@ index 23e21452e6eccfa5e7823ccbc2f59b8a6dbff30d..083af9dbbc407b84964cee5d473c8600 SEQUENCE_CHECKER(sequence_checker_); }; diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc -index 4301448fe6c2c16a6fa9c45d90c1ae3726845a37..a69aee280fd9fef3e609c799302cf0db724223fc 100644 +index 6230688b9ed1dcb239482cfa1dab7daeaf0501c2..aeacdc17413eb5bedb9218140755777eef27349e 100644 --- a/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc @@ -621,6 +621,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const { 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 bde6d8fe14..86270200fa 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 c881e7951d10c48faac556661018423dff12b102..0f5408f3ddc65b856e62a05d3fe48a4397827cba 100644 +index 2201f930953ed125a0439bafb26e27b42de11003..7372476a7a794d5de8ee01858690f77af8875501 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 c881e7951d10c48faac556661018423dff12b102..0f5408f3ddc65b856e62a05d3fe48a43 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 cb5d1951af2ff71cc6c7905235d85d6cbc541ae7..292bcf55be733a5cc1e32e11bd00e9acebdbfcbf 100644 +index fd7d59b9c50d0142a3d17a43b348f66f7f868674..e2361792eb6f9ba1e46018283634e2b9293916ec 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_add_support_for_overriding_the_base_spellchecker_download_url.patch b/patches/chromium/feat_add_support_for_overriding_the_base_spellchecker_download_url.patch index 563ac340dc..c2f2ec3052 100644 --- a/patches/chromium/feat_add_support_for_overriding_the_base_spellchecker_download_url.patch +++ b/patches/chromium/feat_add_support_for_overriding_the_base_spellchecker_download_url.patch @@ -9,7 +9,7 @@ production use cases. This is unlikely to be upstreamed as the change is entirely in //chrome. diff --git a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc -index ff5ee1d7a0f4e333498bf25acbbf49d1ce53b7a1..e98084036c04e9910779670497b1a431d4fee48a 100644 +index 6bb7c9948ea58a7579f1b4d82edba889163df938..481b8470f6662e193d8757bad9ed755e52c91262 100644 --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc @@ -51,6 +51,9 @@ namespace { @@ -44,7 +44,7 @@ index ff5ee1d7a0f4e333498bf25acbbf49d1ce53b7a1..e98084036c04e9910779670497b1a431 "https://redirector.gvt1.com/edgedl/chrome/dict/"; diff --git a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h -index 4df6fc23f0e51e3279208a9331c9e55d7d4cb0ac..f4ddb557f6c04ede0caf5029b3dfb877a02ea721 100644 +index 386d321eb07ec1cda9475e7c502aac0eb99d19ba..23983aa547a8f4355f33c97fb6218bf00b791702 100644 --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h @@ -93,6 +93,8 @@ class SpellcheckHunspellDictionary diff --git a/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch b/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch index 85c864826c..6f0870c2dc 100644 --- a/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch +++ b/patches/chromium/feat_allow_embedders_to_add_observers_on_created_hunspell.patch @@ -7,10 +7,10 @@ Subject: feat: allow embedders to add observers on created hunspell This patch is used by Electron to implement spellchecker events. diff --git a/chrome/browser/spellchecker/spellcheck_service.cc b/chrome/browser/spellchecker/spellcheck_service.cc -index 10568da304f7f618ae8003d9722b999ae2bd4c45..60a9b42f02cc07d685be825d5c3d3fcd68f31045 100644 +index fc5b06239736cc8df046f9a7f64e49030cd9d4cf..00cce77bedb0f17792205991bac659a80b19b95e 100644 --- a/chrome/browser/spellchecker/spellcheck_service.cc +++ b/chrome/browser/spellchecker/spellcheck_service.cc -@@ -467,6 +467,9 @@ void SpellcheckService::LoadDictionaries() { +@@ -468,6 +468,9 @@ void SpellcheckService::LoadDictionaries() { std::make_unique( dictionary, platform_spellcheck_language, context_, this)); hunspell_dictionaries_.back()->AddObserver(this); @@ -20,7 +20,7 @@ index 10568da304f7f618ae8003d9722b999ae2bd4c45..60a9b42f02cc07d685be825d5c3d3fcd hunspell_dictionaries_.back()->Load(); } -@@ -519,6 +522,20 @@ bool SpellcheckService::IsSpellcheckEnabled() const { +@@ -520,6 +523,20 @@ bool SpellcheckService::IsSpellcheckEnabled() const { (!hunspell_dictionaries_.empty() || enable_if_uninitialized); } @@ -42,7 +42,7 @@ index 10568da304f7f618ae8003d9722b999ae2bd4c45..60a9b42f02cc07d685be825d5c3d3fcd const content::NotificationSource& source, const content::NotificationDetails& details) { diff --git a/chrome/browser/spellchecker/spellcheck_service.h b/chrome/browser/spellchecker/spellcheck_service.h -index c17c42fdfd943e7b77e0d7a8d333afd70e9c6abc..ab9ef6b1efdd63ea7cc47be2cf7de79eb9aa1b90 100644 +index 648697cb61d1fc5cca73b8aa585d043985e97175..e37849ebb9410929ebca450364aac66e5781ea7b 100644 --- a/chrome/browser/spellchecker/spellcheck_service.h +++ b/chrome/browser/spellchecker/spellcheck_service.h @@ -138,6 +138,8 @@ class SpellcheckService : public KeyedService, 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 c7282f0aea..14e9eb5d03 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -8,7 +8,7 @@ rendering with the viz compositor by way of a custom HostDisplayClient and LayeredWindowUpdater. diff --git a/components/viz/host/host_display_client.cc b/components/viz/host/host_display_client.cc -index d3970b4d86e1fadc5321e99be20813c0f811d6b3..66d3ae8ecc299456de8ff621b2957f9d18e984a1 100644 +index d212998176977946611c009f7d86783675e4b405..f306123451cf3efadac3c91de8397003aa17e8a1 100644 --- a/components/viz/host/host_display_client.cc +++ b/components/viz/host/host_display_client.cc @@ -46,9 +46,9 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams( @@ -37,7 +37,7 @@ index d3970b4d86e1fadc5321e99be20813c0f811d6b3..66d3ae8ecc299456de8ff621b2957f9d // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. diff --git a/components/viz/host/host_display_client.h b/components/viz/host/host_display_client.h -index 1c2885c42f4947bb22ce87c8b2d649689b278da1..e588d77072537b6b0760b278de72d69aa44f2b3f 100644 +index 640bfb050241df521c67460c9413a806524405e7..6f676dd608b73e24dd6b988a56cd809032b6e510 100644 --- a/components/viz/host/host_display_client.h +++ b/components/viz/host/host_display_client.h @@ -41,10 +41,9 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom::DisplayClient { @@ -53,7 +53,7 @@ index 1c2885c42f4947bb22ce87c8b2d649689b278da1..e588d77072537b6b0760b278de72d69a // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. diff --git a/components/viz/host/layered_window_updater_impl.cc b/components/viz/host/layered_window_updater_impl.cc -index b04f654fe820f821b18e059cdd40085fc2384c4e..ee22012b01ef92bb3b32b5b1081609a7bdfb0d93 100644 +index 271486b45dcc87b52b3fd8a8f248b08a4918c97e..9de13bd8ea5f2efe5d0f23ab045fe0aba226cf5d 100644 --- a/components/viz/host/layered_window_updater_impl.cc +++ b/components/viz/host/layered_window_updater_impl.cc @@ -44,7 +44,9 @@ void LayeredWindowUpdaterImpl::OnAllocatedSharedMemory( @@ -68,7 +68,7 @@ index b04f654fe820f821b18e059cdd40085fc2384c4e..ee22012b01ef92bb3b32b5b1081609a7 if (!canvas_) { diff --git a/components/viz/host/layered_window_updater_impl.h b/components/viz/host/layered_window_updater_impl.h -index 309422bcf85810db88a048bd0930c4072b41f234..759549f3046f4a897b597409b670bb1c2de7bec0 100644 +index 8af69cac78b7488d28f1f05ccb174793fe5148cd..9f74e511c263d147b5fbe81fe100d217eb0b64c9 100644 --- a/components/viz/host/layered_window_updater_impl.h +++ b/components/viz/host/layered_window_updater_impl.h @@ -38,7 +38,7 @@ class VIZ_HOST_EXPORT LayeredWindowUpdaterImpl @@ -81,7 +81,7 @@ index 309422bcf85810db88a048bd0930c4072b41f234..759549f3046f4a897b597409b670bb1c private: const HWND hwnd_; diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index 3299ce931f99f067fda10c01c12bf42ee5584da6..b9653ebb705d67587566ec7cb318648878eafa33 100644 +index f2c661fb373a3e2b5fcd7c3da7d5ae00bec3c01f..002fa5d7119fda27cd308eefa7cdc54767a46019 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn @@ -136,6 +136,8 @@ viz_component("service") { @@ -94,7 +94,7 @@ index 3299ce931f99f067fda10c01c12bf42ee5584da6..b9653ebb705d67587566ec7cb3186488 "display_embedder/software_output_surface.h", "display_embedder/vsync_parameter_listener.cc", diff --git a/components/viz/service/display_embedder/output_surface_provider.h b/components/viz/service/display_embedder/output_surface_provider.h -index 18ea9142343e68dfa64c5e81269dbc80e55c1277..c76c4bcd3b30230753be51d87eabffa93a107b6e 100644 +index 28f44e5df4a3591c8563564a9aba7cec1b023a29..befc5a556a7fd6719d8a1c2eb8e9278465469b37 100644 --- a/components/viz/service/display_embedder/output_surface_provider.h +++ b/components/viz/service/display_embedder/output_surface_provider.h @@ -38,7 +38,8 @@ class OutputSurfaceProvider { @@ -108,7 +108,7 @@ index 18ea9142343e68dfa64c5e81269dbc80e55c1277..c76c4bcd3b30230753be51d87eabffa9 } // namespace viz diff --git a/components/viz/service/display_embedder/output_surface_provider_impl.cc b/components/viz/service/display_embedder/output_surface_provider_impl.cc -index d6ffe3a759fbde3fbb0f86fda9a07c63d50ff73a..4854bca8e1d3117534e4bf02ea8ebf5b2e6ea70c 100644 +index eca31050366217643f6567d3bf9b22e946bdd029..9d778fb267e81ad0d8e4c7275fd17a942e1a4256 100644 --- a/components/viz/service/display_embedder/output_surface_provider_impl.cc +++ b/components/viz/service/display_embedder/output_surface_provider_impl.cc @@ -23,12 +23,14 @@ @@ -170,7 +170,7 @@ index d6ffe3a759fbde3fbb0f86fda9a07c63d50ff73a..4854bca8e1d3117534e4bf02ea8ebf5b return CreateSoftwareOutputDeviceWin(surface_handle, &output_device_backing_, display_client); diff --git a/components/viz/service/display_embedder/output_surface_provider_impl.h b/components/viz/service/display_embedder/output_surface_provider_impl.h -index be10797e6f517ae069b8bc579155440d8a110362..fb6848b70a80c9c6cda42605a8b86ffbeb2a5ec8 100644 +index 5c4d03a4d268bf96eb6521e94848a8aef479bf25..6719cd6b369f1694f7c7cf8d4ca37fe583b7992f 100644 --- a/components/viz/service/display_embedder/output_surface_provider_impl.h +++ b/components/viz/service/display_embedder/output_surface_provider_impl.h @@ -49,12 +49,14 @@ class VIZ_SERVICE_EXPORT OutputSurfaceProviderImpl @@ -191,7 +191,7 @@ index be10797e6f517ae069b8bc579155440d8a110362..fb6848b70a80c9c6cda42605a8b86ffb const raw_ptr gpu_service_impl_; diff --git a/components/viz/service/display_embedder/software_output_device_mac.cc b/components/viz/service/display_embedder/software_output_device_mac.cc -index 33e12349a951ef533b964d1158f8fa124623e946..fc04bcaffefc277dd1d0cdd766168de017fedca8 100644 +index c04eb117a5ec8796bc1ad11eb21340688a7601a0..fcfcea5ddd28596935dffbfca52bfcd75dc264c1 100644 --- a/components/viz/service/display_embedder/software_output_device_mac.cc +++ b/components/viz/service/display_embedder/software_output_device_mac.cc @@ -105,6 +105,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage( @@ -212,7 +212,7 @@ index 33e12349a951ef533b964d1158f8fa124623e946..fc04bcaffefc277dd1d0cdd766168de0 IOSurfaceCreateMachPort(current_paint_buffer_->io_surface)); client_->SoftwareDeviceUpdatedCALayerParams(ca_layer_params); diff --git a/components/viz/service/display_embedder/software_output_device_mac.h b/components/viz/service/display_embedder/software_output_device_mac.h -index 16a4e74e11775b694dfeeb82b475c628b86174b1..f8099e165da6c8253016abc92ea3021056e37c85 100644 +index b09785bfc8143c355e75d473a9a25b2e355c97a0..a6cd4e2399b1b17bad00c9e6f6520819e035744e 100644 --- a/components/viz/service/display_embedder/software_output_device_mac.h +++ b/components/viz/service/display_embedder/software_output_device_mac.h @@ -60,6 +60,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputDeviceMac : public SoftwareOutputDevice { @@ -489,7 +489,7 @@ index 0000000000000000000000000000000000000000..daeabe1906b177adfe56b8057a72afb3 + +#endif // COMPONENTS_VIZ_SERVICE_DISPLAY_EMBEDDER_SOFTWARE_OUTPUT_DEVICE_PROXY_H_ diff --git a/components/viz/service/display_embedder/software_output_device_win.cc b/components/viz/service/display_embedder/software_output_device_win.cc -index 583e3e2525c753a0962d481fc67a3582df75d0e9..9416ec929bebcff7f07088e635376ef232eb515f 100644 +index aedc4d24d3fb3624b27eadb9b234b77291bb47b5..c5108b0d6bce4e268979f5541929c687712a9669 100644 --- a/components/viz/service/display_embedder/software_output_device_win.cc +++ b/components/viz/service/display_embedder/software_output_device_win.cc @@ -191,7 +191,7 @@ void SoftwareOutputDeviceWinProxy::EndPaintDelegated( @@ -502,10 +502,10 @@ index 583e3e2525c753a0962d481fc67a3582df75d0e9..9416ec929bebcff7f07088e635376ef2 waiting_on_draw_ack_ = true; diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc -index 4e150f1fc12884d92b11605b6f39ec4a1d720b99..569b4e2277c758f628e528b80917f0f1e65f76d8 100644 +index dc270ca19b0b29f863afdadf7b63fe9dad674a87..98843a7102bea4ab106ad4c84ecb1871b98ff841 100644 --- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc +++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc -@@ -84,7 +84,8 @@ RootCompositorFrameSinkImpl::Create( +@@ -85,7 +85,8 @@ RootCompositorFrameSinkImpl::Create( params->gpu_compositing, params->widget); auto output_surface = output_surface_provider->CreateOutputSurface( params->widget, params->gpu_compositing, display_client.get(), @@ -516,7 +516,7 @@ index 4e150f1fc12884d92b11605b6f39ec4a1d720b99..569b4e2277c758f628e528b80917f0f1 // 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 33fb401a875e5d22f97917ed9a038e940c5e6908..844080f946ba7adec5f8ad97d3a718c1dff06fa5 100644 +index 47f54d2f0a30cd5de1784b0d51fef12c273c4fc9..341904d3d2ae3aad88b730bbf61d2e99c1808485 100644 --- a/content/browser/compositor/viz_process_transport_factory.cc +++ b/content/browser/compositor/viz_process_transport_factory.cc @@ -384,8 +384,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( @@ -537,7 +537,7 @@ index 33fb401a875e5d22f97917ed9a038e940c5e6908..844080f946ba7adec5f8ad97d3a718c1 compositor_data.display_client->GetBoundRemote(resize_task_runner_); mojo::AssociatedRemote diff --git a/services/viz/privileged/mojom/compositing/display_private.mojom b/services/viz/privileged/mojom/compositing/display_private.mojom -index b2f873919d68633103d115d7d9550a098c1a254c..8e38831a6df15d37e5fb87d63613b7dbdcefacc4 100644 +index c837cc126bce8cd5b82c96940fdb7cfd4f51bc27..63990dce7076b995a2fb0b0d1711d1a837718dab 100644 --- a/services/viz/privileged/mojom/compositing/display_private.mojom +++ b/services/viz/privileged/mojom/compositing/display_private.mojom @@ -102,7 +102,6 @@ interface DisplayClient { @@ -549,10 +549,10 @@ index b2f873919d68633103d115d7d9550a098c1a254c..8e38831a6df15d37e5fb87d63613b7db // Notifies that a swap has occurred and provides information about the pixel diff --git a/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom b/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom -index 2534c06b9de7de9b6353c81016ae0fa8609effd3..e5edff80fcdd969c0854641a6e67af12b80138dc 100644 +index 5776b0b65c8471c7d3c82ae37f708c87fa42136f..0eae85007fe5629d15286b22e87866469b6fec31 100644 --- a/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom +++ b/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom -@@ -31,6 +31,7 @@ struct RootCompositorFrameSinkParams { +@@ -30,6 +30,7 @@ struct RootCompositorFrameSinkParams { bool send_swap_size_notifications = false; // Disables begin frame rate limiting for the display compositor. bool disable_frame_rate_limit = false; @@ -561,7 +561,7 @@ index 2534c06b9de7de9b6353c81016ae0fa8609effd3..e5edff80fcdd969c0854641a6e67af12 [EnableIf=is_android] float refresh_rate; diff --git a/services/viz/privileged/mojom/compositing/layered_window_updater.mojom b/services/viz/privileged/mojom/compositing/layered_window_updater.mojom -index 6b7fbb6cf13dc8ee6ade0878a9a2c1efc5d4d3f1..e2af75168cb914a7b3b4a6c9b6a285498c3f8e72 100644 +index 2f462f0deb5fc8a637457243fb5d5849fc214d14..695869b83cefaa24af93a2e11b39de05456071f3 100644 --- a/services/viz/privileged/mojom/compositing/layered_window_updater.mojom +++ b/services/viz/privileged/mojom/compositing/layered_window_updater.mojom @@ -26,5 +26,5 @@ interface LayeredWindowUpdater { @@ -572,7 +572,7 @@ index 6b7fbb6cf13dc8ee6ade0878a9a2c1efc5d4d3f1..e2af75168cb914a7b3b4a6c9b6a28549 + Draw(gfx.mojom.Rect damage_rect) => (); }; diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h -index 631b89218a2ee674e9435c60720340f738207828..baf3f23610bce82fd0345438ad37304765be96b5 100644 +index ad691e760c31c3224631e334393a7ad3fdf11705..d624575f33126ae9ae5ffd0b11a843d484837de7 100644 --- a/ui/compositor/compositor.h +++ b/ui/compositor/compositor.h @@ -86,6 +86,7 @@ class DisplayPrivate; @@ -610,7 +610,7 @@ index 631b89218a2ee674e9435c60720340f738207828..baf3f23610bce82fd0345438ad373047 // Sets the root of the layer tree drawn by this Compositor. The root layer // must have no parent. The compositor's root layer is reset if the root layer // is destroyed. NULL can be passed to reset the root layer, in which case the -@@ -483,6 +497,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, +@@ -486,6 +500,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, std::unique_ptr pending_begin_frame_args_; @@ -620,7 +620,7 @@ index 631b89218a2ee674e9435c60720340f738207828..baf3f23610bce82fd0345438ad373047 raw_ptr root_layer_ = nullptr; diff --git a/ui/gfx/ca_layer_params.h b/ui/gfx/ca_layer_params.h -index 12e115cd6a128d8d150abc786d4d38b1d5119d91..b6320de28750333bee7ee83393849f4eb0a956ac 100644 +index f87ddf7ae117f9de5a88bd27b15dac6d64e7a286..66c51becce8df4de6588999dc316cd4940604040 100644 --- a/ui/gfx/ca_layer_params.h +++ b/ui/gfx/ca_layer_params.h @@ -6,6 +6,7 @@ @@ -641,7 +641,7 @@ index 12e115cd6a128d8d150abc786d4d38b1d5119d91..b6320de28750333bee7ee83393849f4e gfx::Size pixel_size; float scale_factor = 1.f; diff --git a/ui/gfx/mojom/ca_layer_params.mojom b/ui/gfx/mojom/ca_layer_params.mojom -index de00e766ba17532e10dcf5d0fd31fa344920a9f7..7aaedf83ad22dcc1d2dd39a31cf7e08b7b6ba4d3 100644 +index 1944ef571b1f12fbee8dff553ad4de913c794efb..529296cbf858d2aaeb7b5fbe1ae8f36e4ec1d485 100644 --- a/ui/gfx/mojom/ca_layer_params.mojom +++ b/ui/gfx/mojom/ca_layer_params.mojom @@ -18,5 +18,6 @@ struct CALayerParams { @@ -652,7 +652,7 @@ index de00e766ba17532e10dcf5d0fd31fa344920a9f7..7aaedf83ad22dcc1d2dd39a31cf7e08b float scale_factor; }; diff --git a/ui/gfx/mojom/ca_layer_params_mojom_traits.cc b/ui/gfx/mojom/ca_layer_params_mojom_traits.cc -index a80185658d82c67713e578d176955c442f0568ab..e29003b3b6def9a1f842139f4269893a2609a601 100644 +index ed75bb399270934b63d46b2fa38dc01a62a307d1..e5e8c73dff130a5364edfd1a5816193fafae5369 100644 --- a/ui/gfx/mojom/ca_layer_params_mojom_traits.cc +++ b/ui/gfx/mojom/ca_layer_params_mojom_traits.cc @@ -52,6 +52,9 @@ bool StructTraits::Read( @@ -666,7 +666,7 @@ index a80185658d82c67713e578d176955c442f0568ab..e29003b3b6def9a1f842139f4269893a return true; } diff --git a/ui/gfx/mojom/ca_layer_params_mojom_traits.h b/ui/gfx/mojom/ca_layer_params_mojom_traits.h -index 4cac766eae3161baedac4202f694129cd90c80de..0821495ad22944d8856bb750cac8912a2f8328c3 100644 +index b6d3f2fea1d663ee1eba82a8008afc830897534c..e06f7d3184d66d9585af39c896036c1792693ac5 100644 --- a/ui/gfx/mojom/ca_layer_params_mojom_traits.h +++ b/ui/gfx/mojom/ca_layer_params_mojom_traits.h @@ -20,6 +20,10 @@ struct StructTraits { 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 2dda1240bd..089c2c9dc8 100644 --- a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch +++ b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch @@ -17,10 +17,10 @@ headers, moving forward we should find a way in upstream to provide access to these headers for loader clients created on the browser process. diff --git a/services/network/public/cpp/resource_request.cc b/services/network/public/cpp/resource_request.cc -index cda43d3792af175a68899ef0f707d858b9a1aee1..63cab7f07ab1c93f6cd931005d1d88fe42cfa303 100644 +index 65921550e62dbcd79f77192951b95991c3e904a1..c45a2a8c5adf3df78b4e4c4c0d4d945ade2a6826 100644 --- a/services/network/public/cpp/resource_request.cc +++ b/services/network/public/cpp/resource_request.cc -@@ -235,6 +235,7 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const { +@@ -234,6 +234,7 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const { do_not_prompt_for_login == request.do_not_prompt_for_login && is_outermost_main_frame == request.is_outermost_main_frame && transition_type == request.transition_type && @@ -29,7 +29,7 @@ index cda43d3792af175a68899ef0f707d858b9a1aee1..63cab7f07ab1c93f6cd931005d1d88fe upgrade_if_insecure == request.upgrade_if_insecure && is_revalidating == request.is_revalidating && diff --git a/services/network/public/cpp/resource_request.h b/services/network/public/cpp/resource_request.h -index 6623b4438baf94b467de9906aaf5ae05cceca97d..b33078da87989e0cad7ca815830e76438681beac 100644 +index 1f1c2bac7d7775898652bbd133b21d7032b92b86..fd6bbe55f5e4373b75f9d9c1b835a241f9920ad1 100644 --- a/services/network/public/cpp/resource_request.h +++ b/services/network/public/cpp/resource_request.h @@ -159,6 +159,7 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) ResourceRequest { @@ -41,7 +41,7 @@ index 6623b4438baf94b467de9906aaf5ae05cceca97d..b33078da87989e0cad7ca815830e7643 bool upgrade_if_insecure = false; bool is_revalidating = false; diff --git a/services/network/public/cpp/url_request_mojom_traits.cc b/services/network/public/cpp/url_request_mojom_traits.cc -index 545e9c12c86286c418e9130658408514e235b22e..0accecf835f397757200891fd5e0317373359894 100644 +index 50abd829e02c45cc4911ba37191c6b572ab222fd..f25950bd150bcbb6a14846bb7856993066257492 100644 --- a/services/network/public/cpp/url_request_mojom_traits.cc +++ b/services/network/public/cpp/url_request_mojom_traits.cc @@ -209,6 +209,7 @@ bool StructTraits< @@ -53,7 +53,7 @@ index 545e9c12c86286c418e9130658408514e235b22e..0accecf835f397757200891fd5e03173 out->upgrade_if_insecure = data.upgrade_if_insecure(); out->is_revalidating = data.is_revalidating(); diff --git a/services/network/public/cpp/url_request_mojom_traits.h b/services/network/public/cpp/url_request_mojom_traits.h -index 1c69fdc00a97a69b7ad066fab49f83265f790c28..3f97bd11fff21fdf2a62b434e30cbe6cb506468d 100644 +index f5910b122a7e25a9846633ca98bd63b670dc7639..5a2d95d4eac682063afa89eb2b6c7b89ac6b6b5d 100644 --- a/services/network/public/cpp/url_request_mojom_traits.h +++ b/services/network/public/cpp/url_request_mojom_traits.h @@ -269,6 +269,9 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) @@ -67,7 +67,7 @@ index 1c69fdc00a97a69b7ad066fab49f83265f790c28..3f97bd11fff21fdf2a62b434e30cbe6c return request.previews_state; } diff --git a/services/network/public/mojom/url_request.mojom b/services/network/public/mojom/url_request.mojom -index bc2d669339b7c4736610a3fa0b0082ed74792ef9..ee9063a3c4ed87b11883dae6407c14dcbfa37403 100644 +index 3c81eb68a21e2762173d6de055f6fedff457c4b6..8da97492aa055c384a539de4701d7b2171cf71e8 100644 --- a/services/network/public/mojom/url_request.mojom +++ b/services/network/public/mojom/url_request.mojom @@ -312,6 +312,9 @@ struct URLRequest { @@ -81,18 +81,18 @@ index bc2d669339b7c4736610a3fa0b0082ed74792ef9..ee9063a3c4ed87b11883dae6407c14dc // browser decide. // Note: this is an enum of type PreviewsState. diff --git a/services/network/public/mojom/url_response_head.mojom b/services/network/public/mojom/url_response_head.mojom -index 3d2bcc3e81eb42f645fa4e8b1425cb5c54cfd3a1..4cdbe0e38609abfd0b0b5856deb8b2dd5c91ead8 100644 +index dd8e82d32cba09733b98f48ff08e750b4dec82d2..0680b97af6a933c060d759740da2a2942c7ca1a6 100644 --- a/services/network/public/mojom/url_response_head.mojom +++ b/services/network/public/mojom/url_response_head.mojom -@@ -8,6 +8,7 @@ import "mojo/public/mojom/base/time.mojom"; - import "mojo/public/mojom/base/unguessable_token.mojom"; +@@ -9,6 +9,7 @@ import "mojo/public/mojom/base/unguessable_token.mojom"; + import "services/network/public/mojom/alternate_protocol_usage.mojom"; import "services/network/public/mojom/fetch_api.mojom"; import "services/network/public/mojom/ip_address_space.mojom"; +import "services/network/public/mojom/http_raw_headers.mojom"; import "services/network/public/mojom/ip_endpoint.mojom"; import "services/network/public/mojom/load_timing_info.mojom"; import "services/network/public/mojom/network_param.mojom"; -@@ -28,6 +29,9 @@ struct URLResponseHead { +@@ -29,6 +30,9 @@ struct URLResponseHead { // The response headers or NULL if the URL type does not support headers. HttpResponseHeaders headers; @@ -103,7 +103,7 @@ index 3d2bcc3e81eb42f645fa4e8b1425cb5c54cfd3a1..4cdbe0e38609abfd0b0b5856deb8b2dd string mime_type; diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc -index 292ef6b963a61606fc0e8b9f3566c84d1001277a..399f9cb81cc62b019e750094b1139eb1d9c3aacd 100644 +index 7e7032d83da30c95a01e5f240934a5aec81c8345..05095deaccf5ce111e3fc4ee4d304e17e55485a9 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc @@ -606,6 +606,7 @@ URLLoader::URLLoader( @@ -114,7 +114,7 @@ index 292ef6b963a61606fc0e8b9f3566c84d1001277a..399f9cb81cc62b019e750094b1139eb1 devtools_request_id_(request.devtools_request_id), request_mode_(request.mode), request_credentials_mode_(request.credentials_mode), -@@ -795,7 +796,7 @@ URLLoader::URLLoader( +@@ -785,7 +786,7 @@ URLLoader::URLLoader( url_request_->SetRequestHeadersCallback(base::BindRepeating( &URLLoader::SetRawRequestHeadersAndNotify, base::Unretained(this))); @@ -123,7 +123,7 @@ index 292ef6b963a61606fc0e8b9f3566c84d1001277a..399f9cb81cc62b019e750094b1139eb1 url_request_->SetResponseHeadersCallback(base::BindRepeating( &URLLoader::SetRawResponseHeaders, base::Unretained(this))); } -@@ -1555,6 +1556,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { +@@ -1572,6 +1573,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { } response_ = BuildResponseHead(); @@ -144,10 +144,10 @@ index 292ef6b963a61606fc0e8b9f3566c84d1001277a..399f9cb81cc62b019e750094b1139eb1 // 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 7a1d7fe570c3b3d94d1dbcfdda2b965323ce5e95..9bc4eb1a1f300529308a2f120b4bc676b11acfbe 100644 +index 0cb0cc23cad280fd04dde13c8070d04ca2f886a0..e50b4f518da8fae47a76c26affcc7a5d2f07068f 100644 --- a/services/network/url_loader.h +++ b/services/network/url_loader.h -@@ -518,6 +518,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader +@@ -526,6 +526,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader std::unique_ptr resource_scheduler_request_handle_; diff --git a/patches/chromium/feat_filter_out_non-shareable_windows_in_the_current_application_in.patch b/patches/chromium/feat_filter_out_non-shareable_windows_in_the_current_application_in.patch index f19e6b9fd0..fcc0854712 100644 --- a/patches/chromium/feat_filter_out_non-shareable_windows_in_the_current_application_in.patch +++ b/patches/chromium/feat_filter_out_non-shareable_windows_in_the_current_application_in.patch @@ -7,7 +7,7 @@ Subject: feat: filter out non-shareable windows in the current application in This patch ensures that windows protected via win.setContentProtection(true) do not appear in full display captures via desktopCapturer. This patch could be upstreamed but as the check is limited to in-process windows it doesn't make a lot of sense for Chromium itself. This patch currently has a limitation that it only function for windows created / protected BEFORE the stream is started. There is theoretical future work we can do via polling / observers to automatically update the SCContentFilter when new windows are made but for now this will solve 99+% of the problem and folks can re-order their logic a bit to get it working for their use cases. diff --git a/content/browser/media/capture/screen_capture_kit_device_mac.mm b/content/browser/media/capture/screen_capture_kit_device_mac.mm -index 35cb1bb72a462c91d21bd1c99c35d90478c9442c..2bbb3fe1b1b747770da466c33633489830a42afe 100644 +index bd6f3345fdce0e226ef4b01e41fd65ee098c2497..c17f6f076fc852df85d5deb919434458b886db37 100644 --- a/content/browser/media/capture/screen_capture_kit_device_mac.mm +++ b/content/browser/media/capture/screen_capture_kit_device_mac.mm @@ -100,7 +100,15 @@ void OnShareableContentCreated( 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 d8d0afaac1..06f63af915 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 31f9403bf89095f8694aecc855c24d81be9261e7..1e82eaa7b45e1a1b04b132d752ae8252ee55ad1f 100644 +index cd48375cfb1a780cdf328c1b1598d84ad1643440..574c8473fa0ade2dd84a75b7395501da02f27718 100644 --- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc +++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc @@ -17,12 +17,16 @@ @@ -129,7 +129,7 @@ index 31f9403bf89095f8694aecc855c24d81be9261e7..1e82eaa7b45e1a1b04b132d752ae8252 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 a31c0b1a17d4cda765a4511923686b7f44d10e81..0b0a015f0500432273bf0e7f7231987cdd11b440 100644 +index 07eeac78d168a60f5c0fa0226a68740539487ca0..3088c9a9ecc6cde91f1b37a5f144f359b7358377 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 { diff --git a/patches/chromium/fix_add_check_for_sandbox_then_result.patch b/patches/chromium/fix_add_check_for_sandbox_then_result.patch index 5e0e4224c9..a3991a59d8 100644 --- a/patches/chromium/fix_add_check_for_sandbox_then_result.patch +++ b/patches/chromium/fix_add_check_for_sandbox_then_result.patch @@ -8,7 +8,7 @@ patch and doing further investigation in the future. This patch cannot be upstreamed. diff --git a/sandbox/linux/bpf_dsl/bpf_dsl.cc b/sandbox/linux/bpf_dsl/bpf_dsl.cc -index 8f8fb6486e68b49842eb09d6b624b55cfacf64a5..f0a55dc53604bb78cee9528975660415eb06b72c 100644 +index 6bb9ba9623e042c25fa74e64e0fa1bc32f8f5331..b7dced446865236490c8a0b3646f8e0026b95b71 100644 --- a/sandbox/linux/bpf_dsl/bpf_dsl.cc +++ b/sandbox/linux/bpf_dsl/bpf_dsl.cc @@ -321,6 +321,7 @@ Elser::~Elser() { 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 62ebe03cf3..24ce1f51c1 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 d5af52091f201cc51c3525798d99e2e42f623979..dfb2ac1c515176c12f7f39d08b671321f6a931b4 100644 +index 1e867b8eddb510bb8564b4d26e8c649d40022dba..6c99fee1af1bcd64f3e6647132bd132f0ea111ec 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3460,7 +3460,7 @@ void WebContentsImpl::EnterFullscreenMode( +@@ -3458,7 +3458,7 @@ void WebContentsImpl::EnterFullscreenMode( OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode"); DCHECK(CanEnterFullscreenMode(requesting_frame, options)); DCHECK(requesting_frame->IsActive()); diff --git a/patches/chromium/fix_aspect_ratio_with_max_size.patch b/patches/chromium/fix_aspect_ratio_with_max_size.patch index 29f333a341..5662a88d3d 100644 --- a/patches/chromium/fix_aspect_ratio_with_max_size.patch +++ b/patches/chromium/fix_aspect_ratio_with_max_size.patch @@ -11,7 +11,7 @@ enlarge window above dimensions set during creation of the BrowserWindow. diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index d6dbcf0ad2370c8cd91e8a3015a07e1a2124643a..696062d4dfe06937bed5902b543b627be63b773a 100644 +index 9f2b240b0c053a10d4543f0ffb9809fd735d7b6d..aacb580a7506f2c86769251ad00d8679870a454a 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -3707,6 +3707,21 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param, 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 708e9d7148..61fa0e1400 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 60990c07ce73b461f56c8eb042506fde297e043c..e85d5244644a2fd7c92283781aaed7bbd7c71cbc 100644 +index c672ad5573a2a8f89d203a88cba2a53e52b1d7fb..fcec9c7dd1fd33be068c05b84cd52401be02b079 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -6560,10 +6560,11 @@ std::pair NavigationRequest:: +@@ -6642,10 +6642,11 @@ std::pair NavigationRequest:: if (IsForMhtmlSubframe()) return origin_with_debug_info; @@ -37,12 +37,12 @@ index 60990c07ce73b461f56c8eb042506fde297e043c..e85d5244644a2fd7c92283781aaed7bb } diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/browser/renderer_host/render_frame_host_impl.h -index f9be00fbdcae3099fd94e90a274300aed1c6a8ee..565d11af17a88c0cc7d273f27a1ef87504ae20a7 100644 +index ed79f436761c21367ddfaf044e4c749f87975b64..153168ec693a0bec8eb83c204f10989afcef11c7 100644 --- a/content/browser/renderer_host/render_frame_host_impl.h +++ b/content/browser/renderer_host/render_frame_host_impl.h -@@ -2545,6 +2545,17 @@ class CONTENT_EXPORT RenderFrameHostImpl - HandleAXEvents(tree_id, std::move(updates_and_events), reset_token); - } +@@ -2612,6 +2612,17 @@ class CONTENT_EXPORT RenderFrameHostImpl + kIframeNestedWithinFencedFrame + }; + // Returns whether the given origin and URL is allowed to commit in the + // current RenderFrameHost. The |url| is used to ensure it matches the origin @@ -58,7 +58,7 @@ index f9be00fbdcae3099fd94e90a274300aed1c6a8ee..565d11af17a88c0cc7d273f27a1ef875 protected: friend class RenderFrameHostFactory; -@@ -2880,17 +2891,6 @@ class CONTENT_EXPORT RenderFrameHostImpl +@@ -2957,17 +2968,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 d029544869..802ebc95d6 100644 --- a/patches/chromium/fix_crash_when_saving_edited_pdf_files.patch +++ b/patches/chromium/fix_crash_when_saving_edited_pdf_files.patch @@ -13,7 +13,7 @@ This patch can be removed should we choose to support chrome.fileSystem or support it enough to fix the crash. diff --git a/chrome/browser/resources/pdf/pdf_viewer.ts b/chrome/browser/resources/pdf/pdf_viewer.ts -index 025b6bf032ced3a5dc34498dcbca05528fbe447b..2a635cfe8da7bf0c7aa6192e7123292fc64e73d9 100644 +index 6e51c82afddded02c0a9538d2aeddf355b36ca10..8835429ce7e204eab21020a828c7348b482da4a9 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 { 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 dc7c6ef34b..afa0d8af24 100644 --- a/patches/chromium/fix_dont_delete_SerialPortManager_on_main_thread.patch +++ b/patches/chromium/fix_dont_delete_SerialPortManager_on_main_thread.patch @@ -50,7 +50,7 @@ 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 e1066e90022485463adb69f5738107670d94ba3f..85cdc5d2df4b17d41305fa8ff4337de65056cdf7 100644 +index e21ddc77480abc177b2c2afd76ccc0126b27ebb7..7db962d3bc076e9465b2e4e081122fd5bb2aa8d5 100644 --- a/services/device/device_service.cc +++ b/services/device/device_service.cc @@ -159,7 +159,7 @@ DeviceService::~DeviceService() { diff --git a/patches/chromium/fix_export_zlib_symbols.patch b/patches/chromium/fix_export_zlib_symbols.patch index 0590f70607..33fbc8dff0 100644 --- a/patches/chromium/fix_export_zlib_symbols.patch +++ b/patches/chromium/fix_export_zlib_symbols.patch @@ -6,7 +6,7 @@ Subject: fix: export zlib symbols This patch sets ZLIB_DLL so that we properly export zlib symbols. diff --git a/third_party/zlib/BUILD.gn b/third_party/zlib/BUILD.gn -index ee7483e9ef6a4ff85f8e6ac966d6e6c1e669dcf6..54d42304d84e1a25bb8b690282ff8268626eb5ad 100644 +index b85067a12bd86d54a751be119ff16c2683984d02..883d31f7264fdc4fa40c7337ec2fb94e9eaa7cb9 100644 --- a/third_party/zlib/BUILD.gn +++ b/third_party/zlib/BUILD.gn @@ -316,6 +316,10 @@ component("zlib") { 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 d4b92fb1e0..5bd3d5ea26 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 1b10f7f79cf784409fd63ffefa191e0eaf5c34c8..919027b9233ef1f568263a3d61ed1479b72aea2c 100644 +index bec172bcb51c1232ba48c3bb70242b4674f54a86..ddafa37c3c6bce25228c16eeb924eacf6ade0500 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -1866,7 +1866,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -1870,7 +1870,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, // IncrementCapturerCount() is destructed. void DecrementCapturerCount(bool stay_hidden, bool stay_awake, @@ -21,7 +21,7 @@ index 1b10f7f79cf784409fd63ffefa191e0eaf5c34c8..919027b9233ef1f568263a3d61ed1479 // 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 2bbdc0e5e943510bfdbd2f3cc31584dadb331472..5ea28b60f9c0f1ca5d060a44fed61952bf46d684 100644 +index 29e51ec3e7b36a506e13cc4a18dfa4f9a68b93ce..fea0284c96ee4f25a50f04a19bca0c03444e8a6c 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_media_key_usage_with_globalshortcuts.patch b/patches/chromium/fix_media_key_usage_with_globalshortcuts.patch index 8892da56d9..d0950acea4 100644 --- a/patches/chromium/fix_media_key_usage_with_globalshortcuts.patch +++ b/patches/chromium/fix_media_key_usage_with_globalshortcuts.patch @@ -11,7 +11,7 @@ counter to the design of globalShortcuts, and so we need to instead use `ui::MediaKeysListener`. diff --git a/chrome/browser/extensions/global_shortcut_listener.cc b/chrome/browser/extensions/global_shortcut_listener.cc -index bc009606d01469125052e68a9cdc82aaa697c764..ff18043cb07d748a49adea9874517fb29e3e7f9f 100644 +index fa5be7e4dbddd8333263c412b84a1d93b2d5046a..1b3c65359bff41a96ff27aef6e979ac7e6e8518d 100644 --- a/chrome/browser/extensions/global_shortcut_listener.cc +++ b/chrome/browser/extensions/global_shortcut_listener.cc @@ -7,6 +7,7 @@ @@ -46,7 +46,7 @@ index bc009606d01469125052e68a9cdc82aaa697c764..ff18043cb07d748a49adea9874517fb2 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (IsShortcutHandlingSuspended()) diff --git a/chrome/browser/extensions/global_shortcut_listener.h b/chrome/browser/extensions/global_shortcut_listener.h -index ad366d0fd4c3a637d75a102ab56984f0d01bfc04..d63eb133fd4bab1ea309bb8c742acf88d97d779e 100644 +index f96af14cb915c8ab92b314ac15b6dffcdd6ec607..2556abe433493251ebd48d4aeddaa6d4f553208f 100644 --- a/chrome/browser/extensions/global_shortcut_listener.h +++ b/chrome/browser/extensions/global_shortcut_listener.h @@ -33,6 +33,8 @@ class GlobalShortcutListener { @@ -59,7 +59,7 @@ index ad366d0fd4c3a637d75a102ab56984f0d01bfc04..d63eb133fd4bab1ea309bb8c742acf88 // true if register successfully, or false if 1) the specificied |accelerator| // has been registered by another caller or other native applications, or diff --git a/content/browser/media/media_keys_listener_manager_impl.cc b/content/browser/media/media_keys_listener_manager_impl.cc -index b954f8dde00d4f5257223c464e9145a6bef48900..ee9da826014d3aae9675daac6cdbc0f447a14efd 100644 +index 2901d408d154a86f0df838314e54c17c208ac573..7657e254a64b2eb6c64e59ae3f1cc57be04dfaf2 100644 --- a/content/browser/media/media_keys_listener_manager_impl.cc +++ b/content/browser/media/media_keys_listener_manager_impl.cc @@ -56,7 +56,11 @@ bool MediaKeysListenerManagerImpl::StartWatchingMediaKey( diff --git a/patches/chromium/fix_non-client_mouse_tracking_and_message_bubbling_on_windows.patch b/patches/chromium/fix_non-client_mouse_tracking_and_message_bubbling_on_windows.patch index 53ef9acfa0..87adbe6f99 100644 --- a/patches/chromium/fix_non-client_mouse_tracking_and_message_bubbling_on_windows.patch +++ b/patches/chromium/fix_non-client_mouse_tracking_and_message_bubbling_on_windows.patch @@ -13,7 +13,7 @@ messages in the legacy window handle layer. These conditions are regularly hit with WCO-enabled windows on Windows. diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.cc b/content/browser/renderer_host/legacy_render_widget_host_win.cc -index c60db9efd14aa7c9e974d2a36626bdc86e0f80e1..bc38939c1965633a4a7ad5aacaaaa18566874e88 100644 +index d045964264de280f670350f71c5d69cf7326e13a..d0ce23fa6d6b32e8475cdafbf551447c6db700c6 100644 --- a/content/browser/renderer_host/legacy_render_widget_host_win.cc +++ b/content/browser/renderer_host/legacy_render_widget_host_win.cc @@ -288,12 +288,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message, @@ -44,7 +44,7 @@ index c60db9efd14aa7c9e974d2a36626bdc86e0f80e1..bc38939c1965633a4a7ad5aacaaaa185 } } diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.h b/content/browser/renderer_host/legacy_render_widget_host_win.h -index 81e5cde38627914e6a19ed2c1ab62547fdd7fc19..111c59c91073578d8d176598b5e4d10b84918d4c 100644 +index 11ae0ec65f8b3eab782e9f660ba21bc6fccdc7e2..4bf7545646794f045e6cea6131e3b67453c459d3 100644 --- a/content/browser/renderer_host/legacy_render_widget_host_win.h +++ b/content/browser/renderer_host/legacy_render_widget_host_win.h @@ -106,6 +106,7 @@ class CONTENT_EXPORT LegacyRenderWidgetHostHWND 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 bb8038e92a..11efb9c534 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 28366584e6a3cc2655e5bc7417c4e52b9d0f4163..9bd2c7051ac1cd9d022eabb07497e19f0c3af54b 100644 +index a5d85cc43e916455d4d8d1506e02c38f6d768315..7163b83b3a78c1c1ed0880f8c96f8847e4b0bae2 100644 --- a/chrome/browser/accessibility/accessibility_ui.cc +++ b/chrome/browser/accessibility/accessibility_ui.cc @@ -21,7 +21,10 @@ @@ -124,7 +124,7 @@ index 28366584e6a3cc2655e5bc7417c4e52b9d0f4163..9bd2c7051ac1cd9d022eabb07497e19f +#endif } diff --git a/chrome/browser/accessibility/accessibility_ui.h b/chrome/browser/accessibility/accessibility_ui.h -index 8ae101cdb4de8ea570e3af6e05e9124b51a9f14c..2706f8ad05a6bee71b68f59406eb0bd3391a3fcd 100644 +index 94fdbf91a5f6e03a259eb970f1d402a6d3cc12e4..2be0cbce1090b7dccad7ef483baa68fbc4235964 100644 --- a/chrome/browser/accessibility/accessibility_ui.h +++ b/chrome/browser/accessibility/accessibility_ui.h @@ -22,6 +22,8 @@ struct AXEventNotificationDetails; diff --git a/patches/chromium/fix_properly_honor_printing_page_ranges.patch b/patches/chromium/fix_properly_honor_printing_page_ranges.patch index df7e887c60..ff51e6de4d 100644 --- a/patches/chromium/fix_properly_honor_printing_page_ranges.patch +++ b/patches/chromium/fix_properly_honor_printing_page_ranges.patch @@ -10,7 +10,7 @@ them should they exist. This will be upstreamed. diff --git a/printing/printing_context_mac.h b/printing/printing_context_mac.h -index 3725aa4cd902a9c84e22bbcbd702bd47e1901fe4..221019f5df71e1d66accbf2ea2d161bd1125666f 100644 +index 53b106a1522a04d596d6ec833b00aa2170c760d9..3b5ca717d48cdade667fda8ce113f3f64bdaa063 100644 --- a/printing/printing_context_mac.h +++ b/printing/printing_context_mac.h @@ -83,6 +83,10 @@ class COMPONENT_EXPORT(PRINTING) PrintingContextMac : public PrintingContext { @@ -25,7 +25,7 @@ index 3725aa4cd902a9c84e22bbcbd702bd47e1901fe4..221019f5df71e1d66accbf2ea2d161bd // Returns true if duplex mode is set. bool SetDuplexModeInPrintSettings(mojom::DuplexMode mode); diff --git a/printing/printing_context_mac.mm b/printing/printing_context_mac.mm -index 9e351c7e80a135adf0ebe011763f5164e51981bb..b9fcb4d2a8c7a22ebc7cd8434636454e7fc2aab6 100644 +index 9dd650de9a9a372eba11854aa48695d5bdbff8aa..561ac4a781432a974ec6e5d131859863c0d5ad28 100644 --- a/printing/printing_context_mac.mm +++ b/printing/printing_context_mac.mm @@ -199,7 +199,8 @@ PMPaper MatchPaper(CFArrayRef paper_list, @@ -62,7 +62,7 @@ index 9e351c7e80a135adf0ebe011763f5164e51981bb..b9fcb4d2a8c7a22ebc7cd8434636454e PMPrintSettings print_settings = static_cast([print_info_.get() PMPrintSettings]); diff --git a/printing/printing_context_system_dialog_win.cc b/printing/printing_context_system_dialog_win.cc -index b7ba6ba4446963b08bce9fe416379169bd880378..7c621ea7a60725d08ee9ade68b65fd5bc88b0c2d 100644 +index 07f495636151c5ad7399bf2bd810e0732b06e24e..ddd5c57d05ec4f298a028ac15656f4d90583f03c 100644 --- a/printing/printing_context_system_dialog_win.cc +++ b/printing/printing_context_system_dialog_win.cc @@ -75,14 +75,28 @@ void PrintingContextSystemDialogWin::AskUserForSettings( @@ -100,10 +100,10 @@ index b7ba6ba4446963b08bce9fe416379169bd880378..7c621ea7a60725d08ee9ade68b65fd5b } 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 db23b214107c2b4a137e623e183ca08b409959fb..3f10aa71ad6fe698392228dd4b8a73eae7b1dbc6 100644 +index 98985bc4c291212604e5b6cfe7fce0d27c698675..f46202bfa500ac282f2e4ba1c3237f6d4e48184a 100644 --- a/ui/gtk/printing/print_dialog_gtk.cc +++ b/ui/gtk/printing/print_dialog_gtk.cc -@@ -243,6 +243,24 @@ void PrintDialogGtk::UpdateSettings( +@@ -245,6 +245,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 e6f409cc74..518b882363 100644 --- a/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch +++ b/patches/chromium/fix_return_v8_value_from_localframe_requestexecutescript.patch @@ -8,7 +8,7 @@ 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 4e98e8614b9d736c7443033cfeca91313c43346c..1f77ccb48cc1af0ffcbd66ef31ccf7933420264a 100644 +index 01d3ac55dbf4d366e660bbee1d964f21bc3182ac..9ead280cce1577f05ff3409f8b31bd0fb044eaea 100644 --- a/extensions/renderer/script_injection.cc +++ b/extensions/renderer/script_injection.cc @@ -342,6 +342,7 @@ void ScriptInjection::InjectJs(std::set* executing_scripts, @@ -20,10 +20,10 @@ index 4e98e8614b9d736c7443033cfeca91313c43346c..1f77ccb48cc1af0ffcbd66ef31ccf793 injector_->ExpectsResults(), injector_->ShouldWaitForPromise()); } diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h -index 46df0f6e8eec383bdecfcb072f9a5ef47b1238c1..17cde747565586668afffafdc0bf12661cedfafa 100644 +index f15c5f883c814f0bba929ea014e19726599107cc..1ae59275c46be7050d3c080d9865725cd7405b53 100644 --- a/third_party/blink/public/web/web_local_frame.h +++ b/third_party/blink/public/web/web_local_frame.h -@@ -431,6 +431,7 @@ class WebLocalFrame : public WebFrame { +@@ -430,6 +430,7 @@ class BLINK_EXPORT WebLocalFrame : public WebFrame { mojom::EvaluationTiming, mojom::LoadEventBlockingOption, WebScriptExecutionCallback, @@ -32,7 +32,7 @@ index 46df0f6e8eec383bdecfcb072f9a5ef47b1238c1..17cde747565586668afffafdc0bf1266 mojom::WantResultOption, mojom::PromiseResultOption) = 0; diff --git a/third_party/blink/public/web/web_script_execution_callback.h b/third_party/blink/public/web/web_script_execution_callback.h -index b3cf48eb7c6581605997e31b55d7f3ff95dd7b27..cb700cd45c02b718c7b21bf6579eba10aab987f0 100644 +index acc31345b556a4daf8a189cf7a9f302926e7cfdb..1f57875bb31f0e92829a0380e6f0f357684cff37 100644 --- a/third_party/blink/public/web/web_script_execution_callback.h +++ b/third_party/blink/public/web/web_script_execution_callback.h @@ -13,8 +13,17 @@ class TimeTicks; @@ -64,10 +64,10 @@ index b3cf48eb7c6581605997e31b55d7f3ff95dd7b27..cb700cd45c02b718c7b21bf6579eba10 #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 baba2925889605ab997a1ceb1f4acd1b809bcf58..646ad196cdd800d29312717cc3d07e052407fa6b 100644 +index 076d5e45c2c5a15c23a2b24eaa1a0b25c33a8949..62cd3dd5ecf27ca1273dc9249cd2d601e580281a 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -2561,6 +2561,7 @@ void LocalFrame::RequestExecuteScript( +@@ -2577,6 +2577,7 @@ void LocalFrame::RequestExecuteScript( mojom::blink::EvaluationTiming evaluation_timing, mojom::blink::LoadEventBlockingOption blocking_option, WebScriptExecutionCallback callback, @@ -75,7 +75,7 @@ index baba2925889605ab997a1ceb1f4acd1b809bcf58..646ad196cdd800d29312717cc3d07e05 BackForwardCacheAware back_forward_cache_aware, mojom::blink::WantResultOption want_result_option, mojom::blink::PromiseResultOption promise_behavior) { -@@ -2591,7 +2592,8 @@ void LocalFrame::RequestExecuteScript( +@@ -2607,7 +2608,8 @@ void LocalFrame::RequestExecuteScript( PausableScriptExecutor::CreateAndRun( ToScriptState(DomWindow(), *world), std::move(script_sources), execute_script_policy, user_gesture, evaluation_timing, blocking_option, @@ -86,10 +86,10 @@ index baba2925889605ab997a1ceb1f4acd1b809bcf58..646ad196cdd800d29312717cc3d07e05 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 57bf122146a70a74acf38dc1748825f712519455..91cdecfd28d0e4fc16a6e1c4dfc70e7c600adad2 100644 +index 078f42051b5743420f9e93f1abc6a6519fb158a5..a38dd9fe5aacbffaf96add280a66797b48455a61 100644 --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -750,6 +750,7 @@ class CORE_EXPORT LocalFrame final +@@ -752,6 +752,7 @@ class CORE_EXPORT LocalFrame final mojom::blink::EvaluationTiming, mojom::blink::LoadEventBlockingOption, WebScriptExecutionCallback, @@ -98,7 +98,7 @@ index 57bf122146a70a74acf38dc1748825f712519455..91cdecfd28d0e4fc16a6e1c4dfc70e7c mojom::blink::WantResultOption, mojom::blink::PromiseResultOption); diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc -index 7a354cceb208bfb950ed6f5661d97dbede36b73b..6aeee90b382d6438c6003d837819c91f21a2a922 100644 +index 4716b950eebda617be15bf45e4e455ce067200b2..3a7b354cf09602a8da2dec8afcbc7651955838be 100644 --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc @@ -1034,6 +1034,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld( @@ -110,7 +110,7 @@ index 7a354cceb208bfb950ed6f5661d97dbede36b73b..6aeee90b382d6438c6003d837819c91f wants_result ? mojom::blink::WantResultOption::kWantResultDateAndRegExpAllowed diff --git a/third_party/blink/renderer/core/frame/pausable_script_executor.cc b/third_party/blink/renderer/core/frame/pausable_script_executor.cc -index ccd8ef6ab3e92728f0222b37124413a6d99eab44..32dadc48da4842f5f5ae1aede605a7332754004f 100644 +index 26a2e49e027e0535b3dbb496897d5f802318e50f..b757c943bd6e0b54f2f59e7e56f013ed32fda991 100644 --- a/third_party/blink/renderer/core/frame/pausable_script_executor.cc +++ b/third_party/blink/renderer/core/frame/pausable_script_executor.cc @@ -248,7 +248,7 @@ void PausableScriptExecutor::CreateAndRun( @@ -175,7 +175,7 @@ index ccd8ef6ab3e92728f0222b37124413a6d99eab44..32dadc48da4842f5f5ae1aede605a733 } diff --git a/third_party/blink/renderer/core/frame/pausable_script_executor.h b/third_party/blink/renderer/core/frame/pausable_script_executor.h -index a73ad2a1dd7f4b89a167512a852e28294a99cc51..b41f811f82cb8eb19994f790c07bd807896e0485 100644 +index 1e4d9e098463d61dcab787afcc46fea63b27e012..3f1ebf493ddd7d1c209acee2fb1255a0530e45d0 100644 --- a/third_party/blink/renderer/core/frame/pausable_script_executor.h +++ b/third_party/blink/renderer/core/frame/pausable_script_executor.h @@ -48,7 +48,8 @@ class CORE_EXPORT PausableScriptExecutor final @@ -205,7 +205,7 @@ index a73ad2a1dd7f4b89a167512a852e28294a99cc51..b41f811f82cb8eb19994f790c07bd807 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 0263b59002af9947c182cb6876a790660850adc4..5e301fa46d130bfd4323f84d15dd338b425607ed 100644 +index 8a7eb9945f0d2fcdc2ca450f4768341273a07acc..3a5137110ed8e3a3a1fca28cea5cc9c8b6ef7313 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( @@ -227,7 +227,7 @@ index 0263b59002af9947c182cb6876a790660850adc4..5e301fa46d130bfd4323f84d15dd338b v8::MaybeLocal WebLocalFrameImpl::CallFunctionEvenIfScriptDisabled( diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h -index 6dffe8a49e95af372524c0cfd9aaea802a09b6c7..31785d69b99c867a3a73b7ea5b09aba007c3f2a7 100644 +index 8480cf8bfde8642484b428969b6f745697b8d598..5a0cf14a2705285592d813cc08a788d7faa828b3 100644 --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h @@ -192,6 +192,7 @@ class CORE_EXPORT WebLocalFrameImpl final diff --git a/patches/chromium/fix_revert_emulationhandler_update_functions_to_early_return.patch b/patches/chromium/fix_revert_emulationhandler_update_functions_to_early_return.patch deleted file mode 100644 index b6497c728d..0000000000 --- a/patches/chromium/fix_revert_emulationhandler_update_functions_to_early_return.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Shelley Vohr -Date: Fri, 26 Aug 2022 11:24:27 +0200 -Subject: fix: revert EmulationHandler update functions to early return - -Our debugger class (a subclass of ontent::DevToolsAgentHostClient) isn't -aware of those changes unless we hook RenderFrameHostChanged. If we -don't do this, some navigation lifecycle events -{loadingFinished, dataReceived} emitted by the renderer are lost. We -disconnect and reconnect the webcontents to the DevToolsAgentHost to -prevent this from happening. - -As of https://chromium-review.googlesource.com/c/chromium/src/+/3758294 -this results in a DCHECK, since DevToolsAgentHost::DisconnectWebContents -results in a call to UpdateDeviceEmulationState and host_ is nullptr. To -fix this, we revert those state update calls to early returns. - -Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3856525 - -diff --git a/content/browser/devtools/protocol/emulation_handler.cc b/content/browser/devtools/protocol/emulation_handler.cc -index f14c405b33a39f613480dfa796c4193e2b945d56..ee21d5816b746967d17b17146e882045025b930a 100644 ---- a/content/browser/devtools/protocol/emulation_handler.cc -+++ b/content/browser/devtools/protocol/emulation_handler.cc -@@ -588,7 +588,9 @@ WebContentsImpl* EmulationHandler::GetWebContents() { - } - - void EmulationHandler::UpdateTouchEventEmulationState() { -- DCHECK(host_); -+ if (!host_) -+ return; -+ - // We only have a single TouchEmulator for all frames, so let the main frame's - // EmulationHandler enable/disable it. - DCHECK(!host_->GetParentOrOuterDocument()); -@@ -608,7 +610,9 @@ void EmulationHandler::UpdateTouchEventEmulationState() { - } - - void EmulationHandler::UpdateDeviceEmulationState() { -- DCHECK(host_); -+ if (!host_) -+ return; -+ - // Device emulation only happens on the outermost main frame. - DCHECK(!host_->GetParentOrOuterDocument()); - diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index acc3d883d2..80e43582fb 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 de6b2e7f68b013501421d30c315c8254f622a395..8bf4cca30dfe4c916753e1c3db76628b0338e18f 100644 +index 326015c006b928912c11c34a302614402e739b61..80739c52d7c3622f15313a36858bdd75fff5ddc3 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -3265,6 +3265,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -3287,6 +3287,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } @@ -20,7 +20,7 @@ index de6b2e7f68b013501421d30c315c8254f622a395..8bf4cca30dfe4c916753e1c3db76628b } diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 67a8cbf589693a0a347f6604a36ed2a39d4ef2da..8ee5503e252bb8dffebbee358c76ef51ada6b41d 100644 +index faae9fd7b3355c15a3088d8041cf6ee699cd6c71..74e3be8d2afe158ea4214986f8c19850d7356a91 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 { diff --git a/patches/chromium/gin_enable_disable_v8_platform.patch b/patches/chromium/gin_enable_disable_v8_platform.patch index 2d3eeebb9e..ab85cf4a9f 100644 --- a/patches/chromium/gin_enable_disable_v8_platform.patch +++ b/patches/chromium/gin_enable_disable_v8_platform.patch @@ -7,7 +7,7 @@ We don't use gin to create the V8 platform, because we need to inject Node things. diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc -index 88f9e4dd05d8efdabbbdd044f5e09e844ced3d55..c254b045494936eca14ce947e1c2de3327820aa2 100644 +index a82c7d1189b35223647f5de46ed415302f269827..c74b81af691aee95609913519e36498ec578620a 100644 --- a/gin/isolate_holder.cc +++ b/gin/isolate_holder.cc @@ -137,9 +137,10 @@ void IsolateHolder::Initialize(ScriptMode mode, @@ -24,7 +24,7 @@ index 88f9e4dd05d8efdabbbdd044f5e09e844ced3d55..c254b045494936eca14ce947e1c2de33 g_reference_table = reference_table; g_fatal_error_callback = fatal_error_callback; diff --git a/gin/public/isolate_holder.h b/gin/public/isolate_holder.h -index 617819d15c30bafab4fd1afc8368463018b3792d..f8e5d0246b92fd2f1316313e13ccda7ef6c57495 100644 +index 10caab6d9ef3345332c163a55dcef991248ab4ea..c9bc6e5dd7e1cf8d198afcd21cbb24970337a50f 100644 --- a/gin/public/isolate_holder.h +++ b/gin/public/isolate_holder.h @@ -109,7 +109,8 @@ class GIN_EXPORT IsolateHolder { @@ -38,10 +38,10 @@ index 617819d15c30bafab4fd1afc8368463018b3792d..f8e5d0246b92fd2f1316313e13ccda7e // 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 cb3302bb2abb735609436bdf2a5d4d51cc4258ad..5530d975303cc96701e4b70ffbcaf6e7c02bb016 100644 +index ec89b58257d262c5c181b09b4db1f809eeba0579..67d3be89ac776ebc39c245641f9fbb4e9dd5e03d 100644 --- a/gin/v8_initializer.cc +++ b/gin/v8_initializer.cc -@@ -368,7 +368,8 @@ void SetFlags(IsolateHolder::ScriptMode mode, +@@ -367,7 +367,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 cb3302bb2abb735609436bdf2a5d4d51cc4258ad..5530d975303cc96701e4b70ffbcaf6e7 static bool v8_is_initialized = false; if (v8_is_initialized) return; -@@ -378,7 +379,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, +@@ -377,7 +378,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, // See https://crbug.com/v8/11043 SetFlags(mode, js_command_line_flags); @@ -62,7 +62,7 @@ index cb3302bb2abb735609436bdf2a5d4d51cc4258ad..5530d975303cc96701e4b70ffbcaf6e7 // Set this as early as possible in order to ensure OOM errors are reported // correctly. diff --git a/gin/v8_initializer.h b/gin/v8_initializer.h -index da5b4017b4a8128bf620d4b43d4c2d183719265b..13a120c7fe8e69a44793473f3124c33d572a07a3 100644 +index d499cb43c4e12ca32912fce7078fcadff7509a87..dd9899c3e0dbadfc0074ffce87d51193e1c963cb 100644 --- a/gin/v8_initializer.h +++ b/gin/v8_initializer.h @@ -31,7 +31,8 @@ class GIN_EXPORT V8Initializer { diff --git a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch index b856c45fa3..90c64dee45 100644 --- a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch +++ b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch @@ -12,7 +12,7 @@ rendering and there is no signal from browser process on this event to identify it. diff --git a/content/browser/gpu/gpu_data_manager_impl.cc b/content/browser/gpu/gpu_data_manager_impl.cc -index 54cc8dc51d400a5738c7e3d63e6f368bead2a021..182ef4fde23a6afe2e9d8a8f02d8ccf6161c633e 100644 +index 6edab681064213db9af5fefffc5fbc4e426018d9..e729790c4b994378491414f903f4425ff1ff2f4a 100644 --- a/content/browser/gpu/gpu_data_manager_impl.cc +++ b/content/browser/gpu/gpu_data_manager_impl.cc @@ -230,6 +230,11 @@ void GpuDataManagerImpl::TerminateInfoCollectionGpuProcess() { @@ -28,7 +28,7 @@ index 54cc8dc51d400a5738c7e3d63e6f368bead2a021..182ef4fde23a6afe2e9d8a8f02d8ccf6 void GpuDataManagerImpl::UpdateDawnInfo( diff --git a/content/browser/gpu/gpu_data_manager_impl.h b/content/browser/gpu/gpu_data_manager_impl.h -index 1fc56c055d423ab074f8f4f90415e34593a04a18..c637247f003e1c6bfe073a43a09851682cd242cc 100644 +index 1b03f182346d544a2551ab3a8fcad288d819ea26..67884548adff4a8dbda52e68f863445bf28a5286 100644 --- a/content/browser/gpu/gpu_data_manager_impl.h +++ b/content/browser/gpu/gpu_data_manager_impl.h @@ -125,6 +125,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDataManager, @@ -40,7 +40,7 @@ index 1fc56c055d423ab074f8f4f90415e34593a04a18..c637247f003e1c6bfe073a43a0985168 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 91d8c7cc2b8105a4f7ef9aa314b3b4e92b94d6dd..45ba80fc280499ae48921f428eb2c6915d1cf528 100644 +index 8d5c6ff71a6ce8e0c02221ea19b81fd3d3b9f7aa..383b499d2f3b62996ebbcd8e9c44daab5c7aba34 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() { @@ -57,7 +57,7 @@ index 91d8c7cc2b8105a4f7ef9aa314b3b4e92b94d6dd..45ba80fc280499ae48921f428eb2c691 void GpuDataManagerImplPrivate::UpdateDawnInfo( diff --git a/content/browser/gpu/gpu_data_manager_impl_private.h b/content/browser/gpu/gpu_data_manager_impl_private.h -index af6dd8d8af99c5bd1e854c8cfbeb89e04476fefd..758adb66dff5aefad9f3c9f8c23de6fa9df33ef7 100644 +index 9fcf4d20d90af6195910077443ad9d62e9045322..3c387f6d9d2b30f17e93b1f8a9da14ecd49ea36c 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.h +++ b/content/browser/gpu/gpu_data_manager_impl_private.h @@ -87,6 +87,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index d892bd4640..21a537ee60 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 f5bb5e97796d7671efb934af872e8573f1588b9b..75103073ce550ace4846459450d07eb8f8056324 100644 +index 2d5cdcca9505e7b46383fb37f179c13a15f9a96b..2a2eb66f27c4dd650a1fb38813159268ab184785 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1019,6 +1019,11 @@ +@@ -1039,6 +1039,11 @@ "includes": [4960], }, diff --git a/patches/chromium/gtk_visibility.patch b/patches/chromium/gtk_visibility.patch index 20894a2cf1..6cb1a3e06a 100644 --- a/patches/chromium/gtk_visibility.patch +++ b/patches/chromium/gtk_visibility.patch @@ -6,7 +6,7 @@ Subject: gtk_visibility.patch Allow electron to depend on GTK in the GN build. diff --git a/build/config/linux/gtk/BUILD.gn b/build/config/linux/gtk/BUILD.gn -index 349043f8a3cfc9f91cbae951e74258799a4fd126..0f7e3e544f524a7ad6660b54912cb1190282b6fc 100644 +index 355067ea178bee1466f9df5a3ed146e9f09f0768..1b385d12692deece9e10722fc70215e8c645f6af 100644 --- a/build/config/linux/gtk/BUILD.gn +++ b/build/config/linux/gtk/BUILD.gn @@ -27,6 +27,7 @@ pkg_config("gtk_internal_config") { @@ -18,7 +18,7 @@ index 349043f8a3cfc9f91cbae951e74258799a4fd126..0f7e3e544f524a7ad6660b54912cb119 # on GTK. "//examples:peerconnection_client", diff --git a/ui/ozone/platform/x11/BUILD.gn b/ui/ozone/platform/x11/BUILD.gn -index 34126e87bb62c312230e4a0c479f49736fa20e35..7320904ca819b6f6616192dd9f04f02ead2430a8 100644 +index 898f285e72b094f667a00a65c054daf71ede13a5..ba537d81ecd5c8d1e4580ab54692a5bdeebb6d26 100644 --- a/ui/ozone/platform/x11/BUILD.gn +++ b/ui/ozone/platform/x11/BUILD.gn @@ -6,7 +6,7 @@ import("//build/config/chromeos/ui_mode.gni") diff --git a/patches/chromium/hack_plugin_response_interceptor_to_point_to_electron.patch b/patches/chromium/hack_plugin_response_interceptor_to_point_to_electron.patch index 392a9b6b9b..6feeb96940 100644 --- a/patches/chromium/hack_plugin_response_interceptor_to_point_to_electron.patch +++ b/patches/chromium/hack_plugin_response_interceptor_to_point_to_electron.patch @@ -8,7 +8,7 @@ require a largeish patch to get working, so just redirect it to our implementation instead. diff --git a/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc b/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc -index 570359f62ce2ae59f2fe24cd56edf7e222b3d0bd..1d1fa2e2222435c88448b2577bbbd9c697196394 100644 +index 8f6d4c50727f2b0053847ce4de7d7398aa86e7e9..762fb5f3c0dfcd59be35cda4d672bb39d83b586f 100644 --- a/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc +++ b/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc @@ -10,8 +10,8 @@ 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 8acf53f5d7..767337f95d 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 0685b244c405b8680cfceeb077d499d4d01cd2d2..9f5f77cc5147e4822b02ba426e1d25524c49fd4c 100755 +index 06c7e479bfd5c734d828488a2f693ebbe553bc44..a2d5412500eccb46c108970b8c81a7656368fe07 100755 --- a/tools/clang/scripts/update.py +++ b/tools/clang/scripts/update.py @@ -302,6 +302,8 @@ def GetDefaultHostOs(): diff --git a/patches/chromium/ignore_rc_check.patch b/patches/chromium/ignore_rc_check.patch index 1d8b29e7f4..55e0ad82c4 100644 --- a/patches/chromium/ignore_rc_check.patch +++ b/patches/chromium/ignore_rc_check.patch @@ -7,7 +7,7 @@ Dont compare RC.exe and RC.py output. FIXME: It has to be reverted once the script is fixed. diff --git a/build/toolchain/win/rc/rc.py b/build/toolchain/win/rc/rc.py -index 2ab41225fba8d22a974286835e4c454ef2e54f54..97a61e24e726144ff56d4a68dab5240555613d1a 100755 +index 2e5ec6b2631ef62d6bcae95a7dfd95bdaa8ce8af..44530b54d36d5925e99edd200ea8bc73fdfdedb6 100755 --- a/build/toolchain/win/rc/rc.py +++ b/build/toolchain/win/rc/rc.py @@ -245,7 +245,10 @@ def CompareToMsRcOutput(preprocessed_output, is_utf8, flags): diff --git a/patches/chromium/introduce_ozoneplatform_electron_can_call_x11_property.patch b/patches/chromium/introduce_ozoneplatform_electron_can_call_x11_property.patch index 963907108c..7e2d6bbf00 100644 --- a/patches/chromium/introduce_ozoneplatform_electron_can_call_x11_property.patch +++ b/patches/chromium/introduce_ozoneplatform_electron_can_call_x11_property.patch @@ -9,22 +9,22 @@ at rutime. It would be best if eventually all usages of this property were replaced with clean ozone native implementations. diff --git a/ui/ozone/platform/x11/ozone_platform_x11.cc b/ui/ozone/platform/x11/ozone_platform_x11.cc -index f7fe443469c54e6cf76c2eb7f00c94d245515e59..d2dac184b3bfa69e142c106ec91f94d5c5e38d5a 100644 +index 8743c12ee7c1cae05e9a0a45f2e2b676f06167ae..c8791908ddc8e65e8e9aa1c908e43be5668f2fc9 100644 --- a/ui/ozone/platform/x11/ozone_platform_x11.cc +++ b/ui/ozone/platform/x11/ozone_platform_x11.cc -@@ -192,6 +192,7 @@ class OzonePlatformX11 : public OzonePlatform, +@@ -191,6 +191,7 @@ class OzonePlatformX11 : public OzonePlatform, + base::MessagePumpType::UI; properties->supports_vulkan_swap_chain = true; - properties->uses_external_vulkan_image_factory = true; properties->skia_can_fall_back_to_x11 = true; + properties->electron_can_call_x11 = true; properties->platform_shows_drag_image = false; properties->supports_global_application_menus = true; properties->app_modal_dialogs_use_event_blocker = true; diff --git a/ui/ozone/public/ozone_platform.h b/ui/ozone/public/ozone_platform.h -index 193224d33283d4d3c45dc11b9620700a3a379cce..81abd63261952f0930a4659f270791d27d9d74a3 100644 +index f5bcde9bb123a18fd49dc7272d0037350b3944b7..c8fb95090336ec48facd3140bb02409ad8755e95 100644 --- a/ui/ozone/public/ozone_platform.h +++ b/ui/ozone/public/ozone_platform.h -@@ -129,6 +129,10 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform { +@@ -125,6 +125,10 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform { // Linux only: determines if Skia can fall back to the X11 output device. bool skia_can_fall_back_to_x11 = false; diff --git a/patches/chromium/isolate_holder.patch b/patches/chromium/isolate_holder.patch index 465560b293..e8d1fb23a4 100644 --- a/patches/chromium/isolate_holder.patch +++ b/patches/chromium/isolate_holder.patch @@ -15,7 +15,7 @@ for us to register the isolate in between Isolate::Allocate and Isolate::Initialize. diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc -index c254b045494936eca14ce947e1c2de3327820aa2..63c9b9681fcc4e1e9a9590d59d74349bb8aee3b1 100644 +index c74b81af691aee95609913519e36498ec578620a..7e1e6ad49ebddb9a4d86789939663b8208d057d5 100644 --- a/gin/isolate_holder.cc +++ b/gin/isolate_holder.cc @@ -73,7 +73,8 @@ IsolateHolder::IsolateHolder( @@ -57,7 +57,7 @@ index c254b045494936eca14ce947e1c2de3327820aa2..63c9b9681fcc4e1e9a9590d59d74349b access_mode_, task_runner); // TODO(https://crbug.com/1347092): Refactor such that caller need not diff --git a/gin/public/isolate_holder.h b/gin/public/isolate_holder.h -index f8e5d0246b92fd2f1316313e13ccda7ef6c57495..196e030be4ba5bb5f04aaef0acf8cabe0de93a67 100644 +index c9bc6e5dd7e1cf8d198afcd21cbb24970337a50f..688f10fa48511818848f6177a1a20a19ebd54f99 100644 --- a/gin/public/isolate_holder.h +++ b/gin/public/isolate_holder.h @@ -83,13 +83,15 @@ class GIN_EXPORT IsolateHolder { diff --git a/patches/chromium/load_v8_snapshot_in_browser_process.patch b/patches/chromium/load_v8_snapshot_in_browser_process.patch index 8e17223605..0827d00fb0 100644 --- a/patches/chromium/load_v8_snapshot_in_browser_process.patch +++ b/patches/chromium/load_v8_snapshot_in_browser_process.patch @@ -9,10 +9,10 @@ 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 ed2bacaacf7ae2402b7fe7d5bdbeabca261a7f5c..6242f0a0070b2b862f9fa5ed70825a16d6e270ef 100644 +index e2f53860b9ea57e1a07f58a7490770a9b7517143..f55888577c514abe5ed64e8b88ff9f6e442815fd 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc -@@ -253,11 +253,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) { +@@ -261,11 +261,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) { bool ShouldLoadV8Snapshot(const base::CommandLine& command_line, const std::string& process_type) { diff --git a/patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch b/patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch index 35d141affa..62de425141 100644 --- a/patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch +++ b/patches/chromium/logging_win32_only_create_a_console_if_logging_to_stderr.patch @@ -9,10 +9,10 @@ be created for each child process, despite logs being redirected to a file. diff --git a/content/app/content_main.cc b/content/app/content_main.cc -index 7ba896e8e0d77fd2b4c9e3cf7cb5660dc38865ac..62b84767b8a11e1a92933c337cd9f9453b238a42 100644 +index 58f891fd7af7ac664fe95741bed7ac51a5424695..e045f0ffd1a9cb61970420db15e5060793e22b9a 100644 --- a/content/app/content_main.cc +++ b/content/app/content_main.cc -@@ -413,8 +413,12 @@ RunContentProcess(ContentMainParams params, +@@ -322,8 +322,12 @@ RunContentProcess(ContentMainParams params, #if BUILDFLAG(IS_WIN) // Route stdio to parent console (if any) or create one. diff --git a/patches/chromium/make_gtk_getlibgtk_public.patch b/patches/chromium/make_gtk_getlibgtk_public.patch index cb65b28e8d..331b289dd0 100644 --- a/patches/chromium/make_gtk_getlibgtk_public.patch +++ b/patches/chromium/make_gtk_getlibgtk_public.patch @@ -7,7 +7,7 @@ Allows embedders to get a handle to the gtk and gdk_pixbuf libraries already loaded in the process. diff --git a/ui/gtk/gtk_compat.cc b/ui/gtk/gtk_compat.cc -index 2ba5b4c4468fca1bf76011754e358c81f670a8d3..e831abb6d14be75b3f5e5b4b3455b8b136f921b1 100644 +index d196e304a43191b6dc82f25b0b4bf24d242edb3c..85d618efa0574b00fc0cb1e5bde5ed725b2a90ab 100644 --- a/ui/gtk/gtk_compat.cc +++ b/ui/gtk/gtk_compat.cc @@ -66,11 +66,6 @@ void* GetLibGio() { @@ -54,7 +54,7 @@ index 2ba5b4c4468fca1bf76011754e358c81f670a8d3..e831abb6d14be75b3f5e5b4b3455b8b1 static bool loaded = LoadGtkImpl(); return loaded; diff --git a/ui/gtk/gtk_compat.h b/ui/gtk/gtk_compat.h -index 57e55b9e749b43d327deff449a530e1f435a8e8b..37720be9e393d192b3b7db13a007431a9ce77ddc 100644 +index 94f3997bcfc05b1ce9cb5bd821d8b57e2ffe85f3..da45ce627a9cac6460d0e1577d192f5a2dd03ae4 100644 --- a/ui/gtk/gtk_compat.h +++ b/ui/gtk/gtk_compat.h @@ -34,6 +34,12 @@ using SkColor = uint32_t; diff --git a/patches/chromium/mas-cgdisplayusesforcetogray.patch b/patches/chromium/mas-cgdisplayusesforcetogray.patch index 2408079f26..7e632508fc 100644 --- a/patches/chromium/mas-cgdisplayusesforcetogray.patch +++ b/patches/chromium/mas-cgdisplayusesforcetogray.patch @@ -6,7 +6,7 @@ Subject: mas: avoid usage of CGDisplayUsesForceToGray Removes usage of the CGDisplayUsesForceToGray private API. diff --git a/ui/display/mac/screen_mac.mm b/ui/display/mac/screen_mac.mm -index fc2ac4583bafd1847fd8dfe3fccbdf4eb40bd929..50fb6b583f84623bd8a146d9476cdf7989627d8a 100644 +index a0c06e539088c6521793ecf9ba8d54311c4a6ff7..562fbe579639b7dd64e897d0f88fd23e492ac058 100644 --- a/ui/display/mac/screen_mac.mm +++ b/ui/display/mac/screen_mac.mm @@ -269,7 +269,17 @@ DisplayMac BuildDisplayForScreen(NSScreen* screen) { diff --git a/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch b/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch index 73fcfcd3dd..a627f985fd 100644 --- a/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch +++ b/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch @@ -14,7 +14,7 @@ Disable usage of the following private APIs in MAS builds: * AudioDeviceDuck diff --git a/base/enterprise_util_mac.mm b/base/enterprise_util_mac.mm -index dd14c8cfa32ab0bb2e92f192c54a494c4f5b4fb7..2c6f0b336c97bc23995e9fe8cdc7f72a69f54e64 100644 +index 91a65a1e700cf1accb8e4541e0ceca4e0a734b16..a41df69515e421b629aa6dc82e296c3a3bb04f8e 100644 --- a/base/enterprise_util_mac.mm +++ b/base/enterprise_util_mac.mm @@ -189,6 +189,13 @@ MacDeviceManagementStateNew IsDeviceRegisteredWithManagementNew() { @@ -39,7 +39,7 @@ index dd14c8cfa32ab0bb2e92f192c54a494c4f5b4fb7..2c6f0b336c97bc23995e9fe8cdc7f72a } // namespace base diff --git a/base/mac/foundation_util.mm b/base/mac/foundation_util.mm -index 1cbc8d582610426c870ac14ee825345805a9639a..1889df911a449e0b2ed80b42d55d747b36f9cf8c 100644 +index e38a02b3f0eed139653eaa82b6a09167b8658d81..071e699b23b99abd96a8a1ef2acbdca5f979c2d4 100644 --- a/base/mac/foundation_util.mm +++ b/base/mac/foundation_util.mm @@ -28,12 +28,6 @@ @@ -76,7 +76,7 @@ index 1cbc8d582610426c870ac14ee825345805a9639a..1889df911a449e0b2ed80b42d55d747b if ([ns_val isKindOfClass:[NSFont class]]) { return (CTFontRef)(cf_val); diff --git a/base/process/launch_mac.cc b/base/process/launch_mac.cc -index bf33d321197226a74d4f26731108ad8b0b8c72a0..349dc2cdde63e32daf06f1ccc0d29e7ce8b2ac46 100644 +index f860be6fbb6caf166f4808772a490ebba9cd7f08..20cead8c65f109fd74669bf647486132055e9860 100644 --- a/base/process/launch_mac.cc +++ b/base/process/launch_mac.cc @@ -19,14 +19,19 @@ @@ -142,7 +142,7 @@ index bf33d321197226a74d4f26731108ad8b0b8c72a0..349dc2cdde63e32daf06f1ccc0d29e7c std::vector argv_cstr; argv_cstr.reserve(argv.size() + 1); diff --git a/media/audio/mac/audio_low_latency_input_mac.cc b/media/audio/mac/audio_low_latency_input_mac.cc -index de981fa288c19ca46a8172e99bc25df36ff29d50..45e5648826c60f6ba6332776e7579a62165b0e8d 100644 +index 751b723388f78a314e2af9c0ec0205f3bd4b6d77..248fe5fc47bb94bf18a96700a5aaca0c516c39b8 100644 --- a/media/audio/mac/audio_low_latency_input_mac.cc +++ b/media/audio/mac/audio_low_latency_input_mac.cc @@ -34,19 +34,23 @@ @@ -170,7 +170,7 @@ index de981fa288c19ca46a8172e99bc25df36ff29d50..45e5648826c60f6ba6332776e7579a62 } // namespace diff --git a/sandbox/mac/sandbox_logging.cc b/sandbox/mac/sandbox_logging.cc -index f071b192208fdfb1b9da932fcbbf64f0712d8f8b..7481ec29aaaa7b9f40af4a1180dd779e60131ea5 100644 +index f52f1d1da4d431505b1a55df4764f37a70e0b29d..ebc15064d0d0e97dfab7fc82b99254556b050eb2 100644 --- a/sandbox/mac/sandbox_logging.cc +++ b/sandbox/mac/sandbox_logging.cc @@ -32,9 +32,11 @@ @@ -198,7 +198,7 @@ index f071b192208fdfb1b9da932fcbbf64f0712d8f8b..7481ec29aaaa7b9f40af4a1180dd779e // |error| is strerror(errno) when a P* logging function is called. Pass diff --git a/sandbox/mac/system_services.cc b/sandbox/mac/system_services.cc -index 9f5261425162791668c2d15b7ffba091f831d652..c37f3dc05cb8372c7a6c4caef7a280b6f2f48e98 100644 +index 92b84121da46b692b89f70a46e36f5d1991383b8..8e5f05bb012b622e27f41b7c6327f70959dd9731 100644 --- a/sandbox/mac/system_services.cc +++ b/sandbox/mac/system_services.cc @@ -9,6 +9,7 @@ diff --git a/patches/chromium/mas_disable_custom_window_frame.patch b/patches/chromium/mas_disable_custom_window_frame.patch index 131c574231..50dd6b45e2 100644 --- a/patches/chromium/mas_disable_custom_window_frame.patch +++ b/patches/chromium/mas_disable_custom_window_frame.patch @@ -7,7 +7,7 @@ Disable private window frame APIs (NSNextStepFrame and NSThemeFrame) for MAS build. diff --git a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm -index 4d8f9f89f03653221fc0b509aa0e15ff20e73574..7bd5094db9b1a8e9af4ecc118fed7b78178e1e58 100644 +index 6e116d634c658ff26f6990fae5fcac975285e865..5beceecf8e0d712b69eefeba939c6fa524b7e363 100644 --- a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm +++ b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm @@ -9,6 +9,7 @@ @@ -42,7 +42,7 @@ index 4d8f9f89f03653221fc0b509aa0e15ff20e73574..7bd5094db9b1a8e9af4ecc118fed7b78 // Keyboard -> Shortcuts -> Keyboard. Usually Ctrl+F5. The argument (|unknown|) // tends to just be nil. diff --git a/components/remote_cocoa/app_shim/native_widget_mac_frameless_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_frameless_nswindow.mm -index 8416c7c6e052dafb2aad61c0bd3224c36e945d23..cd356beda023ab2409b16d58ca38c70ba3674913 100644 +index 3a815ebf505bd95fa7f6b61ba433d98fbfe20225..8584b6b09323a9e100841dcde9a963b48e84b518 100644 --- a/components/remote_cocoa/app_shim/native_widget_mac_frameless_nswindow.mm +++ b/components/remote_cocoa/app_shim/native_widget_mac_frameless_nswindow.mm @@ -4,6 +4,8 @@ @@ -75,7 +75,7 @@ index 8416c7c6e052dafb2aad61c0bd3224c36e945d23..cd356beda023ab2409b16d58ca38c70b + @end diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h -index cfbb9f03214084c5181e48e1b0d497ab0b5cf1b3..21fdd6e2e9fae08443ca74c49c1b6984ea0c3429 100644 +index e7bf48ba670dbe8fa2a8688cf89e74a7d15cc6a3..5596703bbae1977c9c2bcd421373c578ca9780cb 100644 --- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h +++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h @@ -17,6 +17,7 @@ class NativeWidgetNSWindowBridge; @@ -95,10 +95,10 @@ index cfbb9f03214084c5181e48e1b0d497ab0b5cf1b3..21fdd6e2e9fae08443ca74c49c1b6984 // The NSWindow used by BridgedNativeWidget. Provides hooks into AppKit that // can only be accomplished by overriding methods. diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm -index 96e401e95cfd29f6936c85996648913445142e27..6706b62eceed73585203a6a34199d849d215d3ea 100644 +index 0cf281aff32bd37b3539056ea202aa74ef432000..f65046706dc0e05f7d654ea96901fdeee268a445 100644 --- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm +++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm -@@ -96,7 +96,9 @@ void OrderChildWindow(NSWindow* child_window, +@@ -97,7 +97,9 @@ void OrderChildWindow(NSWindow* child_window, } // namespace @interface NSWindow (Private) @@ -108,7 +108,7 @@ index 96e401e95cfd29f6936c85996648913445142e27..6706b62eceed73585203a6a34199d849 - (BOOL)hasKeyAppearance; - (long long)_resizeDirectionForMouseLocation:(CGPoint)location; - (BOOL)_isConsideredOpenForPersistentState; -@@ -128,6 +130,8 @@ - (void)cr_mouseDownOnFrameView:(NSEvent*)event { +@@ -129,6 +131,8 @@ - (void)cr_mouseDownOnFrameView:(NSEvent*)event { } @end @@ -117,7 +117,7 @@ index 96e401e95cfd29f6936c85996648913445142e27..6706b62eceed73585203a6a34199d849 @implementation NativeWidgetMacNSWindowTitledFrame - (void)mouseDown:(NSEvent*)event { if (self.window.isMovable) -@@ -154,6 +158,8 @@ - (BOOL)usesCustomDrawing { +@@ -170,6 +174,8 @@ - (BOOL)usesCustomDrawing { } @end @@ -126,7 +126,7 @@ index 96e401e95cfd29f6936c85996648913445142e27..6706b62eceed73585203a6a34199d849 @implementation NativeWidgetMacNSWindow { @private base::scoped_nsobject _commandDispatcher; -@@ -307,6 +313,8 @@ - (NSAccessibilityRole)accessibilityRole { +@@ -328,6 +334,8 @@ - (NSAccessibilityRole)accessibilityRole { // NSWindow overrides. @@ -135,7 +135,7 @@ index 96e401e95cfd29f6936c85996648913445142e27..6706b62eceed73585203a6a34199d849 + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle { if (windowStyle & NSWindowStyleMaskTitled) { if (Class customFrame = [NativeWidgetMacNSWindowTitledFrame class]) -@@ -318,6 +326,8 @@ + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle { +@@ -339,6 +347,8 @@ + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle { return [super frameViewClassForStyleMask:windowStyle]; } diff --git a/patches/chromium/mas_disable_remote_accessibility.patch b/patches/chromium/mas_disable_remote_accessibility.patch index 72b6f25697..4ff3fe98df 100644 --- a/patches/chromium/mas_disable_remote_accessibility.patch +++ b/patches/chromium/mas_disable_remote_accessibility.patch @@ -11,7 +11,7 @@ needs to think it's coming from the PWA process). I think it can just be chopped out -- if there are any side-effects, we should be able to work around them. diff --git a/components/remote_cocoa/app_shim/application_bridge.mm b/components/remote_cocoa/app_shim/application_bridge.mm -index 306db835fe203f663b1d84dd3490b619eb3f60b2..7a41d7afe6197e0a78934206782b1063f77f707a 100644 +index 89b9323c08cfed0d3ea3a0ec1beaa0bdfabe343e..d000b7f43f393d297a3715ea4279537bcf3fa813 100644 --- a/components/remote_cocoa/app_shim/application_bridge.mm +++ b/components/remote_cocoa/app_shim/application_bridge.mm @@ -51,6 +51,7 @@ @@ -20,7 +20,7 @@ index 306db835fe203f663b1d84dd3490b619eb3f60b2..7a41d7afe6197e0a78934206782b1063 id GetNativeViewAccessible() override { +#ifndef MAS_BUILD if (!remote_accessibility_element_) { - int64_t browser_pid = 0; + base::ProcessId browser_pid = base::kNullProcessId; std::vector element_token; @@ -61,6 +62,9 @@ id GetNativeViewAccessible() override { ui::RemoteAccessibility::GetRemoteElementFromToken(element_token); @@ -44,7 +44,7 @@ index 306db835fe203f663b1d84dd3490b619eb3f60b2..7a41d7afe6197e0a78934206782b1063 } // 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 4719512943b8c3930bca35a226fc3e635021c109..55292d12f486cd9b954398fcf407c9b88ca5fd47 100644 +index fb835b2d02a2f0dd01afb73d11dc9651a583b9cf..d98ce7bbc69ffd9d246f6f81d096a84838c8a105 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 @@ -565,10 +565,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) { @@ -61,10 +61,28 @@ index 4719512943b8c3930bca35a226fc3e635021c109..55292d12f486cd9b954398fcf407c9b8 // Beware: This view was briefly removed (in favor of a bare CALayer) in // crrev/c/1236675. The ordering of unassociated layers relative to NSView diff --git a/content/app_shim_remote_cocoa/ns_view_bridge_factory_impl.mm b/content/app_shim_remote_cocoa/ns_view_bridge_factory_impl.mm -index be7b05ee4f779ccc44e6eea7ff7fb3e8bd504d6f..3b3336913cf91c3b7f22cefb4139f82b882c97c9 100644 +index abd19b8613e52a6f4c9404f509ab7ed5a61046a6..35945493a02996e88b0c53caf107c4352450aff7 100644 --- a/content/app_shim_remote_cocoa/ns_view_bridge_factory_impl.mm +++ b/content/app_shim_remote_cocoa/ns_view_bridge_factory_impl.mm -@@ -77,8 +77,10 @@ id GetFocusedBrowserAccessibilityElement() override { +@@ -77,6 +77,7 @@ explicit RenderWidgetHostNSViewBridgeOwner( + + // RenderWidgetHostNSViewHostHelper implementation. + id GetAccessibilityElement() override { ++#ifndef MAS_BUILD + if (!remote_accessibility_element_) { + base::ProcessId browser_pid = base::kNullProcessId; + std::vector element_token; +@@ -87,6 +88,9 @@ id GetAccessibilityElement() override { + ui::RemoteAccessibility::GetRemoteElementFromToken(element_token); + } + return remote_accessibility_element_.get(); ++#else ++ return nil; ++#endif + } + + id GetRootBrowserAccessibilityElement() override { +@@ -100,8 +104,10 @@ id GetFocusedBrowserAccessibilityElement() override { return nil; } void SetAccessibilityWindow(NSWindow* window) override { @@ -75,7 +93,7 @@ index be7b05ee4f779ccc44e6eea7ff7fb3e8bd504d6f..3b3336913cf91c3b7f22cefb4139f82b } void ForwardKeyboardEvent(const content::NativeWebKeyboardEvent& key_event, -@@ -140,8 +142,10 @@ void SmartMagnify(const blink::WebGestureEvent& web_event) override { +@@ -163,8 +169,10 @@ void SmartMagnify(const blink::WebGestureEvent& web_event) override { mojo::AssociatedRemote host_; std::unique_ptr bridge_; @@ -87,7 +105,7 @@ index be7b05ee4f779ccc44e6eea7ff7fb3e8bd504d6f..3b3336913cf91c3b7f22cefb4139f82b } diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm -index c107750255b441061d03f8a38df5b28173c05f31..7093e185839095c21f6ea7cf4e88692407fd8cf5 100644 +index fda9114d759cfb2db9ef7f981b82ae5f73c2f758..cd81c5481976e0a355230bae6a9ee2a362236b6f 100644 --- a/content/browser/accessibility/browser_accessibility_manager_mac.mm +++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm @@ -21,7 +21,9 @@ @@ -100,7 +118,7 @@ index c107750255b441061d03f8a38df5b28173c05f31..7093e185839095c21f6ea7cf4e886924 namespace { -@@ -614,6 +616,7 @@ void PostAnnouncementNotification(NSString* announcement) { +@@ -619,6 +621,7 @@ void PostAnnouncementNotification(NSString* announcement) { if ([NSApp isActive]) return window == [NSApp accessibilityFocusedWindow]; @@ -108,7 +126,7 @@ index c107750255b441061d03f8a38df5b28173c05f31..7093e185839095c21f6ea7cf4e886924 // TODO(accessibility): We need a solution to the problem described below. // If the window is NSAccessibilityRemoteUIElement, there are some challenges: // 1. NSApp is the browser which spawned the PWA, and what it considers the -@@ -641,6 +644,7 @@ void PostAnnouncementNotification(NSString* announcement) { +@@ -646,6 +649,7 @@ void PostAnnouncementNotification(NSString* announcement) { // from within the app shim content. if ([window isKindOfClass:[NSAccessibilityRemoteUIElement class]]) return true; @@ -117,7 +135,7 @@ index c107750255b441061d03f8a38df5b28173c05f31..7093e185839095c21f6ea7cf4e886924 return false; } diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h -index 0549e3b400cb42e1a3491a2de9739c275ae006df..ab59ea7211b425e36d3d0fa673d8c09b99140716 100644 +index c1f2725cf74fe8845843461518a849f2cbf2c024..897f46a7333eb80c8fe54535f6159dc1350d2d64 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.h +++ b/content/browser/renderer_host/render_widget_host_view_mac.h @@ -52,7 +52,9 @@ class ScopedPasswordInputEnabler; @@ -130,7 +148,7 @@ index 0549e3b400cb42e1a3491a2de9739c275ae006df..ab59ea7211b425e36d3d0fa673d8c09b @class RenderWidgetHostViewCocoa; namespace content { -@@ -668,10 +670,12 @@ class CONTENT_EXPORT RenderWidgetHostViewMac +@@ -671,10 +673,12 @@ class CONTENT_EXPORT RenderWidgetHostViewMac // EnsureSurfaceSynchronizedForWebTest(). uint32_t latest_capture_sequence_number_ = 0u; @@ -144,10 +162,10 @@ index 0549e3b400cb42e1a3491a2de9739c275ae006df..ab59ea7211b425e36d3d0fa673d8c09b // Used to force the NSApplication's focused accessibility element to be the // content::BrowserAccessibilityCocoa accessibility tree when the NSView for diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm -index 2d106cbcfd6fd63b95c0f322dda3dc926ebcc118..e0168e7cf64a783a96aa4e43fa3a80bfbbe1fbac 100644 +index f2cd4583734aab9a6760f357eb6fb9ce73d96753..a420b3cf9b1c325967318db322d61c4ebc4cf7c6 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm -@@ -259,8 +259,10 @@ +@@ -260,8 +260,10 @@ void RenderWidgetHostViewMac::MigrateNSViewBridge( remote_cocoa::mojom::Application* remote_cocoa_application, uint64_t parent_ns_view_id) { @@ -158,7 +176,7 @@ index 2d106cbcfd6fd63b95c0f322dda3dc926ebcc118..e0168e7cf64a783a96aa4e43fa3a80bf // Disconnect from the previous bridge (this will have the effect of // destroying the associated bridge), and close the receiver (to allow it -@@ -1566,8 +1568,10 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, +@@ -1574,8 +1576,10 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, gfx::NativeViewAccessible RenderWidgetHostViewMac::AccessibilityGetNativeViewAccessibleForWindow() { @@ -169,7 +187,7 @@ index 2d106cbcfd6fd63b95c0f322dda3dc926ebcc118..e0168e7cf64a783a96aa4e43fa3a80bf return [GetInProcessNSView() window]; } -@@ -1611,9 +1615,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, +@@ -1623,9 +1627,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, } void RenderWidgetHostViewMac::SetAccessibilityWindow(NSWindow* window) { @@ -181,7 +199,19 @@ index 2d106cbcfd6fd63b95c0f322dda3dc926ebcc118..e0168e7cf64a783a96aa4e43fa3a80bf } bool RenderWidgetHostViewMac::SyncIsWidgetForMainFrame( -@@ -2108,12 +2114,14 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, +@@ -2121,20 +2127,26 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback, + void RenderWidgetHostViewMac::GetRenderWidgetAccessibilityToken( + GetRenderWidgetAccessibilityTokenCallback callback) { + base::ProcessId pid = getpid(); ++#ifndef MAS_BUILD + id element_id = GetNativeViewAccessible(); + std::vector token = + ui::RemoteAccessibility::GetTokenForLocalElement(element_id); ++#else ++ std::vector token; ++#endif + std::move(callback).Run(pid, token); + } void RenderWidgetHostViewMac::SetRemoteAccessibilityWindowToken( const std::vector& window_token) { @@ -197,10 +227,10 @@ index 2d106cbcfd6fd63b95c0f322dda3dc926ebcc118..e0168e7cf64a783a96aa4e43fa3a80bf /////////////////////////////////////////////////////////////////////////////// diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn -index 2c4a0c7dde08353221b5e2747b00c72cf4818137..64375989d127bd4b2990c9ee8fc10c24de9de30e 100644 +index 3d74c126c9a019f5a4b58235ef9f43ea235a76bf..2d026f3e34679137e4a68b3c57fc2e71dda1f17b 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn -@@ -341,6 +341,13 @@ component("base") { +@@ -353,6 +353,13 @@ component("base") { sources += [ "resource/resource_bundle_lacros.cc" ] } @@ -215,7 +245,7 @@ index 2c4a0c7dde08353221b5e2747b00c72cf4818137..64375989d127bd4b2990c9ee8fc10c24 sources += [ "device_form_factor_ios.mm", diff --git a/ui/base/cocoa/remote_accessibility_api.h b/ui/base/cocoa/remote_accessibility_api.h -index e7adfee3210ec723c687adfcc4bee8827ef643e7..25a924a47eeb30d783ef83dbb4896c4bed139a27 100644 +index 4d47115d3f72da17b2ada8866770ac24717c29da..a74c655a6143a3ce9b10c6c23a508b1d306bb980 100644 --- a/ui/base/cocoa/remote_accessibility_api.h +++ b/ui/base/cocoa/remote_accessibility_api.h @@ -11,6 +11,8 @@ @@ -225,9 +255,9 @@ index e7adfee3210ec723c687adfcc4bee8827ef643e7..25a924a47eeb30d783ef83dbb4896c4b +#ifndef MAS_BUILD + @interface NSAccessibilityRemoteUIElement : NSObject + + (void)setRemoteUIApp:(BOOL)flag; + (void)registerRemoteUIProcessIdentifier:(int)pid; - + (NSData*)remoteTokenForLocalUIElement:(id)element; -@@ -32,4 +34,6 @@ class COMPONENT_EXPORT(UI_BASE) RemoteAccessibility { +@@ -33,4 +35,6 @@ class COMPONENT_EXPORT(UI_BASE) RemoteAccessibility { } // namespace ui @@ -235,7 +265,7 @@ index e7adfee3210ec723c687adfcc4bee8827ef643e7..25a924a47eeb30d783ef83dbb4896c4b + #endif // UI_BASE_COCOA_REMOTE_ACCESSIBILITY_API_H_ diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.h b/ui/views/cocoa/native_widget_mac_ns_window_host.h -index 5a09100094d0371a3e58db6c7626e06bdcdd17c3..1aa7bde93efdf198998ba4e6a97dcf2aadd9f4e9 100644 +index f6d8e8847203d705aea9f581bab84c361a6164c9..d8b17d16aaeba9e9aa95bd0e646a143b325ecc64 100644 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.h +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.h @@ -32,7 +32,9 @@ @@ -248,7 +278,7 @@ index 5a09100094d0371a3e58db6c7626e06bdcdd17c3..1aa7bde93efdf198998ba4e6a97dcf2a @class NSView; namespace remote_cocoa { -@@ -449,11 +451,13 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost +@@ -463,11 +465,13 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost mojo::AssociatedRemote remote_ns_window_remote_; @@ -263,10 +293,10 @@ index 5a09100094d0371a3e58db6c7626e06bdcdd17c3..1aa7bde93efdf198998ba4e6a97dcf2a // 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 1a4a33a111da65c7541c5b7bab430f58acb29e77..8f1b227bc7d1fcb5c30e6c0bdf4ee8677552ba57 100644 +index bde63eb428a0271a992dff06fcc0bf97731623cd..ce87fa64378d71ef4982cfceda92b736bedd9255 100644 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm -@@ -327,14 +327,22 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -335,14 +335,22 @@ void HandleAccelerator(const ui::Accelerator& accelerator, NativeWidgetMacNSWindowHost::GetNativeViewAccessibleForNSView() const { if (in_process_ns_window_bridge_) return in_process_ns_window_bridge_->ns_view(); @@ -289,7 +319,7 @@ index 1a4a33a111da65c7541c5b7bab430f58acb29e77..8f1b227bc7d1fcb5c30e6c0bdf4ee867 } remote_cocoa::mojom::NativeWidgetNSWindow* -@@ -1306,6 +1314,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -1329,6 +1337,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator, void NativeWidgetMacNSWindowHost::SetRemoteAccessibilityTokens( const std::vector& window_token, const std::vector& view_token) { @@ -297,15 +327,15 @@ index 1a4a33a111da65c7541c5b7bab430f58acb29e77..8f1b227bc7d1fcb5c30e6c0bdf4ee867 remote_window_accessible_ = ui::RemoteAccessibility::GetRemoteElementFromToken(window_token); remote_view_accessible_ = -@@ -1313,14 +1322,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator, - [remote_view_accessible_ setWindowUIElement:remote_window_accessible_.get()]; +@@ -1337,14 +1346,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator, [remote_view_accessible_ setTopLevelUIElement:remote_window_accessible_.get()]; + [NSAccessibilityRemoteUIElement setRemoteUIApp:YES]; +#endif } bool NativeWidgetMacNSWindowHost::GetRootViewAccessibilityToken( - int64_t* pid, + base::ProcessId* pid, std::vector* token) { +#ifndef MAS_BUILD *pid = getpid(); diff --git a/patches/chromium/mas_disable_remote_layer.patch b/patches/chromium/mas_disable_remote_layer.patch index b31cf0975d..302f2bb9ca 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 506ff3c2b9a14a725d13e3933bc281d05c0b6b13..9726e2d34d6d123ad3e62d843d21b755788fc062 100644 +index 1d20388c0acf533efe74dbaed9abae49ae7d6953..c08f4b8482e5cf1cb1afae71168059e9f238d276 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,7 +50,7 @@ index 506ff3c2b9a14a725d13e3933bc281d05c0b6b13..9726e2d34d6d123ad3e62d843d21b755 gfx::Size pixel_size_; diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.mm b/gpu/ipc/service/image_transport_surface_overlay_mac.mm -index 27b0c985b119095bd92ac021db10731a917dfa0c..83bd23a7ed0a5870f226442a6335b26de7676206 100644 +index ef6930b8b9aea2aed8890f056e8117beec5f75e2..88d498279b66facffb9078c52d4e3f74fbac44d7 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm @@ -60,6 +60,7 @@ @@ -106,7 +106,7 @@ index 27b0c985b119095bd92ac021db10731a917dfa0c..83bd23a7ed0a5870f226442a6335b26d IOSurfaceRef io_surface = ca_layer_tree_coordinator_->GetIOSurfaceForDisplay(); diff --git a/ui/accelerated_widget_mac/display_ca_layer_tree.mm b/ui/accelerated_widget_mac/display_ca_layer_tree.mm -index a55934320e475af475f7169a5b30954c7e98d775..78d626f2c5be20106ebd54b71a9b0663c55086da 100644 +index 2c4821b34f71d30ce814bd1f3cf9a7a76bbaac66..cd7e0eac449bc81d5c9f6f0bed40b0d339712427 100644 --- a/ui/accelerated_widget_mac/display_ca_layer_tree.mm +++ b/ui/accelerated_widget_mac/display_ca_layer_tree.mm @@ -99,6 +99,7 @@ - (void)setContentsChanged; @@ -128,7 +128,7 @@ index a55934320e475af475f7169a5b30954c7e98d775..78d626f2c5be20106ebd54b71a9b0663 void DisplayCALayerTree::GotIOSurfaceFrame( diff --git a/ui/base/cocoa/remote_layer_api.h b/ui/base/cocoa/remote_layer_api.h -index d684614589c9e55965450d712ee6dc0deef6aade..e0446753a3d972215423c079160fe8bfd2f9c3be 100644 +index 9b691e2f16c68235dd180a28b6eb2eefc91f8e4c..0ce8048c6a72fe1483d71b2fd5786c28d86ac2bf 100644 --- a/ui/base/cocoa/remote_layer_api.h +++ b/ui/base/cocoa/remote_layer_api.h @@ -13,6 +13,7 @@ @@ -149,10 +149,10 @@ index d684614589c9e55965450d712ee6dc0deef6aade..e0446753a3d972215423c079160fe8bf // This function will check if all of the interfaces listed above are supported diff --git a/ui/base/cocoa/remote_layer_api.mm b/ui/base/cocoa/remote_layer_api.mm -index e6baf74c966791ed5326fea23e7d23259a781313..7fab070b8b06dfc5c9940c3b800735d187a72cf9 100644 +index e23eb7719a9798afe984c6af6a422167b93d89b5..2fcc48067c2992a2fae950a678269014b7295817 100644 --- a/ui/base/cocoa/remote_layer_api.mm +++ b/ui/base/cocoa/remote_layer_api.mm -@@ -10,14 +10,17 @@ +@@ -10,6 +10,7 @@ namespace ui { @@ -160,8 +160,9 @@ index e6baf74c966791ed5326fea23e7d23259a781313..7fab070b8b06dfc5c9940c3b800735d1 namespace { // Control use of cross-process CALayers to display content directly from the // GPU process on Mac. - base::Feature kRemoteCoreAnimationAPI{"RemoteCoreAnimationAPI", - base::FEATURE_ENABLED_BY_DEFAULT}; +@@ -17,8 +18,10 @@ + "RemoteCoreAnimationAPI", + base::FEATURE_ENABLED_BY_DEFAULT); } // namespace +#endif @@ -170,7 +171,7 @@ index e6baf74c966791ed5326fea23e7d23259a781313..7fab070b8b06dfc5c9940c3b800735d1 if (!base::FeatureList::IsEnabled(kRemoteCoreAnimationAPI)) return false; -@@ -49,6 +52,9 @@ bool RemoteLayerAPISupported() { +@@ -50,6 +53,9 @@ bool RemoteLayerAPISupported() { // If everything is there, we should be able to use the API. return true; diff --git a/patches/chromium/mas_no_private_api.patch b/patches/chromium/mas_no_private_api.patch index 48326529c7..e6ec901909 100644 --- a/patches/chromium/mas_no_private_api.patch +++ b/patches/chromium/mas_no_private_api.patch @@ -7,10 +7,10 @@ Guard usages in blink of private Mac APIs by MAS_BUILD, so they can be excluded for people who want to submit their apps to the Mac App store. diff --git a/base/process/process_info_mac.cc b/base/process/process_info_mac.cc -index 368405f29313d51a6eee16517b634c6d0ea95281..2553a7fbf1e8b4dea796dec3b3e906d265d3ad76 100644 +index 6840358c3187522c63dff66b5a85567aaadc5c12..ef94524eab52719c84e176fde2afd88f85223888 100644 --- a/base/process/process_info_mac.cc +++ b/base/process/process_info_mac.cc -@@ -5,18 +5,22 @@ +@@ -9,18 +9,22 @@ #include #include @@ -34,7 +34,7 @@ index 368405f29313d51a6eee16517b634c6d0ea95281..2553a7fbf1e8b4dea796dec3b3e906d2 } diff --git a/content/common/pseudonymization_salt.cc b/content/common/pseudonymization_salt.cc -index 28e003bef910abff022def659fe18d4cd0549f8a..530bcbdb5d350f6486dc1e8536f7b279be69e241 100644 +index c7e4ef224e76b4df4fa08bb7fa8dd78605ea8de1..16cb4084ecc5818813022412a00a3b1acc67cc05 100644 --- a/content/common/pseudonymization_salt.cc +++ b/content/common/pseudonymization_salt.cc @@ -41,11 +41,13 @@ uint32_t GetPseudonymizationSalt() { @@ -52,7 +52,7 @@ index 28e003bef910abff022def659fe18d4cd0549f8a..530bcbdb5d350f6486dc1e8536f7b279 salt = InitializeSalt(); } diff --git a/content/renderer/renderer_main_platform_delegate_mac.mm b/content/renderer/renderer_main_platform_delegate_mac.mm -index 894ac47e596c1c96a7e0659be80ed8a5629d0304..eca797a24df79b8502b9698e6ed8830ad1c5cb59 100644 +index add9345fdd076698fc7ec654d7ef1701699639a4..13e615dbbe0fca71acea1f494944262933843f40 100644 --- a/content/renderer/renderer_main_platform_delegate_mac.mm +++ b/content/renderer/renderer_main_platform_delegate_mac.mm @@ -10,9 +10,11 @@ @@ -84,7 +84,7 @@ index 894ac47e596c1c96a7e0659be80ed8a5629d0304..eca797a24df79b8502b9698e6ed8830a } // namespace diff --git a/content/renderer/theme_helper_mac.mm b/content/renderer/theme_helper_mac.mm -index c15f3a631292b538698625328fb429ee3c9964f5..37e038753ecf1b82ec92c06b2c0729b5328781c9 100644 +index f50448237c40710e25644c2f7d44e8d0bc0789c8..fd351c916993a8950b595c103f3f5a4086d5480b 100644 --- a/content/renderer/theme_helper_mac.mm +++ b/content/renderer/theme_helper_mac.mm @@ -7,11 +7,11 @@ @@ -122,10 +122,10 @@ index c15f3a631292b538698625328fb429ee3c9964f5..37e038753ecf1b82ec92c06b2c0729b5 } diff --git a/device/bluetooth/bluetooth_adapter_mac.mm b/device/bluetooth/bluetooth_adapter_mac.mm -index 69e60d498941c34cfac9e79c7517765bf93849f5..b998ad7cf01c21e93c57e1283cfdcb1e02ac49cf 100644 +index 644990412b4d67789faffc65c4f1114fa96c8f42..085ceafcda3f66b27cec2aedde86ac7ca23fcf8f 100644 --- a/device/bluetooth/bluetooth_adapter_mac.mm +++ b/device/bluetooth/bluetooth_adapter_mac.mm -@@ -42,6 +42,7 @@ +@@ -43,6 +43,7 @@ #include "device/bluetooth/bluetooth_socket_mac.h" #include "device/bluetooth/public/cpp/bluetooth_address.h" @@ -133,7 +133,7 @@ index 69e60d498941c34cfac9e79c7517765bf93849f5..b998ad7cf01c21e93c57e1283cfdcb1e extern "C" { // Undocumented IOBluetooth Preference API [1]. Used by `blueutil` [2] and // `Karabiner` [3] to programmatically control the Bluetooth state. Calling the -@@ -55,6 +56,7 @@ +@@ -56,6 +57,7 @@ // [4] https://support.apple.com/kb/PH25091 void IOBluetoothPreferenceSetControllerPowerState(int state); } @@ -141,7 +141,7 @@ index 69e60d498941c34cfac9e79c7517765bf93849f5..b998ad7cf01c21e93c57e1283cfdcb1e namespace { -@@ -114,8 +116,10 @@ bool IsDeviceSystemPaired(const std::string& device_address) { +@@ -115,8 +117,10 @@ bool IsDeviceSystemPaired(const std::string& device_address) { : controller_state_function_( base::BindRepeating(&BluetoothAdapterMac::GetHostControllerState, base::Unretained(this))), @@ -152,7 +152,7 @@ index 69e60d498941c34cfac9e79c7517765bf93849f5..b998ad7cf01c21e93c57e1283cfdcb1e classic_discovery_manager_( BluetoothDiscoveryManagerMac::CreateClassic(this)), low_energy_discovery_manager_( -@@ -356,8 +360,12 @@ bool IsDeviceSystemPaired(const std::string& device_address) { +@@ -357,8 +361,12 @@ bool IsDeviceSystemPaired(const std::string& device_address) { } bool BluetoothAdapterMac::SetPoweredImpl(bool powered) { @@ -166,10 +166,10 @@ index 69e60d498941c34cfac9e79c7517765bf93849f5..b998ad7cf01c21e93c57e1283cfdcb1e void BluetoothAdapterMac::RemovePairingDelegateInternal( diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn -index d872796dee0dee4aa14c238f788b962b3f1c9311..4d5f74c18d773755d5d8f7223bc0d5c944467d69 100644 +index 04a5bbef30bdd1827f455b8288faf9fbd86f103e..1e6b91961c3e32aa223383b444d075ada9688b0b 100644 --- a/media/audio/BUILD.gn +++ b/media/audio/BUILD.gn -@@ -176,6 +176,12 @@ source_set("audio") { +@@ -180,6 +180,12 @@ source_set("audio") { "mac/scoped_audio_unit.cc", "mac/scoped_audio_unit.h", ] @@ -183,7 +183,7 @@ index d872796dee0dee4aa14c238f788b962b3f1c9311..4d5f74c18d773755d5d8f7223bc0d5c9 "AudioToolbox.framework", "AudioUnit.framework", diff --git a/media/audio/mac/audio_manager_mac.cc b/media/audio/mac/audio_manager_mac.cc -index cbd8d46f180ae85f26ecdee634bcd604e5078800..aa2d83e84188facd1185791555b949e99788f9f4 100644 +index 7da5704e2ee919b711b105641f6535b9fe08e396..a2c9e6232d7dc2490833b46b3f257ea1c636f0f1 100644 --- a/media/audio/mac/audio_manager_mac.cc +++ b/media/audio/mac/audio_manager_mac.cc @@ -885,7 +885,7 @@ AudioParameters AudioManagerMac::GetPreferredOutputStreamParameters( @@ -196,7 +196,7 @@ index cbd8d46f180ae85f26ecdee634bcd604e5078800..aa2d83e84188facd1185791555b949e9 } diff --git a/net/dns/dns_config_service_posix.cc b/net/dns/dns_config_service_posix.cc -index 025078e112683380b484b7c47f786862f4e48a74..11c81ec36a9793afab0da8578f85378f9ce3a446 100644 +index a8a223d1d9ea6de51a27f148c008ee8be38af29a..7413277bd91e7a08042fc957f89112fcb53d440c 100644 --- a/net/dns/dns_config_service_posix.cc +++ b/net/dns/dns_config_service_posix.cc @@ -130,8 +130,8 @@ class DnsConfigServicePosix::Watcher : public DnsConfigService::Watcher { @@ -218,7 +218,7 @@ index 025078e112683380b484b7c47f786862f4e48a74..11c81ec36a9793afab0da8578f85378f } diff --git a/sandbox/mac/sandbox_compiler.cc b/sandbox/mac/sandbox_compiler.cc -index e524aa7b851022abed1edac39e18d8d92e5349b4..718d3f963da5c1a15a1bdb0e6043f89bc0f940f8 100644 +index 5db411212b62b583ae26e9ecd0a87ad5fc5504e8..d5feedb02900a2a323b8a3961b1de21734ad1b65 100644 --- a/sandbox/mac/sandbox_compiler.cc +++ b/sandbox/mac/sandbox_compiler.cc @@ -28,6 +28,7 @@ bool SandboxCompiler::InsertStringParam(const std::string& key, @@ -238,7 +238,7 @@ index e524aa7b851022abed1edac39e18d8d92e5349b4..718d3f963da5c1a15a1bdb0e6043f89b } diff --git a/sandbox/mac/seatbelt.cc b/sandbox/mac/seatbelt.cc -index e0c31170acd13c9997c6b1d04c6de1420feaf422..0e561f97b33380bfbe52e64c2c4a6988095e8074 100644 +index 1e75790d60789746073828cc22d3863b35ab6f95..68e68bb1bd0b5c897bf385911ab36f5562563974 100644 --- a/sandbox/mac/seatbelt.cc +++ b/sandbox/mac/seatbelt.cc @@ -64,7 +64,11 @@ void Seatbelt::FreeError(char* errorbuf) { @@ -254,7 +254,7 @@ index e0c31170acd13c9997c6b1d04c6de1420feaf422..0e561f97b33380bfbe52e64c2c4a6988 } // namespace sandbox diff --git a/sandbox/mac/seatbelt_extension.cc b/sandbox/mac/seatbelt_extension.cc -index d59a16112d27e2696437163483c44eca414c225c..1ccd20fe7efa3cbae48f99d0660b025283dd370e 100644 +index 18479382a277cb2b25626ec8d31442bfd1377ee6..b048bb27eee1001c2bc34092220150d312ca61c6 100644 --- a/sandbox/mac/seatbelt_extension.cc +++ b/sandbox/mac/seatbelt_extension.cc @@ -11,6 +11,7 @@ @@ -313,10 +313,10 @@ index d59a16112d27e2696437163483c44eca414c225c..1ccd20fe7efa3cbae48f99d0660b0252 NOTREACHED(); return nullptr; diff --git a/ui/accessibility/platform/inspect/ax_transform_mac.mm b/ui/accessibility/platform/inspect/ax_transform_mac.mm -index 397f01d7249f491840e5953b65c2d54eb92dc638..a7279e44346cb5b0b26599bd62693ad40a59e84f 100644 +index fe043e6dc2203a9054ae367b70a3854b8560c9c7..8d8ba5065d3c50263650eb2452a0f81449d40a25 100644 --- a/ui/accessibility/platform/inspect/ax_transform_mac.mm +++ b/ui/accessibility/platform/inspect/ax_transform_mac.mm -@@ -87,6 +87,7 @@ +@@ -88,6 +88,7 @@ } } @@ -324,7 +324,7 @@ index 397f01d7249f491840e5953b65c2d54eb92dc638..a7279e44346cb5b0b26599bd62693ad4 // AXTextMarker if (IsAXTextMarker(value)) { return AXTextMarkerToBaseValue(value, indexer); -@@ -95,6 +96,7 @@ +@@ -96,6 +97,7 @@ // AXTextMarkerRange if (IsAXTextMarkerRange(value)) return AXTextMarkerRangeToBaseValue(value, indexer); diff --git a/patches/chromium/mas_use_public_apis_to_determine_if_a_font_is_a_system_font.patch b/patches/chromium/mas_use_public_apis_to_determine_if_a_font_is_a_system_font.patch index 6ba1e0d11f..d5f3a59a10 100644 --- a/patches/chromium/mas_use_public_apis_to_determine_if_a_font_is_a_system_font.patch +++ b/patches/chromium/mas_use_public_apis_to_determine_if_a_font_is_a_system_font.patch @@ -9,7 +9,7 @@ system font by checking if it's kCTFontPriorityAttribute is set to system priority. diff --git a/ui/gfx/platform_font_mac.mm b/ui/gfx/platform_font_mac.mm -index 88262d4dd82b3a954ed09492c508ad83dece0256..81fad8ca63479737885f09be7cf05b8eada1f104 100644 +index ebd0b0c66f690e1f21b917b53cb6a7ee58a31806..f5d97304223d6be5482a951ecbf31b3d0efb7348 100644 --- a/ui/gfx/platform_font_mac.mm +++ b/ui/gfx/platform_font_mac.mm @@ -25,9 +25,11 @@ 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 2e5eab3555..d824ea8960 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 5c1bfe41c6eb67960b5a326681d37ad64a9bd337..8c29d366ec2c3cc61ec121163e3549472964653c 100644 +index f9acfee6133ec05e49db779ef9ebfda5803cb8df..41754f183010f804b0bd0db6cb82958812f8513d 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -130,6 +130,11 @@ +@@ -133,6 +133,11 @@ #include "third_party/abseil-cpp/absl/types/optional.h" #include "url/gurl.h" @@ -22,7 +22,7 @@ index 5c1bfe41c6eb67960b5a326681d37ad64a9bd337..8c29d366ec2c3cc61ec121163e354947 #if BUILDFLAG(IS_CT_SUPPORTED) #include "components/certificate_transparency/chrome_ct_policy_enforcer.h" #include "components/certificate_transparency/chrome_require_ct_delegate.h" -@@ -438,6 +443,91 @@ bool GetFullDataFilePath( +@@ -441,6 +446,91 @@ bool GetFullDataFilePath( } // namespace @@ -114,7 +114,7 @@ index 5c1bfe41c6eb67960b5a326681d37ad64a9bd337..8c29d366ec2c3cc61ec121163e354947 constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; NetworkContext::PendingCertVerify::PendingCertVerify() = default; -@@ -743,6 +833,13 @@ void NetworkContext::SetClient( +@@ -746,6 +836,13 @@ void NetworkContext::SetClient( client_.Bind(std::move(client)); } @@ -128,7 +128,7 @@ index 5c1bfe41c6eb67960b5a326681d37ad64a9bd337..8c29d366ec2c3cc61ec121163e354947 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -2323,6 +2420,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2326,6 +2423,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( std::move(cert_verifier)); cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_.get()); #endif // BUILDFLAG(IS_CHROMEOS) @@ -139,7 +139,7 @@ index 5c1bfe41c6eb67960b5a326681d37ad64a9bd337..8c29d366ec2c3cc61ec121163e354947 builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( diff --git a/services/network/network_context.h b/services/network/network_context.h -index 9b6e6c7dfdbbbde3157f8b743ba406b5156d8bd1..572f555b32eb4e38bdcd23b4725c3b4df38316ad 100644 +index 6161e89321162f0a9d0e7f939bd79243200ea5f2..366870e27981debdf7dc5ed0fa191c3b4f8268a7 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h @@ -104,6 +104,7 @@ class URLMatcher; @@ -159,7 +159,7 @@ index 9b6e6c7dfdbbbde3157f8b743ba406b5156d8bd1..572f555b32eb4e38bdcd23b4725c3b4d void ResetURLLoaderFactories() override; void GetCookieManager( mojo::PendingReceiver receiver) override; -@@ -827,6 +830,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -832,6 +835,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext std::vector dismount_closures_; #endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED) @@ -169,10 +169,10 @@ index 9b6e6c7dfdbbbde3157f8b743ba406b5156d8bd1..572f555b32eb4e38bdcd23b4725c3b4d // CertNetFetcher is not used by the current platform, or if the actual // net::CertVerifier is instantiated outside of the network service. diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index 81fbb900988b64a7a1fa6c6dc7687d94c3281974..e1685a8406794f855fe7f87ec0ecf1f11fb57e21 100644 +index 2fa526f526e36255ae043047177c7e099bb50359..cb0c5625d50301ea33f7baf3919cde276df6106f 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -283,6 +283,17 @@ struct NetworkContextFilePaths { +@@ -284,6 +284,17 @@ struct NetworkContextFilePaths { bool trigger_migration = false; }; @@ -190,7 +190,7 @@ index 81fbb900988b64a7a1fa6c6dc7687d94c3281974..e1685a8406794f855fe7f87ec0ecf1f1 // Parameters for constructing a network context. struct NetworkContextParams { // The user agent string. -@@ -851,6 +862,9 @@ interface NetworkContext { +@@ -852,6 +863,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 e258eedf1b..3a8df7f155 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -7,7 +7,7 @@ Pass RenderFrameHost through to PlatformNotificationService so Electron can identify which renderer a notification came from. diff --git a/chrome/browser/notifications/platform_notification_service_impl.cc b/chrome/browser/notifications/platform_notification_service_impl.cc -index 17b9ed63bd839632a5eed5bcbaa3e990472761ef..09c266f1a99e42d6c417c294d7db1d6621ec0365 100644 +index cd973955e8b424858532b383ee5af368db3333ed..d1c7084983da7060cce5596b623b6cf727794de9 100644 --- a/chrome/browser/notifications/platform_notification_service_impl.cc +++ b/chrome/browser/notifications/platform_notification_service_impl.cc @@ -197,6 +197,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically( @@ -19,7 +19,7 @@ index 17b9ed63bd839632a5eed5bcbaa3e990472761ef..09c266f1a99e42d6c417c294d7db1d66 const GURL& origin, const GURL& document_url, diff --git a/chrome/browser/notifications/platform_notification_service_impl.h b/chrome/browser/notifications/platform_notification_service_impl.h -index b0e64049d411305d58802fd290bb0480e9b36fee..4afcf3b7a5b841409b0e1c4c2f32fd4878f12768 100644 +index dfbfbf4e5d92eb8c7c2ba38f31264ac41713a485..78cc81931321656c308e5611e30e0813b8e6b88a 100644 --- a/chrome/browser/notifications/platform_notification_service_impl.h +++ b/chrome/browser/notifications/platform_notification_service_impl.h @@ -56,6 +56,7 @@ class PlatformNotificationServiceImpl @@ -31,7 +31,7 @@ index b0e64049d411305d58802fd290bb0480e9b36fee..4afcf3b7a5b841409b0e1c4c2f32fd48 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 c969a5d35eac7b071b46d6a8106072e571f177a5..033618eda6e1e5b90a6e9b655e38f27bf051380a 100644 +index a84465f5c59921a1febaf2015be71fb593eb92a5..0b8e0aea8ac663c22c327005cb95d3f19dd1200c 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( @@ -58,7 +58,7 @@ index c969a5d35eac7b071b46d6a8106072e571f177a5..033618eda6e1e5b90a6e9b655e38f27b } diff --git a/content/browser/notifications/blink_notification_service_impl.h b/content/browser/notifications/blink_notification_service_impl.h -index 20db1f61b391f7b154071f24e91fd0925e3e0df2..4816ac66d1eebe0823844b07b146707db7727c21 100644 +index f8356977fa69e613788f9e555974c65b3bf36858..bd52fe7f21a4f04577a89c938e17251f6a308ca6 100644 --- a/content/browser/notifications/blink_notification_service_impl.h +++ b/content/browser/notifications/blink_notification_service_impl.h @@ -43,6 +43,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl @@ -78,7 +78,7 @@ index 20db1f61b391f7b154071f24e91fd0925e3e0df2..4816ac66d1eebe0823844b07b146707d scoped_refptr service_worker_context_; diff --git a/content/browser/notifications/blink_notification_service_impl_unittest.cc b/content/browser/notifications/blink_notification_service_impl_unittest.cc -index 51c7c7a7d79a47704f0c69c8ecadab2213586b52..25cc8e35b1fa426c60acecbaf677b1de72a3fed8 100644 +index 8dfbef673412c714f542a3e8cdedc1919dfcf01a..dcae85aefbcb123bada87ec3cdc3b9a29c7759f5 100644 --- a/content/browser/notifications/blink_notification_service_impl_unittest.cc +++ b/content/browser/notifications/blink_notification_service_impl_unittest.cc @@ -129,7 +129,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test { @@ -91,7 +91,7 @@ index 51c7c7a7d79a47704f0c69c8ecadab2213586b52..25cc8e35b1fa426c60acecbaf677b1de /*weak_document_ptr=*/WeakDocumentPtr(), notification_service_remote_.BindNewPipeAndPassReceiver()); diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc -index fdd74853b9b277d9b47fb99311349b66f70dfa11..06d1f5a8cc7f0ff12e4a7d66b435a19369af126b 100644 +index 65ee7d921294a8b135f06666e8ef66faf281afc4..b8a789107ab8793f248ff592667a4ecd353bb1fe 100644 --- a/content/browser/notifications/platform_notification_context_impl.cc +++ b/content/browser/notifications/platform_notification_context_impl.cc @@ -283,6 +283,7 @@ void PlatformNotificationContextImpl::Shutdown() { @@ -113,7 +113,7 @@ index fdd74853b9b277d9b47fb99311349b66f70dfa11..06d1f5a8cc7f0ff12e4a7d66b435a193 void PlatformNotificationContextImpl::RemoveService( diff --git a/content/browser/notifications/platform_notification_context_impl.h b/content/browser/notifications/platform_notification_context_impl.h -index 424fae79eb1c93f1fac293ae8fdeb6d067f523cc..6a2f074ad981deb15b46bd91b6d7eb5de8612403 100644 +index 05fb3299e4eea19aeef8eb618ec81cb721a36cae..46d1cd2f96d68d36f6dd080fd69ffced9fa89ca0 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,10 +133,10 @@ index 424fae79eb1c93f1fac293ae8fdeb6d067f523cc..6a2f074ad981deb15b46bd91b6d7eb5d const GURL& document_url, const WeakDocumentPtr& weak_document_ptr, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 47eaf5d48f7acc2ee05a07f79a2fa457c50d88d8..0947bc416a00ac23c1d26fdc85baf28e634f419e 100644 +index d075a2f1ed29a693009c3f993ab24c1fbc8cd1c7..d3c552ed96023475de1215c505978278f04766ec 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2075,8 +2075,9 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2067,8 +2067,9 @@ void RenderProcessHostImpl::CreateNotificationService( // For workers: if (render_frame_id == MSG_ROUTING_NONE) { storage_partition_impl_->GetPlatformNotificationContext()->CreateService( @@ -148,7 +148,7 @@ index 47eaf5d48f7acc2ee05a07f79a2fa457c50d88d8..0947bc416a00ac23c1d26fdc85baf28e return; } -@@ -2084,7 +2085,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2076,7 +2077,7 @@ void RenderProcessHostImpl::CreateNotificationService( RenderFrameHost* rfh = RenderFrameHost::FromID(GetID(), render_frame_id); CHECK(rfh); storage_partition_impl_->GetPlatformNotificationContext()->CreateService( @@ -158,7 +158,7 @@ index 47eaf5d48f7acc2ee05a07f79a2fa457c50d88d8..0947bc416a00ac23c1d26fdc85baf28e } diff --git a/content/public/browser/platform_notification_service.h b/content/public/browser/platform_notification_service.h -index 9646cbeb31141e3518f51482801431f3a6010360..b13b6ab07b4931b892749c84879d9a6adb3bcb58 100644 +index 2cb0d1fc03df42c4681d2594d9c600b414a423b4..7959141a4707d55b88ed2c986f4b41874c123c9f 100644 --- a/content/public/browser/platform_notification_service.h +++ b/content/public/browser/platform_notification_service.h @@ -26,6 +26,8 @@ struct PlatformNotificationData; @@ -179,7 +179,7 @@ index 9646cbeb31141e3518f51482801431f3a6010360..b13b6ab07b4931b892749c84879d9a6a const GURL& origin, const GURL& document_url, diff --git a/content/test/mock_platform_notification_service.cc b/content/test/mock_platform_notification_service.cc -index 7397963a36bec7016ae92fbc4bb741825e5fb8d1..d1818311fd657d3c099cdce41898daf4ab3ede8b 100644 +index b78a368e201d7f1624fcf8371c5c7c2be5e536e0..c10dd93fecd308f832132183da5c136658177f9f 100644 --- a/content/test/mock_platform_notification_service.cc +++ b/content/test/mock_platform_notification_service.cc @@ -29,6 +29,7 @@ MockPlatformNotificationService::MockPlatformNotificationService( @@ -191,7 +191,7 @@ index 7397963a36bec7016ae92fbc4bb741825e5fb8d1..d1818311fd657d3c099cdce41898daf4 const GURL& origin, const GURL& document_url, diff --git a/content/test/mock_platform_notification_service.h b/content/test/mock_platform_notification_service.h -index 45ad11f0fc5f0abebbc05836221528e59da6c26b..7f914f69d597dbd149d554dc0282c27ed234c7ed 100644 +index 91f77590918d92c2d35bd5a94e42817015905d4d..ff61450499ba2e1c8caafbc0548bb239e632b887 100644 --- a/content/test/mock_platform_notification_service.h +++ b/content/test/mock_platform_notification_service.h @@ -52,6 +52,7 @@ class MockPlatformNotificationService : public PlatformNotificationService { diff --git a/patches/chromium/pepper_plugin_support.patch b/patches/chromium/pepper_plugin_support.patch index d0b669a704..a67e31c087 100644 --- a/patches/chromium/pepper_plugin_support.patch +++ b/patches/chromium/pepper_plugin_support.patch @@ -7,7 +7,7 @@ This tweaks Chrome's pepper flash and PDF plugin support to make it usable from Electron. diff --git a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc -index ca55966a41bfa455febb67b315cb308807036795..c9ca9aa56a9e4c66c4e7fd6c085e58299555a043 100644 +index f25790df4c705bbe1bf2da86ef1261633034fd3f..8ae719107d88ebe53f98f167630c70a2d7e270a9 100644 --- a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc +++ b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc @@ -6,17 +6,21 @@ @@ -110,7 +110,7 @@ index ca55966a41bfa455febb67b315cb308807036795..c9ca9aa56a9e4c66c4e7fd6c085e5829 } +#endif diff --git a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h -index 40fafdbed313800a3f420d9d5a3daf8bbbdb7d95..1367725e04455ba5f299b8341a28f222f51c4cd2 100644 +index 946bbba987594769d371dbdb2ab22582a5d86d9f..01657a210c53c432acee1ba26916b1a6e610a260 100644 --- a/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h +++ b/chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h @@ -19,7 +19,9 @@ @@ -156,7 +156,7 @@ index 40fafdbed313800a3f420d9d5a3daf8bbbdb7d95..1367725e04455ba5f299b8341a28f222 #endif // CHROME_BROWSER_RENDERER_HOST_PEPPER_PEPPER_ISOLATED_FILE_SYSTEM_MESSAGE_FILTER_H_ diff --git a/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc b/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc -index e3ee403ec5d4d75f22f1853ec8637a0559ce3c43..76232286e02a20bcd578c5ba28af638dfc8f562c 100644 +index 8687c49c7b8b96b1d51eae1a482154c21bb7e20c..983ef9a013184344514b69e8ef2a48a75e67ed01 100644 --- a/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc +++ b/chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc @@ -5,7 +5,9 @@ @@ -186,7 +186,7 @@ index e3ee403ec5d4d75f22f1853ec8637a0559ce3c43..76232286e02a20bcd578c5ba28af638d return nullptr; } diff --git a/chrome/renderer/pepper/pepper_helper.h b/chrome/renderer/pepper/pepper_helper.h -index 5794ac83e62c7f966920a2692246e7677b297695..01d5a609ad34bb2829bd5714e70930b90c549661 100644 +index 3270fecaeae81ff98995268613cbe4f834195b53..9b8156a8e188f97647288c96d664a2d733e02afd 100644 --- a/chrome/renderer/pepper/pepper_helper.h +++ b/chrome/renderer/pepper/pepper_helper.h @@ -5,11 +5,13 @@ diff --git a/patches/chromium/picture-in-picture.patch b/patches/chromium/picture-in-picture.patch index 0cfb55ba00..c767185ecb 100644 --- a/patches/chromium/picture-in-picture.patch +++ b/patches/chromium/picture-in-picture.patch @@ -9,7 +9,7 @@ don't get errors for Chrome's generated resources, which are non-existent because we don't generate them in our build. diff --git a/chrome/browser/ui/views/overlay/document_overlay_window_views.cc b/chrome/browser/ui/views/overlay/document_overlay_window_views.cc -index be17e30aa831282c4be52e788d67993d47eba5df..d5c3988af5be1d9e89330eb5c5195f9b94d13ffc 100644 +index 5fc5b852932b27237a14ca398ee7e43f16947e82..025d9d75adf67f44e846236e571bb3d815c90993 100644 --- a/chrome/browser/ui/views/overlay/document_overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/document_overlay_window_views.cc @@ -15,15 +15,19 @@ @@ -101,7 +101,7 @@ index be17e30aa831282c4be52e788d67993d47eba5df..d5c3988af5be1d9e89330eb5c5195f9b web_view->SetWebContents(pip_contents); diff --git a/chrome/browser/ui/views/overlay/document_overlay_window_views.h b/chrome/browser/ui/views/overlay/document_overlay_window_views.h -index b2b178ccadce82f8d4ec8e5a6dafe1c67bcecd74..603d82a461c4c443ac26c85a46fbd866a42237e6 100644 +index 4a49b767193881e115efb23f969c4b2ad5d9665a..551f580a40377368a490efb4ef7bace223c4ff7e 100644 --- a/chrome/browser/ui/views/overlay/document_overlay_window_views.h +++ b/chrome/browser/ui/views/overlay/document_overlay_window_views.h @@ -56,7 +56,6 @@ class DocumentOverlayWindowViews : public OverlayWindowViews, @@ -113,7 +113,7 @@ index b2b178ccadce82f8d4ec8e5a6dafe1c67bcecd74..603d82a461c4c443ac26c85a46fbd866 // OverlayWindowViews bool ControlsHitTestContainsPoint(const gfx::Point& point) override; diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc -index 691df6efd7703cfd41c6468697f291f021758c2c..ad31fc53bdac6667ca9f1a15cc3390e3713136fd 100644 +index 15e2692d469f65ca6dda1085bcafcea53e876304..168700f7732bf5b348aec589597416271c88eb11 100644 --- a/chrome/browser/ui/views/overlay/overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc @@ -14,9 +14,11 @@ @@ -128,7 +128,7 @@ index 691df6efd7703cfd41c6468697f291f021758c2c..ad31fc53bdac6667ca9f1a15cc3390e3 #include "chrome/grit/generated_resources.h" #include "chromeos/ui/base/chromeos_ui_constants.h" #include "components/vector_icons/vector_icons.h" -@@ -35,7 +37,7 @@ +@@ -36,7 +38,7 @@ #include "ui/aura/window.h" #endif @@ -138,7 +138,7 @@ index 691df6efd7703cfd41c6468697f291f021758c2c..ad31fc53bdac6667ca9f1a15cc3390e3 #include "ui/aura/window.h" #include "ui/aura/window_tree_host.h" diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc -index 9ce062e48c356f2ac23feb97c31aabcac8610942..08c27dc6f54c9216098d29b6a5331483722517d2 100644 +index 09819a589cf7f7a619a38a66188206dc56b9f5d6..b2c887710dafb9615739b625ad29229387fdb758 100644 --- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc @@ -15,9 +15,11 @@ 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 2fee4b976b..ea1efd28d0 100644 --- a/patches/chromium/port_autofill_colors_to_the_color_pipeline.patch +++ b/patches/chromium/port_autofill_colors_to_the_color_pipeline.patch @@ -8,10 +8,10 @@ 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 7887adf130100eecfc64634f11f68dfab675c601..4c1d0a2b9149f1db81d9abb624f45f00370bdfc4 100644 +index ccbfada8363e40a81e6634757ff6d99a28986654..836706a6d17951283b01259afbe0b3acc2228049 100644 --- a/ui/color/color_id.h +++ b/ui/color/color_id.h -@@ -209,6 +209,16 @@ +@@ -237,6 +237,16 @@ E_CPONLY(kColorOverlayScrollbarStrokeHoveredLight) \ E_CPONLY(kColorProgressBar) \ E_CPONLY(kColorProgressBarPaused) \ @@ -28,7 +28,7 @@ index 7887adf130100eecfc64634f11f68dfab675c601..4c1d0a2b9149f1db81d9abb624f45f00 E_CPONLY(kColorSeparator) \ E_CPONLY(kColorShadowBase) \ E_CPONLY(kColorShadowValueAmbientShadowElevationSixteen) \ -@@ -263,6 +273,7 @@ +@@ -291,6 +301,7 @@ E_CPONLY(kColorTreeNodeForeground) \ E_CPONLY(kColorTreeNodeForegroundSelectedFocused) \ E_CPONLY(kColorTreeNodeForegroundSelectedUnfocused) \ @@ -37,7 +37,7 @@ index 7887adf130100eecfc64634f11f68dfab675c601..4c1d0a2b9149f1db81d9abb624f45f00 #if BUILDFLAG(IS_CHROMEOS) diff --git a/ui/color/ui_color_mixer.cc b/ui/color/ui_color_mixer.cc -index ca33acaffdb3c3dbd8f5f1b7012b1013a983645e..ae5ca280a3965c5922f272fdbc45247fcc8a9750 100644 +index 9f16d549f88563aa00e0e10ee51237342711cff2..c7e72cf38713988db751e5e760ba688979109d2c 100644 --- a/ui/color/ui_color_mixer.cc +++ b/ui/color/ui_color_mixer.cc @@ -151,6 +151,17 @@ void AddUiColorMixer(ColorProvider* provider, @@ -67,7 +67,7 @@ index ca33acaffdb3c3dbd8f5f1b7012b1013a983645e..ae5ca280a3965c5922f272fdbc45247f } diff --git a/ui/color/win/native_color_mixers_win.cc b/ui/color/win/native_color_mixers_win.cc -index 0620a389750649218865de06ed5d66f9ffe71871..575dcd925807263a9a5657d5156a3772421a0ed5 100644 +index 9c9e55855dd1231fef05c773502f5d40e4de6f6e..3a052a286bfe34f699a50cb8bb11b2131a7943e1 100644 --- a/ui/color/win/native_color_mixers_win.cc +++ b/ui/color/win/native_color_mixers_win.cc @@ -136,6 +136,10 @@ void AddNativeUiColorMixer(ColorProvider* provider, diff --git a/patches/chromium/printing.patch b/patches/chromium/printing.patch index 98943b53c3..f94d035902 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 5396a2163add191edcd9d54da7974a5e75ee792e..77a6c439fdbf2444e4532579a0e97f5d8cce214a 100644 +index 629be8570b8ceb18a9c334a54f6248d4c991e2a5..09ea60878e7e04ee046e1d37e0787288bb28855a 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -984,7 +984,6 @@ if (is_win) { +@@ -997,7 +997,6 @@ if (is_win) { "//media:media_unittests", "//media/midi:midi_unittests", "//net:net_unittests", @@ -22,7 +22,7 @@ index 5396a2163add191edcd9d54da7974a5e75ee792e..77a6c439fdbf2444e4532579a0e97f5d "//sql:sql_unittests", "//third_party/breakpad:symupload($host_toolchain)", "//ui/base:ui_base_unittests", -@@ -993,6 +992,10 @@ if (is_win) { +@@ -1006,6 +1005,10 @@ if (is_win) { "//ui/views:views_unittests", "//url:url_unittests", ] @@ -34,7 +34,7 @@ index 5396a2163add191edcd9d54da7974a5e75ee792e..77a6c439fdbf2444e4532579a0e97f5d } diff --git a/chrome/browser/printing/print_job.cc b/chrome/browser/printing/print_job.cc -index 331a084371402b5a2440b5d60feac8f0189e84b9..6755d1f497cef4deea6b83df1d8720dcf54817e9 100644 +index e5566f069e3e54ee0b7ddd5ea377889cf1c9690f..6845a3f6376160991f0e90cd1647ea3aa00963a8 100644 --- a/chrome/browser/printing/print_job.cc +++ b/chrome/browser/printing/print_job.cc @@ -90,6 +90,7 @@ bool PrintWithReducedRasterization(PrefService* prefs) { @@ -78,7 +78,7 @@ index 331a084371402b5a2440b5d60feac8f0189e84b9..6755d1f497cef4deea6b83df1d8720dc : PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3; } diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc -index f0d4596f0e95391e752c48dc6ac12f76397c27f1..b7313ce8037c88aa5b8826dc2edcb0dfa4ebee46 100644 +index 51bab147b3c353313e91b1ff09b735bfdde9b19a..d311ed33b2cf8fc459af7c3b7dd0c0ff9f2fdc51 100644 --- a/chrome/browser/printing/print_job_worker.cc +++ b/chrome/browser/printing/print_job_worker.cc @@ -20,7 +20,6 @@ @@ -121,7 +121,7 @@ index f0d4596f0e95391e752c48dc6ac12f76397c27f1..b7313ce8037c88aa5b8826dc2edcb0df #if BUILDFLAG(IS_CHROMEOS) diff --git a/chrome/browser/printing/print_job_worker_oop.cc b/chrome/browser/printing/print_job_worker_oop.cc -index 398d59a0ebad165981e9e96b29ffc672e4b841eb..e420d87ef0e90cddb740ac4b24f92519a6eb3347 100644 +index 8a126ddc655271416eda3d035caeb2c6778537b1..a2b6b19846bddf918efb75a53ea58dcfdddbc9d5 100644 --- a/chrome/browser/printing/print_job_worker_oop.cc +++ b/chrome/browser/printing/print_job_worker_oop.cc @@ -356,7 +356,7 @@ void PrintJobWorkerOop::OnFailure() { @@ -134,7 +134,7 @@ index 398d59a0ebad165981e9e96b29ffc672e4b841eb..e420d87ef0e90cddb740ac4b24f92519 void PrintJobWorkerOop::UnregisterServiceManagerClient() { diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc -index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b26538b90c1b2 100644 +index d252084bffdede97f8b8eb0680f6a59e053bfe19..6e58268acfc2a8d27e9723f224b4aedcb180876c 100644 --- a/chrome/browser/printing/print_view_manager_base.cc +++ b/chrome/browser/printing/print_view_manager_base.cc @@ -30,8 +30,6 @@ @@ -339,7 +339,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 return; } #endif -@@ -674,7 +708,6 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie, +@@ -675,7 +709,6 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie, PrintManager::PrintingFailed(cookie, reason); #if !BUILDFLAG(IS_ANDROID) // Android does not implement this function. @@ -347,7 +347,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 #endif ReleasePrinterQuery(); -@@ -689,6 +722,11 @@ void PrintViewManagerBase::RemoveObserver(Observer& observer) { +@@ -690,6 +723,11 @@ void PrintViewManagerBase::RemoveObserver(Observer& observer) { } void PrintViewManagerBase::ShowInvalidPrinterSettingsError() { @@ -359,7 +359,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 base::ThreadTaskRunnerHandle::Get()->PostTask( FROM_HERE, base::BindOnce(&ShowWarningMessageBox, l10n_util::GetStringUTF16( -@@ -699,10 +737,12 @@ void PrintViewManagerBase::RenderFrameHostStateChanged( +@@ -700,10 +738,12 @@ void PrintViewManagerBase::RenderFrameHostStateChanged( content::RenderFrameHost* render_frame_host, content::RenderFrameHost::LifecycleState /*old_state*/, content::RenderFrameHost::LifecycleState new_state) { @@ -372,7 +372,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 } void PrintViewManagerBase::DidStartLoading() { -@@ -758,7 +798,12 @@ void PrintViewManagerBase::OnJobDone() { +@@ -759,7 +799,12 @@ void PrintViewManagerBase::OnJobDone() { // Printing is done, we don't need it anymore. // print_job_->is_job_pending() may still be true, depending on the order // of object registration. @@ -386,7 +386,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 ReleasePrintJob(); } -@@ -772,7 +817,7 @@ bool PrintViewManagerBase::RenderAllMissingPagesNow() { +@@ -773,7 +818,7 @@ bool PrintViewManagerBase::RenderAllMissingPagesNow() { // Is the document already complete? if (print_job_->document() && print_job_->document()->IsComplete()) { @@ -395,7 +395,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 return true; } -@@ -820,7 +865,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( +@@ -821,7 +866,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( // Disconnect the current `print_job_`. auto weak_this = weak_ptr_factory_.GetWeakPtr(); @@ -407,7 +407,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 if (!weak_this) return false; -@@ -841,7 +889,7 @@ bool PrintViewManagerBase::CreateNewPrintJob( +@@ -842,7 +890,7 @@ bool PrintViewManagerBase::CreateNewPrintJob( #endif print_job_->AddObserver(*this); @@ -416,7 +416,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 return true; } -@@ -901,6 +949,11 @@ void PrintViewManagerBase::ReleasePrintJob() { +@@ -902,6 +950,11 @@ void PrintViewManagerBase::ReleasePrintJob() { } #endif @@ -428,7 +428,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 if (!print_job_) return; -@@ -908,7 +961,7 @@ void PrintViewManagerBase::ReleasePrintJob() { +@@ -909,7 +962,7 @@ void PrintViewManagerBase::ReleasePrintJob() { // printing_rfh_ should only ever point to a RenderFrameHost with a live // RenderFrame. DCHECK(rfh->IsRenderFrameLive()); @@ -437,7 +437,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 } print_job_->RemoveObserver(*this); -@@ -950,7 +1003,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { +@@ -951,7 +1004,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { } bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) { @@ -446,7 +446,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 return true; if (!cookie) { -@@ -1058,7 +1111,7 @@ void PrintViewManagerBase::SendPrintingEnabled(bool enabled, +@@ -1065,7 +1118,7 @@ void PrintViewManagerBase::SendPrintingEnabled(bool enabled, } void PrintViewManagerBase::CompletePrintNow(content::RenderFrameHost* rfh) { @@ -456,7 +456,7 @@ index b73982f234aaca5492fdf06a46e0231e66e3504f..ad4631f6ae9211fe6e5d09c46a8b2653 for (auto& observer : GetObservers()) observer.OnPrintNow(rfh); diff --git a/chrome/browser/printing/print_view_manager_base.h b/chrome/browser/printing/print_view_manager_base.h -index 871e00c49028ccf58d207f904c22e0107f3c2b65..c9b136ab165410eb533f84254454dac0b6674f14 100644 +index a413a261f253fcd0b93d65b10661e0bb692c9743..e6a0b73852453b1f9a222161c3358afe8ee72a0b 100644 --- a/chrome/browser/printing/print_view_manager_base.h +++ b/chrome/browser/printing/print_view_manager_base.h @@ -42,6 +42,8 @@ namespace printing { @@ -503,7 +503,7 @@ index 871e00c49028ccf58d207f904c22e0107f3c2b65..c9b136ab165410eb533f84254454dac0 protected: explicit PrintViewManagerBase(content::WebContents* web_contents); -@@ -251,7 +265,8 @@ class PrintViewManagerBase : public PrintManager, public PrintJob::Observer { +@@ -254,7 +268,8 @@ class PrintViewManagerBase : public PrintManager, public PrintJob::Observer { // Runs `callback` with `params` to reply to ScriptedPrint(). void ScriptedPrintReply(ScriptedPrintCallback callback, int process_id, @@ -513,7 +513,7 @@ index 871e00c49028ccf58d207f904c22e0107f3c2b65..c9b136ab165410eb533f84254454dac0 // Requests the RenderView to render all the missing pages for the print job. // No-op if no print job is pending. Returns true if at least one page has -@@ -324,8 +339,11 @@ class PrintViewManagerBase : public PrintManager, public PrintJob::Observer { +@@ -327,8 +342,11 @@ class PrintViewManagerBase : public PrintManager, public PrintJob::Observer { // The current RFH that is printing with a system printing dialog. raw_ptr printing_rfh_ = nullptr; @@ -527,7 +527,7 @@ index 871e00c49028ccf58d207f904c22e0107f3c2b65..c9b136ab165410eb533f84254454dac0 // Set while running an inner message loop inside RenderAllMissingPagesNow(). // This means we are _blocking_ until all the necessary pages have been diff --git a/chrome/browser/ui/webui/print_preview/fake_print_render_frame.cc b/chrome/browser/ui/webui/print_preview/fake_print_render_frame.cc -index f3c3f85edb19489d079dc93411be64828ae581e2..ff303dcbc034cd8f1530fe1543729e98d3035826 100644 +index e942b0b58bebdb0663d2be69dcee65484627f731..cca3cc6b73e079770e2e2ee23c237c28537bf7b7 100644 --- a/chrome/browser/ui/webui/print_preview/fake_print_render_frame.cc +++ b/chrome/browser/ui/webui/print_preview/fake_print_render_frame.cc @@ -21,7 +21,7 @@ FakePrintRenderFrame::FakePrintRenderFrame( @@ -540,7 +540,7 @@ index f3c3f85edb19489d079dc93411be64828ae581e2..ff303dcbc034cd8f1530fe1543729e98 void FakePrintRenderFrame::PrintWithParams(mojom::PrintPagesParamsPtr params, PrintWithParamsCallback callback) { diff --git a/chrome/browser/ui/webui/print_preview/fake_print_render_frame.h b/chrome/browser/ui/webui/print_preview/fake_print_render_frame.h -index 0e788384809f9f7218c6483822ffea08f86b4f79..c6f08845cb292ff406db5560c9a744dc7ab1c712 100644 +index 2273775eccac63960bdea6124e657b4177120ad8..a94d3ecb7fde44888ef85df1cda1c1b5f4c1081c 100644 --- a/chrome/browser/ui/webui/print_preview/fake_print_render_frame.h +++ b/chrome/browser/ui/webui/print_preview/fake_print_render_frame.h @@ -25,7 +25,7 @@ class FakePrintRenderFrame : public mojom::PrintRenderFrame { @@ -553,10 +553,10 @@ index 0e788384809f9f7218c6483822ffea08f86b4f79..c6f08845cb292ff406db5560c9a744dc PrintWithParamsCallback callback) override; void PrintForSystemDialog() override; diff --git a/components/printing/common/print.mojom b/components/printing/common/print.mojom -index 255a68703b848064de894122386279168590bb4f..e138abd3dbad430254936aa5fe6337c576bea8a7 100644 +index 220a751903f8bec318e5d7f48f35333b3b1c155b..60c54f6e407ba89894847b7e34f0ea9e3afd63af 100644 --- a/components/printing/common/print.mojom +++ b/components/printing/common/print.mojom -@@ -286,7 +286,7 @@ union PrintWithParamsResult { +@@ -289,7 +289,7 @@ union PrintWithParamsResult { interface PrintRenderFrame { // Tells the RenderFrame to switch the CSS to print media type, render every // requested page, and then switch back the CSS to display media type. @@ -565,7 +565,7 @@ index 255a68703b848064de894122386279168590bb4f..e138abd3dbad430254936aa5fe6337c5 // Requests the frame to be printed with specified parameters. This is used // to programmatically produce PDF by request from the browser (e.g. over -@@ -369,7 +369,7 @@ interface PrintManagerHost { +@@ -372,7 +372,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] @@ -575,10 +575,10 @@ index 255a68703b848064de894122386279168590bb4f..e138abd3dbad430254936aa5fe6337c5 // Tells the browser that there are invalid printer settings. ShowInvalidPrinterSettingsError(); diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc -index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d120e488bc 100644 +index d8b08c6b366f86baf9f5577153e96ba82eb747ad..a539bcb155bb49706ee213102d217d3f3bdc29bb 100644 --- a/components/printing/renderer/print_render_frame_helper.cc +++ b/components/printing/renderer/print_render_frame_helper.cc -@@ -42,6 +42,7 @@ +@@ -44,6 +44,7 @@ #include "printing/mojom/print.mojom.h" #include "printing/page_number.h" #include "printing/print_job_constants.h" @@ -586,7 +586,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 #include "printing/units.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h" -@@ -1283,7 +1284,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) { +@@ -1309,7 +1310,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) { if (!weak_this) return; @@ -596,7 +596,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 if (!weak_this) return; -@@ -1314,7 +1316,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver( +@@ -1340,7 +1342,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver( receivers_.Add(this, std::move(receiver)); } @@ -605,7 +605,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 ScopedIPC scoped_ipc(weak_ptr_factory_.GetWeakPtr()); if (ipc_nesting_level_ > kAllowedIpcDepthForPrint) return; -@@ -1329,7 +1331,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() { +@@ -1355,7 +1357,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() { // plugin node and print that instead. auto plugin = delegate_->GetPdfElement(frame); @@ -614,7 +614,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 if (!render_frame_gone_) frame->DispatchAfterPrintEvent(); -@@ -1411,7 +1413,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() { +@@ -1437,7 +1439,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() { } Print(frame, print_preview_context_.source_node(), @@ -624,7 +624,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 if (!render_frame_gone_) print_preview_context_.DispatchAfterPrintEvent(); // WARNING: |this| may be gone at this point. Do not do any more work here and -@@ -1460,6 +1463,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) { +@@ -1486,6 +1489,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) { if (ipc_nesting_level_ > kAllowedIpcDepthForPrint) return; @@ -633,7 +633,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 print_preview_context_.OnPrintPreview(); #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -2072,7 +2077,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -2101,7 +2106,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { return; Print(duplicate_node.GetDocument().GetFrame(), duplicate_node, @@ -643,7 +643,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 // Check if |this| is still valid. if (!weak_this) return; -@@ -2087,7 +2093,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -2116,7 +2122,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, const blink::WebNode& node, @@ -654,7 +654,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 // If still not finished with earlier print request simply ignore. if (prep_frame_view_) return; -@@ -2095,7 +2103,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, +@@ -2124,7 +2132,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, FrameReference frame_ref(frame); uint32_t expected_page_count = 0; @@ -663,7 +663,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 DidFinishPrinting(FAIL_PRINT_INIT); return; // Failed to init print page settings. } -@@ -2114,8 +2122,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, +@@ -2143,8 +2151,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, print_pages_params_->params->print_scaling_option; auto self = weak_ptr_factory_.GetWeakPtr(); @@ -680,7 +680,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 // Check if |this| is still valid. if (!self) return; -@@ -2380,36 +2395,52 @@ void PrintRenderFrameHelper::IPCProcessed() { +@@ -2410,36 +2425,52 @@ void PrintRenderFrameHelper::IPCProcessed() { } } @@ -711,8 +711,8 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 // can safely assume there are no printer drivers configured. So we safely // terminate. bool result = true; -- if (!PrintMsg_Print_Params_IsValid(*settings.params)) -+ if (!PrintMsg_Print_Params_IsValid(*settings->params)) +- if (!PrintMsgPrintParamsIsValid(*settings.params)) ++ if (!PrintMsgPrintParamsIsValid(*settings->params)) result = false; // Reset to default values. @@ -745,7 +745,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 notify_browser_of_print_failure_ = false; GetPrintManagerHost()->ShowInvalidPrinterSettingsError(); return false; -@@ -2534,7 +2565,7 @@ mojom::PrintPagesParamsPtr PrintRenderFrameHelper::GetPrintSettingsFromUser( +@@ -2566,7 +2597,7 @@ mojom::PrintPagesParamsPtr PrintRenderFrameHelper::GetPrintSettingsFromUser( std::move(params), base::BindOnce( [](base::OnceClosure quit_closure, mojom::PrintPagesParamsPtr* output, @@ -755,7 +755,7 @@ index 1908f32f88245e4edf2c75cc4f5378310b27f569..17d1dea5013fabf0379846b6dc9d68d1 std::move(quit_closure).Run(); }, diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h -index 66026548181a897c161d7202646f33fd8847ccb8..113a8165b5db6294087773e5a4b2f0035f4c8f5d 100644 +index 0f291a40155fb4616bf5feb4c0882892b777b07f..5af22ca607f9bb7e6de129d72bd867c9b977aa2f 100644 --- a/components/printing/renderer/print_render_frame_helper.h +++ b/components/printing/renderer/print_render_frame_helper.h @@ -255,7 +255,7 @@ class PrintRenderFrameHelper @@ -796,10 +796,10 @@ index 66026548181a897c161d7202646f33fd8847ccb8..113a8165b5db6294087773e5a4b2f003 #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 ba3e4bc8a46d8936435a015cc8bbd7e83be08943..5c2979a98fa0b05067801a6dd3109f375681868d 100644 +index 732dd4c8e3f578ddfc60bffa60eece8cd94e3486..eadad51f8316ea54369e4c8e42b5428131f5bafc 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -2812,8 +2812,9 @@ source_set("browser") { +@@ -2815,8 +2815,9 @@ source_set("browser") { "//ppapi/shared_impl", ] @@ -812,18 +812,18 @@ index ba3e4bc8a46d8936435a015cc8bbd7e83be08943..5c2979a98fa0b05067801a6dd3109f37 if (is_chromeos) { sources += [ diff --git a/content/browser/utility_sandbox_delegate_win.cc b/content/browser/utility_sandbox_delegate_win.cc -index d072c23a079bbe269b90d39882bf688a0c17280e..9ebc07769f13d384ebe9bca318a3634234b913be 100644 +index 54a951972aef1cfedd6e3f7db246d801683b70af..4284539fc5bce2018ae06c1e5ee207ac388c01dd 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) { +@@ -96,6 +96,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) { + void PrintBackendPreSpawnTarget(sandbox::TargetConfig* config) { DCHECK(!config->IsConfigured()); -@@ -170,6 +171,7 @@ bool XrCompositingPreSpawnTarget(sandbox::TargetConfig* config, +@@ -161,6 +162,7 @@ bool XrCompositingPreSpawnTarget(sandbox::TargetConfig* config, return true; } @@ -832,7 +832,7 @@ index d072c23a079bbe269b90d39882bf688a0c17280e..9ebc07769f13d384ebe9bca318a36342 std::string UtilitySandboxedProcessLauncherDelegate::GetSandboxTag() { diff --git a/printing/printing_context.cc b/printing/printing_context.cc -index 6cca846b9831da669ca52aff776caf5a23f6f4d1..39d1032f276181a535de9fba89c2246c7a9814d7 100644 +index 3a9e75c229f028dcbfb2d7b9294bc42989cb4c1e..a890c5517c0708034bbc6b9b606c990a9ae8be7a 100644 --- a/printing/printing_context.cc +++ b/printing/printing_context.cc @@ -143,7 +143,6 @@ void PrintingContext::UsePdfSettings() { @@ -844,7 +844,7 @@ index 6cca846b9831da669ca52aff776caf5a23f6f4d1..39d1032f276181a535de9fba89c2246c std::unique_ptr settings = PrintSettingsFromJobSettings(job_settings); diff --git a/printing/printing_context.h b/printing/printing_context.h -index 0e6dd8092f6025790560ca2bab2d68daf47caff2..a4aa6e21b1d37e534b543ad8b112070eedd12d2e 100644 +index 42095172d1406860249601537648fe22790ba744..361c20ef66d5c7acd34528711c52714d4c62a456 100644 --- a/printing/printing_context.h +++ b/printing/printing_context.h @@ -171,6 +171,9 @@ class COMPONENT_EXPORT(PRINTING) PrintingContext { @@ -868,7 +868,7 @@ index 0e6dd8092f6025790560ca2bab2d68daf47caff2..a4aa6e21b1d37e534b543ad8b112070e bool skip_system_calls() const { #if BUILDFLAG(ENABLE_OOP_PRINTING) diff --git a/sandbox/policy/mac/sandbox_mac.mm b/sandbox/policy/mac/sandbox_mac.mm -index 106ede6555aa87ff7e0728b34c909cf3796678df..ef34788e9ac5ada4bdb85f524ad7fadd27c61509 100644 +index bf0490a6261608486b84b3f4b461a285d787669d..357a07a4b2a40d416d5b1c39fb17f9c9270acac2 100644 --- a/sandbox/policy/mac/sandbox_mac.mm +++ b/sandbox/policy/mac/sandbox_mac.mm @@ -22,7 +22,6 @@ diff --git a/patches/chromium/process_singleton.patch b/patches/chromium/process_singleton.patch index 48a8aed405..5794195129 100644 --- a/patches/chromium/process_singleton.patch +++ b/patches/chromium/process_singleton.patch @@ -18,7 +18,7 @@ This patch adds a few changes to the Chromium code: admin permissions. diff --git a/chrome/browser/process_singleton.h b/chrome/browser/process_singleton.h -index 7cd82d27a741f194da5d0b3fcfd9c15c8ea1fa5c..9de82e5422428d6419a24401e0479fbd19a15147 100644 +index 2db06b7dc4cb729ebfb5ae48ab676a7bc0697a99..19350d58e817ea8ac7868dd90a08cc25836c9921 100644 --- a/chrome/browser/process_singleton.h +++ b/chrome/browser/process_singleton.h @@ -102,12 +102,19 @@ class ProcessSingleton { @@ -51,7 +51,7 @@ index 7cd82d27a741f194da5d0b3fcfd9c15c8ea1fa5c..9de82e5422428d6419a24401e0479fbd base::win::MessageWindow window_; // The message-only window. bool is_virtualized_; // Stuck inside Microsoft Softricity VM environment. diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc -index a7647b1f3a9d8421dae277ad1d5c35e3c8147942..99b42b0e8f81c6a5696d56fede3e168cfc282cc3 100644 +index afe39196a3882326c27527623ffeeb5019f685b0..455585a9f6d59d65bcfd322f4f925641148cbf55 100644 --- a/chrome/browser/process_singleton_posix.cc +++ b/chrome/browser/process_singleton_posix.cc @@ -54,6 +54,7 @@ @@ -164,7 +164,7 @@ index a7647b1f3a9d8421dae277ad1d5c35e3c8147942..99b42b0e8f81c6a5696d56fede3e168c int dir_mode = 0; CHECK(base::GetPosixFilePermissions(socket_dir_.GetPath(), &dir_mode) && diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc -index 41bc176510f93ef667e4f1373eab61142f3e264f..c375a587abd3d575b5c75a0863b01c9611e8287c 100644 +index f89f9265ba8de66a2f661a77611334dc91c08c0f..009b522049adc32144c51842369dc1156bd959fa 100644 --- a/chrome/browser/process_singleton_win.cc +++ b/chrome/browser/process_singleton_win.cc @@ -29,7 +29,9 @@ @@ -177,13 +177,15 @@ index 41bc176510f93ef667e4f1373eab61142f3e264f..c375a587abd3d575b5c75a0863b01c96 #include "chrome/browser/win/chrome_process_finder.h" #include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_paths.h" -@@ -163,11 +165,16 @@ bool ProcessLaunchNotification( +@@ -164,6 +166,7 @@ bool ProcessLaunchNotification( } bool DisplayShouldKillMessageBox() { +#if 0 TRACE_EVENT0("startup", "ProcessSingleton:DisplayShouldKillMessageBox"); - return chrome::ShowQuestionMessageBoxSync( + + // Ensure there is an instance of ResourceBundle that is initialized for +@@ -174,6 +177,10 @@ bool DisplayShouldKillMessageBox() { NULL, l10n_util::GetStringUTF16(IDS_PRODUCT_NAME), l10n_util::GetStringUTF16(IDS_BROWSER_HUNGBROWSER_MESSAGE)) != chrome::MESSAGE_BOX_RESULT_NO; @@ -194,7 +196,7 @@ index 41bc176510f93ef667e4f1373eab61142f3e264f..c375a587abd3d575b5c75a0863b01c96 } // Function was copied from Process::Terminate. -@@ -252,9 +259,13 @@ bool ProcessSingleton::EscapeVirtualization( +@@ -258,9 +265,13 @@ bool ProcessSingleton::EscapeVirtualization( } ProcessSingleton::ProcessSingleton( @@ -208,7 +210,7 @@ index 41bc176510f93ef667e4f1373eab61142f3e264f..c375a587abd3d575b5c75a0863b01c96 is_virtualized_(false), lock_file_(INVALID_HANDLE_VALUE), user_data_dir_(user_data_dir), -@@ -374,7 +385,7 @@ ProcessSingleton::NotifyOtherProcessOrCreate() { +@@ -380,7 +391,7 @@ ProcessSingleton::NotifyOtherProcessOrCreate() { bool ProcessSingleton::Create() { TRACE_EVENT0("startup", "ProcessSingleton::Create"); @@ -217,7 +219,7 @@ index 41bc176510f93ef667e4f1373eab61142f3e264f..c375a587abd3d575b5c75a0863b01c96 remote_window_ = chrome::FindRunningChromeWindow(user_data_dir_); if (!remote_window_ && !EscapeVirtualization(user_data_dir_)) { -@@ -383,7 +394,7 @@ bool ProcessSingleton::Create() { +@@ -389,7 +400,7 @@ bool ProcessSingleton::Create() { // access. As documented, it's clearer to NOT request ownership on creation // since it isn't guaranteed we will get it. It is better to create it // without ownership and explicitly get the ownership afterward. @@ -226,7 +228,7 @@ index 41bc176510f93ef667e4f1373eab61142f3e264f..c375a587abd3d575b5c75a0863b01c96 if (!only_me.IsValid()) { DPLOG(FATAL) << "CreateMutex failed"; return false; -@@ -422,6 +433,17 @@ bool ProcessSingleton::Create() { +@@ -428,6 +439,17 @@ bool ProcessSingleton::Create() { window_.CreateNamed(base::BindRepeating(&ProcessLaunchNotification, notification_callback_), user_data_dir_.value()); diff --git a/patches/chromium/proxy_config_monitor.patch b/patches/chromium/proxy_config_monitor.patch index 6b489214e6..e217133560 100644 --- a/patches/chromium/proxy_config_monitor.patch +++ b/patches/chromium/proxy_config_monitor.patch @@ -6,7 +6,7 @@ Subject: proxy_config_monitor.patch Allow monitoring proxy config changes for a pref service. diff --git a/chrome/browser/net/proxy_config_monitor.cc b/chrome/browser/net/proxy_config_monitor.cc -index d05a82a9c369a42cddebb1af1546a5ba6ae59c9f..7a263e3e6cc2a6bd27ec61598d9aae81c12d16e0 100644 +index 34584b44002762c875b68eb8547f651b8d7d7a0e..e3f33934c536920981b01ec2e1bc6a5905f40fc4 100644 --- a/chrome/browser/net/proxy_config_monitor.cc +++ b/chrome/browser/net/proxy_config_monitor.cc @@ -11,7 +11,9 @@ @@ -67,7 +67,7 @@ index d05a82a9c369a42cddebb1af1546a5ba6ae59c9f..7a263e3e6cc2a6bd27ec61598d9aae81 } #endif diff --git a/chrome/browser/net/proxy_config_monitor.h b/chrome/browser/net/proxy_config_monitor.h -index 89784b4d6eab9938c475abb6b58c3e08e8801371..72ee9a34e63ca9870c1c2f68f4cb1da63870ad3d 100644 +index c808604a9b586eb5524a10b7561987e5b29747ea..68980ce4bf50d6bde5329f6d45209be86d878769 100644 --- a/chrome/browser/net/proxy_config_monitor.h +++ b/chrome/browser/net/proxy_config_monitor.h @@ -40,11 +40,12 @@ class ProxyConfigMonitor : public net::ProxyConfigService::Observer, 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 0f04e292f4..cbfa7ce829 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -8,7 +8,7 @@ Chrome moved the SetCursor IPC message to mojo, which we use to tell OSR about ` Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2172779 diff --git a/content/browser/renderer_host/render_widget_host_delegate.h b/content/browser/renderer_host/render_widget_host_delegate.h -index bdad25cd2c823fa2125fc523c400479882735ae6..bf2ddb136274eb3e4e597ed3060aabcaa9c5f432 100644 +index 5f1eea557b549a6db081ff925ba9995b0591d9fa..62c5ef52ec774623f2cfc7c269973a26a1d9e5f8 100644 --- a/content/browser/renderer_host/render_widget_host_delegate.h +++ b/content/browser/renderer_host/render_widget_host_delegate.h @@ -14,6 +14,7 @@ @@ -30,10 +30,10 @@ index bdad25cd2c823fa2125fc523c400479882735ae6..bf2ddb136274eb3e4e597ed3060aabca // RenderWidgetHost on the primary main frame, and false otherwise. virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*); diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index 47c25cf13a76de1c04624fff5e3773c05809b0a1..41c8d3beaef9a4fac41f2e7021f231a7b4a9c63c 100644 +index 02e1780f15d15426e641077d06351d19f46ebaa8..cb571e4c5b72cd970b8759368b2be44b5b816d92 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -2078,6 +2078,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) { +@@ -2093,6 +2093,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 47c25cf13a76de1c04624fff5e3773c05809b0a1..41c8d3beaef9a4fac41f2e7021f231a7 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 707d9a116c8ea119977b54d3a3365d96fef05a5a..b48f62fb5ba99e7399e739d9d23346c48218c247 100644 +index df0dff67e23423a5a527a93dac27a6fe19e2aaf0..c9b9041792f757bf00d2027f565058ed2d0e7052 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() { +@@ -4590,6 +4590,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } @@ -59,10 +59,10 @@ index 707d9a116c8ea119977b54d3a3365d96fef05a5a..b48f62fb5ba99e7399e739d9d23346c4 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 b6669772c51c8888f23afa03193333aed9bbbf46..1b10f7f79cf784409fd63ffefa191e0eaf5c34c8 100644 +index bc64d1d0c75b5c68a29cc26025dbd9e2c4086a3e..bec172bcb51c1232ba48c3bb70242b4674f54a86 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -977,6 +977,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -978,6 +978,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, void SendScreenRects() override; void SendActiveState(bool active) override; TextInputManager* GetTextInputManager() override; @@ -71,7 +71,7 @@ index b6669772c51c8888f23afa03193333aed9bbbf46..1b10f7f79cf784409fd63ffefa191e0e 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 d48a0125d1ff5586ac3df3e4c7867a766528d94f..cf81127662b97afeaacbfc2af326a6d4c366013c 100644 +index b6e021165de91d92316c0b379e4fbdb616a56877..14f31672f3df2da3007ef5fa372359c2be92bdce 100644 --- a/content/public/browser/web_contents_observer.h +++ b/content/public/browser/web_contents_observer.h @@ -13,6 +13,7 @@ @@ -82,7 +82,7 @@ index d48a0125d1ff5586ac3df3e4c7867a766528d94f..cf81127662b97afeaacbfc2af326a6d4 #include "content/public/browser/allow_service_worker_result.h" #include "content/public/browser/reload_type.h" #include "content/public/browser/render_frame_host.h" -@@ -542,6 +543,9 @@ class CONTENT_EXPORT WebContentsObserver { +@@ -546,6 +547,9 @@ class CONTENT_EXPORT WebContentsObserver { // Invoked when the primary main frame changes size. virtual void PrimaryMainFrameWasResized(bool width_changed) {} diff --git a/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch b/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch index 66ec1ac048..77a7736ca2 100644 --- a/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch +++ b/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch @@ -11,10 +11,10 @@ We use AdaptCallbackForRepeating() in about a dozen places. This patch 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/callback_helpers.h b/base/callback_helpers.h -index 49ce51acb678886e0c679caa42e616400ab3bd48..760d97e8614195c8106b07b8477cf91a5dbebc15 100644 ---- a/base/callback_helpers.h -+++ b/base/callback_helpers.h +diff --git a/base/functional/callback_helpers.h b/base/functional/callback_helpers.h +index 417610f6dcd336f54840dfcde1fe23809da5f5f5..a1df1373277e6ee711394f77c353ab91b09b739d 100644 +--- a/base/functional/callback_helpers.h ++++ b/base/functional/callback_helpers.h @@ -96,6 +96,22 @@ class OnceCallbackHolder final { } // namespace internal diff --git a/patches/chromium/remove_usage_of_incognito_apis_in_the_spellchecker.patch b/patches/chromium/remove_usage_of_incognito_apis_in_the_spellchecker.patch index c7efb3bdfb..47db97841e 100644 --- a/patches/chromium/remove_usage_of_incognito_apis_in_the_spellchecker.patch +++ b/patches/chromium/remove_usage_of_incognito_apis_in_the_spellchecker.patch @@ -9,7 +9,7 @@ change to move more of //chrome spellchecker logic into //components so that we can further separate our dependency from //chrome. diff --git a/chrome/browser/profiles/profile_keyed_service_factory.cc b/chrome/browser/profiles/profile_keyed_service_factory.cc -index f2bbec66cc2d83a391dff09046f2552581782ecc..a631da03d2c431d52886ef913d5bceca4850d04c 100644 +index f14db439624e395bd6cd9d10d5aff480e0384293..ec860cd4033ac09f96be031147d70d2ccefb06c8 100644 --- a/chrome/browser/profiles/profile_keyed_service_factory.cc +++ b/chrome/browser/profiles/profile_keyed_service_factory.cc @@ -22,6 +22,9 @@ ProfileKeyedServiceFactory::~ProfileKeyedServiceFactory() = default; @@ -23,7 +23,7 @@ index f2bbec66cc2d83a391dff09046f2552581782ecc..a631da03d2c431d52886ef913d5bceca +#endif } diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/profiles/profile_selections.cc -index 0e5aa496024e94b236ef84b8ef93573df5e22ecd..b6df3dcbef3600d64206bb57cc488e56f0235e39 100644 +index e777c85cefe9b4280d48bd5d2ca15b20dea0ef85..1465c3b3168f0d1d62c075815c617193f2a12883 100644 --- a/chrome/browser/profiles/profile_selections.cc +++ b/chrome/browser/profiles/profile_selections.cc @@ -153,6 +153,7 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const { diff --git a/patches/chromium/render_widget_host_view_base.patch b/patches/chromium/render_widget_host_view_base.patch index 0726ac0add..0a6d55f654 100644 --- a/patches/chromium/render_widget_host_view_base.patch +++ b/patches/chromium/render_widget_host_view_base.patch @@ -6,10 +6,10 @@ 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 999eeb6fc817a3898b2227fd58aa1ecc660f21a3..8c51cd22fef29fe3e647b80e951af4cf7d9e4637 100644 +index 5e4ab4b65d33354b6cf7b4d33a5aea32891acd31..1489a78a80b2c9ef525365cacccd6bbb29d84046 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.cc +++ b/content/browser/renderer_host/render_widget_host_view_base.cc -@@ -705,6 +705,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor( +@@ -706,6 +706,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor( return false; } @@ -24,7 +24,7 @@ index 999eeb6fc817a3898b2227fd58aa1ecc660f21a3..8c51cd22fef29fe3e647b80e951af4cf const blink::WebMouseEvent& event, const ui::LatencyInfo& latency) { diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h -index f3a4f3961b543be0787b9f6ace585ce614e3c23e..5f112610fa0815f58436c54c9631b59ddf8606db 100644 +index 467eaa32808b3144ae74876328cfa175ef2693b0..76d5db91b70990c6b8dfe03b4ed00c056851dc69 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.h +++ b/content/browser/renderer_host/render_widget_host_view_base.h @@ -26,8 +26,10 @@ diff --git a/patches/chromium/render_widget_host_view_mac.patch b/patches/chromium/render_widget_host_view_mac.patch index 83e8d8bb35..2d4c24baa5 100644 --- a/patches/chromium/render_widget_host_view_mac.patch +++ b/patches/chromium/render_widget_host_view_mac.patch @@ -10,10 +10,10 @@ 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 57f9a833a0c3b349cf27a85041d150fe37f35d43..23196c7785288bbff8076617d1587a8082b21c2b 100644 +index 1f5898124ca5ab45349dd4749c1b33a10723d46a..3c70ba4663b0176167a32e588dfd2840ba13362c 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 -@@ -157,6 +157,15 @@ void ExtractUnderlines(NSAttributedString* string, +@@ -158,6 +158,15 @@ void ExtractUnderlines(NSAttributedString* string, } // namespace @@ -29,7 +29,7 @@ index 57f9a833a0c3b349cf27a85041d150fe37f35d43..23196c7785288bbff8076617d1587a80 // RenderWidgetHostViewCocoa --------------------------------------------------- // Private methods: -@@ -598,6 +607,9 @@ - (BOOL)acceptsMouseEventsWhenInactive { +@@ -599,6 +608,9 @@ - (BOOL)acceptsMouseEventsWhenInactive { } - (BOOL)acceptsFirstMouse:(NSEvent*)theEvent { @@ -39,7 +39,7 @@ index 57f9a833a0c3b349cf27a85041d150fe37f35d43..23196c7785288bbff8076617d1587a80 return [self acceptsMouseEventsWhenInactive]; } -@@ -674,6 +686,10 @@ - (BOOL)shouldIgnoreMouseEvent:(NSEvent*)theEvent { +@@ -675,6 +687,10 @@ - (BOOL)shouldIgnoreMouseEvent:(NSEvent*)theEvent { // its parent view. BOOL hitSelf = NO; while (view) { @@ -50,7 +50,7 @@ index 57f9a833a0c3b349cf27a85041d150fe37f35d43..23196c7785288bbff8076617d1587a80 if (view == self) hitSelf = YES; if ([view isKindOfClass:[self class]] && ![view isEqual:self] && -@@ -993,6 +1009,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv { +@@ -994,6 +1010,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv { eventType == NSEventTypeKeyDown && !(modifierFlags & NSEventModifierFlagCommand); @@ -61,7 +61,7 @@ index 57f9a833a0c3b349cf27a85041d150fe37f35d43..23196c7785288bbff8076617d1587a80 // We only handle key down events and just simply forward other events. if (eventType != NSEventTypeKeyDown) { _hostHelper->ForwardKeyboardEvent(event, latency_info); -@@ -1813,9 +1833,11 @@ - (NSAccessibilityRole)accessibilityRole { +@@ -1818,9 +1838,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 57f9a833a0c3b349cf27a85041d150fe37f35d43..23196c7785288bbff8076617d1587a80 - (NSArray*)validAttributesForMarkedText { // This code is just copied from WebKit except renaming variables. -@@ -1824,7 +1846,10 @@ - (NSArray*)validAttributesForMarkedText { +@@ -1829,7 +1851,10 @@ - (NSArray*)validAttributesForMarkedText { initWithObjects:NSUnderlineStyleAttributeName, NSUnderlineColorAttributeName, NSMarkedClauseSegmentAttributeName, diff --git a/patches/chromium/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index 3638b1d443..2ea77dd507 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 aee9abd99a03ad2266e2fcd15c680ae3b97e9dc3..0223183c4e869e835429a52ad7d9eb381a2d21f5 100644 +index fc66534a1ad2aced6fe429f76bc4ec0ad3eb13d0..63676cdc719e543d6982b0f894ad88d65c139f57 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -1547,7 +1547,7 @@ if (is_chrome_branded && !is_android) { +@@ -1552,7 +1552,7 @@ if (is_chrome_branded && !is_android) { } } @@ -64,7 +64,7 @@ index aee9abd99a03ad2266e2fcd15c680ae3b97e9dc3..0223183c4e869e835429a52ad7d9eb38 chrome_paks("packed_resources") { if (is_mac) { output_dir = "$root_gen_dir/repack" -@@ -1576,6 +1576,12 @@ if (!is_android) { +@@ -1581,6 +1581,12 @@ if (!is_android) { } } diff --git a/patches/chromium/revert_spellcheck_fully_launch_spell_check_delayed_initialization.patch b/patches/chromium/revert_spellcheck_fully_launch_spell_check_delayed_initialization.patch index 25310a7025..c4ccdf16e3 100644 --- a/patches/chromium/revert_spellcheck_fully_launch_spell_check_delayed_initialization.patch +++ b/patches/chromium/revert_spellcheck_fully_launch_spell_check_delayed_initialization.patch @@ -10,10 +10,10 @@ can be reverted when those failures are addressed. It's unlikely that this patch will be upstreamed. diff --git a/chrome/browser/extensions/api/language_settings_private/language_settings_private_api_unittest.cc b/chrome/browser/extensions/api/language_settings_private/language_settings_private_api_unittest.cc -index 9e86fff4335a5efc3d89eda167f756ec82f10407..4375f34b007b21d4cc190bdb1434964304f14785 100644 +index c8eccc85881c4ebe879dcb4fc3c21a3529e17085..42ce09bc56c1a761612251af3d3d0d3add7128cf 100644 --- a/chrome/browser/extensions/api/language_settings_private/language_settings_private_api_unittest.cc +++ b/chrome/browser/extensions/api/language_settings_private/language_settings_private_api_unittest.cc -@@ -297,26 +297,7 @@ TEST_F(LanguageSettingsPrivateApiTest, GetNeverTranslateLanguagesListTest) { +@@ -293,26 +293,7 @@ TEST_F(LanguageSettingsPrivateApiTest, GetNeverTranslateLanguagesListTest) { } } @@ -42,7 +42,7 @@ index 9e86fff4335a5efc3d89eda167f756ec82f10407..4375f34b007b21d4cc190bdb14349643 RunGetLanguageListTest(); } diff --git a/chrome/browser/spellchecker/spellcheck_service_unittest.cc b/chrome/browser/spellchecker/spellcheck_service_unittest.cc -index b8fa14fa50d82521845b9f84d62d9de922df9168..1e9c21eca325845bbc8f09a5287a2451f9829e80 100644 +index f528150f455103828c463c28b302f671f100d533..18566653b1cdca9a4db1657f3e4b811ff720c41b 100644 --- a/chrome/browser/spellchecker/spellcheck_service_unittest.cc +++ b/chrome/browser/spellchecker/spellcheck_service_unittest.cc @@ -341,18 +341,9 @@ const std::vector SpellcheckServiceHybridUnitTestBase:: @@ -98,15 +98,15 @@ index b8fa14fa50d82521845b9f84d62d9de922df9168..1e9c21eca325845bbc8f09a5287a2451 static const DictionaryMappingTestCase kHybridDictionaryMappingsParams[] = { DictionaryMappingTestCase({"en-CA", "en-CA", "en-CA", "en", "en"}), diff --git a/components/spellcheck/common/spellcheck_features.cc b/components/spellcheck/common/spellcheck_features.cc -index 37f2b0e837d8031bee488e9fd7bd4eb456c42204..dcd365a802e0feebbb2bc3839c7a0f47fb113c70 100644 +index 0f17118a967852309b42c74d5c41516df3288d73..5be8a0b6a4472eee426c1af1342c86158630ac37 100644 --- a/components/spellcheck/common/spellcheck_features.cc +++ b/components/spellcheck/common/spellcheck_features.cc -@@ -32,7 +32,7 @@ const base::Feature kWinUseBrowserSpellChecker{ - "WinUseBrowserSpellChecker", base::FEATURE_ENABLED_BY_DEFAULT}; +@@ -34,7 +34,7 @@ BASE_FEATURE(kWinUseBrowserSpellChecker, - const base::Feature kWinDelaySpellcheckServiceInit{ -- "WinDelaySpellcheckServiceInit", base::FEATURE_ENABLED_BY_DEFAULT}; -+ "WinDelaySpellcheckServiceInit", base::FEATURE_DISABLED_BY_DEFAULT}; + BASE_FEATURE(kWinDelaySpellcheckServiceInit, + "WinDelaySpellcheckServiceInit", +- base::FEATURE_ENABLED_BY_DEFAULT); ++ base::FEATURE_DISABLED_BY_DEFAULT); - const base::Feature kWinRetrieveSuggestionsOnlyOnDemand{ - "WinRetrieveSuggestionsOnlyOnDemand", base::FEATURE_ENABLED_BY_DEFAULT}; + BASE_FEATURE(kWinRetrieveSuggestionsOnlyOnDemand, + "WinRetrieveSuggestionsOnlyOnDemand", diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch index 409cfa61be..51911323d0 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 9963917a7efe207f4eb1b36c0657e9387d6cc16d..59ede822725bd29253813643cadcbd907e498eb8 100644 +index c728e50d50483197f79234f7b8e2d18eec873c69..a5d07abdfb317b3e30790d484ea2f9e5de5b6e66 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1269,7 +1269,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1270,7 +1270,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { } bool RenderThreadImpl::IsElasticOverscrollEnabled() { diff --git a/patches/chromium/short-circuit_permissions_checks_in_mediastreamdevicescontroller.patch b/patches/chromium/short-circuit_permissions_checks_in_mediastreamdevicescontroller.patch index d8b67a97d5..b135346249 100644 --- a/patches/chromium/short-circuit_permissions_checks_in_mediastreamdevicescontroller.patch +++ b/patches/chromium/short-circuit_permissions_checks_in_mediastreamdevicescontroller.patch @@ -15,7 +15,7 @@ short-circuit all the permissions checks in MSDC for now to allow us to unduplicate this code. diff --git a/components/webrtc/media_stream_devices_controller.cc b/components/webrtc/media_stream_devices_controller.cc -index 71eb2eda28d4d0d5dd9a1ad37309dd27caa69ccf..d6755ecd752ef18a9cf289765cfa44375ea115d7 100644 +index 92d7ecfb514d8a59d6b95f8dfb5363f851ae3aaa..d985909070be522ce2a1573c9d62736dea9e5e55 100644 --- a/components/webrtc/media_stream_devices_controller.cc +++ b/components/webrtc/media_stream_devices_controller.cc @@ -92,10 +92,13 @@ void MediaStreamDevicesController::RequestPermissions( diff --git a/patches/chromium/skip_atk_toolchain_check.patch b/patches/chromium/skip_atk_toolchain_check.patch index 51d38cce62..ba94cf6b73 100644 --- a/patches/chromium/skip_atk_toolchain_check.patch +++ b/patches/chromium/skip_atk_toolchain_check.patch @@ -21,7 +21,7 @@ See //ui/accessibility/BUILD.gn:297:20: which caused the file to be included. which we don't build diff --git a/build/config/linux/atk/BUILD.gn b/build/config/linux/atk/BUILD.gn -index 647bef697ec8f6bf02d60e3984ae3ad01f480552..be79a50aad1213a299c606f2a00f6b5bbf8eab2a 100644 +index 239c3870a149a9c31d8458c5c6aeb543d80c2a6a..843f442a55ce866dc018de74c33d888cbffb8dd4 100644 --- a/build/config/linux/atk/BUILD.gn +++ b/build/config/linux/atk/BUILD.gn @@ -11,7 +11,7 @@ import("//build/config/ui.gni") @@ -34,7 +34,7 @@ index 647bef697ec8f6bf02d60e3984ae3ad01f480552..be79a50aad1213a299c606f2a00f6b5b if (use_atk) { assert(use_glib, "use_atk=true requires that use_glib=true") diff --git a/build/config/linux/atspi2/BUILD.gn b/build/config/linux/atspi2/BUILD.gn -index d103d09a39a519e65daab6db40ef7896de49b0ee..bfdef652886382eb87d5a19d2f9ed90dc91c14d2 100644 +index 51b6d33aab3c212ffab8aa656b24ff07a9efc25f..0583a09f1711782a039aa4944e56ab03b04af811 100644 --- a/build/config/linux/atspi2/BUILD.gn +++ b/build/config/linux/atspi2/BUILD.gn @@ -6,7 +6,6 @@ import("//build/config/linux/pkg_config.gni") diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index f52052ad2d..eddda49f06 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it does touch a security-sensitive class. diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 0947bc416a00ac23c1d26fdc85baf28e634f419e..57639004908694d5d4a247ee23446b05b9ac0b14 100644 +index d3c552ed96023475de1215c505978278f04766ec..0606b76ac16553ed446f3e3b5d3369aa1c32d72c 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -1764,9 +1764,15 @@ bool RenderProcessHostImpl::Init() { +@@ -1765,9 +1765,15 @@ bool RenderProcessHostImpl::Init() { std::unique_ptr sandbox_delegate = std::make_unique( cmd_line.get(), IsJitDisabled()); @@ -42,7 +42,7 @@ index 0947bc416a00ac23c1d26fdc85baf28e634f419e..57639004908694d5d4a247ee23446b05 auto file_data = std::make_unique(); diff --git a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc -index 02542d2d1c739cd4452381a11759fd23c513b551..68f69a75177792956c3e41fc85f6023452191367 100644 +index 81f25ee3d7eb26a336cae05bd158e3cd1ec07257..9d95eccc579e0778f0b3f3a3a31817380e3989c2 100644 --- a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc +++ b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc @@ -31,6 +31,9 @@ namespace content { @@ -66,7 +66,7 @@ index 02542d2d1c739cd4452381a11759fd23c513b551..68f69a75177792956c3e41fc85f60234 dynamic_code_can_be_disabled_ = true; return; diff --git a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h -index d820cb4ff004194d9c18bfddaf90bf520e8446ff..0dcffcf367b5d08bb31b68e648c1f4ce3aa15600 100644 +index 736b46ec59d495c9e5639fa53d2d76e8510d091c..bc37668adab98027d61f684c95b81d8c1dc893cd 100644 --- a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h +++ b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.h @@ -18,6 +18,11 @@ class CONTENT_EXPORT RendererSandboxedProcessLauncherDelegate diff --git a/patches/chromium/sysroot.patch b/patches/chromium/sysroot.patch index e4fac7f044..6b833780b4 100644 --- a/patches/chromium/sysroot.patch +++ b/patches/chromium/sysroot.patch @@ -7,7 +7,7 @@ Make chrome's install-sysroot scripts point to our custom sysroot builds, which include extra deps that Electron needs (e.g. libnotify) diff --git a/build/linux/sysroot_scripts/install-sysroot.py b/build/linux/sysroot_scripts/install-sysroot.py -index abd7eb4a8d116075751bcf6e44f872bac83431ef..54c01f56ac3f17b4534b6e89d9f8c4ba3bd79bf9 100755 +index 7c18388b0082f766ae397daaa326ecfb26900ea7..e054db236481a6789d3304e60d92be5b98b8fae5 100755 --- a/build/linux/sysroot_scripts/install-sysroot.py +++ b/build/linux/sysroot_scripts/install-sysroot.py @@ -41,9 +41,11 @@ except ImportError: diff --git a/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch b/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch index 82a897db1a..3823c4cbf3 100644 --- a/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch +++ b/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch @@ -6,7 +6,7 @@ Subject: unsandboxed_ppapi_processes_skip_zygote.patch Unsandboxed ppapi processes should skip zygote. diff --git a/content/browser/ppapi_plugin_sandboxed_process_launcher_delegate.cc b/content/browser/ppapi_plugin_sandboxed_process_launcher_delegate.cc -index a685559095fc12da49b5dc6e8b467ae9d98889b5..83f5386244e1e0be4f4c784c46793739b76883dc 100644 +index 72f7193e711e857dccf0387efb95a44215e7a10f..3145e59775a559583e252d8e007bc09e0f1acba0 100644 --- a/content/browser/ppapi_plugin_sandboxed_process_launcher_delegate.cc +++ b/content/browser/ppapi_plugin_sandboxed_process_launcher_delegate.cc @@ -8,6 +8,7 @@ diff --git a/patches/chromium/upload_list_add_loadsync_method.patch b/patches/chromium/upload_list_add_loadsync_method.patch index 8c0f69128c..28fd0e2d9c 100644 --- a/patches/chromium/upload_list_add_loadsync_method.patch +++ b/patches/chromium/upload_list_add_loadsync_method.patch @@ -9,7 +9,7 @@ deprecated, and this API should be removed once the deprecated behavior is no longer supported. diff --git a/components/upload_list/upload_list.cc b/components/upload_list/upload_list.cc -index c5c8119703c245132433f95fbd3764cfff41f8c3..9aa707d8b13b9c91a21ff5f38e680a7f6446503c 100644 +index da283af7c483beae96a0afde494ce24628e909c8..75fb0d0b019979186f9f6b34b72d96d39eb146f0 100644 --- a/components/upload_list/upload_list.cc +++ b/components/upload_list/upload_list.cc @@ -72,6 +72,10 @@ void UploadList::Load(base::OnceClosure callback) { @@ -24,7 +24,7 @@ index c5c8119703c245132433f95fbd3764cfff41f8c3..9aa707d8b13b9c91a21ff5f38e680a7f const base::Time& end, base::OnceClosure callback) { diff --git a/components/upload_list/upload_list.h b/components/upload_list/upload_list.h -index 3180f3133ce6a0270e928a914f758a6329c921f8..e4af112aa09c54791d123cc042c01cb3b98f6dfe 100644 +index 9acfd8190484637630486bfdc654d25ff6a371b0..b9025804deca8c90969120ba05faa69110eef1d2 100644 --- a/components/upload_list/upload_list.h +++ b/components/upload_list/upload_list.h @@ -77,6 +77,8 @@ class UploadList : public base::RefCountedThreadSafe { diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index fc6e75250c..b35a24632c 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 84b48011e5a9d5b890a26debce68d0efd3c013c4..d5af52091f201cc51c3525798d99e2e42f623979 100644 +index 1ca2c578463b66aae6592a587531f38dc954dec5..1e867b8eddb510bb8564b4d26e8c649d40022dba 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3083,6 +3083,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3081,6 +3081,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 84b48011e5a9d5b890a26debce68d0efd3c013c4..d5af52091f201cc51c3525798d99e2e4 std::unique_ptr delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -3093,6 +3100,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3091,6 +3098,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, view_ = CreateWebContentsView(this, std::move(delegate), &render_view_host_delegate_view_); } @@ -35,7 +35,7 @@ index 84b48011e5a9d5b890a26debce68d0efd3c013c4..d5af52091f201cc51c3525798d99e2e4 CHECK(view_.get()); diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index b4dda7c02f5ea26b9e40f7be56c2ef082a0bc02d..2bbdc0e5e943510bfdbd2f3cc31584dadb331472 100644 +index aea5078136b95310240c404a3b363cf6b9d3ab7a..29e51ec3e7b36a506e13cc4a18dfa4f9a68b93ce 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_cross_drag.patch b/patches/chromium/webview_cross_drag.patch index a6415b5e33..8e861d1c5c 100644 --- a/patches/chromium/webview_cross_drag.patch +++ b/patches/chromium/webview_cross_drag.patch @@ -8,7 +8,7 @@ This allows dragging and dropping between s. Originally landed in https://github.com/electron/libchromiumcontent/pull/267 diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc -index c035d19e80d5073e56df8bfdcd0a60cb70732b24..0639f6a7eb0b964e88faf89ff9648f93ae37d791 100644 +index 7a7f170f3cd9fc6d617f2a00d5048163f9ed0017..d3ea49e3228262f30a04e45c1d1bf1939e64da6c 100644 --- a/content/browser/web_contents/web_contents_view_aura.cc +++ b/content/browser/web_contents/web_contents_view_aura.cc @@ -916,10 +916,7 @@ bool WebContentsViewAura::IsValidDragTarget( @@ -24,10 +24,10 @@ index c035d19e80d5073e56df8bfdcd0a60cb70732b24..0639f6a7eb0b964e88faf89ff9648f93 //////////////////////////////////////////////////////////////////////////////// diff --git a/content/browser/web_contents/web_drag_dest_mac.mm b/content/browser/web_contents/web_drag_dest_mac.mm -index dab3703cc4469802bae9e4d45c3e7d0f0857f577..ecd8af37c681ae5c97060af00bbeb8ebddb72b26 100644 +index 9df2343f21b38288ac174c72557832a8ef6830f1..06562778aa062251eae64aa4ce5ae6d19e159b1f 100644 --- a/content/browser/web_contents/web_drag_dest_mac.mm +++ b/content/browser/web_contents/web_drag_dest_mac.mm -@@ -388,9 +388,7 @@ - (void)setDragStartTrackersForProcess:(int)processID { +@@ -386,9 +386,7 @@ - (void)setDragStartTrackersForProcess:(int)processID { } - (bool)isValidDragTarget:(content::RenderWidgetHostImpl*)targetRWH { diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index 37336631e1..7122bae6d5 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 21eb439646c16aa72e78e9436006a29cbd8c5bf4..596710609cfc0071534855e321a894845cfac645 100644 +index 58caea552e2892c12365a79ce5148559f784264b..c8c096196431295618aeb8dc25c014ee31c172e0 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -6602,6 +6602,17 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -6595,6 +6595,17 @@ void RenderFrameHostImpl::EnterFullscreen( } } diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index 77b3ccdea2..28b8de9557 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 8f711800e92192a8b4205ab38467807a87e5d5a6..4801b3abafb156d561d8bbc4526b91822de72143 100644 +index 69e9da01fd70890a3df6c3c3959f87feb9ea316e..ce8cbdd6ce54bb2e0f1e6371679fc0d1438ae69c 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -365,6 +365,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -369,6 +369,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} @@ -26,7 +26,7 @@ index 8f711800e92192a8b4205ab38467807a87e5d5a6..4801b3abafb156d561d8bbc4526b9182 // 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 056f725a152f0befc8268370c3ea2ddff744530b..f37020add4ab6a5967fb9f527eebdd09d3b96843 100644 +index 1ba99a9f9302eb9e7b5d4c6376fe096bf88934ec..805495bb957445e9a95aaa9f6790b13531e1685a 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc @@ -864,6 +864,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { @@ -43,7 +43,7 @@ index 056f725a152f0befc8268370c3ea2ddff744530b..f37020add4ab6a5967fb9f527eebdd09 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 9718602c31f866b668cd211ff4fd72f69de1cd42..8f80fb04990c3e2820dcbc9b89dc0255c9c49d30 100644 +index e607746a2ef60ec400a25faaa1768fcaefd60c2a..3ed35a51a70b035f5b4ba5ca46a3f15c893fd503 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h @@ -180,6 +180,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { @@ -67,7 +67,7 @@ index 18008b93d906637bada69e6fe66adf94f50690f4..a4c6696c35c6d6560c725f818eec8c25 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 20d674166c78e316751bfa3ec7aed74656eea9b4..d289cfca8d8a9b093d8d30427e594c46b2f56c79 100644 +index 2378878d3f31ff9ad47611920630da509d4751d1..2918beb4bb4ca2e1687e3564178bdcbb923742ef 100644 --- a/third_party/blink/renderer/core/workers/worker_thread.cc +++ b/third_party/blink/renderer/core/workers/worker_thread.cc @@ -744,6 +744,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { 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 1771ab7018..05539b82b0 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 4801b3abafb156d561d8bbc4526b91822de72143..2ff6e4232180ea6620d3d9b65f511b391c64f435 100644 +index ce8cbdd6ce54bb2e0f1e6371679fc0d1438ae69c..4de6b91b2f182be488249bf2a47b376ada77c6e0 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h -@@ -365,6 +365,11 @@ class CONTENT_EXPORT ContentRendererClient { +@@ -369,6 +369,11 @@ class CONTENT_EXPORT ContentRendererClient { virtual void DidInitializeWorkerContextOnWorkerThread( v8::Local context) {} @@ -35,7 +35,7 @@ index 4801b3abafb156d561d8bbc4526b91822de72143..2ff6e4232180ea6620d3d9b65f511b39 // 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 f37020add4ab6a5967fb9f527eebdd09d3b96843..b577202173bbe54872d4cf66bb8f9f4e8d766eea 100644 +index 805495bb957445e9a95aaa9f6790b13531e1685a..0702f5e6f2c0bad147b9f58c0a2e2d990000f4ff 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc @@ -876,6 +876,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( @@ -52,7 +52,7 @@ index f37020add4ab6a5967fb9f527eebdd09d3b96843..b577202173bbe54872d4cf66bb8f9f4e 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 8f80fb04990c3e2820dcbc9b89dc0255c9c49d30..f16af9a3e4027066cddbd5082998adc837e9b5dc 100644 +index 3ed35a51a70b035f5b4ba5ca46a3f15c893fd503..367564b0eb6ca13374ac277f183d055de7cfb103 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h @@ -180,6 +180,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { @@ -78,7 +78,7 @@ index a4c6696c35c6d6560c725f818eec8c25dc714736..305b7873ee67c3dfb03c83b62cdd2b37 virtual bool AllowScriptExtensionForServiceWorker( const WebSecurityOrigin& script_origin) { diff --git a/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc b/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc -index ae3d2a664a9bd758d495f90f237f4f0ae768aef9..b56470ef35862f1b1b2af69bc48d842d2aa4ba7c 100644 +index 89c59263ebd8fa078cc2110a9915322d265d075b..1715745c392ee99a1bfca1b29dd0f832b6b6b568 100644 --- a/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc +++ b/third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.cc @@ -262,6 +262,7 @@ void WorkerOrWorkletScriptController::PrepareForEvaluation() { diff --git a/patches/node/.patches b/patches/node/.patches index 6b839e20fb..c2d74c7e69 100644 --- a/patches/node/.patches +++ b/patches/node/.patches @@ -49,3 +49,5 @@ v8_api_advance_api_deprecation.patch enable_-wunqualified-std-cast-call.patch fixup_for_error_declaration_shadows_a_local_variable.patch fixup_for_wc_98-compat-extra-semi.patch +drop_deserializerequest_move_constructor_for_c_20_compat.patch +fix_parallel_test-v8-stats.patch diff --git a/patches/node/build_add_gn_build_files.patch b/patches/node/build_add_gn_build_files.patch index d19019f9c5..74da2afe93 100644 --- a/patches/node/build_add_gn_build_files.patch +++ b/patches/node/build_add_gn_build_files.patch @@ -7,10 +7,10 @@ This adds GN build files for Node, so we don't have to build with GYP. diff --git a/BUILD.gn b/BUILD.gn new file mode 100644 -index 0000000000000000000000000000000000000000..3ae9b93649bb404fbf04dea52ecaa7d664ff03ee +index 0000000000000000000000000000000000000000..a47875642d8f825c84ba1e82e3892a97e98e76e4 --- /dev/null +++ b/BUILD.gn -@@ -0,0 +1,440 @@ +@@ -0,0 +1,438 @@ +import("//v8/gni/v8.gni") +import("node.gni") + @@ -123,8 +123,6 @@ index 0000000000000000000000000000000000000000..3ae9b93649bb404fbf04dea52ecaa7d6 + } else { + defines += [ "HAVE_OPENSSL=0" ] + } -+ # boringssl does not support SSL_trace, let's disable it -+ defines += ["OPENSSL_NO_SSL_TRACE=1"] + if (v8_enable_i18n_support) { + defines += [ "NODE_HAVE_I18N_SUPPORT=1" ] + } else { diff --git a/patches/node/drop_deserializerequest_move_constructor_for_c_20_compat.patch b/patches/node/drop_deserializerequest_move_constructor_for_c_20_compat.patch new file mode 100644 index 0000000000..508606e6fc --- /dev/null +++ b/patches/node/drop_deserializerequest_move_constructor_for_c_20_compat.patch @@ -0,0 +1,37 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jeremy Rose +Date: Mon, 26 Sep 2022 14:44:57 -0700 +Subject: drop DeserializeRequest move constructor for c++20 compat + +C++20 was enabled on mac in +https://chromium-review.googlesource.com/c/chromium/src/+/3914624, which caused +initialization of DeserializeRequest to fail: + +../../third_party/electron_node/src/env.cc:1835:22: error: no matching constructor for initialization of 'DeserializeRequest' + DeserializeRequest request{cb, {isolate(), holder}, index}; + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +../../third_party/electron_node/src/env.h:944:3: note: candidate constructor not viable: requires single argument 'other', but 3 arguments were provided + DeserializeRequest(DeserializeRequest&& other) = default; + ^ +../../third_party/electron_node/src/env.h:937:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 3 were provided +struct DeserializeRequest { + ^ + +I think (though not 100% sure) that this is because the one explicitly +specified move constructor "shadows" the implicit initializer-list constructor. +This patch seems to fix things, in any case. + +diff --git a/src/env.h b/src/env.h +index 6b18b6efd231d986c391a16966fdbc82a5d99eda..099d8c9efeeda1c851d526e4bf4ddece444c7299 100644 +--- a/src/env.h ++++ b/src/env.h +@@ -939,9 +939,6 @@ struct DeserializeRequest { + v8::Global holder; + int index; + InternalFieldInfo* info = nullptr; // Owned by the request +- +- // Move constructor +- DeserializeRequest(DeserializeRequest&& other) = default; + }; + + struct EnvSerializeInfo { diff --git a/patches/node/fix_parallel_test-v8-stats.patch b/patches/node/fix_parallel_test-v8-stats.patch new file mode 100644 index 0000000000..6aab7511d2 --- /dev/null +++ b/patches/node/fix_parallel_test-v8-stats.patch @@ -0,0 +1,22 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jeremy Rose +Date: Thu, 29 Sep 2022 16:30:17 -0700 +Subject: fix parallel/test-v8-stats + +new heap spaces were added in v8, this updates the expectations to +match. node should eventually have this too once they roll up the newer +v8. + +diff --git a/test/parallel/test-v8-stats.js b/test/parallel/test-v8-stats.js +index 7503a08c5a67fa4bead4f768242b47f418ebfc85..98ad11f11f9b9bf5699801814f8234e84dfaf638 100644 +--- a/test/parallel/test-v8-stats.js ++++ b/test/parallel/test-v8-stats.js +@@ -46,6 +46,8 @@ const expectedHeapSpaces = [ + 'new_space', + 'old_space', + 'read_only_space', ++ 'shared_large_object_space', ++ 'shared_space' + ]; + const heapSpaceStatistics = v8.getHeapSpaceStatistics(); + const actualHeapSpaceNames = heapSpaceStatistics.map((s) => s.space_name); diff --git a/patches/v8/.patches b/patches/v8/.patches index 890f2f25a5..4c5e530a4b 100644 --- a/patches/v8/.patches +++ b/patches/v8/.patches @@ -6,6 +6,6 @@ workaround_an_undefined_symbol_error.patch do_not_export_private_v8_symbols_on_windows.patch fix_build_deprecated_attribute_for_older_msvc_versions.patch fix_disable_implies_dcheck_for_node_stream_array_buffers.patch -revert_fix_cppgc_removed_deleted_cstors_in_cppheapcreateparams.patch revert_runtime_dhceck_terminating_exception_in_microtasks.patch chore_disable_is_execution_terminating_dcheck.patch +force_cppheapcreateparams_to_be_noncopyable.patch diff --git a/patches/v8/build_gn.patch b/patches/v8/build_gn.patch index e6e42a0018..137715b60c 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 afa37f0124f1a7d9e5b61a1b1261f0cdeb538617..e2121d78513d20338fc322558d9cdece4c962421 100644 +index b25e58693e3f0e65c8daa1e64d4fc797f4ec28cc..b0ff7930632c4717d2dcf0aeeae576dba628d3f9 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -650,7 +650,7 @@ config("internal_config") { +@@ -634,7 +634,7 @@ config("internal_config") { ":cppgc_header_features", ] @@ -21,7 +21,7 @@ index afa37f0124f1a7d9e5b61a1b1261f0cdeb538617..e2121d78513d20338fc322558d9cdece defines += [ "BUILDING_V8_SHARED" ] } -@@ -6155,7 +6155,7 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -6048,7 +6048,7 @@ if (current_toolchain == v8_generator_toolchain) { "src/interpreter/bytecodes.h", ] diff --git a/patches/v8/dcheck.patch b/patches/v8/dcheck.patch index e77bdec0ca..15f4a16fee 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 3ee474d9b9b36a070ccfcf04e82125f2d696ae45..fc685d7460c93c74e769fe7086559052ae9be035 100644 +index fbc7b058a57d4ea282ecc159d165217a24371bff..58dbd7e2e0811e5e8cfe8e057ce72d67d780a918 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -9115,7 +9115,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { +@@ -9255,7 +9255,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 176fd49021..e78087cf02 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 49da0a718df8c4ec34123eec2c63feaf680e2791..9fcc4d08f2f2d3aa097ddca596ee332729a7836c 100644 +index c9fd31f2db427359b1274505e69f6c344244f537..b67ebe5d41830884716902eab6ebd81fb5fa0e4c 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -650,6 +650,10 @@ config("internal_config") { +@@ -634,6 +634,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 e070e8a35b..25d4788946 100644 --- a/patches/v8/export_symbols_needed_for_windows_build.patch +++ b/patches/v8/export_symbols_needed_for_windows_build.patch @@ -6,10 +6,10 @@ 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 f85f1a907999f77981be3bb0e1eb7bf679bb809d..6934c5df84cce20cc2b41e3c7764affb5b88f22c 100644 +index fc0ef9a829db8fd74c6c555d69a6f902d2e81f0e..2d58a7646e4390dd2a920e9a749ebefec1e3c349 100644 --- a/src/objects/objects.h +++ b/src/objects/objects.h -@@ -936,7 +936,7 @@ enum AccessorComponent { ACCESSOR_GETTER, ACCESSOR_SETTER }; +@@ -941,7 +941,7 @@ enum AccessorComponent { ACCESSOR_GETTER, ACCESSOR_SETTER }; // Utility superclass for stack-allocated objects that must be updated // on gc. It provides two ways for the gc to update instances, either // iterating or updating after gc. diff --git a/patches/v8/expose_mksnapshot.patch b/patches/v8/expose_mksnapshot.patch index 36b2c4773f..f93fb5d3f1 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 e2121d78513d20338fc322558d9cdece4c962421..49da0a718df8c4ec34123eec2c63feaf680e2791 100644 +index b0ff7930632c4717d2dcf0aeeae576dba628d3f9..c9fd31f2db427359b1274505e69f6c344244f537 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -6167,7 +6167,6 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -6060,7 +6060,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 77b150f97d..585763a0ff 100644 --- a/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch +++ b/patches/v8/fix_build_deprecated_attribute_for_older_msvc_versions.patch @@ -6,7 +6,7 @@ Subject: fix: usage of c++ [[deprecated]] attribute for older msvc versions This attribute can only be used in all contexts in Visual Studio 2019 diff --git a/include/v8config.h b/include/v8config.h -index 71d932006ba4b0668d901879f49df43ea3db4f9c..70227d6fb68fd35cfab34e745164fa6684e6b6a2 100644 +index 207afac8b0adeba656c0094cd2435dd6eec58a1a..2c613f70f4729fdbced7b5b2655434c7f146fc7a 100644 --- a/include/v8config.h +++ b/include/v8config.h @@ -471,10 +471,13 @@ path. Add it with -I to the command line 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 50391cfd4a..b5df8687b9 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 c5b45087f0afd1a025cb816f0d6a5e6ff3231826..4b01d18d385bf6f2c4762b7b8086cbc2c535dbc8 100644 +index 3622a30f5d9d2ce4bd322086c39a9dd4c4fc7cd9..531fea719b3d739496da08110338f11e4afdf944 100644 --- a/src/objects/js-array-buffer.cc +++ b/src/objects/js-array-buffer.cc -@@ -72,9 +72,9 @@ void JSArrayBuffer::Attach(std::shared_ptr backing_store) { +@@ -71,9 +71,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(), backing_store->is_resizable()); diff --git a/patches/v8/force_cppheapcreateparams_to_be_noncopyable.patch b/patches/v8/force_cppheapcreateparams_to_be_noncopyable.patch new file mode 100644 index 0000000000..95ece067a2 --- /dev/null +++ b/patches/v8/force_cppheapcreateparams_to_be_noncopyable.patch @@ -0,0 +1,40 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jeremy Rose +Date: Wed, 28 Sep 2022 14:44:32 -0700 +Subject: force CppHeapCreateParams to be noncopyable + +Ref https://chromium-review.googlesource.com/c/v8/v8/+/3348007 + +Without this change, clang on windows for some reason thinks that +CppHeapCreateParams is copyable and tries to generate copy +constructors for it, which doesn't work because vector +isn't copyable. + +If Electron compiles on Windows without this patch then it's no longer +needed. + +diff --git a/include/v8-cppgc.h b/include/v8-cppgc.h +index f96709c783a0b13a3c09925a930d59c8ba48e01f..d91253f16ee9775986d699ebfed77b7389c71a13 100644 +--- a/include/v8-cppgc.h ++++ b/include/v8-cppgc.h +@@ -76,6 +76,12 @@ struct WrapperDescriptor final { + uint16_t embedder_id_for_garbage_collected; + }; + ++struct NonCopyable { ++ NonCopyable() = default; ++ NonCopyable(const NonCopyable&) = delete; ++ NonCopyable(NonCopyable&&) = default; ++}; ++ + struct V8_EXPORT CppHeapCreateParams { + std::vector> custom_spaces; + WrapperDescriptor wrapper_descriptor; +@@ -91,6 +97,7 @@ struct V8_EXPORT CppHeapCreateParams { + */ + cppgc::Heap::SweepingType sweeping_support = + cppgc::Heap::SweepingType::kIncrementalAndConcurrent; ++ NonCopyable non_copyable_; + }; + + /** diff --git a/patches/v8/revert_fix_cppgc_removed_deleted_cstors_in_cppheapcreateparams.patch b/patches/v8/revert_fix_cppgc_removed_deleted_cstors_in_cppheapcreateparams.patch deleted file mode 100644 index 66a5aa3f4a..0000000000 --- a/patches/v8/revert_fix_cppgc_removed_deleted_cstors_in_cppheapcreateparams.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jeremy Rose -Date: Thu, 27 Jan 2022 13:01:36 -0800 -Subject: Revert "fix(cppgc): removed deleted cstors in CppHeapCreateParams" - -This reverts commit a66b09e5510d62ff469e72b1a8ff7f0ead1bf0f6. - -diff --git a/include/v8-cppgc.h b/include/v8-cppgc.h -index f96709c783a0b13a3c09925a930d59c8ba48e01f..00ea5c5ae502ef36969cde07a2587d9eaa760359 100644 ---- a/include/v8-cppgc.h -+++ b/include/v8-cppgc.h -@@ -77,6 +77,9 @@ struct WrapperDescriptor final { - }; - - struct V8_EXPORT CppHeapCreateParams { -+ CppHeapCreateParams(const CppHeapCreateParams&) = delete; -+ CppHeapCreateParams& operator=(const CppHeapCreateParams&) = delete; -+ - std::vector> custom_spaces; - WrapperDescriptor wrapper_descriptor; - /** 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 3b9a259af8..73048af02e 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 550025ec72cb3ef580035845d1f43063ef347b6d..1f6d0cdd835cb4f46f3985788f41e0b594441b89 100644 +index 15b109393f5670364d82b2720a76f12f2d38ca11..bbc7aa4d04227b3abbdaa4af8dce50f5d5af98df 100644 --- a/src/codegen/code-stub-assembler.cc +++ b/src/codegen/code-stub-assembler.cc -@@ -6151,12 +6151,6 @@ void CodeStubAssembler::SetPendingMessage(TNode message) { +@@ -6221,12 +6221,6 @@ void CodeStubAssembler::SetPendingMessage(TNode message) { StoreFullTaggedNoWriteBarrier(pending_message, message); } @@ -35,10 +35,10 @@ index 550025ec72cb3ef580035845d1f43063ef347b6d..1f6d0cdd835cb4f46f3985788f41e0b5 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 324e6a43a773515fe23add5e30a90fc1175f220a..fd92af8cf594108911533e6babcf76f40def15a2 100644 +index b9c4ee893de4b86fe84957a926be91077fb72c8e..282f580dce18deb0a5561458f47d354cde3c68bb 100644 --- a/src/codegen/code-stub-assembler.h +++ b/src/codegen/code-stub-assembler.h -@@ -2542,7 +2542,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler +@@ -2563,7 +2563,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler TNode GetPendingMessage(); void SetPendingMessage(TNode message); diff --git a/patches/v8/workaround_an_undefined_symbol_error.patch b/patches/v8/workaround_an_undefined_symbol_error.patch index 12d30aeed2..6eac4cf484 100644 --- a/patches/v8/workaround_an_undefined_symbol_error.patch +++ b/patches/v8/workaround_an_undefined_symbol_error.patch @@ -12,10 +12,10 @@ By moving some functions out of the the arm64-assembler header file, this error no longer seems to happen. diff --git a/src/codegen/arm64/assembler-arm64.cc b/src/codegen/arm64/assembler-arm64.cc -index 754c79815ab06fe1ed1bdce9f40d62ee78d1e564..221452fb3e80639fe28ee65840b865a36610246d 100644 +index d2782e530f22ce80e54506caef3f8aa41d1221ca..c5698d823555d1e218a216023caa0d5e245e0325 100644 --- a/src/codegen/arm64/assembler-arm64.cc +++ b/src/codegen/arm64/assembler-arm64.cc -@@ -3607,6 +3607,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift, +@@ -3606,6 +3606,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift, ImmMoveWide(static_cast(imm)) | ShiftMoveWide(shift)); } @@ -39,10 +39,10 @@ index 754c79815ab06fe1ed1bdce9f40d62ee78d1e564..221452fb3e80639fe28ee65840b865a3 const Operand& operand, FlagsUpdate S, AddSubOp op) { DCHECK_EQ(rd.SizeInBits(), rn.SizeInBits()); diff --git a/src/codegen/arm64/assembler-arm64.h b/src/codegen/arm64/assembler-arm64.h -index e079e87a205b10306c209b2e25143503efe6501e..412bf6df4d6a95a31a50206fa84a3b2c745c1ac1 100644 +index f55197f0307212f81b06b892316e01f96c709c59..d07a9d93ddf478c7920ea00c0511c8d593b966cb 100644 --- a/src/codegen/arm64/assembler-arm64.h +++ b/src/codegen/arm64/assembler-arm64.h -@@ -2124,11 +2124,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { +@@ -2112,11 +2112,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { return rm.code() << Rm_offset; } @@ -55,7 +55,7 @@ index e079e87a205b10306c209b2e25143503efe6501e..412bf6df4d6a95a31a50206fa84a3b2c static Instr Ra(CPURegister ra) { DCHECK_NE(ra.code(), kSPRegInternalCode); -@@ -2152,15 +2148,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { +@@ -2140,15 +2136,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { // These encoding functions allow the stack pointer to be encoded, and // disallow the zero register. diff --git a/script/sysroots.json b/script/sysroots.json index b1b851fd51..7cf8e9945f 100644 --- a/script/sysroots.json +++ b/script/sysroots.json @@ -1,36 +1,36 @@ { "bullseye_amd64": { - "Sha1Sum": "202e5738f4fad834a43ad9978efc53ff710ee979", + "Sha1Sum": "8068722ee05e9c672f9c29f32fd08acc0539d0e8", "SysrootDir": "debian_bullseye_amd64-sysroot", "Tarball": "debian_bullseye_amd64_sysroot.tar.xz" }, "bullseye_arm": { - "Sha1Sum": "683d994e5643dff423643eac59c1f62606d14f43", + "Sha1Sum": "835cb5f1f40618de7cbd411e83128adc5697e426", "SysrootDir": "debian_bullseye_arm-sysroot", "Tarball": "debian_bullseye_arm_sysroot.tar.xz" }, "bullseye_arm64": { - "Sha1Sum": "5a56c1ef714154ea5003bcafb16f21b0f8dde023", + "Sha1Sum": "14c1ca201a217daff6a90f5369bbf2b42cde8d77", "SysrootDir": "debian_bullseye_arm64-sysroot", - "Tarball": "debian_sid_arm64_sysroot.tar.xz" + "Tarball": "debian_bullseye_arm64_sysroot.tar.xz" }, "bullseye_armel": { - "Sha1Sum": "db15aab39af3cfbc55a8ff0386943db1b78a1eab", + "Sha1Sum": "fd3a85168f63c5c112ec8d77a35d4a71d18413fd", "SysrootDir": "debian_bullseye_armel-sysroot", "Tarball": "debian_bullseye_armel_sysroot.tar.xz" }, "bullseye_i386": { - "Sha1Sum": "41a75c881636adb765d4e40b06058f64df501ffe", + "Sha1Sum": "eae4513553575d956ed369bbcc77acc506831b47", "SysrootDir": "debian_bullseye_i386-sysroot", "Tarball": "debian_bullseye_i386_sysroot.tar.xz" }, "bullseye_mips": { - "Sha1Sum": "6d85967e8d6771e50180c289dae57ad06fd873cd", + "Sha1Sum": "811c47f1fab10a37da30ac97f958757527c8331f", "SysrootDir": "debian_bullseye_mips-sysroot", "Tarball": "debian_bullseye_mips_sysroot.tar.xz" }, "bullseye_mips64el": { - "Sha1Sum": "0774922d1269947f462bda38c82c4e5e819326ab", + "Sha1Sum": "d491017f0feff2e45dfa78e65d3c286aeb2d4c5f", "SysrootDir": "debian_bullseye_mips64el-sysroot", "Tarball": "debian_bullseye_mips64el_sysroot.tar.xz" } diff --git a/shell/app/electron_main_delegate.cc b/shell/app/electron_main_delegate.cc index 73d063026a..46a3bcc1d6 100644 --- a/shell/app/electron_main_delegate.cc +++ b/shell/app/electron_main_delegate.cc @@ -21,6 +21,7 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_switches.h" #include "components/content_settings/core/common/content_settings_pattern.h" +#include "content/public/app/initialize_mojo_core.h" #include "content/public/common/content_switches.h" #include "electron/buildflags/buildflags.h" #include "electron/fuses.h" @@ -417,6 +418,8 @@ absl::optional ElectronMainDelegate::PreBrowserMain() { // flags and we need to make sure the feature list is initialized before the // service manager reads the features. InitializeFeatureList(); + // Initialize mojo core as soon as we have a valid feature list + content::InitializeMojoCore(); #if BUILDFLAG(IS_MAC) RegisterAtomCrApp(); #endif @@ -481,6 +484,10 @@ bool ElectronMainDelegate::ShouldCreateFeatureList(InvokedIn invoked_in) { return absl::holds_alternative(invoked_in); } +bool ElectronMainDelegate::ShouldInitializeMojo(InvokedIn invoked_in) { + return ShouldCreateFeatureList(invoked_in); +} + bool ElectronMainDelegate::ShouldLockSchemeRegistry() { return false; } diff --git a/shell/app/electron_main_delegate.h b/shell/app/electron_main_delegate.h index 0a8363fb7a..4b51f5ba2a 100644 --- a/shell/app/electron_main_delegate.h +++ b/shell/app/electron_main_delegate.h @@ -46,6 +46,7 @@ class ElectronMainDelegate : public content::ContentMainDelegate { const std::string& process_type, content::MainFunctionParams main_function_params) override; bool ShouldCreateFeatureList(InvokedIn invoked_in) override; + bool ShouldInitializeMojo(InvokedIn invoked_in) override; bool ShouldLockSchemeRegistry() override; #if BUILDFLAG(IS_LINUX) void ZygoteForked() override; diff --git a/shell/browser/api/electron_api_desktop_capturer.h b/shell/browser/api/electron_api_desktop_capturer.h index 4cf5628f5b..f06ce5faee 100644 --- a/shell/browser/api/electron_api_desktop_capturer.h +++ b/shell/browser/api/electron_api_desktop_capturer.h @@ -59,6 +59,7 @@ class DesktopCapturer : public gin::Wrappable, void OnSourceThumbnailChanged(int index) override {} void OnSourcePreviewChanged(size_t index) override {} void OnDelegatedSourceListSelection() override {} + void OnDelegatedSourceListDismissed() override {} private: void UpdateSourcesList(DesktopMediaList* list); diff --git a/shell/browser/api/electron_api_system_preferences_mac.mm b/shell/browser/api/electron_api_system_preferences_mac.mm index bbd37e3c38..3b881fc1d2 100644 --- a/shell/browser/api/electron_api_system_preferences_mac.mm +++ b/shell/browser/api/electron_api_system_preferences_mac.mm @@ -294,14 +294,14 @@ v8::Local SystemPreferences::GetUserDefault( } void SystemPreferences::RegisterDefaults(gin::Arguments* args) { - base::Value::Dict value; + base::Value::Dict dict_value; - if (!args->GetNext(&value)) { + if (!args->GetNext(&dict_value)) { args->ThrowError(); return; } @try { - NSDictionary* dict = DictionaryValueToNSDictionary(std::move(value)); + NSDictionary* dict = DictionaryValueToNSDictionary(std::move(dict_value)); for (id key in dict) { id value = [dict objectForKey:key]; if ([value isKindOfClass:[NSNull class]] || value == nil) { diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc index a5c9a93c0f..f3c9ca481a 100644 --- a/shell/browser/api/electron_api_web_contents.cc +++ b/shell/browser/api/electron_api_web_contents.cc @@ -598,18 +598,13 @@ PrefService* GetPrefService(content::WebContents* web_contents) { std::map GetAddedFileSystemPaths( content::WebContents* web_contents) { auto* pref_service = GetPrefService(web_contents); - const base::Value* file_system_paths_value = - pref_service->GetDictionary(prefs::kDevToolsFileSystemPaths); + const base::Value::Dict& file_system_paths = + pref_service->GetDict(prefs::kDevToolsFileSystemPaths); std::map result; - if (file_system_paths_value) { - const base::DictionaryValue* file_system_paths_dict; - file_system_paths_value->GetAsDictionary(&file_system_paths_dict); - - for (auto it : file_system_paths_dict->DictItems()) { - std::string type = - it.second.is_string() ? it.second.GetString() : std::string(); - result[it.first] = type; - } + for (auto it : file_system_paths) { + std::string type = + it.second.is_string() ? it.second.GetString() : std::string(); + result[it.first] = type; } return result; } diff --git a/shell/browser/browser_mac.mm b/shell/browser/browser_mac.mm index 16e5c4cc22..e698e699e5 100644 --- a/shell/browser/browser_mac.mm +++ b/shell/browser/browser_mac.mm @@ -417,8 +417,8 @@ v8::Local Browser::DockShow(v8::Isolate* isolate) { dispatch_time_t one_ms = dispatch_time(DISPATCH_TIME_NOW, USEC_PER_SEC); dispatch_after(one_ms, dispatch_get_main_queue(), ^{ TransformProcessType(&psn, kProcessTransformToForegroundApplication); - dispatch_time_t one_ms = dispatch_time(DISPATCH_TIME_NOW, USEC_PER_SEC); - dispatch_after(one_ms, dispatch_get_main_queue(), ^{ + dispatch_time_t one_ms_2 = dispatch_time(DISPATCH_TIME_NOW, USEC_PER_SEC); + dispatch_after(one_ms_2, dispatch_get_main_queue(), ^{ [[NSRunningApplication currentApplication] activateWithOptions:NSApplicationActivateIgnoringOtherApps]; p.Resolve(); diff --git a/shell/browser/electron_browser_client.cc b/shell/browser/electron_browser_client.cc index 661f54d6b3..253adedb81 100644 --- a/shell/browser/electron_browser_client.cc +++ b/shell/browser/electron_browser_client.cc @@ -1838,6 +1838,7 @@ void BindBadgeServiceForServiceWorker( void ElectronBrowserClient::RegisterBrowserInterfaceBindersForServiceWorker( content::BrowserContext* browser_context, + const content::ServiceWorkerVersionBaseInfo& service_worker_version_info, mojo::BinderMapWithContext* map) { map->Add( diff --git a/shell/browser/electron_browser_client.h b/shell/browser/electron_browser_client.h index 252c61bf15..ccff2a3a48 100644 --- a/shell/browser/electron_browser_client.h +++ b/shell/browser/electron_browser_client.h @@ -84,6 +84,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient, mojo::BinderMapWithContext* map) override; void RegisterBrowserInterfaceBindersForServiceWorker( content::BrowserContext* browser_context, + const content::ServiceWorkerVersionBaseInfo& service_worker_version_info, mojo::BinderMapWithContext* map) override; #if BUILDFLAG(IS_LINUX) diff --git a/shell/browser/electron_browser_context.cc b/shell/browser/electron_browser_context.cc index 86aa608c68..8e8a2b5851 100644 --- a/shell/browser/electron_browser_context.cc +++ b/shell/browser/electron_browser_context.cc @@ -219,7 +219,7 @@ void ElectronBrowserContext::InitPrefs() { #if BUILDFLAG(ENABLE_BUILTIN_SPELLCHECKER) base::Value::List current_dictionaries = - prefs()->GetValueList(spellcheck::prefs::kSpellCheckDictionaries).Clone(); + prefs()->GetList(spellcheck::prefs::kSpellCheckDictionaries).Clone(); // No configured dictionaries, the default will be en-US if (current_dictionaries.empty()) { std::string default_code = spellcheck::GetCorrespondingSpellCheckLanguage( diff --git a/shell/browser/electron_browser_main_parts.cc b/shell/browser/electron_browser_main_parts.cc index 601879ab28..79a78d5cf4 100644 --- a/shell/browser/electron_browser_main_parts.cc +++ b/shell/browser/electron_browser_main_parts.cc @@ -80,6 +80,7 @@ #include "ui/gtk/gtk_util.h" // nogncheck #include "ui/linux/linux_ui.h" #include "ui/linux/linux_ui_factory.h" +#include "ui/linux/linux_ui_getter.h" #include "ui/ozone/public/ozone_platform.h" #endif @@ -115,6 +116,20 @@ namespace electron { namespace { +#if BUILDFLAG(IS_LINUX) +class LinuxUiGetterImpl : public ui::LinuxUiGetter { + public: + LinuxUiGetterImpl() = default; + ~LinuxUiGetterImpl() override = default; + ui::LinuxUiTheme* GetForWindow(aura::Window* window) override { + return GetForProfile(nullptr); + } + ui::LinuxUiTheme* GetForProfile(Profile* profile) override { + return ui::GetLinuxUiTheme(ui::SystemTheme::kGtk); + } +}; +#endif + template void Erase(T* container, typename T::iterator iter) { container->erase(iter); @@ -384,6 +399,8 @@ void ElectronBrowserMainParts::PostDestroyThreads() { void ElectronBrowserMainParts::ToolkitInitialized() { #if BUILDFLAG(IS_LINUX) auto* linux_ui = ui::GetDefaultLinuxUi(); + CHECK(linux_ui); + linux_ui_getter_ = std::make_unique(); // Try loading gtk symbols used by Electron. electron::InitializeElectron_gtk(gtk::GetLibGtk()); @@ -403,7 +420,9 @@ void ElectronBrowserMainParts::ToolkitInitialized() { // Update the native theme when GTK theme changes. The GetNativeTheme // here returns a NativeThemeGtk, which monitors GTK settings. dark_theme_observer_ = std::make_unique(); - linux_ui->GetNativeTheme()->AddObserver(dark_theme_observer_.get()); + auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(nullptr); + CHECK(linux_ui_theme); + linux_ui_theme->GetNativeTheme()->AddObserver(dark_theme_observer_.get()); ui::LinuxUi::SetInstance(linux_ui); // Cursor theme changes are tracked by LinuxUI (via a CursorThemeManager diff --git a/shell/browser/electron_browser_main_parts.h b/shell/browser/electron_browser_main_parts.h index 76d5d2d077..b587648db6 100644 --- a/shell/browser/electron_browser_main_parts.h +++ b/shell/browser/electron_browser_main_parts.h @@ -40,6 +40,10 @@ namespace device { class GeolocationManager; } +namespace ui { +class LinuxUiGetter; +} + namespace electron { class Browser; @@ -147,6 +151,8 @@ class ElectronBrowserMainParts : public content::BrowserMainParts { #if BUILDFLAG(IS_LINUX) // Used to notify the native theme of changes to dark mode. std::unique_ptr dark_theme_observer_; + + std::unique_ptr linux_ui_getter_; #endif std::unique_ptr layout_provider_; diff --git a/shell/browser/electron_pdf_web_contents_helper_client.cc b/shell/browser/electron_pdf_web_contents_helper_client.cc index ad0636bec4..7a8055b6c3 100644 --- a/shell/browser/electron_pdf_web_contents_helper_client.cc +++ b/shell/browser/electron_pdf_web_contents_helper_client.cc @@ -21,12 +21,12 @@ content::RenderFrameHost* ElectronPDFWebContentsHelperClient::FindPdfFrame( } void ElectronPDFWebContentsHelperClient::UpdateContentRestrictions( - content::WebContents* contents, + content::RenderFrameHost* render_frame_host, int content_restrictions) {} void ElectronPDFWebContentsHelperClient::OnPDFHasUnsupportedFeature( content::WebContents* contents) {} void ElectronPDFWebContentsHelperClient::OnSaveURL( content::WebContents* contents) {} void ElectronPDFWebContentsHelperClient::SetPluginCanSave( - content::WebContents* contents, + content::RenderFrameHost* render_frame_host, bool can_save) {} diff --git a/shell/browser/electron_pdf_web_contents_helper_client.h b/shell/browser/electron_pdf_web_contents_helper_client.h index c4d559d103..a17537ae27 100644 --- a/shell/browser/electron_pdf_web_contents_helper_client.h +++ b/shell/browser/electron_pdf_web_contents_helper_client.h @@ -20,11 +20,12 @@ class ElectronPDFWebContentsHelperClient // pdf::PDFWebContentsHelperClient content::RenderFrameHost* FindPdfFrame( content::WebContents* contents) override; - void UpdateContentRestrictions(content::WebContents* contents, + void UpdateContentRestrictions(content::RenderFrameHost* render_frame_host, int content_restrictions) override; void OnPDFHasUnsupportedFeature(content::WebContents* contents) override; void OnSaveURL(content::WebContents* contents) override; - void SetPluginCanSave(content::WebContents* contents, bool can_save) override; + void SetPluginCanSave(content::RenderFrameHost* render_frame_host, + bool can_save) override; }; #endif // ELECTRON_SHELL_BROWSER_ELECTRON_PDF_WEB_CONTENTS_HELPER_CLIENT_H_ diff --git a/shell/browser/extensions/api/resources_private/resources_private_api.cc b/shell/browser/extensions/api/resources_private/resources_private_api.cc index d0a2ebfbd6..391c1a876a 100644 --- a/shell/browser/extensions/api/resources_private/resources_private_api.cc +++ b/shell/browser/extensions/api/resources_private/resources_private_api.cc @@ -33,7 +33,7 @@ namespace extensions { namespace { -void AddStringsForPdf(base::DictionaryValue* dict) { +void AddStringsForPdf(base::Value::Dict* dict) { #if BUILDFLAG(ENABLE_PDF) static constexpr webui::LocalizedString kPdfResources[] = { {"passwordDialogTitle", IDS_PDF_PASSWORD_DIALOG_TITLE}, @@ -55,16 +55,16 @@ void AddStringsForPdf(base::DictionaryValue* dict) { {"tooltipZoomOut", IDS_PDF_TOOLTIP_ZOOM_OUT}, }; for (const auto& resource : kPdfResources) - dict->SetString(resource.name, l10n_util::GetStringUTF16(resource.id)); + dict->Set(resource.name, l10n_util::GetStringUTF16(resource.id)); - dict->SetString("presetZoomFactors", zoom::GetPresetZoomFactorsAsJSON()); + dict->Set("presetZoomFactors", zoom::GetPresetZoomFactorsAsJSON()); #endif // BUILDFLAG(ENABLE_PDF) } -void AddAdditionalDataForPdf(base::DictionaryValue* dict) { +void AddAdditionalDataForPdf(base::Value::Dict* dict) { #if BUILDFLAG(ENABLE_PDF) - dict->SetKey("pdfAnnotationsEnabled", base::Value(false)); - dict->SetKey("printingEnabled", base::Value(true)); + dict->Set("pdfAnnotationsEnabled", base::Value(false)); + dict->Set("printingEnabled", base::Value(true)); #endif // BUILDFLAG(ENABLE_PDF) } @@ -81,14 +81,14 @@ ResourcesPrivateGetStringsFunction::~ResourcesPrivateGetStringsFunction() = ExtensionFunction::ResponseAction ResourcesPrivateGetStringsFunction::Run() { std::unique_ptr params( get_strings::Params::Create(args())); - auto dict = std::make_unique(); + base::Value::Dict dict; api::resources_private::Component component = params->component; switch (component) { case api::resources_private::COMPONENT_PDF: - AddStringsForPdf(dict.get()); - AddAdditionalDataForPdf(dict.get()); + AddStringsForPdf(&dict); + AddAdditionalDataForPdf(&dict); break; case api::resources_private::COMPONENT_IDENTITY: NOTREACHED(); @@ -99,10 +99,9 @@ ExtensionFunction::ResponseAction ResourcesPrivateGetStringsFunction::Run() { } const std::string& app_locale = g_browser_process->GetApplicationLocale(); - webui::SetLoadTimeDataDefaults(app_locale, dict.get()); + webui::SetLoadTimeDataDefaults(app_locale, &dict); - return RespondNow( - OneArgument(base::Value::FromUniquePtrValue(std::move(dict)))); + return RespondNow(WithArguments(std::move(dict))); } } // namespace extensions diff --git a/shell/browser/extensions/api/tabs/tabs_api.cc b/shell/browser/extensions/api/tabs/tabs_api.cc index 31a1a3d28d..c5eb035306 100644 --- a/shell/browser/extensions/api/tabs/tabs_api.cc +++ b/shell/browser/extensions/api/tabs/tabs_api.cc @@ -188,8 +188,7 @@ ExtensionFunction::ResponseAction TabsReloadFunction::Run() { EXTENSION_FUNCTION_VALIDATE(params.get()); bool bypass_cache = false; - if (params->reload_properties.get() && - params->reload_properties->bypass_cache) { + if (params->reload_properties && params->reload_properties->bypass_cache) { bypass_cache = *params->reload_properties->bypass_cache; } diff --git a/shell/browser/extensions/electron_component_extension_resource_manager.cc b/shell/browser/extensions/electron_component_extension_resource_manager.cc index 40e37cdffa..d83341d82a 100644 --- a/shell/browser/extensions/electron_component_extension_resource_manager.cc +++ b/shell/browser/extensions/electron_component_extension_resource_manager.cc @@ -33,13 +33,13 @@ ElectronComponentExtensionResourceManager:: AddComponentResourceEntries(kPdfResources, kPdfResourcesSize); // Register strings for the PDF viewer, so that $i18n{} replacements work. - base::Value pdf_strings(base::Value::Type::DICTIONARY); + base::Value::Dict pdf_strings; pdf_extension_util::AddStrings( pdf_extension_util::PdfViewerContext::kPdfViewer, &pdf_strings); pdf_extension_util::AddAdditionalData(true, &pdf_strings); ui::TemplateReplacements pdf_viewer_replacements; - ui::TemplateReplacementsFromDictionaryValue(pdf_strings.GetDict(), + ui::TemplateReplacementsFromDictionaryValue(pdf_strings, &pdf_viewer_replacements); extension_template_replacements_[extension_misc::kPdfExtensionId] = std::move(pdf_viewer_replacements); diff --git a/shell/browser/extensions/electron_extensions_browser_client.cc b/shell/browser/extensions/electron_extensions_browser_client.cc index bf1fc1da6e..86c569b928 100644 --- a/shell/browser/extensions/electron_extensions_browser_client.cc +++ b/shell/browser/extensions/electron_extensions_browser_client.cc @@ -120,6 +120,29 @@ BrowserContext* ElectronExtensionsBrowserClient::GetOriginalContext( } } +content::BrowserContext* +ElectronExtensionsBrowserClient::GetRedirectedContextInIncognito( + content::BrowserContext* context, + bool force_guest_profile, + bool force_system_profile) { + return GetOriginalContext(context); +} + +content::BrowserContext* +ElectronExtensionsBrowserClient::GetContextForRegularAndIncognito( + content::BrowserContext* context, + bool force_guest_profile, + bool force_system_profile) { + return context; +} + +content::BrowserContext* ElectronExtensionsBrowserClient::GetRegularProfile( + content::BrowserContext* context, + bool force_guest_profile, + bool force_system_profile) { + return context->IsOffTheRecord() ? nullptr : context; +} + bool ElectronExtensionsBrowserClient::IsGuestSession( BrowserContext* context) const { return false; diff --git a/shell/browser/extensions/electron_extensions_browser_client.h b/shell/browser/extensions/electron_extensions_browser_client.h index 7681112a75..86f2cf5dc4 100644 --- a/shell/browser/extensions/electron_extensions_browser_client.h +++ b/shell/browser/extensions/electron_extensions_browser_client.h @@ -56,6 +56,18 @@ class ElectronExtensionsBrowserClient content::BrowserContext* context) override; content::BrowserContext* GetOriginalContext( content::BrowserContext* context) override; + content::BrowserContext* GetRedirectedContextInIncognito( + content::BrowserContext* context, + bool force_guest_profile, + bool force_system_profile) override; + content::BrowserContext* GetContextForRegularAndIncognito( + content::BrowserContext* context, + bool force_guest_profile, + bool force_system_profile) override; + content::BrowserContext* GetRegularProfile( + content::BrowserContext* context, + bool force_guest_profile, + bool force_system_profile) override; bool IsGuestSession(content::BrowserContext* context) const override; bool IsExtensionIncognitoEnabled( const std::string& extension_id, diff --git a/shell/browser/extensions/electron_messaging_delegate.cc b/shell/browser/extensions/electron_messaging_delegate.cc index f516b6c0a6..d64573280f 100644 --- a/shell/browser/extensions/electron_messaging_delegate.cc +++ b/shell/browser/extensions/electron_messaging_delegate.cc @@ -9,6 +9,7 @@ #include "base/callback.h" #include "base/logging.h" +#include "base/values.h" #include "build/build_config.h" #include "components/prefs/pref_service.h" #include "content/public/browser/browser_context.h" @@ -50,7 +51,7 @@ absl::optional ElectronMessagingDelegate::MaybeGetTabInfo( tab.url = api_contents->GetURL().spec(); tab.title = base::UTF16ToUTF8(api_contents->GetTitle()); tab.audible = api_contents->IsCurrentlyAudible(); - return std::move(tab.ToValue()->GetDict()); + return tab.ToValue(); } } return absl::nullopt; diff --git a/shell/browser/file_select_helper.h b/shell/browser/file_select_helper.h index 793a63bd23..3e6c201840 100644 --- a/shell/browser/file_select_helper.h +++ b/shell/browser/file_select_helper.h @@ -200,7 +200,7 @@ class FileSelectHelper : public base::RefCountedThreadSafe< scoped_refptr listener_; // Dialog box used for choosing files to upload from file form fields. - scoped_refptr select_file_dialog_; + std::unique_ptr select_file_dialog_; std::unique_ptr select_file_types_; // The type of file dialog last shown. This is SELECT_NONE if an diff --git a/shell/browser/net/node_stream_loader.h b/shell/browser/net/node_stream_loader.h index 450c388fed..e3eab9f046 100644 --- a/shell/browser/net/node_stream_loader.h +++ b/shell/browser/net/node_stream_loader.h @@ -11,6 +11,7 @@ #include #include "mojo/public/cpp/bindings/pending_remote.h" +#include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/system/data_pipe_producer.h" #include "services/network/public/mojom/url_loader.mojom.h" diff --git a/shell/browser/ui/cocoa/electron_menu_controller.mm b/shell/browser/ui/cocoa/electron_menu_controller.mm index 9caeadd9fb..9d5945521d 100644 --- a/shell/browser/ui/cocoa/electron_menu_controller.mm +++ b/shell/browser/ui/cocoa/electron_menu_controller.mm @@ -343,11 +343,11 @@ static base::scoped_nsobject recentDocumentsMenuSwap_; if (role == u"services") { std::u16string title = u"Services"; - NSString* label = l10n_util::FixUpWindowsStyleLabel(title); + NSString* sub_label = l10n_util::FixUpWindowsStyleLabel(title); [item setTarget:nil]; [item setAction:nil]; - NSMenu* submenu = [[[NSMenu alloc] initWithTitle:label] autorelease]; + NSMenu* submenu = [[[NSMenu alloc] initWithTitle:sub_label] autorelease]; [item setSubmenu:submenu]; [NSApp setServicesMenu:submenu]; } else if (role == u"sharemenu") { diff --git a/shell/browser/ui/inspectable_web_contents.cc b/shell/browser/ui/inspectable_web_contents.cc index 2811a22199..af0effd473 100644 --- a/shell/browser/ui/inspectable_web_contents.cc +++ b/shell/browser/ui/inspectable_web_contents.cc @@ -573,10 +573,10 @@ void InspectableWebContents::LoadCompleted() { SetIsDocked(DispatchCallback(), false); } else { if (dock_state_.empty()) { - const base::Value* prefs = - pref_service_->GetDictionary(kDevToolsPreferences); + const base::Value::Dict& prefs = + pref_service_->GetDict(kDevToolsPreferences); const std::string* current_dock_state = - prefs->FindStringKey("currentDockState"); + prefs.FindString("currentDockState"); base::RemoveChars(*current_dock_state, "\"", &dock_state_); } std::u16string javascript = base::UTF8ToUTF16( @@ -857,14 +857,13 @@ void InspectableWebContents::SendJsonRequest(DispatchCallback callback, } void InspectableWebContents::GetPreferences(DispatchCallback callback) { - const base::Value* prefs = pref_service_->GetDictionary(kDevToolsPreferences); - std::move(callback).Run(prefs); + const base::Value& prefs = pref_service_->GetValue(kDevToolsPreferences); + std::move(callback).Run(&prefs); } void InspectableWebContents::GetPreference(DispatchCallback callback, const std::string& name) { - if (auto* pref = - pref_service_->GetDictionary(kDevToolsPreferences)->FindKey(name)) { + if (auto* pref = pref_service_->GetDict(kDevToolsPreferences).Find(name)) { std::move(callback).Run(pref); return; } diff --git a/shell/browser/ui/views/client_frame_view_linux.cc b/shell/browser/ui/views/client_frame_view_linux.cc index 97905462a4..9c22c9d09b 100644 --- a/shell/browser/ui/views/client_frame_view_linux.cc +++ b/shell/browser/ui/views/client_frame_view_linux.cc @@ -67,7 +67,8 @@ const char ClientFrameViewLinux::kViewClassName[] = "ClientFrameView"; ClientFrameViewLinux::ClientFrameViewLinux() : theme_(ui::NativeTheme::GetInstanceForNativeUi()), - nav_button_provider_(ui::LinuxUi::instance()->CreateNavButtonProvider()), + nav_button_provider_( + ui::LinuxUiTheme::GetForProfile(nullptr)->CreateNavButtonProvider()), nav_buttons_{ NavButton{ui::NavButtonProvider::FrameButtonDisplayType::kClose, views::FrameButton::kClose, &views::Widget::Close, @@ -103,14 +104,14 @@ ClientFrameViewLinux::ClientFrameViewLinux() native_theme_observer_.Observe(theme_); - if (ui::LinuxUi* ui = ui::LinuxUi::instance()) { + if (ui::LinuxUiTheme* ui = ui::LinuxUiTheme::GetForProfile(nullptr)) { ui->AddWindowButtonOrderObserver(this); OnWindowButtonOrderingChange(); } } ClientFrameViewLinux::~ClientFrameViewLinux() { - if (ui::LinuxUi* ui = ui::LinuxUi::instance()) + if (ui::LinuxUiTheme* ui = ui::LinuxUiTheme::GetForProfile(nullptr)) ui->RemoveWindowButtonOrderObserver(this); theme_->RemoveObserver(this); } @@ -130,8 +131,9 @@ void ClientFrameViewLinux::Init(NativeWindowViews* window, window->GetAcceleratedWidget())); host_supports_client_frame_shadow_ = tree_host->SupportsClientFrameShadow(); - frame_provider_ = ui::LinuxUi::instance()->GetWindowFrameProvider( - !host_supports_client_frame_shadow_, frame_->IsMaximized()); + frame_provider_ = + ui::LinuxUiTheme::GetForProfile(nullptr)->GetWindowFrameProvider( + !host_supports_client_frame_shadow_, frame_->IsMaximized()); UpdateWindowTitle(); @@ -274,8 +276,9 @@ void ClientFrameViewLinux::Layout() { return; } - frame_provider_ = ui::LinuxUi::instance()->GetWindowFrameProvider( - !host_supports_client_frame_shadow_, frame_->IsMaximized()); + frame_provider_ = + ui::LinuxUiTheme::GetForProfile(nullptr)->GetWindowFrameProvider( + !host_supports_client_frame_shadow_, frame_->IsMaximized()); UpdateButtonImages(); LayoutButtons(); diff --git a/shell/browser/ui/views/client_frame_view_linux.h b/shell/browser/ui/views/client_frame_view_linux.h index cd0acf7b8a..c9f33d146e 100644 --- a/shell/browser/ui/views/client_frame_view_linux.h +++ b/shell/browser/ui/views/client_frame_view_linux.h @@ -130,10 +130,10 @@ class ClientFrameViewLinux : public FramelessView, base::ScopedObservation native_theme_observer_{this}; - base::ScopedObservation + &ui::LinuxUiTheme::AddWindowButtonOrderObserver, + &ui::LinuxUiTheme::RemoveWindowButtonOrderObserver> window_button_order_observer_{this}; base::CallbackListSubscription paint_as_active_changed_subscription_; diff --git a/shell/browser/ui/views/electron_views_delegate_win.cc b/shell/browser/ui/views/electron_views_delegate_win.cc index 10cb4ca820..e3d60fe230 100644 --- a/shell/browser/ui/views/electron_views_delegate_win.cc +++ b/shell/browser/ui/views/electron_views_delegate_win.cc @@ -34,18 +34,19 @@ bool MonitorHasAutohideTaskbarForEdge(UINT edge, HMONITOR monitor) { HWND taskbar = reinterpret_cast( SHAppBarMessage(ABM_GETAUTOHIDEBAR, &taskbar_data)); if (!::IsWindow(taskbar)) { - APPBARDATA taskbar_data = {sizeof(APPBARDATA), 0, 0, 0}; - unsigned int taskbar_state = SHAppBarMessage(ABM_GETSTATE, &taskbar_data); + APPBARDATA new_taskbar_data = {sizeof(APPBARDATA), 0, 0, 0}; + unsigned int taskbar_state = + SHAppBarMessage(ABM_GETSTATE, &new_taskbar_data); if (!(taskbar_state & ABS_AUTOHIDE)) return false; - taskbar_data.hWnd = ::FindWindow(L"Shell_TrayWnd", NULL); - if (!::IsWindow(taskbar_data.hWnd)) + new_taskbar_data.hWnd = ::FindWindow(L"Shell_TrayWnd", NULL); + if (!::IsWindow(new_taskbar_data.hWnd)) return false; - SHAppBarMessage(ABM_GETTASKBARPOS, &taskbar_data); - if (taskbar_data.uEdge == edge) - taskbar = taskbar_data.hWnd; + SHAppBarMessage(ABM_GETTASKBARPOS, &new_taskbar_data); + if (new_taskbar_data.uEdge == edge) + taskbar = new_taskbar_data.hWnd; } // There is a potential race condition here: diff --git a/shell/browser/ui/views/submenu_button.cc b/shell/browser/ui/views/submenu_button.cc index 2f8c4b63c0..d60bc78990 100644 --- a/shell/browser/ui/views/submenu_button.cc +++ b/shell/browser/ui/views/submenu_button.cc @@ -54,8 +54,8 @@ void SubmenuButton::SetUnderlineColor(SkColor color) { } void SubmenuButton::GetAccessibleNodeData(ui::AXNodeData* node_data) { - node_data->SetName(GetAccessibleName()); node_data->role = ax::mojom::Role::kPopUpButton; + node_data->SetName(GetAccessibleName()); } void SubmenuButton::PaintButtonContents(gfx::Canvas* canvas) { diff --git a/shell/browser/zoom_level_delegate.cc b/shell/browser/zoom_level_delegate.cc index a49cd01af0..f15831e09b 100644 --- a/shell/browser/zoom_level_delegate.cc +++ b/shell/browser/zoom_level_delegate.cc @@ -64,7 +64,7 @@ void ZoomLevelDelegate::SetDefaultZoomLevelPref(double level) { double ZoomLevelDelegate::GetDefaultZoomLevelPref() const { const base::Value::Dict& default_zoom_level_dictionary = - pref_service_->GetValueDict(kPartitionDefaultZoomLevel); + pref_service_->GetDict(kPartitionDefaultZoomLevel); // If no default has been previously set, the default returned is the // value used to initialize default_zoom_level in this function. return default_zoom_level_dictionary.FindDouble(partition_key_).value_or(0.0); @@ -147,7 +147,7 @@ void ZoomLevelDelegate::InitHostZoomMap(content::HostZoomMap* host_zoom_map) { // Initialize the HostZoomMap with per-host zoom levels from the persisted // zoom-level preference values. const base::Value::Dict& host_zoom_dictionaries = - pref_service_->GetValueDict(kPartitionPerHostZoomLevels); + pref_service_->GetDict(kPartitionPerHostZoomLevels); const base::Value::Dict* host_zoom_dictionary = host_zoom_dictionaries.FindDict(partition_key_); if (host_zoom_dictionary) { diff --git a/shell/common/platform_util_win.cc b/shell/common/platform_util_win.cc index a89c1c42ba..288819e136 100644 --- a/shell/common/platform_util_win.cc +++ b/shell/common/platform_util_win.cc @@ -331,23 +331,21 @@ void ShowItemInFolder(const base::FilePath& full_path) { void OpenPath(const base::FilePath& full_path, OpenCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - base::PostTaskAndReplyWithResult( - base::ThreadPool::CreateCOMSTATaskRunner( - {base::MayBlock(), base::TaskPriority::USER_BLOCKING}) - .get(), - FROM_HERE, base::BindOnce(&OpenPathOnThread, full_path), - std::move(callback)); + base::ThreadPool::CreateCOMSTATaskRunner( + {base::MayBlock(), base::TaskPriority::USER_BLOCKING}) + ->PostTaskAndReplyWithResult(FROM_HERE, + base::BindOnce(&OpenPathOnThread, full_path), + std::move(callback)); } void OpenExternal(const GURL& url, const OpenExternalOptions& options, OpenCallback callback) { - base::PostTaskAndReplyWithResult( - base::ThreadPool::CreateCOMSTATaskRunner( - {base::MayBlock(), base::TaskPriority::USER_BLOCKING}) - .get(), - FROM_HERE, base::BindOnce(&OpenExternalOnWorkerThread, url, options), - std::move(callback)); + base::ThreadPool::CreateCOMSTATaskRunner( + {base::MayBlock(), base::TaskPriority::USER_BLOCKING}) + ->PostTaskAndReplyWithResult( + FROM_HERE, base::BindOnce(&OpenExternalOnWorkerThread, url, options), + std::move(callback)); } bool MoveItemToTrashWithError(const base::FilePath& path, diff --git a/shell/common/v8_value_serializer.cc b/shell/common/v8_value_serializer.cc index 1876240378..c66e85f893 100644 --- a/shell/common/v8_value_serializer.cc +++ b/shell/common/v8_value_serializer.cc @@ -12,6 +12,7 @@ #include "shell/common/gin_helper/microtasks_scope.h" #include "skia/public/mojom/bitmap.mojom.h" #include "third_party/blink/public/common/messaging/cloneable_message.h" +#include "third_party/blink/public/common/messaging/web_message_port.h" #include "ui/gfx/image/image_skia.h" #include "v8/include/v8.h" @@ -46,6 +47,8 @@ class V8Serializer : public v8::ValueSerializer::Delegate { DCHECK_EQ(buffer.first, data_.data()); out->encoded_message = base::make_span(buffer.first, buffer.second); out->owned_encoded_message = std::move(data_); + out->sender_agent_cluster_id = + blink::WebMessagePort::GetEmbedderAgentClusterID(); return true; } diff --git a/shell/renderer/api/electron_api_context_bridge.cc b/shell/renderer/api/electron_api_context_bridge.cc index 1754370a3d..af4a141aa2 100644 --- a/shell/renderer/api/electron_api_context_bridge.cc +++ b/shell/renderer/api/electron_api_context_bridge.cc @@ -349,8 +349,8 @@ v8::MaybeLocal PassValueToOtherContext( blink::WebBlob blob = blink::WebBlob::FromV8Value(value); if (!blob.IsNull()) { v8::Context::Scope destination_context_scope(destination_context); - return v8::MaybeLocal(blob.ToV8Value( - destination_context->Global(), destination_context->GetIsolate())); + return v8::MaybeLocal( + blob.ToV8Value(destination_context->GetIsolate())); } // Proxy all objects diff --git a/shell/renderer/renderer_client_base.cc b/shell/renderer/renderer_client_base.cc index 9187dca38e..cdef182a54 100644 --- a/shell/renderer/renderer_client_base.cc +++ b/shell/renderer/renderer_client_base.cc @@ -89,6 +89,7 @@ #include "extensions/common/extensions_client.h" #include "extensions/renderer/dispatcher.h" #include "extensions/renderer/extension_frame_helper.h" +#include "extensions/renderer/extension_web_view_helper.h" #include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container_manager.h" #include "shell/common/extensions/electron_extensions_client.h" #include "shell/renderer/extensions/electron_extensions_renderer_client.h" @@ -539,6 +540,14 @@ void RendererClientBase::WillDestroyServiceWorkerContextOnWorkerThread( #endif } +void RendererClientBase::WebViewCreated(blink::WebView* web_view, + bool was_created_by_renderer, + const url::Origin* outermost_origin) { +#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS) + new extensions::ExtensionWebViewHelper(web_view, outermost_origin); +#endif +} + v8::Local RendererClientBase::GetContext( blink::WebLocalFrame* frame, v8::Isolate* isolate) const { diff --git a/shell/renderer/renderer_client_base.h b/shell/renderer/renderer_client_base.h index 474a5e1a44..bf020840d6 100644 --- a/shell/renderer/renderer_client_base.h +++ b/shell/renderer/renderer_client_base.h @@ -138,6 +138,9 @@ class RendererClientBase : public content::ContentRendererClient int64_t service_worker_version_id, const GURL& service_worker_scope, const GURL& script_url) override; + void WebViewCreated(blink::WebView* web_view, + bool was_created_by_renderer, + const url::Origin* outermost_origin) override; protected: #if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)