diff --git a/.circleci/build_config.yml b/.circleci/build_config.yml index 9d8c587022e1..6b075c4c68b3 100644 --- a/.circleci/build_config.yml +++ b/.circleci/build_config.yml @@ -431,9 +431,11 @@ step-get-more-space-on-mac: &step-get-more-space-on-mac background: true # On macOS delete all .git directories under src/ expect for -# third_party/angle/ because of build time generation of file +# third_party/angle/ and third_party/dawn/ because of build time generation of files # gen/angle/commit.h depends on third_party/angle/.git/HEAD # https://chromium-review.googlesource.com/c/angle/angle/+/2074924 +# and dawn/common/Version_autogen.h depends on third_party/dawn/.git/HEAD +# https://dawn-review.googlesource.com/c/dawn/+/83901 # TODO: maybe better to always leave out */.git/HEAD file for all targets ? step-delete-git-directories: &step-delete-git-directories run: @@ -441,7 +443,7 @@ step-delete-git-directories: &step-delete-git-directories command: | if [ "`uname`" == "Darwin" ]; then cd src - ( find . -type d -name ".git" -not -path "./third_party/angle/*" ) | xargs rm -rf + ( find . -type d -name ".git" -not -path "./third_party/angle/*" -not -path "./third_party/dawn/*" ) | xargs rm -rf fi # On macOS the yarn install command during gclient sync was run on a linux diff --git a/DEPS b/DEPS index 087a1ca200ee..191d6b86c7db 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '102.0.4971.0', + '102.0.4989.0', 'node_version': 'v16.14.2', 'nan_version': diff --git a/appveyor.yml b/appveyor.yml index 2d364a4057cb..d716dad15c70 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -25,7 +25,7 @@ version: 1.0.{build} build_cloud: electron-16-core -image: vs2019bt-16.6.2 +image: vs2019bt-16.16.11 environment: GIT_CACHE_PATH: C:\Users\electron\libcc_cache ELECTRON_OUT_DIR: Default @@ -150,6 +150,12 @@ build_script: if ($LASTEXITCODE -ne 0) { Write-warning "Failed to add third_party\angle\.git; continuing anyway" } + # build time generation of file dawn/common/Version_autogen.h depends on third_party/dawn/.git/HEAD + # https://dawn-review.googlesource.com/c/dawn/+/83901 + $(7z a $zipfile src\third_party\dawn\.git) + if ($LASTEXITCODE -ne 0) { + Write-warning "Failed to add third_party\dawn\.git; continuing anyway" + } } - cd src - set BUILD_CONFIG_PATH=//electron/build/args/%GN_CONFIG%.gn @@ -172,7 +178,7 @@ build_script: - ninja -C out/Default electron:electron_chromedriver_zip - ninja -C out/Default third_party/electron_node:headers - python %LOCAL_GOMA_DIR%\goma_ctl.py stat - - python electron/build/profile_toolchain.py --output-json=out/Default/windows_toolchain_profile.json + - python3 electron/build/profile_toolchain.py --output-json=out/Default/windows_toolchain_profile.json - 7z a node_headers.zip out\Default\gen\node_headers # Temporarily disable symbol generation on 32-bit Windows due to failures - ps: >- diff --git a/chromium_src/BUILD.gn b/chromium_src/BUILD.gn index 6c3ff516dcb5..006e7373f2a6 100644 --- a/chromium_src/BUILD.gn +++ b/chromium_src/BUILD.gn @@ -69,6 +69,7 @@ static_library("chrome") { "//chrome/browser/ui/exclusive_access/keyboard_lock_controller.h", "//chrome/browser/ui/exclusive_access/mouse_lock_controller.cc", "//chrome/browser/ui/exclusive_access/mouse_lock_controller.h", + "//chrome/browser/ui/native_window_tracker.h", "//chrome/browser/ui/views/eye_dropper/eye_dropper.cc", "//chrome/browser/ui/views/eye_dropper/eye_dropper.h", "//chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc", @@ -119,6 +120,8 @@ static_library("chrome") { if (use_aura) { sources += [ "//chrome/browser/platform_util_aura.cc", + "//chrome/browser/ui/aura/native_window_tracker_aura.cc", + "//chrome/browser/ui/aura/native_window_tracker_aura.h", "//chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc", ] } diff --git a/lib/browser/api/app.ts b/lib/browser/api/app.ts index f952dcd0194b..346b48c9fc4b 100644 --- a/lib/browser/api/app.ts +++ b/lib/browser/api/app.ts @@ -1,6 +1,6 @@ import * as fs from 'fs'; -import { Menu } from 'electron/main'; +import { Menu, deprecate } from 'electron/main'; const bindings = process._linkedBinding('electron_browser_app'); const commandLine = process._linkedBinding('electron_common_command_line'); @@ -111,3 +111,7 @@ for (const name of events) { webContents.emit(name, event, ...args); }); } + +// Deprecation. +deprecate.event(app, 'gpu-process-crashed', 'child-process-gone'); +deprecate.event(app, 'renderer-process-crashed', 'render-process-gone'); diff --git a/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch b/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch index 14d1535fe63f..2440aa84adfb 100644 --- a/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch +++ b/patches/chromium/add_contentgpuclient_precreatemessageloop_callback.patch @@ -10,10 +10,10 @@ 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 9f840287967b50ec1db3a9d27973429ab231a486..731a279e395a8762a25a115665bff99be428de3d 100644 +index 660c5f35c6095b23cc483c8eb1c119c215dc681d..961c0d7f7a9fe5f9e130998aeb0c872c571b710e 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc -@@ -239,6 +239,10 @@ int GpuMain(MainFunctionParams parameters) { +@@ -240,6 +240,10 @@ int GpuMain(MainFunctionParams parameters) { // to the GpuProcessHost once the GpuServiceImpl has started. viz::GpuServiceImpl::InstallPreInitializeLogHandler(); @@ -24,7 +24,7 @@ index 9f840287967b50ec1db3a9d27973429ab231a486..731a279e395a8762a25a115665bff99b // We are experiencing what appear to be memory-stomp issues in the GPU // process. These issues seem to be impacting the task executor and listeners // registered to it. Create the task executor on the heap to guard against -@@ -345,7 +349,6 @@ int GpuMain(MainFunctionParams parameters) { +@@ -346,7 +350,6 @@ int GpuMain(MainFunctionParams parameters) { GpuProcess gpu_process(io_thread_priority); #endif diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index b5fd394b36e1..be61078f2626 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 d55a1b4f71224a2156eb5f3b0b32f41643b3dc28..f41c8f3d74f72d6e2220af527500749ef7409d77 100644 +index eb6f4c87c4479d5f4fb8e3f85a231fb9cc744a63..11298b413021b4d438195482db253a93356b2862 100644 --- a/content/public/renderer/render_frame_observer.h +++ b/content/public/renderer/render_frame_observer.h -@@ -131,6 +131,8 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener, +@@ -132,6 +132,8 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener, virtual void DidHandleOnloadEvents() {} virtual void DidCreateScriptContext(v8::Local context, int32_t world_id) {} @@ -23,10 +23,10 @@ index d55a1b4f71224a2156eb5f3b0b32f41643b3dc28..f41c8f3d74f72d6e2220af527500749e int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index e0d4faf86b7afe7f29da5e5c8babc78a40e72ae1..1fbf6abed9c7d1bbec4478d022e1763ea8bfed8e 100644 +index 448e5e6eab9e3bb98569a1d60619732173a396d2..88ba5eb82133a665cd5f9bdc52746c605c95509f 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -4444,6 +4444,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, +@@ -4465,6 +4465,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, observer.DidCreateScriptContext(context, world_id); } @@ -40,10 +40,10 @@ index e0d4faf86b7afe7f29da5e5c8babc78a40e72ae1..1fbf6abed9c7d1bbec4478d022e1763e int world_id) { for (auto& observer : observers_) diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h -index 7be2fd1e02917537805a271f16f5f248f1c4fc45..ce0fc928448b597fb6401b77730700407ce406da 100644 +index d8ffccc148622d4eb0388e03c78ff1def4290701..5a3162cc88e5a48b04fbbb74a5c2ba4b7dd8a5d3 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h -@@ -595,6 +595,8 @@ class CONTENT_EXPORT RenderFrameImpl +@@ -599,6 +599,8 @@ class CONTENT_EXPORT RenderFrameImpl uint32_t ng_call_count) override; void DidCreateScriptContext(v8::Local context, int world_id) override; @@ -67,10 +67,10 @@ index 5adee94f81c0e98db976ac1c6c55fb5eab8c2e65..9d3e43f4394ad9a4377b47a001c4baf4 virtual void WillReleaseScriptContext(v8::Local, int32_t world_id) {} diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc -index aa4b510137d60e6fb924f4f1a6554fe06c19ad75..816b6260020a6cbb6880b0eed197743ccd9002f5 100644 +index a6ba8411384855c82712960375bc949c5c2bd522..fc86ca807c9c1bda9236160580b094153778e18b 100644 --- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc +++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc -@@ -205,6 +205,7 @@ void LocalWindowProxy::Initialize() { +@@ -207,6 +207,7 @@ void LocalWindowProxy::Initialize() { } InstallConditionalFeatures(); @@ -110,10 +110,10 @@ index b690ada2d46146b6da38cbb2c688f249ae558464..b03774140883c5bb7de6358f3df95ab8 v8::Local context, int32_t world_id) { diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h -index 6658e44e65f8236927f283e3f65f007ae97ac81f..f384dcc4efd6c56c3e3e212c7e597f13bc9dae57 100644 +index 420d82ed07017deba3298c5454666c09240dd23d..15407fb95dcf25875eb76a41fe1834c1f0a53528 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h -@@ -79,6 +79,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient { +@@ -80,6 +80,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient { void DidCreateScriptContext(v8::Local, int32_t world_id) override; diff --git a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch index e6dcf47aac97..b0d67115605e 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 8ee02135efb64c57d0779faa96640aa8e7775b58..66007d67da1230740eb00e31b220ddb02fbf37d9 100644 +index 32df5050f5a66c4b4f0981d3777a3b5a4fac9629..d8d9982bc6bd6e472677707b326a5dafa9b7fcf5 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc -@@ -650,6 +650,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { +@@ -660,6 +660,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); } @@ -48,10 +48,10 @@ index a6fe708878eb9afba9a68e0be71ba2c0b2a84d7d..5cc81ceb44d0a8baee3ebcc63aa4137b // This interface should only be implemented inside content. friend class RenderViewHostImpl; diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h -index 4e8d36420d6edc1725a840e1b9f123041d21abe4..dd198cb7bf02e509833c6b4c7d8e5d65d20d46dc 100644 +index fd145f0aa562d6b63fb1d3a8a9241ae1aa1ce7a0..54d30fb9db8b48b94abdb815c487f618f9bb6525 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h -@@ -152,6 +152,8 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, +@@ -151,6 +151,8 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, static WindowOpenDisposition NavigationPolicyToDisposition( blink::WebNavigationPolicy policy); @@ -73,10 +73,10 @@ index befd736a9cf362514b9a2ee475dc4a814c85a87b..24b2617f56673a3075697802cf5b574b + SetSchedulerThrottling(bool allowed); }; diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h -index 560b72dfbc70172bc668229b29fe0c9da139f320..13ec73b9d627259625d64f5b97838033db89745c 100644 +index a1427a6a95583ae853284b97cab77d577172e60e..4645764213c82e73532f7c61ed03f919f8241393 100644 --- a/third_party/blink/public/web/web_view.h +++ b/third_party/blink/public/web/web_view.h -@@ -369,6 +369,7 @@ class WebView { +@@ -364,6 +364,7 @@ class WebView { // Scheduling ----------------------------------------------------------- virtual PageScheduler* Scheduler() const = 0; @@ -85,10 +85,10 @@ index 560b72dfbc70172bc668229b29fe0c9da139f320..13ec73b9d627259625d64f5b97838033 // 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 dc63c0ba0cc8625ed5efb961a1c7f1d07fc72f5d..13a16ae577130d7520b47eb046b504ccd6796979 100644 +index 0dc6c707cdbe14aec69f72575941c16a50ac2ce4..177e463358c3e8e94044f2ccc8eb2cf4a8ce7525 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -3669,6 +3669,13 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3693,6 +3693,13 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } @@ -102,7 +102,7 @@ index dc63c0ba0cc8625ed5efb961a1c7f1d07fc72f5d..13a16ae577130d7520b47eb046b504cc void WebViewImpl::SetVisibilityState( mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) { -@@ -3680,7 +3687,8 @@ void WebViewImpl::SetVisibilityState( +@@ -3704,7 +3711,8 @@ void WebViewImpl::SetVisibilityState( } GetPage()->SetVisibilityState(visibility_state, is_initial_state); GetPage()->GetPageScheduler()->SetPageVisible( @@ -113,10 +113,10 @@ index dc63c0ba0cc8625ed5efb961a1c7f1d07fc72f5d..13a16ae577130d7520b47eb046b504cc mojom::blink::PageVisibilityState WebViewImpl::GetVisibilityState() { diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h -index 5107ef421138e136b20b25b7bbcc1f0bb246bb66..043266205142e59f88c4c2f2ae6b58bb009f2d9c 100644 +index 08a54c62b7f4eeb6a8b0e0cb192723e1aecad915..1eeb122ac5db86c53d328a308dc2b7a4a5ca9fed 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h -@@ -420,6 +420,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -419,6 +419,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, LocalDOMWindow* PagePopupWindow() const; PageScheduler* Scheduler() const override; @@ -124,7 +124,7 @@ index 5107ef421138e136b20b25b7bbcc1f0bb246bb66..043266205142e59f88c4c2f2ae6b58bb void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) override; mojom::blink::PageVisibilityState GetVisibilityState() override; -@@ -857,6 +858,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -854,6 +855,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 eac065943d3a..4d55e26c1276 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,10 +8,10 @@ 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 effc18673a7f832352f427c9f4fb8b276fc28ad6..96b67b56002f88e0f4e2af9997aa6a78a1accd96 100644 +index a422f50719e4c6a4fc96364d0370272695aab15f..eb310c01b11ccd2d8aeb8065dd4aa5e252b16f7c 100644 --- a/third_party/blink/common/web_preferences/web_preferences.cc +++ b/third_party/blink/common/web_preferences/web_preferences.cc -@@ -144,6 +144,20 @@ WebPreferences::WebPreferences() +@@ -141,6 +141,20 @@ WebPreferences::WebPreferences() fake_no_alloc_direct_call_for_testing_enabled(false), v8_cache_options(blink::mojom::V8CacheOptions::kDefault), record_whole_document(false), @@ -33,7 +33,7 @@ index effc18673a7f832352f427c9f4fb8b276fc28ad6..96b67b56002f88e0f4e2af9997aa6a78 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 a62792e0d484dc133f1df34a2c67dde838db203c..ef77424fc6778b047ac98700a5e18a3b6b161aba 100644 +index e37be0929c0fc05f0e8e8bbe702cb6e2b6a4ac18..36a8ca7796a3e021df869ebacd7d76ed4d63e59d 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 @@ -22,6 +22,10 @@ bool StructTraitslazy_frame_loading_distance_thresholds_px) || !data.ReadLazyImageLoadingDistanceThresholdsPx( -@@ -150,6 +154,19 @@ bool StructTraitsv8_cache_options = data.v8_cache_options(); out->record_whole_document = data.record_whole_document(); @@ -68,7 +68,7 @@ index a62792e0d484dc133f1df34a2c67dde838db203c..ef77424fc6778b047ac98700a5e18a3b out->accelerated_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 27d0bcc02a57b1a8f8f8e25df7af383d0e9a8c00..1cb920f4d0b01df012bc9b60eb3d9caa555d4e9e 100644 +index d682f3bf81da362cc6721817189ae0222ebad087..e1cf124e87b507a841044096d8325a4043fe2d1e 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 @@ @@ -79,7 +79,7 @@ index 27d0bcc02a57b1a8f8f8e25df7af383d0e9a8c00..1cb920f4d0b01df012bc9b60eb3d9caa #include "net/nqe/effective_connection_type.h" #include "third_party/blink/public/common/common_export.h" #include "third_party/blink/public/mojom/css/preferred_color_scheme.mojom-shared.h" -@@ -159,6 +160,22 @@ struct BLINK_COMMON_EXPORT WebPreferences { +@@ -156,6 +157,22 @@ struct BLINK_COMMON_EXPORT WebPreferences { blink::mojom::V8CacheOptions v8_cache_options; bool record_whole_document; @@ -103,7 +103,7 @@ index 27d0bcc02a57b1a8f8f8e25df7af383d0e9a8c00..1cb920f4d0b01df012bc9b60eb3d9caa // only controls whether or not the "document.cookie" field is properly // connected to the backing store, for instance if you wanted to be able to 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 0f5ed102b071001acc566b258946b359d33f5d45..aac80b973e4622d2207b92fcd2537342a60c6909 100644 +index d09fed37e7a57e4f7399277dd116e306233019e4..87008b486c25918f5737880b97ca37d003434fac 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 @@ @@ -114,7 +114,7 @@ index 0f5ed102b071001acc566b258946b359d33f5d45..aac80b973e4622d2207b92fcd2537342 #include "mojo/public/cpp/bindings/struct_traits.h" #include "net/nqe/effective_connection_type.h" #include "third_party/blink/public/common/common_export.h" -@@ -436,6 +437,60 @@ struct BLINK_COMMON_EXPORT StructTraitsDetached(type); diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index ae445a52314d8581909f05a06442954f39b6b6d0..857715ca74b0f3a50953095d15237292e2a05510 100644 +index cf424b45c60ee6cd8fcb5bced73332ffd4b60c2d..17d59201aa0e4f077536ec29a3c59bd4e1d831a7 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -543,10 +543,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { +@@ -542,10 +542,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { } DCHECK(!view_ || !view_->IsAttached()); @@ -63,7 +63,7 @@ index ae445a52314d8581909f05a06442954f39b6b6d0..857715ca74b0f3a50953095d15237292 if (!Client()) return false; -@@ -592,6 +588,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { +@@ -591,6 +587,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { DCHECK(!view_->IsAttached()); Client()->WillBeDetached(); diff --git a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch index 27b5422532cc..4c64f9bb9664 100644 --- a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch +++ b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch @@ -11,7 +11,7 @@ if we ever align our .pak file generation with Chrome we can remove this patch. diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn -index 1f86073736f849e797e029678bc212ce96ba0bd9..b8abc10e48bdff0f4e6c3f8e1c4927bc6e0c2f79 100644 +index ff2e479125f1a6d7cbb52e4f674cb836d4f6596c..f334b0b4fd4a6550c3b2baba870c5997f24db1ab 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn @@ -171,11 +171,16 @@ if (!is_android && !is_mac) { @@ -33,10 +33,10 @@ index 1f86073736f849e797e029678bc212ce96ba0bd9..b8abc10e48bdff0f4e6c3f8e1c4927bc "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index 72c3a67361eaecbe7349db00bbd3b7c1deaced69..16c923640286837e93f0e7dddefc1d91740238c8 100644 +index 158bfba2bc80925c49821453df63664a571ad571..e0a7d98c75c9692ce13ff3f2fb97852e91ead91f 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4518,7 +4518,7 @@ static_library("browser") { +@@ -4539,7 +4539,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 72c3a67361eaecbe7349db00bbd3b7c1deaced69..16c923640286837e93f0e7dddefc1d91 sources += [ "certificate_viewer_stub.cc" ] } diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index 4f088ea7cfbb7aaa3ed15607608dd9cafc6a2981..8df44262c079c96a1a81167a769d426aab23bef0 100644 +index f04d3f3303eace8a7ef6b996197c4ff58aca8c37..15b5311dcf2e43a8703b714e688da683392e9b36 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -5943,7 +5943,6 @@ test("unit_tests") { +@@ -5984,7 +5984,6 @@ test("unit_tests") { deps += [ "//chrome:other_version", @@ -57,7 +57,7 @@ index 4f088ea7cfbb7aaa3ed15607608dd9cafc6a2981..8df44262c079c96a1a81167a769d426a "//chrome//services/util_win:unit_tests", "//chrome/app:chrome_dll_resources", "//chrome/browser:chrome_process_finder", -@@ -5966,6 +5965,10 @@ test("unit_tests") { +@@ -6007,6 +6006,10 @@ test("unit_tests") { "//ui/resources", ] @@ -68,7 +68,7 @@ index 4f088ea7cfbb7aaa3ed15607608dd9cafc6a2981..8df44262c079c96a1a81167a769d426a ldflags = [ "/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll", "/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll", -@@ -6656,7 +6659,6 @@ test("unit_tests") { +@@ -6695,7 +6698,6 @@ test("unit_tests") { } deps += [ @@ -76,7 +76,7 @@ index 4f088ea7cfbb7aaa3ed15607608dd9cafc6a2981..8df44262c079c96a1a81167a769d426a "//chrome/browser:cart_db_content_proto", "//chrome/browser:coupon_db_content_proto", "//chrome/browser/media/router:test_support", -@@ -6704,6 +6706,11 @@ test("unit_tests") { +@@ -6743,6 +6745,11 @@ test("unit_tests") { if (is_chromeos) { deps += [ "//ui/chromeos" ] } diff --git a/patches/chromium/build_libc_as_static_library.patch b/patches/chromium/build_libc_as_static_library.patch index 67ef2bf3d247..15419321d710 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 dec348e235b1306cec50e0602fb910f21eaed925..0545e0ce5490df51088ca7a4cacd968e69fa0d09 100644 +index a53cc9066a3485ff6829e3c410eb523de7d074d6..9697e2dc2d0892fc7f1007d62488c2f2f24ec92f 100644 --- a/buildtools/third_party/libc++/BUILD.gn +++ b/buildtools/third_party/libc++/BUILD.gn @@ -44,7 +44,11 @@ config("winver") { @@ -30,7 +30,7 @@ index dec348e235b1306cec50e0602fb910f21eaed925..0545e0ce5490df51088ca7a4cacd968e + "//electron:libcxx_objects_zip", "//third_party/catapult/devil:devil", ] - if (is_linux && !is_chromeos) { + 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 --- a/buildtools/third_party/libc++abi/BUILD.gn diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index 5ccade1f9004..978b5c4c8e28 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 be7895586d64b0f8e7f122561d86f49479400a2b..5ad53ce87d8757b18e5ecedbd7ec9aec54bea165 100644 +index c9f0b4a30f8df2ba2a12914b447cede52ed1ff85..a5d6618aac35f01e09a90bdafa9f60c8140b088c 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -6908,6 +6908,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -6937,6 +6937,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 be7895586d64b0f8e7f122561d86f49479400a2b..5ad53ce87d8757b18e5ecedbd7ec9aec &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 88266830511440e51e47166c66f80e9956bcef5a..3fa51ecee644055db44bd4dd54c27ec224ff46d6 100644 +index 6261962f55f065d4edc0641ce8927143468add8a..cf37734d313470c27d2d40bd90cb199234a1e99e 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3937,6 +3937,14 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3943,6 +3943,14 @@ FrameTree* WebContentsImpl::CreateNewWindow( } auto* new_contents_impl = new_contents.get(); @@ -39,7 +39,7 @@ index 88266830511440e51e47166c66f80e9956bcef5a..3fa51ecee644055db44bd4dd54c27ec2 new_contents_impl->GetController().SetSessionStorageNamespace( partition_config, session_storage_namespace); -@@ -3981,12 +3989,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3987,12 +3995,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( AddWebContentsDestructionObserver(new_contents_impl); } @@ -53,10 +53,10 @@ index 88266830511440e51e47166c66f80e9956bcef5a..3fa51ecee644055db44bd4dd54c27ec2 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 ec594f27e94bf0b95967c4d816c9b1e159e4a08d..de908becd59392db284c60f61d97f8b2210aa888 100644 +index 28144893598e6b4caa18cd23fea1da3ca1f406b1..8b83eb8c342499ec7a677cd849f0e3c17d955a38 100644 --- a/content/common/frame.mojom +++ b/content/common/frame.mojom -@@ -550,6 +550,10 @@ struct CreateNewWindowParams { +@@ -569,6 +569,10 @@ struct CreateNewWindowParams { // Governs how downloads are handled if `target_url` results in a download. blink.mojom.NavigationDownloadPolicy download_policy; @@ -68,10 +68,10 @@ index ec594f27e94bf0b95967c4d816c9b1e159e4a08d..de908becd59392db284c60f61d97f8b2 // 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 fbf6817479cace0ca06065eef3aa70aae2a0ebe1..cef6a18df7cfb8528ea07e808c3e539726ea815d 100644 +index 2a51c8c4d4cd21c0dc106dbb3b2e4e940a47319b..79479dd5fc7e0a9c27e75b85e1380c38f32f6fe7 100644 --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -577,6 +577,8 @@ bool ContentBrowserClient::CanCreateWindow( +@@ -578,6 +578,8 @@ bool ContentBrowserClient::CanCreateWindow( const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -81,10 +81,10 @@ index fbf6817479cace0ca06065eef3aa70aae2a0ebe1..cef6a18df7cfb8528ea07e808c3e5397 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 a0f2f002b51c6061fe509d13b2286faaec721936..1b7e71e12d01929b8bfacf8c7c8950922bdd3d59 100644 +index d6ad990189520f7fc15e04c1c4bd03588d3ee81e..6aa01e2f4e8227f0c1cb78b88009728efccdd998 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -170,6 +170,7 @@ class NetworkService; +@@ -164,6 +164,7 @@ class NetworkService; class TrustedURLLoaderHeaderClient; } // namespace mojom struct ResourceRequest; @@ -92,7 +92,7 @@ index a0f2f002b51c6061fe509d13b2286faaec721936..1b7e71e12d01929b8bfacf8c7c895092 } // namespace network namespace sandbox { -@@ -959,6 +960,8 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -953,6 +954,8 @@ class CONTENT_EXPORT ContentBrowserClient { const std::string& frame_name, WindowOpenDisposition disposition, const blink::mojom::WindowFeatures& features, @@ -150,10 +150,10 @@ index 85335ff06c87ea3986360fad18df6cf01a4a7cca..eeafde1fa6067804665954525eafdd48 // typically happens when popups are created. virtual void WebContentsCreated(WebContents* source_contents, diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc -index 9bdeb8745b3dd6d329f0403ca8c4a6f5de1d59c6..11815bca2741002dd8595af026ef402bc2af999e 100644 +index f7fbc40e8df8b996d6079f2e691771529ca42497..5580f245477b713d0f1f92ca9d15de847c4f8c92 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc -@@ -32,6 +32,7 @@ +@@ -33,6 +33,7 @@ #include "third_party/blink/public/platform/impression_conversions.h" #include "third_party/blink/public/platform/modules/video_capture/web_video_capture_impl_manager.h" #include "third_party/blink/public/platform/url_conversion.h" @@ -161,7 +161,7 @@ index 9bdeb8745b3dd6d329f0403ca8c4a6f5de1d59c6..11815bca2741002dd8595af026ef402b #include "third_party/blink/public/web/modules/mediastream/web_media_stream_device_observer.h" #include "third_party/blink/public/web/web_frame_widget.h" #include "third_party/blink/public/web/web_local_frame.h" -@@ -291,6 +292,10 @@ WebView* RenderViewImpl::CreateView( +@@ -295,6 +296,10 @@ WebView* RenderViewImpl::CreateView( params->impression = blink::ConvertWebImpressionToImpression(*impression); } @@ -220,14 +220,14 @@ index 84d32491a56528a84b4395fba1d54cdbb38d522b..09998a83c449ef8cd9f360fbcdcf7edc } // 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 dcacde03e5889d7347aadb2cfde10da767c9f9ca..3ccb2700c97d1297b8482e1b7b324cfa4002e21e 100644 +index 00af75f5295251fb19c874d2b7d877c4a53f7f12..c0042534907dfca1789b8dde2ffa11956d3e029e 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -2068,6 +2068,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2076,6 +2076,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, WebWindowFeatures window_features = GetWindowFeaturesFromString(features, incumbent_window); + window_features.raw_features = features; - FrameLoadRequest frame_request(incumbent_window, - ResourceRequest(completed_url)); + // In fenced frames, we should always use `noopener`. + if (GetFrame()->IsInFencedFrameTree()) { diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index 2b80fd29fa5a..2b88e1753130 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -63,10 +63,10 @@ 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 593cbe8038789e3b071ec9f5c243be6f0be629f0..18e5ade28bb966b35a6f69b2543768ac482d4730 100644 +index 46e5ec4d834e9478db523a5a078218104c161a57..e584921a6d575740fc0331a8bac05904558efc15 100644 --- a/chrome/browser/ui/ash/ash_web_view_impl.cc +++ b/chrome/browser/ui/ash/ash_web_view_impl.cc -@@ -79,10 +79,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden( +@@ -83,10 +83,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -80,10 +80,10 @@ index 593cbe8038789e3b071ec9f5c243be6f0be629f0..18e5ade28bb966b35a6f69b2543768ac /*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 e1adc822d8086b6c1b103a107923247cbb0aa7f2..2d2d65fa78d8fdccbe44aa1bf9b297e7038781c5 100644 +index f0333177f885000fb22818ffa30a0c4ad520a161..03e82957f9d7bf009dcbf5fcd43718c9d2ac9bb8 100644 --- a/chrome/browser/ui/ash/ash_web_view_impl.h +++ b/chrome/browser/ui/ash/ash_web_view_impl.h -@@ -46,8 +46,7 @@ class AshWebViewImpl : public ash::AshWebView, +@@ -47,8 +47,7 @@ class AshWebViewImpl : public ash::AshWebView, content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -246,10 +246,10 @@ index c6bd5c19f8a7ceec17c9e32af5296a9617f3a619..02199b439fba7fdc617b7f7980d958b7 void AddNewContents(content::WebContents* source, std::unique_ptr new_contents, diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index cc6afdef869470136c2cec392911742a289f6339..2033877b86eddbc9baac6a603587e631021f6819 100644 +index 63b01c486f56499bbc2acff0b5abdbf24b0ce676..aeb111257740cd8c73e88c9b15d1f95fd49240c4 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3885,8 +3885,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3891,8 +3891,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( source_site_instance, params.window_container_type, diff --git a/patches/chromium/desktop_media_list.patch b/patches/chromium/desktop_media_list.patch index dc25d3074782..1d1ec74f873d 100644 --- a/patches/chromium/desktop_media_list.patch +++ b/patches/chromium/desktop_media_list.patch @@ -41,10 +41,10 @@ index ac1e7854dc9ae629a499fac7626ec456e18c7867..087da9bbfb9081b94ca8ea8d245871dc 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 9c77a2d5872cc340b7a237b896afea1dd3be2503..d06869ff78ec0d48e97c3aeb7ac86d4aa9d9b1ba 100644 +index 1150cf5fd95cb19d926a9af6d65472b680f53859..0fc3455f4966dd2047329adc308526dadcc64f1b 100644 --- a/chrome/browser/media/webrtc/desktop_media_list_base.h +++ b/chrome/browser/media/webrtc/desktop_media_list_base.h -@@ -38,7 +38,7 @@ class DesktopMediaListBase : public DesktopMediaList { +@@ -39,7 +39,7 @@ class DesktopMediaListBase : public DesktopMediaList { void SetThumbnailSize(const gfx::Size& thumbnail_size) override; void SetViewDialogWindowId(content::DesktopMediaID dialog_id) override; void StartUpdating(DesktopMediaListObserver* observer) override; diff --git a/patches/chromium/disable-redraw-lock.patch b/patches/chromium/disable-redraw-lock.patch index 90badb12ad13..a102ba88e4f8 100644 --- a/patches/chromium/disable-redraw-lock.patch +++ b/patches/chromium/disable-redraw-lock.patch @@ -15,7 +15,7 @@ the redraw locking mechanism, which fixes these issues. The electron issue can be found at https://github.com/electron/electron/issues/1821 diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index bb79a55d46730a4a127ee6483a7a25ecdc2aea5b..b14fa0f41166a904991ec920cec2f45c3b71c953 100644 +index 2b69f4767e9073ea5f12acddf842c7f1dc82e2c1..a2f053c3e2588451458682aa6e86da52a591e1e7 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -308,6 +308,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; diff --git a/patches/chromium/disable_color_correct_rendering.patch b/patches/chromium/disable_color_correct_rendering.patch index 4d0d3ef33759..297cb3869dcb 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 a7636e4535d0c4303c4022620b2fc7d18870f6da..5de5f020da02f30b28bf02701e9fd1662424c914 100644 +index 14e13169de8b5e808e3284792237bef9939b1e00..7628a96dc8b2c9e8128cd462138d3487304c6e10 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -1900,6 +1900,9 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( +@@ -1894,6 +1894,9 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( TargetColorParams LayerTreeHostImpl::GetTargetColorParams( gfx::ContentColorUsage content_color_usage) const { TargetColorParams params; @@ -47,7 +47,7 @@ index f6094a5defe12c34564020b0779626b3e5bff99e..a068a9ba33d3f8c8cdc74ae63ab5e16c // 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 d8e2bd1e55a52e86dda5c1b69c425b49e16538bd..80e2c77066f24e99a1894faadbf1d030a188ffa9 100644 +index 8b0b5eda59c863efb6f4c67636810871677894c5..eea098eab3c2a5c36fab1a71d888e562e8f93da5 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 { @@ -80,10 +80,10 @@ index 6a830ec9f29b9764cd425f0681dafbb18d90b457..a7a095ceb9e626c79db21e0d16c8ef47 !command_line->HasSwitch(switches::kUIDisablePartialSwap); diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc -index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc9c51c6d3 100644 +index 7fb664525ba696626544c8b09597105bff874c05..b987d649ef84451a9d3e5c2f87da3eb06c19c4d6 100644 --- a/components/viz/service/display/gl_renderer.cc +++ b/components/viz/service/display/gl_renderer.cc -@@ -86,6 +86,9 @@ +@@ -87,6 +87,9 @@ using gpu::gles2::GLES2Interface; @@ -93,7 +93,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc namespace viz { namespace { -@@ -683,8 +686,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad, +@@ -685,8 +688,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad, void GLRenderer::DrawDebugBorderQuad(const DebugBorderDrawQuad* quad) { SetBlendEnabled(quad->ShouldDrawWithBlending()); @@ -105,7 +105,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc // Use the full quad_rect for debug quads to not move the edges based on // partial swaps. -@@ -1674,7 +1678,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params, +@@ -1676,7 +1680,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params, params->use_color_matrix, tint_gl_composited_content_, params->apply_shader_based_rounded_corner && ShouldApplyRoundedCorner(params->quad)), @@ -115,7 +115,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc } void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) { -@@ -2147,7 +2152,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad, +@@ -2149,7 +2154,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad, SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA, tint_gl_composited_content_, ShouldApplyRoundedCorner(quad)), @@ -125,7 +125,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc gfx::ColorSpace quad_color_space = gfx::ColorSpace::CreateSRGB(); SkColor4f color_f = SkColor4f::FromColor(color); -@@ -2155,7 +2161,7 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad, +@@ -2157,7 +2163,7 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad, // Apply color transform if the color space or source and target do not match. if (quad_color_space != CurrentRenderPassColorSpace()) { const gfx::ColorTransform* color_transform = @@ -134,7 +134,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc gfx::ColorTransform::TriStim col(color_f.fR, color_f.fG, color_f.fB); color_transform->Transform(&col, 1); color_f.fR = col.x(); -@@ -2377,7 +2383,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad, +@@ -2379,7 +2385,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad, : NON_PREMULTIPLIED_ALPHA, false, false, tint_gl_composited_content_, ShouldApplyRoundedCorner(quad)), @@ -144,7 +144,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc if (current_program_->tint_color_matrix_location() != -1) { auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix(); -@@ -2476,7 +2483,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad, +@@ -2478,7 +2485,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad, !quad->ShouldDrawWithBlending(), has_tex_clamp_rect, tint_gl_composited_content_, ShouldApplyRoundedCorner(quad)), @@ -154,7 +154,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc if (current_program_->tint_color_matrix_location() != -1) { auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix(); -@@ -2586,7 +2594,8 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad, +@@ -2588,7 +2596,8 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad, // The source color space should never be RGB. DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB()); @@ -164,7 +164,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc #if BUILDFLAG(IS_WIN) // Force sRGB output on Windows for overlay candidate video quads to match -@@ -2767,7 +2776,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad, +@@ -2769,7 +2778,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad, SetUseProgram(ProgramKey::VideoStream(tex_coord_precision, ShouldApplyRoundedCorner(quad)), @@ -174,7 +174,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_)); gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id()); -@@ -2838,8 +2848,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) { +@@ -2840,8 +2850,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) { draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR); // Bind the program to the GL state. @@ -185,7 +185,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc /*adjust_src_white_level=*/draw_cache_.is_video_frame, locked_quad.hdr_metadata()); -@@ -3696,7 +3706,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color, +@@ -3698,7 +3708,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color, const gfx::ColorSpace& dst_color_space, bool adjust_src_white_level, absl::optional hdr_metadata) { @@ -228,7 +228,7 @@ index 23eed6772dd7edd77378f3bf4cff9d6bb5274894..69056d1121eb833393aba362d71c52cc + +#undef PATCH_CS diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index 8b32bf5455183ff7bb6295d7922e76a6593b8ee0..041ffe9d26ef3401179eb57917f5585497500689 100644 +index 8cd9a960ca1de81857af60daa91596c1dbb17786..7455afe4d81eac31fe3792a4459834a7f968918c 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc @@ -227,6 +227,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( @@ -240,7 +240,7 @@ index 8b32bf5455183ff7bb6295d7922e76a6593b8ee0..041ffe9d26ef3401179eb57917f55854 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 ca056c66af681548ba01bd07db7dadc5ce2a5280..f5025422ebdb9fe35ee5e4e1ed647bc05028d4a8 100644 +index 927e182bbba7a3700fd20c8c964da7cc162c4210..f099940c5b8fd92c04401cfbd231c04cb413d286 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -197,6 +197,7 @@ @@ -251,7 +251,7 @@ index ca056c66af681548ba01bd07db7dadc5ce2a5280..f5025422ebdb9fe35ee5e4e1ed647bc0 #include "ui/gl/gl_switches.h" #include "url/gurl.h" #include "url/origin.h" -@@ -3212,6 +3213,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3213,6 +3214,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( // Propagate the following switches to the renderer command line (along // with any associated values) if present in the browser command line. static const char* const kSwitchNames[] = { diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index e9e9af547fe6..8b054f701425 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 63f51521afa85f53073df2e3747eba95e80de09d..ed56e947fa137cbaddaa12503ae983d7acd4463f 100644 +index 04bba6457636018af2f76f0e218076e993f47467..7e421c72e3cb9abd9c3dc6542afed08f3910df93 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -809,6 +809,9 @@ void RenderWidgetHostImpl::WasHidden() { +@@ -808,6 +808,9 @@ void RenderWidgetHostImpl::WasHidden() { if (is_hidden_) return; @@ -20,10 +20,10 @@ index 63f51521afa85f53073df2e3747eba95e80de09d..ed56e947fa137cbaddaa12503ae983d7 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 5e2e1fe4482fdde0df1a02ae9ae6d68431dac4d8..3ae005ae898ee0dd8befa7699b469fc379b5a1d1 100644 +index cb2dd8695096c4eda0b4c1782fa9ebd7a05e2b7b..22ba56a675f28abd9857e3c6d4b9908c568df016 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h -@@ -880,6 +880,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl +@@ -877,6 +877,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl SiteInstanceGroup* GetSiteInstanceGroup(); @@ -34,10 +34,10 @@ index 5e2e1fe4482fdde0df1a02ae9ae6d68431dac4d8..3ae005ae898ee0dd8befa7699b469fc3 // |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 b39dd8d70aa590677f7d3e95412c0709f0fbbc81..558fd14566a4b953b5140b59ad614b70e1855bc5 100644 +index 907de04692ff86a3b287c5e66d4811ed1b31858e..035a168a8520ff28a832a79903dc3efdff596c05 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -618,7 +618,7 @@ void RenderWidgetHostViewAura::HideImpl() { +@@ -605,7 +605,7 @@ void RenderWidgetHostViewAura::HideImpl() { DCHECK(visibility_ == Visibility::HIDDEN || visibility_ == Visibility::OCCLUDED); diff --git a/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch b/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch index 8665613a5658..4b690a546db8 100644 --- a/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch +++ b/patches/chromium/don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch @@ -19,10 +19,10 @@ index d871ceecd76e21b23c500643363ced2ca87e8013..e0a26a90ee38342aefdbdd76e9c56a93 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 d1b71673ca79ea0f2293cda46564ceb8a018f4e5..ca70bb8fdf7fec2e0d5e2b3bf0ece86def72e21b 100644 +index d51b37c8a2df11f71fa6056193100d00883db43d..b44002788cf4d4f5d754dd35dd193be233e6ebcb 100644 --- a/base/threading/platform_thread_posix.cc +++ b/base/threading/platform_thread_posix.cc -@@ -43,6 +43,7 @@ +@@ -44,6 +44,7 @@ #endif #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) @@ -30,7 +30,7 @@ index d1b71673ca79ea0f2293cda46564ceb8a018f4e5..ca70bb8fdf7fec2e0d5e2b3bf0ece86d #include "base/allocator/partition_allocator/starscan/pcscan.h" #include "base/allocator/partition_allocator/starscan/stack/stack.h" #endif -@@ -76,7 +77,7 @@ void* ThreadFunc(void* params) { +@@ -77,7 +78,7 @@ void* ThreadFunc(void* params) { base::DisallowSingleton(); #if !BUILDFLAG(IS_NACL) @@ -39,7 +39,7 @@ index d1b71673ca79ea0f2293cda46564ceb8a018f4e5..ca70bb8fdf7fec2e0d5e2b3bf0ece86d internal::PCScan::NotifyThreadCreated(internal::GetStackPointer()); #endif -@@ -102,7 +103,7 @@ void* ThreadFunc(void* params) { +@@ -103,7 +104,7 @@ void* ThreadFunc(void* params) { PlatformThread::CurrentHandle().platform_handle(), PlatformThread::CurrentId()); @@ -49,10 +49,10 @@ index d1b71673ca79ea0f2293cda46564ceb8a018f4e5..ca70bb8fdf7fec2e0d5e2b3bf0ece86d #endif diff --git a/base/threading/platform_thread_win.cc b/base/threading/platform_thread_win.cc -index c965c9764ad38a8b52b727ca98fe41f00ab6707d..7d44c4e63b2b4ccf595b5e2a0212fb6c4eb2b5bd 100644 +index 8542c0d0d49511298cca800a59796b1e4271a3d8..1d0eeff5800f2ccf3f1fb6b1356c8cd067cfd945 100644 --- a/base/threading/platform_thread_win.cc +++ b/base/threading/platform_thread_win.cc -@@ -29,6 +29,7 @@ +@@ -30,6 +30,7 @@ #include #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) @@ -60,7 +60,7 @@ index c965c9764ad38a8b52b727ca98fe41f00ab6707d..7d44c4e63b2b4ccf595b5e2a0212fb6c #include "base/allocator/partition_allocator/starscan/pcscan.h" #include "base/allocator/partition_allocator/starscan/stack/stack.h" #endif -@@ -105,7 +106,7 @@ DWORD __stdcall ThreadFunc(void* params) { +@@ -113,7 +114,7 @@ DWORD __stdcall ThreadFunc(void* params) { FALSE, DUPLICATE_SAME_ACCESS); @@ -69,7 +69,7 @@ index c965c9764ad38a8b52b727ca98fe41f00ab6707d..7d44c4e63b2b4ccf595b5e2a0212fb6c internal::PCScan::NotifyThreadCreated(internal::GetStackPointer()); #endif -@@ -125,7 +126,7 @@ DWORD __stdcall ThreadFunc(void* params) { +@@ -133,7 +134,7 @@ DWORD __stdcall ThreadFunc(void* params) { PlatformThread::CurrentId()); } diff --git a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch index 2b2569457cc4..197e3b15b083 100644 --- a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch +++ b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch @@ -11,10 +11,10 @@ This regressed in https://chromium-review.googlesource.com/c/chromium/src/+/2572 Upstream: https://chromium-review.googlesource.com/c/chromium/src/+/2598393 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 1fbf6abed9c7d1bbec4478d022e1763ea8bfed8e..e0d7367135abb08f9f303cc528a55d8ba026fa56 100644 +index 88ba5eb82133a665cd5f9bdc52746c605c95509f..ceefc966e0b8f79e00d108de78f56f868f08ee67 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -2367,7 +2367,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const { +@@ -2377,7 +2377,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const { } const blink::web_pref::WebPreferences& RenderFrameImpl::GetBlinkPreferences() { diff --git a/patches/chromium/enable_reset_aspect_ratio.patch b/patches/chromium/enable_reset_aspect_ratio.patch index b03813082886..b69182027c9d 100644 --- a/patches/chromium/enable_reset_aspect_ratio.patch +++ b/patches/chromium/enable_reset_aspect_ratio.patch @@ -6,7 +6,7 @@ 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 a1de50d6b0f699d0651c369cafafdd5bb542242d..65b9f5e5f81e8ef8b591ef2e027e095df11c0d7b 100644 +index ece3dfbee04cf941689e4f21f5176db010fda564..9fd052c00a484cd1acd2031fda79e6307fd01b60 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 @@ -530,7 +530,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) { @@ -19,7 +19,7 @@ index a1de50d6b0f699d0651c369cafafdd5bb542242d..65b9f5e5f81e8ef8b591ef2e027e095d aspect_ratio.height()); } diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index b14fa0f41166a904991ec920cec2f45c3b71c953..37bb1e9788a251b3f2c79b5272d4a44c22b707b3 100644 +index a2f053c3e2588451458682aa6e86da52a591e1e7..9e38d55d7156986e48ed6dcb3522d77358bfdb75 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -936,8 +936,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen) { diff --git a/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch b/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch index cad261c043f6..aa6aa6d8e388 100644 --- a/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch +++ b/patches/chromium/export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch @@ -21,10 +21,10 @@ index c9b535eb083c250f4f874d8e6bd0c29ea9f3a10f..f220b8669507a4aea616b0dfbabda509 v8::ZoneBackingAllocator* GetZoneBackingAllocator() override; #endif diff --git a/gin/v8_platform.cc b/gin/v8_platform.cc -index 78b8a28eadf392422b55e441634e3161c8c1694c..af3ed7813d9ed5fb294b67a0da1237140b40abbf 100644 +index 952023235d9f1905b64195f625dbb3b1af97f908..3d8b4cc17584e7ae8be0b77a073a0453bcd5b3ef 100644 --- a/gin/v8_platform.cc +++ b/gin/v8_platform.cc -@@ -367,6 +367,10 @@ PageAllocator* V8Platform::GetPageAllocator() { +@@ -366,6 +366,10 @@ PageAllocator* V8Platform::GetPageAllocator() { return g_page_allocator.Pointer(); } diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index d04ad170f906..6e3c56031e7f 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -33,10 +33,10 @@ index 14c71cc69388da46f62d9835e2a06fef0870da02..9481ea08401ae29ae9c1d960491b05b3 } // namespace net diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index 4c8982a8ae3ae23fbeef244cd23b43c889d3fa94..13b48d5acadf5dcfb40a829751b089c1c29f9450 100644 +index 98268925da14d61256f8dee3aa899f17ce7acaf6..1abdc204e278383818dc073f96c90e91ec1f3fb9 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1350,6 +1350,13 @@ void NetworkContext::SetNetworkConditions( +@@ -1404,6 +1404,13 @@ void NetworkContext::SetNetworkConditions( std::move(network_conditions)); } @@ -51,10 +51,10 @@ index 4c8982a8ae3ae23fbeef244cd23b43c889d3fa94..13b48d5acadf5dcfb40a829751b089c1 // 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 eed05c05d1da28284af6ae0cef45dbbb47254058..f32671202010fa57901a09723feecacc72dbd5f9 100644 +index 58671094857cdfe5d853c8a284d51bc1b8a09660..7af71839aa1bc970370a91cd35f3cbefe06e67e5 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -283,6 +283,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -302,6 +302,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CloseIdleConnections(CloseIdleConnectionsCallback callback) override; void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id, mojom::NetworkConditionsPtr conditions) override; @@ -63,10 +63,10 @@ index eed05c05d1da28284af6ae0cef45dbbb47254058..f32671202010fa57901a09723feecacc void SetEnableReferrers(bool enable_referrers) override; #if BUILDFLAG(IS_CHROMEOS) diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom -index c929eb10af5b8856debdc0d665eac767e9730714..c20bd2a2d6b989386ce7ef97e43f677e2c5291fa 100644 +index b52e5a2230e96d55d7886bde331a505c58dd093a..757dd77b06cba44e832e86e729e44b1e9a427c49 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1089,6 +1089,9 @@ interface NetworkContext { +@@ -1087,6 +1087,9 @@ interface NetworkContext { SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, NetworkConditions? conditions); diff --git a/patches/chromium/extend_apply_webpreferences.patch b/patches/chromium/extend_apply_webpreferences.patch index 854e5de029ce..1ffad5f73b38 100644 --- a/patches/chromium/extend_apply_webpreferences.patch +++ b/patches/chromium/extend_apply_webpreferences.patch @@ -12,18 +12,18 @@ 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 13a16ae577130d7520b47eb046b504ccd6796979..6987c81cd9f6b774ec15605c0ea64ca34ba84d22 100644 +index 177e463358c3e8e94044f2ccc8eb2cf4a8ce7525..7efdb7a0cf2db85fadd0db0b6665bdf492f8f5bc 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -159,6 +159,7 @@ - #include "third_party/blink/renderer/core/timing/dom_window_performance.h" +@@ -160,6 +160,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" +#include "third_party/blink/renderer/platform/graphics/color.h" #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" -@@ -1774,6 +1775,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, +@@ -1780,6 +1781,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_support_for_overriding_the_base_spellchecker_download_url.patch b/patches/chromium/feat_add_support_for_overriding_the_base_spellchecker_download_url.patch index ae711b32caf3..563ac340dc18 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,10 +9,10 @@ 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 c1821235df8abd9c0991efeb1d82f8b6075e48e7..a35fc3aa63e6d57ef78ee4690f761060b074ec85 100644 +index ff5ee1d7a0f4e333498bf25acbbf49d1ce53b7a1..e98084036c04e9910779670497b1a431d4fee48a 100644 --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc -@@ -52,6 +52,9 @@ namespace { +@@ -51,6 +51,9 @@ namespace { base::LazyInstance::Leaky g_download_url_for_testing = LAZY_INSTANCE_INITIALIZER; @@ -22,7 +22,7 @@ index c1821235df8abd9c0991efeb1d82f8b6075e48e7..a35fc3aa63e6d57ef78ee4690f761060 // Close the file. void CloseDictionary(base::File file) { base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, -@@ -272,6 +275,10 @@ void SpellcheckHunspellDictionary::SetDownloadURLForTesting(const GURL url) { +@@ -271,6 +274,10 @@ void SpellcheckHunspellDictionary::SetDownloadURLForTesting(const GURL url) { g_download_url_for_testing.Get() = url; } @@ -33,7 +33,7 @@ index c1821235df8abd9c0991efeb1d82f8b6075e48e7..a35fc3aa63e6d57ef78ee4690f761060 GURL SpellcheckHunspellDictionary::GetDictionaryURL() { if (g_download_url_for_testing.Get() != GURL()) return g_download_url_for_testing.Get(); -@@ -279,6 +286,9 @@ GURL SpellcheckHunspellDictionary::GetDictionaryURL() { +@@ -278,6 +285,9 @@ GURL SpellcheckHunspellDictionary::GetDictionaryURL() { std::string bdict_file = dictionary_file_.path.BaseName().MaybeAsASCII(); DCHECK(!bdict_file.empty()); 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 d3448ffcc3b4..a8d36d481d1d 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 80e5807fecbca3d3d3105522418c5f4b4d103f57..002204dbe0b9598b61141cab33b7befdfac077f8 100644 +index fb1ce87c18a72deb815b78b2f989fe0a8ebaf0bc..417e89f3ba808d9e599d391d57df0e481afb5522 100644 --- a/chrome/browser/spellchecker/spellcheck_service.cc +++ b/chrome/browser/spellchecker/spellcheck_service.cc -@@ -469,6 +469,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 80e5807fecbca3d3d3105522418c5f4b4d103f57..002204dbe0b9598b61141cab33b7befd hunspell_dictionaries_.back()->Load(); } -@@ -521,6 +524,20 @@ bool SpellcheckService::IsSpellcheckEnabled() const { +@@ -520,6 +523,20 @@ bool SpellcheckService::IsSpellcheckEnabled() const { (!hunspell_dictionaries_.empty() || enable_if_uninitialized); } 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 4c6b697e3b60..77ff74d4b593 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -573,10 +573,10 @@ index 6b7fbb6cf13dc8ee6ade0878a9a2c1efc5d4d3f1..e2af75168cb914a7b3b4a6c9b6a28549 + Draw(gfx.mojom.Rect damage_rect) => (); }; diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h -index 2696c864d5e32e4b87834ced1035a7b1742639b4..ff663b4e75399898daaa3e77339deec03b43a28a 100644 +index 80bff73a5886e8e79d7d91de5e27bc747fcfce02..8bc43d1359fa2551713992d6ccb73949743dde2e 100644 --- a/ui/compositor/compositor.h +++ b/ui/compositor/compositor.h -@@ -82,6 +82,7 @@ class DisplayPrivate; +@@ -83,6 +83,7 @@ class DisplayPrivate; class ExternalBeginFrameController; } // namespace mojom class ContextProvider; @@ -584,7 +584,7 @@ index 2696c864d5e32e4b87834ced1035a7b1742639b4..ff663b4e75399898daaa3e77339deec0 class HostFrameSinkManager; class LocalSurfaceId; class RasterContextProvider; -@@ -138,6 +139,16 @@ class COMPOSITOR_EXPORT ContextFactory { +@@ -139,6 +140,16 @@ class COMPOSITOR_EXPORT ContextFactory { virtual viz::HostFrameSinkManager* GetHostFrameSinkManager() = 0; }; @@ -601,7 +601,7 @@ index 2696c864d5e32e4b87834ced1035a7b1742639b4..ff663b4e75399898daaa3e77339deec0 // Compositor object to take care of GPU painting. // A Browser compositor object is responsible for generating the final // displayable form of pixels comprising a single widget's contents. It draws an -@@ -179,6 +190,9 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, +@@ -180,6 +191,9 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, // Schedules a redraw of the layer tree associated with this compositor. void ScheduleDraw(); @@ -611,7 +611,7 @@ index 2696c864d5e32e4b87834ced1035a7b1742639b4..ff663b4e75399898daaa3e77339deec0 // 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 -@@ -469,6 +483,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, +@@ -476,6 +490,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, std::unique_ptr pending_begin_frame_args_; 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 f07fe207b2f5..9a069045d509 100644 --- a/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch +++ b/patches/chromium/feat_expose_raw_response_headers_from_urlloader.patch @@ -53,7 +53,7 @@ index 1fcf54cac11c38352e14774cd08bcaa162443e9c..5356da11391d52a8f9aaa57a27616cee 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 1b8dbc0538d0af843e40edc41505d08f9034f97b..270822eb756090f8a74f34823009942ed21e8616 100644 +index 3a1c5bd943c110514e4da06491190476d6e6de38..6a80fb16242865d398bcbcd380893ccc9a3fe167 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) @@ -103,10 +103,10 @@ index 4c4cc16db82d7434573f7740855fbe72d68815e6..f71290800b6bb51a39b1f86be36f02d6 string mime_type; diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc -index 1530c51f9090ce51de1f3bc495ca83590d6430ab..d053aa813ab53092dcefb81116ff850318f439c2 100644 +index 74365833e96d5a3c443e9160e1ada106026ada30..10bc715a2d0bd4cfe750ed222424dd4c7be37979 100644 --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc -@@ -470,6 +470,7 @@ URLLoader::URLLoader( +@@ -469,6 +469,7 @@ URLLoader::URLLoader( mojo::SimpleWatcher::ArmingPolicy::MANUAL, base::SequencedTaskRunnerHandle::Get()), per_factory_corb_state_(context.GetMutableCorbState()), @@ -114,7 +114,7 @@ index 1530c51f9090ce51de1f3bc495ca83590d6430ab..d053aa813ab53092dcefb81116ff8503 devtools_request_id_(request.devtools_request_id), request_mode_(request.mode), request_credentials_mode_(request.credentials_mode), -@@ -637,7 +638,7 @@ URLLoader::URLLoader( +@@ -636,7 +637,7 @@ URLLoader::URLLoader( url_request_->SetRequestHeadersCallback(base::BindRepeating( &URLLoader::SetRawRequestHeadersAndNotify, base::Unretained(this))); @@ -123,7 +123,7 @@ index 1530c51f9090ce51de1f3bc495ca83590d6430ab..d053aa813ab53092dcefb81116ff8503 url_request_->SetResponseHeadersCallback(base::BindRepeating( &URLLoader::SetRawResponseHeaders, base::Unretained(this))); } -@@ -1408,6 +1409,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { +@@ -1407,6 +1408,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { } response_ = BuildResponseHead(); diff --git a/patches/chromium/fix_aspect_ratio_with_max_size.patch b/patches/chromium/fix_aspect_ratio_with_max_size.patch index 498c91f8f91a..a562bd5cd3b1 100644 --- a/patches/chromium/fix_aspect_ratio_with_max_size.patch +++ b/patches/chromium/fix_aspect_ratio_with_max_size.patch @@ -11,10 +11,10 @@ enlarge window above dimensions set during creation of the BrowserWindow. diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc -index 37bb1e9788a251b3f2c79b5272d4a44c22b707b3..29c3104308e9e64d0ab99bdfae00479f8e1bfaa1 100644 +index 9e38d55d7156986e48ed6dcb3522d77358bfdb75..01ff95be00b3911749f66a136b2b5a6c02156bd3 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc -@@ -3597,6 +3597,21 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param, +@@ -3596,6 +3596,21 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param, delegate_->GetMinMaxSize(&min_window_size, &max_window_size); min_window_size = delegate_->DIPToScreenSize(min_window_size); max_window_size = delegate_->DIPToScreenSize(max_window_size); diff --git a/patches/chromium/fix_dont_delete_SerialPortManager_on_main_thread.patch b/patches/chromium/fix_dont_delete_SerialPortManager_on_main_thread.patch index cf2398b0c00e..d1d1cd7380be 100644 --- a/patches/chromium/fix_dont_delete_SerialPortManager_on_main_thread.patch +++ b/patches/chromium/fix_dont_delete_SerialPortManager_on_main_thread.patch @@ -50,10 +50,10 @@ upstream would also hit this DCHECK, so give it a try with content_shell or chrome and that would help reporting upstream crbug. diff --git a/services/device/device_service.cc b/services/device/device_service.cc -index 11a7b2902490986ba2462f92c3b3e5ae1b1a127f..32d591621c7206affab50ef061aa565527d5952f 100644 +index 1f18714dd0c79359173f8e9204b9314a92e3b2a8..068570dba8673d2b0af674f556465abda2ed16f5 100644 --- a/services/device/device_service.cc +++ b/services/device/device_service.cc -@@ -159,7 +159,7 @@ DeviceService::~DeviceService() { +@@ -158,7 +158,7 @@ DeviceService::~DeviceService() { // naturally sequenced after the last task on // |serial_port_manager_task_runner_| per ThreadPool shutdown semantics). // See crbug.com/1263149#c20 for details. diff --git a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch index 1bc8ed89784d..e01dfbd4ead0 100644 --- a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch +++ b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch @@ -8,7 +8,7 @@ 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 55224f960151b0cae23b2a49d755eace630e9e3a..86ab5a5e5e3e881fdaf3528640f097493123da74 100644 +index 5766344e7ca539e4ac8526eaa651f0079a9f01b1..ca02c970d0e83b24503a5128c5cf088d9e348f3b 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h @@ -1827,7 +1827,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, @@ -21,7 +21,7 @@ index 55224f960151b0cae23b2a49d755eace630e9e3a..86ab5a5e5e3e881fdaf3528640f09749 // 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 d159f44dc855fee799f7b97b59a2a4e64631e7b4..b583fb7ff191d5dfce4b8fee5f06e074b3a6ea4f 100644 +index 2f14f906b51ce73a69cd780d70ad6264285138ac..b14695646fe75d213b4affa60a6d775ce2474238 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h @@ -673,6 +673,10 @@ class WebContents : public PageNavigator, diff --git a/patches/chromium/fix_patch_out_permissions_checks_in_exclusive_access.patch b/patches/chromium/fix_patch_out_permissions_checks_in_exclusive_access.patch index 4ac4782be914..4fd3f5b2054b 100644 --- a/patches/chromium/fix_patch_out_permissions_checks_in_exclusive_access.patch +++ b/patches/chromium/fix_patch_out_permissions_checks_in_exclusive_access.patch @@ -14,7 +14,7 @@ but it's not strictly necessary for this API to work to spec. Profile check has been upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3247196 diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc -index f1b9597ea5070ac1847355833a751c72abc0e917..caa82d39fbab39ce7c90dcec401aa8d54a5b39da 100644 +index 41cd193087f8d4f246993e96da96ea0523ab50ed..96cd17afad81037ce94ca3ea3583ebbbdd7f157b 100644 --- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc +++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc @@ -16,12 +16,16 @@ @@ -34,7 +34,7 @@ index f1b9597ea5070ac1847355833a751c72abc0e917..caa82d39fbab39ce7c90dcec401aa8d5 #include "chrome/common/chrome_switches.h" #include "content/public/browser/navigation_details.h" #include "content/public/browser/navigation_entry.h" -@@ -161,6 +165,7 @@ void FullscreenController::EnterFullscreenModeForTab( +@@ -159,6 +163,7 @@ void FullscreenController::EnterFullscreenModeForTab( return; } @@ -42,15 +42,15 @@ index f1b9597ea5070ac1847355833a751c72abc0e917..caa82d39fbab39ce7c90dcec401aa8d5 if (base::FeatureList::IsEnabled( blink::features::kWindowPlacementFullscreenCompanionWindow)) { if (!popunder_preventer_) -@@ -168,6 +173,7 @@ void FullscreenController::EnterFullscreenModeForTab( +@@ -166,6 +171,7 @@ void FullscreenController::EnterFullscreenModeForTab( else popunder_preventer_->WillActivateWebContents(web_contents); } +#endif - SetTabWithExclusiveAccess(web_contents); - requesting_origin_ = -@@ -203,7 +209,9 @@ void FullscreenController::EnterFullscreenModeForTab( + // Keep the current state. |SetTabWithExclusiveAccess| may change the return + // value of |IsWindowFullscreenForTabOrPending|. +@@ -218,7 +224,9 @@ void FullscreenController::EnterFullscreenModeForTab( } void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) { @@ -60,7 +60,7 @@ index f1b9597ea5070ac1847355833a751c72abc0e917..caa82d39fbab39ce7c90dcec401aa8d5 if (MaybeToggleFullscreenWithinTab(web_contents, false)) { // During tab capture of fullscreen-within-tab views, the browser window -@@ -248,11 +256,13 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) { +@@ -263,11 +271,13 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) { void FullscreenController::FullscreenTabOpeningPopup( content::WebContents* opener, content::WebContents* popup) { @@ -74,7 +74,7 @@ index f1b9597ea5070ac1847355833a751c72abc0e917..caa82d39fbab39ce7c90dcec401aa8d5 } void FullscreenController::OnTabDeactivated( -@@ -402,13 +412,9 @@ void FullscreenController::EnterFullscreenModeInternal( +@@ -417,13 +427,9 @@ void FullscreenController::EnterFullscreenModeInternal( // Do not enter fullscreen mode if disallowed by pref. This prevents the user // from manually entering fullscreen mode and also disables kiosk mode on // desktop platforms. @@ -90,7 +90,7 @@ index f1b9597ea5070ac1847355833a751c72abc0e917..caa82d39fbab39ce7c90dcec401aa8d5 #endif toggled_into_fullscreen_ = true; -@@ -421,6 +427,7 @@ void FullscreenController::EnterFullscreenModeInternal( +@@ -436,6 +442,7 @@ void FullscreenController::EnterFullscreenModeInternal( url = extension_caused_fullscreen_; } @@ -98,7 +98,7 @@ index f1b9597ea5070ac1847355833a751c72abc0e917..caa82d39fbab39ce7c90dcec401aa8d5 if (display_id != display::kInvalidDisplayId) { // Check, but do not prompt, for permission to request a specific screen. // Sites generally need permission to get the display id in the first place. -@@ -434,6 +441,7 @@ void FullscreenController::EnterFullscreenModeInternal( +@@ -449,6 +456,7 @@ void FullscreenController::EnterFullscreenModeInternal( display_id = display::kInvalidDisplayId; } } 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 929bc1574435..6994d7d5bdc0 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,10 +7,10 @@ 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 b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b90008d9b 100644 +index ee30fddfeb034d14ae05cb5957026f65f32a4fd4..aa38a6e0cc4c0ac57469bb67c85dae3b8ce19bc2 100644 --- a/chrome/browser/accessibility/accessibility_ui.cc +++ b/chrome/browser/accessibility/accessibility_ui.cc -@@ -20,7 +20,10 @@ +@@ -21,7 +21,10 @@ #include "base/values.h" #include "build/build_config.h" #include "build/chromeos_buildflags.h" @@ -21,7 +21,7 @@ index b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b #include "chrome/common/pref_names.h" #include "chrome/common/webui_url_constants.h" #include "chrome/grit/dev_ui_browser_resources.h" -@@ -49,9 +52,11 @@ +@@ -50,9 +53,11 @@ #include "ui/views/accessibility/view_accessibility.h" #if !BUILDFLAG(IS_ANDROID) @@ -33,7 +33,7 @@ index b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b #include "ui/views/accessibility/widget_ax_tree_id_map.h" #include "ui/views/widget/widget.h" #include "ui/views/widget/widget_delegate.h" -@@ -163,7 +168,7 @@ std::unique_ptr BuildTargetDescriptor( +@@ -164,7 +169,7 @@ std::unique_ptr BuildTargetDescriptor( accessibility_mode); } @@ -42,7 +42,7 @@ index b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b std::unique_ptr BuildTargetDescriptor(Browser* browser) { std::unique_ptr target_data( new base::DictionaryValue()); -@@ -202,7 +207,9 @@ void HandleAccessibilityRequestCallback( +@@ -203,7 +208,9 @@ void HandleAccessibilityRequestCallback( DCHECK(ShouldHandleAccessibilityRequestCallback(path)); base::DictionaryValue data; @@ -52,7 +52,7 @@ index b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b ui::AXMode mode = content::BrowserAccessibilityState::GetInstance()->GetAccessibilityMode(); bool is_native_enabled = content::BrowserAccessibilityState::GetInstance() -@@ -236,7 +243,7 @@ void HandleAccessibilityRequestCallback( +@@ -237,7 +244,7 @@ void HandleAccessibilityRequestCallback( data.SetBoolKey(kViewsAccessibility, features::IsAccessibilityTreeForViewsEnabled()); @@ -61,7 +61,7 @@ index b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b data.SetStringKey(kInternal, show_internal ? kOn : kOff); std::unique_ptr rvh_list(new base::ListValue()); -@@ -271,12 +278,12 @@ void HandleAccessibilityRequestCallback( +@@ -272,12 +279,12 @@ void HandleAccessibilityRequestCallback( data.Set(kPagesField, std::move(rvh_list)); std::unique_ptr browser_list(new base::ListValue()); @@ -76,7 +76,7 @@ index b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b data.Set(kBrowsersField, std::move(browser_list)); std::unique_ptr widgets_list(new base::ListValue()); -@@ -493,8 +500,10 @@ void AccessibilityUIMessageHandler::SetGlobalFlag(const base::ListValue* args) { +@@ -494,8 +501,10 @@ void AccessibilityUIMessageHandler::SetGlobalFlag(const base::ListValue* args) { AllowJavascript(); if (flag_name_str == kInternal) { @@ -87,7 +87,7 @@ index b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b return; } -@@ -601,10 +610,12 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree( +@@ -602,10 +611,12 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree( AXPropertyFilter::ALLOW_EMPTY); AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY); @@ -101,7 +101,7 @@ index b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b result->SetStringKey(kTreeField, accessibility_contents); FireWebUIListener(request_type, *(result.get())); } -@@ -629,6 +640,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( +@@ -630,6 +641,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( AXPropertyFilter::ALLOW_EMPTY); AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY); @@ -109,7 +109,7 @@ index b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b for (Browser* browser : *BrowserList::GetInstance()) { if (browser->session_id().id() == session_id) { std::unique_ptr result( -@@ -643,6 +655,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( +@@ -644,6 +656,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree( return; } } @@ -117,7 +117,7 @@ index b9fd875b26d64e84201605978f897b234b998f6f..20ac941733b0b1f9e14954fde1c17b7b #endif // !BUILDFLAG(IS_ANDROID) // No browser with the specified |session_id| was found. std::unique_ptr result(new base::DictionaryValue()); -@@ -759,5 +772,7 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents( +@@ -760,5 +773,7 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents( // static void AccessibilityUIMessageHandler::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { diff --git a/patches/chromium/fix_properly_honor_printing_page_ranges.patch b/patches/chromium/fix_properly_honor_printing_page_ranges.patch index 6afb86bfb4a1..d67ab8eee59c 100644 --- a/patches/chromium/fix_properly_honor_printing_page_ranges.patch +++ b/patches/chromium/fix_properly_honor_printing_page_ranges.patch @@ -100,10 +100,10 @@ index 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 aca31e17a90f95d6a4616fec5b33ce55cd136af0..e340cfae256797b7683fad8b32776a95889a8f46 100644 +index 804166d8844da5bd889f014e79d59d0cd75f5490..35ef412756a2c63394e5f2587b5bc73eadae4d60 100644 --- a/ui/gtk/printing/print_dialog_gtk.cc +++ b/ui/gtk/printing/print_dialog_gtk.cc -@@ -240,6 +240,24 @@ void PrintDialogGtk::UpdateSettings( +@@ -239,6 +239,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/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index 9ed4dada269e..9b3efd6eefca 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 9208dc75b4e3d969fbb0bb13de64d2b129de9509..b5779d43456c5e356497f2cb671fcb9b3492b47f 100644 +index d3228eb29e921f63d74b7291814c7121f99bf8f8..739def8df363d8f33b194c7191a0016eefffcd9a 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -3170,6 +3170,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -3171,6 +3171,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } @@ -20,10 +20,10 @@ index 9208dc75b4e3d969fbb0bb13de64d2b129de9509..b5779d43456c5e356497f2cb671fcb9b } diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h -index 1b7e71e12d01929b8bfacf8c7c8950922bdd3d59..ca5a03653611843a8eac90e1be86ca4aa40ecce2 100644 +index 6aa01e2f4e8227f0c1cb78b88009728efccdd998..98830a0b12036025b69c74342329f95d74e2c623 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -277,6 +277,11 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -271,6 +271,11 @@ class CONTENT_EXPORT ContentBrowserClient { virtual ~ContentBrowserClient() = default; diff --git a/patches/chromium/gin_enable_disable_v8_platform.patch b/patches/chromium/gin_enable_disable_v8_platform.patch index e67cc4c13a9e..c25fe7140292 100644 --- a/patches/chromium/gin_enable_disable_v8_platform.patch +++ b/patches/chromium/gin_enable_disable_v8_platform.patch @@ -38,10 +38,10 @@ index 1e36669dfb275b8a7c4913c8465bd299c548ed3a..178023d52c9e8ef716ee215e7a243b18 // 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 b123e69bf6a57b1a4041c79c1cddd0117ed3851c..a8a23ccd0837866c1cb0657e0b8713d484042f38 100644 +index 6996e07dd19c0fa29fe658c6cb33adc60969e63e..ee480cc557db3bfd4ff9428324151d071ad1f444 100644 --- a/gin/v8_initializer.cc +++ b/gin/v8_initializer.cc -@@ -348,7 +348,8 @@ void SetFlags(IsolateHolder::ScriptMode mode, +@@ -351,7 +351,8 @@ void SetFlags(IsolateHolder::ScriptMode mode, // static void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, @@ -51,7 +51,7 @@ index b123e69bf6a57b1a4041c79c1cddd0117ed3851c..a8a23ccd0837866c1cb0657e0b8713d4 static bool v8_is_initialized = false; if (v8_is_initialized) return; -@@ -358,7 +359,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, +@@ -361,7 +362,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, // See https://crbug.com/v8/11043 SetFlags(mode, js_command_line_flags); diff --git a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch index 385502d7e9df..a5004a948860 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 b26a3c72aa63b81f8f4558b28b404faf138a897b..335dc385eb03bc9634387af44dfd1aa3bfa71cb6 100644 +index e9c3f3dee36a44d40844a88dbb899f593d03c907..c8dc226ce7c87fa84da5c99760f12538e367bbc9 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 b26a3c72aa63b81f8f4558b28b404faf138a897b..335dc385eb03bc9634387af44dfd1aa3 void GpuDataManagerImpl::UpdateDawnInfo( diff --git a/content/browser/gpu/gpu_data_manager_impl.h b/content/browser/gpu/gpu_data_manager_impl.h -index 4364da656ac02f2f717e713f37d29ce44c14242b..ba044aee23db495e1da69c5bc0a807e96783faa9 100644 +index 4ed951d5829e87431a1f9f84f0317978cb673e31..82f9a2f97e71848ece8d04effc083db94a45d495 100644 --- a/content/browser/gpu/gpu_data_manager_impl.h +++ b/content/browser/gpu/gpu_data_manager_impl.h @@ -124,6 +124,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDataManager, @@ -40,10 +40,10 @@ index 4364da656ac02f2f717e713f37d29ce44c14242b..ba044aee23db495e1da69c5bc0a807e9 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 972bb4e8ba2d1470ed5f24c125551e3e627d79e4..d3b15d35eb458c00e470569904924c28c7a3957d 100644 +index 53402e4d706f58c26498015c1a5c33b4f7ceabc7..c14ce99ec72881133a5bf2bd90369ee0211f6ca1 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.cc +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1211,6 +1211,12 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() { +@@ -1215,6 +1215,12 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() { if (host) host->ForceShutdown(); } @@ -57,10 +57,10 @@ index 972bb4e8ba2d1470ed5f24c125551e3e627d79e4..d3b15d35eb458c00e470569904924c28 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 81f6abb91a3fdefc1b0128f3224c7b82bfcbd0d2..99980e3528f4660bf1205e44326645d97e762cb9 100644 +index ac0afe687650da564187127dc7ea93a47acde719..237e3f00b1451be43949a797ef1b35885b958a5d 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.h +++ b/content/browser/gpu/gpu_data_manager_impl_private.h -@@ -89,6 +89,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -90,6 +90,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { bool VulkanRequested() const; void PostCreateThreads(); void TerminateInfoCollectionGpuProcess(); diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index c8d8f95b97ae..c3969f67ffd7 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 862a5fa7d1f388c9e6cda18416fb5d9ae56cca4b..2da5d367dacd557bcca79412ed77fd74d37241f4 100644 +index b036986b35dac88ab58d572a9e77bf0b1210411a..56f58636177cba954bdd24f8c43fc339a5e9b436 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -950,6 +950,11 @@ +@@ -954,6 +954,11 @@ "includes": [4960], }, diff --git a/patches/chromium/gtk_visibility.patch b/patches/chromium/gtk_visibility.patch index db6a2993b6c7..f9b02be672a7 100644 --- a/patches/chromium/gtk_visibility.patch +++ b/patches/chromium/gtk_visibility.patch @@ -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 27d6cc30cad2dffed0a2587fdd49199248e006e1..f6c0974ca21e6b83faf81e5d11add0eb534645d1 100644 +index b1180a85530a7dd65022e174fe335ede0c7c55ca..c12133d82b111d37c8bac92980c22e406125c8df 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_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 84f03a08c570..dff95cff6f34 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 90f738057d3040b5421d51592097c7c30106a94f..3cb2f0880bb36f19fc9b55f2351f891088e8c304 100755 +index a8f53aaae2f2dd7e5af3b50a3bf80671a6276581..ee128e30c394c755306a62412b06d15503ccd2f2 100755 --- a/tools/clang/scripts/update.py +++ b/tools/clang/scripts/update.py @@ -298,6 +298,8 @@ def GetDefaultHostOs(): diff --git a/patches/chromium/load_v8_snapshot_in_browser_process.patch b/patches/chromium/load_v8_snapshot_in_browser_process.patch index bfb6ba312160..b44a477877ab 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 ce5f2904c283643558375a84453073f7ea8aba3e..a17bf60c79fdd2511a46796b80879ed7926c706d 100644 +index 85a55e9bbb7403b031c512fa5e010cbb0487d9c6..31c83eab4781725540f57e1e66c6f7e7c0b85d8b 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc -@@ -248,11 +248,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) { +@@ -247,11 +247,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/mas_avoid_usage_of_private_macos_apis.patch b/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch index 03d4ca35e86d..81d1ad3dbb10 100644 --- a/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch +++ b/patches/chromium/mas_avoid_usage_of_private_macos_apis.patch @@ -135,7 +135,7 @@ index 184cfa25dbc6cfa2a32be3f8d964ea359254f807..c9bfc4d8ca1408206244305d7634dcd5 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 e28d37435da00153e34132f49ce8f6b240e70a65..77ce459d969022b7c5a4d1e57bb1f7e6fa7a9898 100644 +index 0e842caf7b6487d94978c7b68fb5b222e330581f..5eafcd163ee1a05203a5eb76592a449f5a84e71f 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 @@ diff --git a/patches/chromium/mas_disable_remote_accessibility.patch b/patches/chromium/mas_disable_remote_accessibility.patch index 8ac081f88cbf..5dedbca65703 100644 --- a/patches/chromium/mas_disable_remote_accessibility.patch +++ b/patches/chromium/mas_disable_remote_accessibility.patch @@ -167,7 +167,7 @@ index 14fec4b1b39d995553b029ca7ec780ce29b27162..54a1142f17e2a63b86e1fab52ea90276 /////////////////////////////////////////////////////////////////////////////// diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn -index be753e5ea42cc8757b0e7f9a21aa12b40f1928f2..83f3ef36e17b484d838c9338ae6ad0073b42283c 100644 +index 244b208e6a7872ea4d25fcf74a78abc9248a9ac3..45bafcaaa10641ca3a8306a6685ee9ed730d1e02 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn @@ -319,6 +319,13 @@ component("base") { @@ -233,10 +233,10 @@ index d4051a7a8755c7b10d4df3746cb2857471f07c45..de04616893d1c97e3607eb5a4b942733 // 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 7ed5041b0625a98be269b4f4daeef33c3bc1f8b6..803d8bc43fa57c8e49d33d4be618d51a408ffe47 100644 +index c9294c5358401da716b6d8d2846e20e9a04f4e2d..c9a3cdee33e3aa8bfbfa9c6678c2828a94b90061 100644 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm -@@ -296,14 +296,22 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -297,14 +297,22 @@ void HandleAccelerator(const ui::Accelerator& accelerator, NativeWidgetMacNSWindowHost::GetNativeViewAccessibleForNSView() const { if (in_process_ns_window_bridge_) return in_process_ns_window_bridge_->ns_view(); @@ -259,7 +259,7 @@ index 7ed5041b0625a98be269b4f4daeef33c3bc1f8b6..803d8bc43fa57c8e49d33d4be618d51a } remote_cocoa::mojom::NativeWidgetNSWindow* -@@ -1287,6 +1295,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -1288,6 +1296,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator, void NativeWidgetMacNSWindowHost::SetRemoteAccessibilityTokens( const std::vector& window_token, const std::vector& view_token) { @@ -267,7 +267,7 @@ index 7ed5041b0625a98be269b4f4daeef33c3bc1f8b6..803d8bc43fa57c8e49d33d4be618d51a remote_window_accessible_ = ui::RemoteAccessibility::GetRemoteElementFromToken(window_token); remote_view_accessible_ = -@@ -1294,14 +1303,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -1295,14 +1304,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator, [remote_view_accessible_ setWindowUIElement:remote_window_accessible_.get()]; [remote_view_accessible_ setTopLevelUIElement:remote_window_accessible_.get()]; diff --git a/patches/chromium/mas_disable_remote_layer.patch b/patches/chromium/mas_disable_remote_layer.patch index 541ac9b7e977..940e9864b669 100644 --- a/patches/chromium/mas_disable_remote_layer.patch +++ b/patches/chromium/mas_disable_remote_layer.patch @@ -40,10 +40,10 @@ index 1b84c9df5990d0905d068ca822d5173313a74edd..89a90a5c8e0c3ede1b0fe63d45c5768b 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 224542e2a70e980684d5d882af7fe3988c5ee96b..7a726eea86f21fe31077aaa447cccc05007d5eaa 100644 +index 767d3f6454ef3150354911ed683f5485bb83fbbb..f273b56276c1b277b307f6c4c061e08d12daea42 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm -@@ -59,7 +59,7 @@ +@@ -60,7 +60,7 @@ ca_layer_tree_coordinator_ = std::make_unique( use_remote_layer_api_, allow_av_sample_buffer_display_layer); @@ -52,7 +52,7 @@ index 224542e2a70e980684d5d882af7fe3988c5ee96b..7a726eea86f21fe31077aaa447cccc05 // Create the CAContext to send this to the GPU process, and the layer for // the context. if (use_remote_layer_api_) { -@@ -68,6 +68,7 @@ +@@ -69,6 +69,7 @@ options:@{}] retain]); [ca_context_ setLayer:ca_layer_tree_coordinator_->GetCALayerForDisplay()]; } @@ -60,7 +60,7 @@ index 224542e2a70e980684d5d882af7fe3988c5ee96b..7a726eea86f21fe31077aaa447cccc05 } template -@@ -148,7 +149,9 @@ +@@ -149,7 +150,9 @@ "GLImpl", static_cast(gl::GetGLImplementation()), "width", pixel_size_.width()); if (use_remote_layer_api_) { diff --git a/patches/chromium/mas_no_private_api.patch b/patches/chromium/mas_no_private_api.patch index 8054716d63c7..8a03d6be4a74 100644 --- a/patches/chromium/mas_no_private_api.patch +++ b/patches/chromium/mas_no_private_api.patch @@ -183,10 +183,10 @@ index ebe37172d254e8441fe2b8c290bd5a59af38d754..6a131f5c41f3e43a1467efeec2ce63f6 "AudioToolbox.framework", "AudioUnit.framework", diff --git a/media/audio/mac/audio_manager_mac.cc b/media/audio/mac/audio_manager_mac.cc -index ebdc6364312ee710d416318836c03aeec9bfb65c..aa9b50de7efaf0e1b64effea93204984c91790b5 100644 +index b8805f9174818ac086a5d6542c9962050f00aee8..5491b62a2e180b2f6e48e243e2ac78c3b1a16892 100644 --- a/media/audio/mac/audio_manager_mac.cc +++ b/media/audio/mac/audio_manager_mac.cc -@@ -886,7 +886,7 @@ AudioParameters AudioManagerMac::GetPreferredOutputStreamParameters( +@@ -887,7 +887,7 @@ AudioParameters AudioManagerMac::GetPreferredOutputStreamParameters( void AudioManagerMac::InitializeOnAudioThread() { DCHECK(GetTaskRunner()->BelongsToCurrentThread()); 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 e3324296a377..43c8aae94a34 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -7,7 +7,7 @@ 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 54b5a281161187f887032d9445f21c541b9691e5..4c8982a8ae3ae23fbeef244cd23b43c889d3fa94 100644 +index e9a56db142f5f31e567bff7414db110f600fc7f2..98268925da14d61256f8dee3aa899f17ce7acaf6 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc @@ -127,6 +127,11 @@ @@ -22,7 +22,7 @@ index 54b5a281161187f887032d9445f21c541b9691e5..4c8982a8ae3ae23fbeef244cd23b43c8 #if BUILDFLAG(IS_CT_SUPPORTED) #include "components/certificate_transparency/chrome_ct_policy_enforcer.h" #include "components/certificate_transparency/chrome_require_ct_delegate.h" -@@ -434,6 +439,91 @@ bool GetFullDataFilePath( +@@ -435,6 +440,91 @@ bool GetFullDataFilePath( } // namespace @@ -114,7 +114,7 @@ index 54b5a281161187f887032d9445f21c541b9691e5..4c8982a8ae3ae23fbeef244cd23b43c8 constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; NetworkContext::PendingCertVerify::PendingCertVerify() = default; -@@ -678,6 +768,13 @@ void NetworkContext::SetClient( +@@ -732,6 +822,13 @@ void NetworkContext::SetClient( client_.Bind(std::move(client)); } @@ -128,7 +128,7 @@ index 54b5a281161187f887032d9445f21c541b9691e5..4c8982a8ae3ae23fbeef244cd23b43c8 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -2242,6 +2339,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2298,6 +2395,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( std::move(cert_verifier)); cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_); #endif // BUILDFLAG(IS_CHROMEOS) @@ -139,10 +139,10 @@ index 54b5a281161187f887032d9445f21c541b9691e5..4c8982a8ae3ae23fbeef244cd23b43c8 builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( diff --git a/services/network/network_context.h b/services/network/network_context.h -index 3fd4c43562aa5de00d8698096f154522420c8f24..eed05c05d1da28284af6ae0cef45dbbb47254058 100644 +index 53e3f293150e725cd1261f09a8f9bfcb5371a76c..58671094857cdfe5d853c8a284d51bc1b8a09660 100644 --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -105,6 +105,7 @@ class URLMatcher; +@@ -108,6 +108,7 @@ class URLMatcher; namespace network { class CertVerifierWithTrustAnchors; @@ -150,7 +150,7 @@ index 3fd4c43562aa5de00d8698096f154522420c8f24..eed05c05d1da28284af6ae0cef45dbbb class CookieManager; class ExpectCTReporter; class HostResolver; -@@ -221,6 +222,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -240,6 +241,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) override; @@ -159,9 +159,9 @@ index 3fd4c43562aa5de00d8698096f154522420c8f24..eed05c05d1da28284af6ae0cef45dbbb void ResetURLLoaderFactories() override; void GetCookieManager( mojo::PendingReceiver receiver) override; -@@ -796,6 +799,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext - CertVerifierWithTrustAnchors* cert_verifier_with_trust_anchors_ = nullptr; - #endif +@@ -827,6 +830,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext + std::vector dismount_closures_; + #endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED) + RemoteCertVerifier* remote_cert_verifier_ = nullptr; + @@ -169,10 +169,10 @@ index 3fd4c43562aa5de00d8698096f154522420c8f24..eed05c05d1da28284af6ae0cef45dbbb // 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 64199b44316ab4671941c734444d207591512d0a..c929eb10af5b8856debdc0d665eac767e9730714 100644 +index b2beaa762bfe88b56ac24d35646b6e6cbc630816..b52e5a2230e96d55d7886bde331a505c58dd093a 100644 --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -280,6 +280,17 @@ struct NetworkContextFilePaths { +@@ -281,6 +281,17 @@ struct NetworkContextFilePaths { bool trigger_migration = false; }; @@ -190,7 +190,7 @@ index 64199b44316ab4671941c734444d207591512d0a..c929eb10af5b8856debdc0d665eac767 // Parameters for constructing a network context. struct NetworkContextParams { // The user agent string. -@@ -829,6 +840,9 @@ interface NetworkContext { +@@ -830,6 +841,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 f9c04cc3c173..b4277e3d63f5 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -7,10 +7,10 @@ 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 225609e52130d4113c8ae667f3ffa565bbde5b73..b33d27ce4fc6222146255cf4c0e7342751c75c9b 100644 +index 83b33e3f521aa79942ba3446a8b161a4e4e23da1..24f409f673797b6e8bb1da680343ea1ddc083e4f 100644 --- a/chrome/browser/notifications/platform_notification_service_impl.cc +++ b/chrome/browser/notifications/platform_notification_service_impl.cc -@@ -196,6 +196,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically( +@@ -195,6 +195,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically( // TODO(awdf): Rename to DisplayNonPersistentNotification (Similar for Close) void PlatformNotificationServiceImpl::DisplayNotification( @@ -31,13 +31,13 @@ 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 fd2c2d72ebc3cab0cc824bb091da32d4be635dd9..8bcd6a87c38413a5281d164e3c0fcfd23c3fa04b 100644 +index 32a61e73658d33dcd0fe1640094c8b79dde0be37..3c3650e0f8364a5c86bd11a6f11ca559a97f5900 100644 --- a/content/browser/notifications/blink_notification_service_impl.cc +++ b/content/browser/notifications/blink_notification_service_impl.cc -@@ -81,10 +81,12 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl( - PlatformNotificationContextImpl* notification_context, +@@ -82,10 +82,12 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl( BrowserContext* browser_context, scoped_refptr service_worker_context, + RenderProcessHost* render_process_host, + RenderFrameHost* render_frame_host, const url::Origin& origin, const GURL& document_url, @@ -46,8 +46,8 @@ index fd2c2d72ebc3cab0cc824bb091da32d4be635dd9..8bcd6a87c38413a5281d164e3c0fcfd2 + render_frame_host_(render_frame_host), browser_context_(browser_context), service_worker_context_(std::move(service_worker_context)), - origin_(origin), -@@ -147,7 +149,7 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification( + render_process_host_id_(render_process_host->GetID()), +@@ -149,7 +151,7 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification( notification_id, std::move(event_listener_remote)); browser_context_->GetPlatformNotificationService()->DisplayNotification( @@ -57,18 +57,18 @@ index fd2c2d72ebc3cab0cc824bb091da32d4be635dd9..8bcd6a87c38413a5281d164e3c0fcfd2 } diff --git a/content/browser/notifications/blink_notification_service_impl.h b/content/browser/notifications/blink_notification_service_impl.h -index cb2b09912dbe426611e944316841ee2a9c2e373f..4d2603c29b2d89fa296b1aad40c2132a9c7498aa 100644 +index dc8de24c86f1769680ce7830844d35dfef7eb7e7..fcd99361fa8c895d6bd89bacb9fb94e76969e7b2 100644 --- a/content/browser/notifications/blink_notification_service_impl.h +++ b/content/browser/notifications/blink_notification_service_impl.h -@@ -41,6 +41,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl - PlatformNotificationContextImpl* notification_context, +@@ -42,6 +42,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl BrowserContext* browser_context, scoped_refptr service_worker_context, + RenderProcessHost* render_process_host, + RenderFrameHost* render_frame_host, const url::Origin& origin, const GURL& document_url, mojo::PendingReceiver receiver); -@@ -101,6 +102,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl +@@ -102,6 +103,7 @@ class CONTENT_EXPORT BlinkNotificationServiceImpl // The notification context that owns this service instance. raw_ptr notification_context_; @@ -77,69 +77,69 @@ index cb2b09912dbe426611e944316841ee2a9c2e373f..4d2603c29b2d89fa296b1aad40c2132a 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 f0d5ea365cf09d2dc06de88fc03e4bf5ddfdf4a6..b68666813ab231a3d4233d3ed2f9655b18d8a280 100644 +index 7461d5079f9cb0f257fbb93248c98be9409d38e7..4ddb9e40f0441b378d73ac75d99ae64c90d32b58 100644 --- a/content/browser/notifications/blink_notification_service_impl_unittest.cc +++ b/content/browser/notifications/blink_notification_service_impl_unittest.cc -@@ -126,7 +126,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test { - +@@ -129,7 +129,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test { notification_service_ = std::make_unique( notification_context_.get(), &browser_context_, -- embedded_worker_helper_->context_wrapper(), -+ embedded_worker_helper_->context_wrapper(), nullptr, - url::Origin::Create(GURL(kTestOrigin)), + embedded_worker_helper_->context_wrapper(), &render_process_host_, +- url::Origin::Create(GURL(kTestOrigin)), ++ nullptr, url::Origin::Create(GURL(kTestOrigin)), /*document_url=*/GURL(), 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 5580c415a1e8a45327147861d7c71cebd1ecbd5a..d37711f83be7566ec5ad2078942aaca1948a77c5 100644 +index 1195296c6f925e6c4f52f61866cf4b7f824af4e9..d3142bef0856c5cd7f4822ee9dcaedaef74a12d3 100644 --- a/content/browser/notifications/platform_notification_context_impl.cc +++ b/content/browser/notifications/platform_notification_context_impl.cc -@@ -281,13 +281,14 @@ void PlatformNotificationContextImpl::Shutdown() { - } +@@ -282,13 +282,14 @@ void PlatformNotificationContextImpl::Shutdown() { void PlatformNotificationContextImpl::CreateService( + RenderProcessHost* render_process_host, + RenderFrameHost* render_frame_host, const url::Origin& origin, const GURL& document_url, mojo::PendingReceiver receiver) { DCHECK_CURRENTLY_ON(BrowserThread::UI); services_.push_back(std::make_unique( -- this, browser_context_, service_worker_context_, origin, document_url, -- std::move(receiver))); -+ this, browser_context_, service_worker_context_, render_frame_host, -+ origin, document_url, std::move(receiver))); + this, browser_context_, service_worker_context_, render_process_host, +- origin, document_url, std::move(receiver))); ++ render_frame_host, origin, document_url, std::move(receiver))); } void PlatformNotificationContextImpl::RemoveService( diff --git a/content/browser/notifications/platform_notification_context_impl.h b/content/browser/notifications/platform_notification_context_impl.h -index 951075749b24814606f494c5a89ee2adf527f512..7036323ff8ee38ae92790dfd2e216df61181bc55 100644 +index 69f000e5cd25c6d89c88238873f638923bafdf0e..4f0068a92a0e99e2b34f105954689c7b5c19f436 100644 --- a/content/browser/notifications/platform_notification_context_impl.h +++ b/content/browser/notifications/platform_notification_context_impl.h -@@ -47,6 +47,7 @@ class BrowserContext; - struct NotificationDatabaseData; +@@ -48,6 +48,7 @@ struct NotificationDatabaseData; class PlatformNotificationServiceProxy; + class RenderProcessHost; class ServiceWorkerContextWrapper; +class RenderFrameHost; // Implementation of the Web Notification storage context. The public methods // defined in this interface must only be called on the UI thread. -@@ -76,6 +77,7 @@ class CONTENT_EXPORT PlatformNotificationContextImpl - // Creates a BlinkNotificationServiceImpl that is owned by this context. +@@ -78,6 +79,7 @@ class CONTENT_EXPORT PlatformNotificationContextImpl // |document_url| is empty when originating from a worker. void CreateService( + RenderProcessHost* render_process_host, + RenderFrameHost* render_frame_host, const url::Origin& origin, const GURL& document_url, mojo::PendingReceiver receiver); diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index a188b1282e7ceca3fe24cb2d82c644bf0c21bc6f..f0b6fa61bb24d5b5fc4cf9cb8fc2f635f515f3f6 100644 +index b769a06dc9443317a1073738c6fd38816ebeb186..20a697be32f7e27a9fa33d0225c94520aa5ebf2e 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2083,7 +2083,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2083,7 +2083,8 @@ void RenderProcessHostImpl::CreateNotificationService( document_url = rfh->GetLastCommittedURL(); storage_partition_impl_->GetPlatformNotificationContext()->CreateService( -- origin, document_url, std::move(receiver)); -+ RenderFrameHost::FromID(GetID(), render_frame_id), origin, document_url, std::move(receiver)); +- this, origin, document_url, std::move(receiver)); ++ this, RenderFrameHost::FromID(GetID(), render_frame_id), ++ origin, document_url, std::move(receiver)); } void RenderProcessHostImpl::CreateWebSocketConnector( diff --git a/patches/chromium/picture-in-picture.patch b/patches/chromium/picture-in-picture.patch index b22235fd4e63..4e2dbb1fe210 100644 --- a/patches/chromium/picture-in-picture.patch +++ b/patches/chromium/picture-in-picture.patch @@ -138,7 +138,7 @@ index 850b34e3b40f7ff1848c66158976db079e0853bd..74178fd4752e9c469d50ccafda61157a #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 6d2744b673ecb31464d4aa9b0d11177892c030f4..1dd75ec581ecd67e04a8f1cf1e43bce70eaa9380 100644 +index c24fdd1360e582293a8b21b2f29dc6bc02b564c9..b9b2b4aa7d168cd7a83c36edbe4f7dc30565c921 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 e81c37f12f38..8dc0b14a5514 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 d9db2d705c88e828383e81efd8f8c6d28e1520bb..7f0e1672af0fef134fc637324e366e9e8d985054 100644 +index d1a9c517a69bcc79a4b42f8eb8b6fcc3cea2f4da..04569140589c25d37bad2cd5ff979cfc6b1f3f43 100644 --- a/ui/color/color_id.h +++ b/ui/color/color_id.h -@@ -122,6 +122,16 @@ +@@ -125,6 +125,16 @@ E_CPONLY(kColorOverlayScrollbarStrokeHoveredDark) \ E_CPONLY(kColorOverlayScrollbarStrokeHoveredLight) \ E_CPONLY(kColorProgressBar) \ @@ -28,7 +28,7 @@ index d9db2d705c88e828383e81efd8f8c6d28e1520bb..7f0e1672af0fef134fc637324e366e9e E_CPONLY(kColorSeparator) \ E_CPONLY(kColorShadowBase) \ E_CPONLY(kColorShadowValueAmbientShadowElevationSixteen) \ -@@ -174,6 +184,7 @@ +@@ -177,6 +187,7 @@ E_CPONLY(kColorTreeNodeForeground) \ E_CPONLY(kColorTreeNodeForegroundSelectedFocused) \ E_CPONLY(kColorTreeNodeForegroundSelectedUnfocused) \ @@ -37,10 +37,10 @@ index d9db2d705c88e828383e81efd8f8c6d28e1520bb..7f0e1672af0fef134fc637324e366e9e #if BUILDFLAG(IS_CHROMEOS) diff --git a/ui/color/ui_color_mixer.cc b/ui/color/ui_color_mixer.cc -index a89f393da6c06ba21d5303a925dd9e907bde5e03..e0106610831ca36544161672f3663e54b2585228 100644 +index b404ef6063c3a6c542565de46458b7401f129963..ce6fca0516d91b8acfe5fe6bc89bc09ae03a17d6 100644 --- a/ui/color/ui_color_mixer.cc +++ b/ui/color/ui_color_mixer.cc -@@ -138,6 +138,17 @@ void AddUiColorMixer(ColorProvider* provider, +@@ -143,6 +143,17 @@ void AddUiColorMixer(ColorProvider* provider, SetAlpha(GetColorWithMaxContrast(kColorOverlayScrollbarFillHoveredLight), gfx::kGoogleGreyAlpha500); mixer[kColorProgressBar] = {kColorAccent}; @@ -58,7 +58,7 @@ index a89f393da6c06ba21d5303a925dd9e907bde5e03..e0106610831ca36544161672f3663e54 mixer[kColorSeparator] = {kColorMidground}; mixer[kColorShadowBase] = {dark_mode ? SK_ColorBLACK : gfx::kGoogleGrey800}; mixer[kColorShadowValueAmbientShadowElevationThree] = -@@ -213,6 +224,7 @@ void AddUiColorMixer(ColorProvider* provider, +@@ -218,6 +229,7 @@ void AddUiColorMixer(ColorProvider* provider, mixer[kColorTreeNodeForegroundSelectedFocused] = {kColorTreeNodeForeground}; mixer[kColorTreeNodeForegroundSelectedUnfocused] = { kColorTreeNodeForegroundSelectedFocused}; diff --git a/patches/chromium/printing.patch b/patches/chromium/printing.patch index 877c4e12eaa0..09a9b9dd6df0 100644 --- a/patches/chromium/printing.patch +++ b/patches/chromium/printing.patch @@ -69,7 +69,7 @@ index 650c78f16c812170aeda99d75300ff88f47347a0..c33ce445a23f97a744db3a4ac30ef471 NEW_DOC, diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc -index b11b8f34cf7e252a8d22e167d6555f3aa432e5c4..3a42aa2a6cde698a75349e573a34b1328fc9c11c 100644 +index 5248f98e3d8e1469afe2ec87f696581cb0ff4687..4fe1faed3bb95407e2d25ea9c868bc0d615ba03c 100644 --- a/chrome/browser/printing/print_job_worker.cc +++ b/chrome/browser/printing/print_job_worker.cc @@ -20,7 +20,6 @@ @@ -88,7 +88,7 @@ index b11b8f34cf7e252a8d22e167d6555f3aa432e5c4..3a42aa2a6cde698a75349e573a34b132 #include "printing/backend/print_backend.h" #include "printing/buildflags/buildflags.h" #include "printing/mojom/print.mojom.h" -@@ -229,16 +229,21 @@ void PrintJobWorker::UpdatePrintSettings(base::Value new_settings, +@@ -232,16 +232,21 @@ void PrintJobWorker::UpdatePrintSettings(base::Value new_settings, #endif // BUILDFLAG(IS_LINUX) && defined(USE_CUPS) } @@ -127,7 +127,7 @@ index 56232bf979e90a01bb580c0a1972ae0860d994e9..96e05b5cd4b556a6ddb41664b5ff999b void PrintJobWorkerOop::UnregisterServiceManagerClient() { diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc -index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a89f5489f 100644 +index 9d17312dce6fb7619f0a7f1a05219f70561ea7a3..1d83d9ea04b582216b0244d038ca774bf8b4b9b9 100644 --- a/chrome/browser/printing/print_view_manager_base.cc +++ b/chrome/browser/printing/print_view_manager_base.cc @@ -30,10 +30,10 @@ @@ -168,7 +168,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a } #if BUILDFLAG(ENABLE_PRINT_PREVIEW) -@@ -193,7 +197,9 @@ void UpdatePrintSettingsReplyOnIO( +@@ -191,7 +195,9 @@ void UpdatePrintSettingsReplyOnIO( DCHECK_CURRENTLY_ON(content::BrowserThread::IO); DCHECK(printer_query); mojom::PrintPagesParamsPtr params = CreateEmptyPrintPagesParamsPtr(); @@ -179,7 +179,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a RenderParamsFromPrintSettings(printer_query->settings(), params->params.get()); params->params->document_cookie = printer_query->cookie(); -@@ -246,6 +252,7 @@ void ScriptedPrintReplyOnIO( +@@ -244,6 +250,7 @@ void ScriptedPrintReplyOnIO( mojom::PrintManagerHost::ScriptedPrintCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); mojom::PrintPagesParamsPtr params = CreateEmptyPrintPagesParamsPtr(); @@ -187,7 +187,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a if (printer_query->last_status() == mojom::ResultCode::kSuccess && printer_query->settings().dpi()) { RenderParamsFromPrintSettings(printer_query->settings(), -@@ -255,8 +262,9 @@ void ScriptedPrintReplyOnIO( +@@ -253,8 +260,9 @@ void ScriptedPrintReplyOnIO( } bool has_valid_cookie = params->params->document_cookie; bool has_dpi = !params->params->dpi.IsEmpty(); @@ -198,7 +198,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a if (has_dpi && has_valid_cookie) { queue->QueuePrinterQuery(std::move(printer_query)); -@@ -295,12 +303,14 @@ PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents) +@@ -292,12 +300,14 @@ PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents) : PrintManager(web_contents), queue_(g_browser_process->print_job_manager()->queue()) { DCHECK(queue_); @@ -213,7 +213,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a } PrintViewManagerBase::~PrintViewManagerBase() { -@@ -308,7 +318,10 @@ PrintViewManagerBase::~PrintViewManagerBase() { +@@ -305,7 +315,10 @@ PrintViewManagerBase::~PrintViewManagerBase() { DisconnectFromCurrentPrintJob(); } @@ -225,7 +225,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a // Remember the ID for `rfh`, to enable checking that the `RenderFrameHost` // is still valid after a possible inner message loop runs in // `DisconnectFromCurrentPrintJob()`. -@@ -334,7 +347,9 @@ bool PrintViewManagerBase::PrintNow(content::RenderFrameHost* rfh) { +@@ -331,7 +344,9 @@ bool PrintViewManagerBase::PrintNow(content::RenderFrameHost* rfh) { #endif SetPrintingRFH(rfh); @@ -236,7 +236,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a for (auto& observer : GetObservers()) observer.OnPrintNow(rfh); -@@ -487,7 +502,8 @@ void PrintViewManagerBase::GetDefaultPrintSettingsReply( +@@ -484,7 +499,8 @@ void PrintViewManagerBase::GetDefaultPrintSettingsReply( void PrintViewManagerBase::ScriptedPrintReply( ScriptedPrintCallback callback, int process_id, @@ -246,7 +246,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a DCHECK_CURRENTLY_ON(content::BrowserThread::UI); #if BUILDFLAG(ENABLE_OOP_PRINTING) -@@ -500,16 +516,19 @@ void PrintViewManagerBase::ScriptedPrintReply( +@@ -497,16 +513,19 @@ void PrintViewManagerBase::ScriptedPrintReply( return; } @@ -270,7 +270,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a } void PrintViewManagerBase::NavigationStopped() { -@@ -625,11 +644,14 @@ void PrintViewManagerBase::DidPrintDocument( +@@ -622,11 +641,14 @@ void PrintViewManagerBase::DidPrintDocument( void PrintViewManagerBase::GetDefaultPrintSettings( GetDefaultPrintSettingsCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -285,7 +285,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a #if BUILDFLAG(ENABLE_OOP_PRINTING) if (printing::features::kEnableOopPrintDriversJobPrint.Get() && !service_manager_client_id_.has_value()) { -@@ -656,18 +678,20 @@ void PrintViewManagerBase::UpdatePrintSettings( +@@ -653,18 +675,20 @@ void PrintViewManagerBase::UpdatePrintSettings( base::Value job_settings, UpdatePrintSettingsCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -307,7 +307,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a content::BrowserContext* context = web_contents() ? web_contents()->GetBrowserContext() : nullptr; PrefService* prefs = -@@ -677,6 +701,7 @@ void PrintViewManagerBase::UpdatePrintSettings( +@@ -674,6 +698,7 @@ void PrintViewManagerBase::UpdatePrintSettings( if (value > 0) job_settings.SetIntKey(kSettingRasterizePdfDpi, value); } @@ -315,7 +315,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a auto callback_wrapper = base::BindOnce(&PrintViewManagerBase::UpdatePrintSettingsReply, -@@ -702,14 +727,14 @@ void PrintViewManagerBase::ScriptedPrint(mojom::ScriptedPrintParamsPtr params, +@@ -699,14 +724,14 @@ void PrintViewManagerBase::ScriptedPrint(mojom::ScriptedPrintParamsPtr params, // didn't happen for some reason. bad_message::ReceivedBadMessage( render_process_host, bad_message::PVMB_SCRIPTED_PRINT_FENCED_FRAME); @@ -332,7 +332,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a return; } #endif -@@ -732,7 +757,6 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie) { +@@ -729,7 +754,6 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie) { PrintManager::PrintingFailed(cookie); #if !BUILDFLAG(IS_ANDROID) // Android does not implement this function. @@ -340,7 +340,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a #endif ReleasePrinterQuery(); -@@ -747,6 +771,11 @@ void PrintViewManagerBase::RemoveObserver(Observer& observer) { +@@ -744,6 +768,11 @@ void PrintViewManagerBase::RemoveObserver(Observer& observer) { } void PrintViewManagerBase::ShowInvalidPrinterSettingsError() { @@ -352,7 +352,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a base::ThreadTaskRunnerHandle::Get()->PostTask( FROM_HERE, base::BindOnce(&ShowWarningMessageBox, l10n_util::GetStringUTF16( -@@ -757,10 +786,12 @@ void PrintViewManagerBase::RenderFrameHostStateChanged( +@@ -754,10 +783,12 @@ void PrintViewManagerBase::RenderFrameHostStateChanged( content::RenderFrameHost* render_frame_host, content::RenderFrameHost::LifecycleState /*old_state*/, content::RenderFrameHost::LifecycleState new_state) { @@ -365,7 +365,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a } void PrintViewManagerBase::DidStartLoading() { -@@ -820,6 +851,11 @@ void PrintViewManagerBase::OnJobDone() { +@@ -817,6 +848,11 @@ void PrintViewManagerBase::OnJobDone() { ReleasePrintJob(); } @@ -377,7 +377,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a void PrintViewManagerBase::OnFailed() { TerminatePrintJob(true); } -@@ -881,7 +917,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( +@@ -878,7 +914,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( // Disconnect the current |print_job_|. auto weak_this = weak_ptr_factory_.GetWeakPtr(); @@ -389,7 +389,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a if (!weak_this) return false; -@@ -963,6 +1002,13 @@ void PrintViewManagerBase::ReleasePrintJob() { +@@ -960,6 +999,13 @@ void PrintViewManagerBase::ReleasePrintJob() { UnregisterSystemPrintClient(); #endif @@ -403,7 +403,7 @@ index 2eb81c133b94fd237e4eaa60472c08515fd6d01e..e641ba582e01bc02b6f3d6f28cfcd91a if (!print_job_) return; -@@ -1012,7 +1058,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { +@@ -1009,7 +1055,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { } bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) { @@ -569,7 +569,7 @@ index 6cd585d597315940be144506b9bb819137a7981e..8ea9c38a46460edd237f003ddd736224 // 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 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd056957255b74f0a2 100644 +index 36852ff8edee8da4ca43cf84c316f1f0eaff9fe0..7be102bae492701cddefc1623af4fe8bdd9963fa 100644 --- a/components/printing/renderer/print_render_frame_helper.cc +++ b/components/printing/renderer/print_render_frame_helper.cc @@ -40,6 +40,7 @@ @@ -580,7 +580,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 #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" -@@ -1263,7 +1264,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) { +@@ -1264,7 +1265,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) { if (!weak_this) return; @@ -590,7 +590,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 if (!weak_this) return; -@@ -1294,7 +1296,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver( +@@ -1295,7 +1297,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver( receivers_.Add(this, std::move(receiver)); } @@ -599,7 +599,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 ScopedIPC scoped_ipc(weak_ptr_factory_.GetWeakPtr()); if (ipc_nesting_level_ > kAllowedIpcDepthForPrint) return; -@@ -1309,7 +1311,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() { +@@ -1310,7 +1312,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() { // plugin node and print that instead. auto plugin = delegate_->GetPdfElement(frame); @@ -608,7 +608,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 if (!render_frame_gone_) frame->DispatchAfterPrintEvent(); -@@ -1340,7 +1342,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() { +@@ -1341,7 +1343,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() { } Print(frame, print_preview_context_.source_node(), @@ -618,7 +618,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 if (!render_frame_gone_) print_preview_context_.DispatchAfterPrintEvent(); // WARNING: |this| may be gone at this point. Do not do any more work here and -@@ -1389,6 +1392,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value settings) { +@@ -1390,6 +1393,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value settings) { if (ipc_nesting_level_ > kAllowedIpcDepthForPrint) return; @@ -627,7 +627,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 print_preview_context_.OnPrintPreview(); #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -1941,7 +1946,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -1942,7 +1947,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { return; Print(duplicate_node.GetDocument().GetFrame(), duplicate_node, @@ -637,7 +637,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 // Check if |this| is still valid. if (!weak_this) return; -@@ -1956,7 +1962,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { +@@ -1957,7 +1963,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, const blink::WebNode& node, @@ -648,7 +648,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 // If still not finished with earlier print request simply ignore. if (prep_frame_view_) return; -@@ -1964,7 +1972,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, +@@ -1965,7 +1973,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, FrameReference frame_ref(frame); uint32_t expected_page_count = 0; @@ -657,7 +657,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 DidFinishPrinting(FAIL_PRINT_INIT); return; // Failed to init print page settings. } -@@ -1983,8 +1991,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, +@@ -1984,8 +1992,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, print_pages_params_->params->print_scaling_option; auto self = weak_ptr_factory_.GetWeakPtr(); @@ -674,7 +674,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 // Check if |this| is still valid. if (!self) return; -@@ -2232,36 +2247,51 @@ void PrintRenderFrameHelper::IPCProcessed() { +@@ -2233,36 +2248,51 @@ void PrintRenderFrameHelper::IPCProcessed() { } } @@ -738,7 +738,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 notify_browser_of_print_failure_ = false; GetPrintManagerHost()->ShowInvalidPrinterSettingsError(); return false; -@@ -2405,7 +2435,7 @@ mojom::PrintPagesParamsPtr PrintRenderFrameHelper::GetPrintSettingsFromUser( +@@ -2406,7 +2436,7 @@ mojom::PrintPagesParamsPtr PrintRenderFrameHelper::GetPrintSettingsFromUser( std::move(params), base::BindOnce( [](base::OnceClosure quit_closure, mojom::PrintPagesParamsPtr* output, @@ -747,7 +747,7 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 *output = std::move(input); std::move(quit_closure).Run(); }, -@@ -2656,18 +2686,7 @@ void PrintRenderFrameHelper::RequestPrintPreview(PrintPreviewRequestType type, +@@ -2657,18 +2687,7 @@ void PrintRenderFrameHelper::RequestPrintPreview(PrintPreviewRequestType type, } bool PrintRenderFrameHelper::CheckForCancel() { @@ -768,10 +768,10 @@ index 419a2daf45c123df7cd4e38614598278cb775cba..9b3fcc2e7cfbd70587845bbd05695725 bool PrintRenderFrameHelper::PreviewPageRendered( diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h -index 023594185e3aa9c79e8c5179c40ce867a5bb80e9..312cf5d4dbdb130dee3a07f970c9d92d6cd2cdbf 100644 +index cd26f9ecf888c2a321890edd378ee0f8843a7f6c..958794f95fe8830b7e494340fbd53b0e92a498e3 100644 --- a/components/printing/renderer/print_render_frame_helper.h +++ b/components/printing/renderer/print_render_frame_helper.h -@@ -256,7 +256,7 @@ class PrintRenderFrameHelper +@@ -257,7 +257,7 @@ class PrintRenderFrameHelper mojo::PendingAssociatedReceiver receiver); // printing::mojom::PrintRenderFrame: @@ -780,7 +780,7 @@ index 023594185e3aa9c79e8c5179c40ce867a5bb80e9..312cf5d4dbdb130dee3a07f970c9d92d #if BUILDFLAG(ENABLE_PRINT_PREVIEW) void PrintForSystemDialog() override; void SetPrintPreviewUI( -@@ -323,7 +323,9 @@ class PrintRenderFrameHelper +@@ -324,7 +324,9 @@ class PrintRenderFrameHelper // WARNING: |this| may be gone after this method returns. void Print(blink::WebLocalFrame* frame, const blink::WebNode& node, @@ -791,7 +791,7 @@ index 023594185e3aa9c79e8c5179c40ce867a5bb80e9..312cf5d4dbdb130dee3a07f970c9d92d // Notification when printing is done - signal tear-down/free resources. void DidFinishPrinting(PrintingResult result); -@@ -332,12 +334,14 @@ class PrintRenderFrameHelper +@@ -333,12 +335,14 @@ class PrintRenderFrameHelper // Initialize print page settings with default settings. // Used only for native printing workflow. @@ -809,7 +809,7 @@ index 023594185e3aa9c79e8c5179c40ce867a5bb80e9..312cf5d4dbdb130dee3a07f970c9d92d #if BUILDFLAG(ENABLE_PRINT_PREVIEW) // Set options for print preset from source PDF document. diff --git a/printing/printing_context.cc b/printing/printing_context.cc -index 3d8281c8af9a4339bdd492c67edafc4ec6efb09d..6f8b9d42e051579cf1d0774afa771a7e45d31ff2 100644 +index c4cdb402bc0aaa25b9118bad33a84b7f04cc94c4..8022f3599ec38d614272cde3109a7be2d9b2840e 100644 --- a/printing/printing_context.cc +++ b/printing/printing_context.cc @@ -120,7 +120,6 @@ mojom::ResultCode PrintingContext::UsePdfSettings() { diff --git a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch index e0d3249452e8..ab990b94d874 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -30,10 +30,10 @@ index 059ff2b47e7aa8b9707e71ae9a1793bfdd86d319..529637f8b6af6b8b45f9de61d27b5e9c // 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 ed56e947fa137cbaddaa12503ae983d7acd4463f..e1d77416991bac0178935b1bd255947d20db6210 100644 +index 7e421c72e3cb9abd9c3dc6542afed08f3910df93..218fe3eb6d6e2e4bce19776f25560aa7b81dfefa 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -2073,6 +2073,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) { +@@ -2067,6 +2067,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 ed56e947fa137cbaddaa12503ae983d7acd4463f..e1d77416991bac0178935b1bd255947d void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 3fa51ecee644055db44bd4dd54c27ec224ff46d6..cc6afdef869470136c2cec392911742a289f6339 100644 +index cf37734d313470c27d2d40bd90cb199234a1e99e..63b01c486f56499bbc2acff0b5abdbf24b0ce676 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4500,6 +4500,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { +@@ -4506,6 +4506,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } @@ -59,7 +59,7 @@ index 3fa51ecee644055db44bd4dd54c27ec224ff46d6..cc6afdef869470136c2cec392911742a RenderWidgetHostImpl* render_widget_host) { return render_widget_host == GetMainFrame()->GetRenderWidgetHost(); diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index fdb4a26de507f260466a7bc22c5cadc64190c342..55224f960151b0cae23b2a49d755eace630e9e3a 100644 +index 207633738a6bb358c796c8bb42aa5805b753f61b..5766344e7ca539e4ac8526eaa651f0079a9f01b1 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h @@ -961,6 +961,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, @@ -71,7 +71,7 @@ index fdb4a26de507f260466a7bc22c5cadc64190c342..55224f960151b0cae23b2a49d755eace 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 b68d706fe204c3e8d65b2bf523950840c0398db2..8852a8da29bc9b7f9b832ad392741751f46e3fd7 100644 +index 9ee3b74460c009c92fb811787250270ea13233b3..802d02e825d98f103f48e3134d6b9dd7e99aa2c5 100644 --- a/content/public/browser/web_contents_observer.h +++ b/content/public/browser/web_contents_observer.h @@ -13,6 +13,7 @@ diff --git a/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch b/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch index ddd75f00d4f9..ae36800e4a5d 100644 --- a/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch +++ b/patches/chromium/refactor_restore_base_adaptcallbackforrepeating.patch @@ -12,10 +12,10 @@ should be removed as soon as those have been updated. Patching because every instance is a FTBFS that prevents testing any one instance's fix. diff --git a/base/callback_helpers.h b/base/callback_helpers.h -index 046130ff8cbc4945e94a4ee71ac6320b4f7c5369..c71c3e1720b3f4c7b7362d99957cd2479bf88a37 100644 +index 460442d9c0f894f78b29b33c027320511511dbcc..30068c219aa497892e10290be0fe5734ded8b23c 100644 --- a/base/callback_helpers.h +++ b/base/callback_helpers.h -@@ -94,6 +94,22 @@ class OnceCallbackHolder final { +@@ -95,6 +95,22 @@ class OnceCallbackHolder final { } // namespace internal diff --git a/patches/chromium/render_widget_host_view_base.patch b/patches/chromium/render_widget_host_view_base.patch index 229cc895360e..79d8bc6b449c 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 6944f34edbfb7656c19883243ab2eb15f5ce51d9..0a2ddf31689b0d2ba2600a40067f9892b06033a7 100644 +index 7d6f0a7f7f65440b7827a2fe01d75998716b1bef..6aaa797b602f7fca7f78026311938c6c88efcfbd 100644 --- a/content/browser/renderer_host/render_widget_host_view_base.cc +++ b/content/browser/renderer_host/render_widget_host_view_base.cc -@@ -662,6 +662,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor( +@@ -658,6 +658,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor( return false; } @@ -24,7 +24,7 @@ index 6944f34edbfb7656c19883243ab2eb15f5ce51d9..0a2ddf31689b0d2ba2600a40067f9892 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 abdd3cf7d93ab9a1f80351d38ddcee52664414da..98da92a6d31103dfa0a48e278c3a15ee0533791e 100644 +index a5c773c9a78565230013b6219ec83621980defef..34b6650c766673274f0da3e539bf9a8e71c3d36e 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/resource_file_conflict.patch b/patches/chromium/resource_file_conflict.patch index f37fd4c085d9..6e7b9f068b95 100644 --- a/patches/chromium/resource_file_conflict.patch +++ b/patches/chromium/resource_file_conflict.patch @@ -52,7 +52,7 @@ 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 f1e0552dedf377238e9cd9d24a5ebea77ed83717..1f86073736f849e797e029678bc212ce96ba0bd9 100644 +index 6b8f8778d17008582ab9edeae6d63dd1111182f3..ff2e479125f1a6d7cbb52e4f674cb836d4f6596c 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn @@ -1547,7 +1547,7 @@ if (is_chrome_branded && !is_android) { diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch index c90a98511a53..ae352c1290d3 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 347526056c09a34c62512869b7c21b9e2b6ea0d7..dda90e2043eaba4dd951628f4876cad60a553b9b 100644 +index 6ee18591ecf3f73388384d82a6530a950ff580e7..c43e94bc7c53ec9573c2e0b869d93bfd73f7051a 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1339,7 +1339,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1313,7 +1313,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { } bool RenderThreadImpl::IsElasticOverscrollEnabled() { diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index ea511b50b259..e10c15ba036d 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,7 +22,7 @@ However, the patch would need to be reviewed by the security team, as it does touch a security-sensitive class. diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index f0b6fa61bb24d5b5fc4cf9cb8fc2f635f515f3f6..ca056c66af681548ba01bd07db7dadc5ce2a5280 100644 +index 20a697be32f7e27a9fa33d0225c94520aa5ebf2e..927e182bbba7a3700fd20c8c964da7cc162c4210 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -1786,9 +1786,15 @@ bool RenderProcessHostImpl::Init() { diff --git a/patches/chromium/sysroot.patch b/patches/chromium/sysroot.patch index 13f063ddec35..4dd9ad00ae56 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 ada6208644cb22c9f51c571f9509e335c0836163..86b55223fc21adf0e01cb276ebc613f6ea24f8b2 100755 +index eaa1c2edfd6fba471312fdb4eb3917b50e38e018..1824d513f6296985b5a3758f7e052ed77dcf0e0f 100755 --- a/build/linux/sysroot_scripts/install-sysroot.py +++ b/build/linux/sysroot_scripts/install-sysroot.py @@ -41,9 +41,11 @@ except ImportError: @@ -24,7 +24,7 @@ index ada6208644cb22c9f51c571f9509e335c0836163..86b55223fc21adf0e01cb276ebc613f6 VALID_ARCHS = ('arm', 'arm64', 'i386', 'amd64', 'mips', 'mips64el') -@@ -105,7 +107,7 @@ def GetSysrootDict(target_platform, target_arch): +@@ -106,7 +108,7 @@ def GetSysrootDict(target_platform, target_arch): if target_arch not in VALID_ARCHS: raise Error('Unknown architecture: %s' % target_arch) diff --git a/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch b/patches/chromium/unsandboxed_ppapi_processes_skip_zygote.patch index b3d8608dc3a5..5ce4605f1e1e 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 a0d6f0353bb387e6eca9f2b13ab1d40996234110..8548abdfae14d630794abc1033f9b9eda59f771b 100644 +index 28e6c85b65b782c5b788b3e2283db070d4490c7a..87dc089b7c36d72d623c73cd5aba196f00a0d1f1 100644 --- a/content/browser/ppapi_plugin_sandboxed_process_launcher_delegate.cc +++ b/content/browser/ppapi_plugin_sandboxed_process_launcher_delegate.cc @@ -7,6 +7,7 @@ @@ -17,7 +17,7 @@ index a0d6f0353bb387e6eca9f2b13ab1d40996234110..8548abdfae14d630794abc1033f9b9ed #if BUILDFLAG(IS_WIN) #include "base/win/windows_version.h" -@@ -63,6 +64,9 @@ bool PpapiPluginSandboxedProcessLauncherDelegate::PreSpawnTarget( +@@ -53,6 +54,9 @@ bool PpapiPluginSandboxedProcessLauncherDelegate::PreSpawnTarget( ZygoteHandle PpapiPluginSandboxedProcessLauncherDelegate::GetZygote() { const base::CommandLine& browser_command_line = *base::CommandLine::ForCurrentProcess(); diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index 44905e57c8ee..f71e73be0d00 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -9,12 +9,12 @@ 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 2033877b86eddbc9baac6a603587e631021f6819..7f4679943fa1d7b2585552a811098d97cada3070 100644 +index aeb111257740cd8c73e88c9b15d1f95fd49240c4..d00640770b8648116cb83d3a565f4b2f3ca37f8c 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3051,6 +3051,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3057,6 +3057,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, site_instance.get(), params.renderer_initiated_creation, - params.main_frame_name, GetOriginalOpener(), primary_main_frame_policy); + params.main_frame_name, GetOpener(), primary_main_frame_policy); + if (params.view && params.delegate_view) { + view_.reset(params.view); @@ -26,7 +26,7 @@ index 2033877b86eddbc9baac6a603587e631021f6819..7f4679943fa1d7b2585552a811098d97 WebContentsViewDelegate* delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -3061,6 +3068,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3067,6 +3074,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, view_.reset(CreateWebContentsView(this, delegate, &render_view_host_delegate_view_)); } @@ -35,7 +35,7 @@ index 2033877b86eddbc9baac6a603587e631021f6819..7f4679943fa1d7b2585552a811098d97 CHECK(view_.get()); diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h -index cb672eb5276e8d3bb686f98405854f67970e72cb..d159f44dc855fee799f7b97b59a2a4e64631e7b4 100644 +index c062c66f596f513e46da04fc9ea5f5969e7ee632..2f14f906b51ce73a69cd780d70ad6264285138ac 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h @@ -93,10 +93,13 @@ class BrowserContext; diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index 8bb0068ff0b9..55e05e7be118 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 5ad53ce87d8757b18e5ecedbd7ec9aec54bea165..37f181f16cd2520de1cbec678e02061b165fed62 100644 +index a5d6618aac35f01e09a90bdafa9f60c8140b088c..9385e097701ef51ed375fcaa097cdbf14d7ef0c7 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -6293,6 +6293,15 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -6322,6 +6322,15 @@ void RenderFrameHostImpl::EnterFullscreen( notified_instances.insert(parent_site_instance); } diff --git a/patches/chromium/worker_context_will_destroy.patch b/patches/chromium/worker_context_will_destroy.patch index 420a464c14cc..4bd7a399681e 100644 --- a/patches/chromium/worker_context_will_destroy.patch +++ b/patches/chromium/worker_context_will_destroy.patch @@ -26,10 +26,10 @@ index eb8968c2a86102d0d3a21f07c394f1c360083c6c..025ef3f70a5ae34faf8c6013fbfba171 // 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 030fd7ed2ea675e42e7894b1d89e636f5f5b85a6..998fe8b45959b8cfd91a1ed4f75f5946adf61537 100644 +index dbde0706007b8f202fcca5fc05562979617b0183..2adea2c2edabf3c401e9dcd228f1d57c08066059 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -950,6 +950,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { +@@ -949,6 +949,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); } @@ -43,7 +43,7 @@ index 030fd7ed2ea675e42e7894b1d89e636f5f5b85a6..998fe8b45959b8cfd91a1ed4f75f5946 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 8cbfe0a939e97de8dd8d4b5e4d741fb46e94fd45..2bc2ef61890a4c189613ae8a3f61c746ffc5d310 100644 +index e7d0d3e7c08c2f6e83726e7fa2557847d148a0ed..c6e0a728150db2b5af41e12304c88d57e51faa43 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h @@ -208,6 +208,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { @@ -55,7 +55,7 @@ index 8cbfe0a939e97de8dd8d4b5e4d741fb46e94fd45..2bc2ef61890a4c189613ae8a3f61c746 const blink::WebSecurityOrigin& script_origin) override; blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel() diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index b68c90f1f1dd23b8b938936a092b01ffa41f0f28..60aa2e562901d9ff7b915c105acaf49851c959ba 100644 +index 0825226fae036b1e5503b66dabe4bd92ad6ee9bb..3cbb1ed9ef65cb9044a76b0a1686f6ab019c87b5 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h @@ -714,6 +714,7 @@ class BLINK_PLATFORM_EXPORT Platform { 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 be38035e76cb..11730d37c962 100644 --- a/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch +++ b/patches/chromium/worker_feat_add_hook_to_notify_script_ready.patch @@ -35,10 +35,10 @@ index 025ef3f70a5ae34faf8c6013fbfba171c7f501ac..cea3f3dc05f91927f4ee8be5eec85ec2 // 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 998fe8b45959b8cfd91a1ed4f75f5946adf61537..30d22188daed7f0b451ae75655e12bac3c4f10ac 100644 +index 2adea2c2edabf3c401e9dcd228f1d57c08066059..7c76b39ea82dd600b72288cccc571660b653b150 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc -@@ -962,6 +962,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( +@@ -961,6 +961,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( worker); } @@ -52,7 +52,7 @@ index 998fe8b45959b8cfd91a1ed4f75f5946adf61537..30d22188daed7f0b451ae75655e12bac 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 2bc2ef61890a4c189613ae8a3f61c746ffc5d310..36661d62ec1e6f7966b0789326fcbefa5fc3db6e 100644 +index c6e0a728150db2b5af41e12304c88d57e51faa43..7fa7dab64506ddc60e27096412ea7e93608a3394 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h @@ -208,6 +208,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { @@ -65,7 +65,7 @@ index 2bc2ef61890a4c189613ae8a3f61c746ffc5d310..36661d62ec1e6f7966b0789326fcbefa bool AllowScriptExtensionForServiceWorker( const blink::WebSecurityOrigin& script_origin) override; diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h -index 60aa2e562901d9ff7b915c105acaf49851c959ba..bec02889875ef8f6e422d99c8a161898b36610c5 100644 +index 3cbb1ed9ef65cb9044a76b0a1686f6ab019c87b5..c7694b4a89c16d02f946598bcf66aa3d241af83e 100644 --- a/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h @@ -714,6 +714,8 @@ class BLINK_PLATFORM_EXPORT Platform { diff --git a/patches/node/.patches b/patches/node/.patches index 29ed54ec0eb1..b04c145d37cf 100644 --- a/patches/node/.patches +++ b/patches/node/.patches @@ -42,3 +42,4 @@ process_simplify_uv_write_int_calls_3519.patch macos_don_t_use_thread-unsafe_strtok_3524.patch process_fix_hang_after_note_exit_3521.patch feat_add_uv_loop_interrupt_on_io_change_option_to_uv_loop_configure.patch +fix_preserve_proper_method_names_as-is_in_error_stack.patch diff --git a/patches/node/fix_preserve_proper_method_names_as-is_in_error_stack.patch b/patches/node/fix_preserve_proper_method_names_as-is_in_error_stack.patch new file mode 100644 index 000000000000..e14acc34fa10 --- /dev/null +++ b/patches/node/fix_preserve_proper_method_names_as-is_in_error_stack.patch @@ -0,0 +1,432 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Shelley Vohr +Date: Thu, 7 Apr 2022 11:07:10 +0200 +Subject: fix: preserve "proper method names" as-is in error.stack + +Refs https://chromium-review.googlesource.com/c/v8/v8/+/3565724. + +This patch can be removed when Node.js updates to V8 10.2.60 or higher, +which includes the above CL. + +The above CL removes prepended Function. and Object. from +stack traces, and so we need to remove them from the comparison output. + +diff --git a/test/message/async_error_nexttick_main.out b/test/message/async_error_nexttick_main.out +index 8d11dea63d4191d4e492d42cad499e9e6f277bd4..9669e9b5102ff9ce8dfffbc45dadc60dab578458 100644 +--- a/test/message/async_error_nexttick_main.out ++++ b/test/message/async_error_nexttick_main.out +@@ -1,7 +1,7 @@ + Error: test + at one (*fixtures*async-error.js:4:9) + at two (*fixtures*async-error.js:17:9) +- at processTicksAndRejections (node:internal/process/task_queues:*:*) ++ at process.processTicksAndRejections (node:internal/process/task_queues:*:*) + at async three (*fixtures*async-error.js:20:3) + at async four (*fixtures*async-error.js:24:3) + at async main (*message*async_error_nexttick_main.js:7:5) +diff --git a/test/message/core_line_numbers.out b/test/message/core_line_numbers.out +index 97b017f66e2395ca90fc7562b9043579911ddc62..1d21462c8cf63ddbbf9e3b785b553a3104710132 100644 +--- a/test/message/core_line_numbers.out ++++ b/test/message/core_line_numbers.out +@@ -7,8 +7,8 @@ RangeError: Invalid input + at Object.decode (node:punycode:*:*) + at Object. (*test*message*core_line_numbers.js:*:*) + at Module._compile (node:internal/modules/cjs/loader:*:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*:*) + at Module.load (node:internal/modules/cjs/loader:*:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*:*) ++ at Module._load (node:internal/modules/cjs/loader:*:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*) + at node:internal/main/run_main_module:*:* +diff --git a/test/message/error_aggregateTwoErrors.out b/test/message/error_aggregateTwoErrors.out +index d1dc13eacc303cc52003bd5820e7eeec8d48822b..eb85c92e63c850bbf8fbbe2c1600e783e0cd6066 100644 +--- a/test/message/error_aggregateTwoErrors.out ++++ b/test/message/error_aggregateTwoErrors.out +@@ -4,9 +4,9 @@ throw aggregateTwoErrors(err, originalError); + AggregateError: original + at Object. (*test*message*error_aggregateTwoErrors.js:*:*) + at Module._compile (node:internal/modules/cjs/loader:*:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*:*) + at Module.load (node:internal/modules/cjs/loader:*:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*:*) ++ at Module._load (node:internal/modules/cjs/loader:*:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*) + at node:internal/main/run_main_module:*:* { + code: 'ERR0' +diff --git a/test/message/error_exit.out b/test/message/error_exit.out +index 2ef95b535dafe7b0a918b8d6a844e4c4a617818d..dc5e6e7d28cef3a23ca7ba2cfb1435cad55e2aeb 100644 +--- a/test/message/error_exit.out ++++ b/test/message/error_exit.out +@@ -9,9 +9,9 @@ AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + + at Object. (*test*message*error_exit.js:*:*) + at Module._compile (node:internal/modules/cjs/loader:*:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*:*) + at Module.load (node:internal/modules/cjs/loader:*:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*:*) ++ at Module._load (node:internal/modules/cjs/loader:*:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*) + at node:internal/main/run_main_module:*:* { + generatedMessage: true, +diff --git a/test/message/error_with_nul.out b/test/message/error_with_nul.out +index 7fbb33f08e8dc342b9efc899e66f5e3350e9489b..a359999420fa76bd09b401a732acb7dcdfaa2198 100644 +GIT binary patch +delta 13 +VcmdnUvXEuMi;3^+Czmts0st)*2A2Q; + +delta 31 +ncmZ3;vXN!N3wHmctkmQZy@@aCIo(S0l1no4^YkXCGwuQa$o~w9 + +diff --git a/test/message/events_unhandled_error_common_trace.out b/test/message/events_unhandled_error_common_trace.out +index 19e89869ba74fae3f447e299904939da5a683280..2bdbe3df1b4c7e13ba33f099ae89f88365e6b690 100644 +--- a/test/message/events_unhandled_error_common_trace.out ++++ b/test/message/events_unhandled_error_common_trace.out +@@ -7,9 +7,9 @@ Error: foo:bar + at foo (*events_unhandled_error_common_trace.js:*:*) + at Object. (*events_unhandled_error_common_trace.js:*:*) + at Module._compile (node:internal/modules/cjs/loader:*:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*:*) + at Module.load (node:internal/modules/cjs/loader:*:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*:*) ++ at Module._load (node:internal/modules/cjs/loader:*:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*) + at node:internal/main/run_main_module:*:* + Emitted 'error' event at: +diff --git a/test/message/events_unhandled_error_nexttick.out b/test/message/events_unhandled_error_nexttick.out +index 3e0d4697504e49eaae5ce1807a3794cccbcd6eec..87bb2fbb91a66e6dde9dfc61427682cba90f529c 100644 +--- a/test/message/events_unhandled_error_nexttick.out ++++ b/test/message/events_unhandled_error_nexttick.out +@@ -5,11 +5,11 @@ node:events:* + Error + at Object. (*events_unhandled_error_nexttick.js:*:*) + at Module._compile (node:internal/modules/cjs/loader:*:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*:*) + at Module.load (node:internal/modules/cjs/loader:*:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*:*) ++ at Module._load (node:internal/modules/cjs/loader:*:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*) + at node:internal/main/run_main_module:*:* + Emitted 'error' event at: + at *events_unhandled_error_nexttick.js:*:* +- at processTicksAndRejections (node:internal/process/task_queues:*:*) ++ at process.processTicksAndRejections (node:internal/process/task_queues:*:*) +diff --git a/test/message/events_unhandled_error_sameline.out b/test/message/events_unhandled_error_sameline.out +index c027275033941df96d6ab24c1647f110a0436d9a..872556a3b393e737adb4ed3b613f2c0cf20b1d2c 100644 +--- a/test/message/events_unhandled_error_sameline.out ++++ b/test/message/events_unhandled_error_sameline.out +@@ -5,9 +5,9 @@ node:events:* + Error + at Object. (*events_unhandled_error_sameline.js:*:*) + at Module._compile (node:internal/modules/cjs/loader:*:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*:*) + at Module.load (node:internal/modules/cjs/loader:*:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*:*) ++ at Module._load (node:internal/modules/cjs/loader:*:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*) + at node:internal/main/run_main_module:*:* + Emitted 'error' event at: +diff --git a/test/message/events_unhandled_error_subclass.out b/test/message/events_unhandled_error_subclass.out +index 5b8131970d50d50971184ccad0e2159c52fb0afd..073ab348a96f2e24efc2a661009287e4b7acda77 100644 +--- a/test/message/events_unhandled_error_subclass.out ++++ b/test/message/events_unhandled_error_subclass.out +@@ -5,9 +5,9 @@ node:events:* + Error + at Object. (*events_unhandled_error_subclass.js:*:*) + at Module._compile (node:internal/modules/cjs/loader:*:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*:*) + at Module.load (node:internal/modules/cjs/loader:*:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*:*) ++ at Module._load (node:internal/modules/cjs/loader:*:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*) + at node:internal/main/run_main_module:*:* + Emitted 'error' event on Foo instance at: +diff --git a/test/message/if-error-has-good-stack.out b/test/message/if-error-has-good-stack.out +index d87581cd7675346d51261efa4e0e28c57f9652eb..c5188137124d38f48989d6774a177795617b4974 100644 +--- a/test/message/if-error-has-good-stack.out ++++ b/test/message/if-error-has-good-stack.out +@@ -12,9 +12,9 @@ AssertionError [ERR_ASSERTION]: ifError got unwanted exception: test error + at a (*if-error-has-good-stack.js:*:*) + at Object. (*if-error-has-good-stack.js:*:*) + at Module._compile (node:internal/modules/cjs/loader:*:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*:*) + at Module.load (node:internal/modules/cjs/loader:*:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*:*) ++ at Module._load (node:internal/modules/cjs/loader:*:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*) + at node:internal/main/run_main_module:*:* { + generatedMessage: false, +@@ -25,9 +25,9 @@ AssertionError [ERR_ASSERTION]: ifError got unwanted exception: test error + at a (*if-error-has-good-stack.js:*:*) + at Object. (*if-error-has-good-stack.js:*:*) + at Module._compile (node:internal/modules/cjs/loader:*:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*:*) + at Module.load (node:internal/modules/cjs/loader:*:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*:*) ++ at Module._load (node:internal/modules/cjs/loader:*:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*) + at node:internal/main/run_main_module:*:* + expected: null, +diff --git a/test/message/nexttick_throw.out b/test/message/nexttick_throw.out +index 955bcda6a26da019c9954c80ef9db24ea3094bef..3180f9a7de5df66f30c9dcee697ddfbb97df3725 100644 +--- a/test/message/nexttick_throw.out ++++ b/test/message/nexttick_throw.out +@@ -4,4 +4,4 @@ + ^ + ReferenceError: undefined_reference_error_maker is not defined + at *test*message*nexttick_throw.js:*:* +- at processTicksAndRejections (node:internal/process/task_queues:*:*) ++ at process.processTicksAndRejections (node:internal/process/task_queues:*:*) +diff --git a/test/message/source_map_disabled_by_api.out b/test/message/source_map_disabled_by_api.out +index d2cca7da5297e3772ae1acf7b8901eada6c21112..bbe017b05a20edd736ea13e2b501f8d9fdc7d0e6 100644 +--- a/test/message/source_map_disabled_by_api.out ++++ b/test/message/source_map_disabled_by_api.out +@@ -5,9 +5,9 @@ Error: an error! + at functionA (*enclosing-call-site-min.js:1:26) + at Object. (*enclosing-call-site-min.js:1:199) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Module.require (node:internal/modules/cjs/loader:*) + *enclosing-call-site.js:16 + throw new Error('an error!') +@@ -20,7 +20,7 @@ Error: an error! + at functionA (*enclosing-call-site.js:2:3) + at Object. (*enclosing-call-site.js:24:3) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Module.require (node:internal/modules/cjs/loader:*) +diff --git a/test/message/source_map_enabled_by_api.out b/test/message/source_map_enabled_by_api.out +index 525ceccec12e4bdb8a08964ade461692ee99beca..e85ecee7f14a8ba1a599aeaf1d9f5f4855c42c5d 100644 +--- a/test/message/source_map_enabled_by_api.out ++++ b/test/message/source_map_enabled_by_api.out +@@ -9,9 +9,9 @@ Error: an error! + at functionA (*enclosing-call-site.js:2:3) + at Object. (*enclosing-call-site.js:24:3) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Module.require (node:internal/modules/cjs/loader:*) + *enclosing-call-site-min.js:1 + var functionA=function(){functionB()};function functionB(){functionC()}var functionC=function(){functionD()},functionD=function(){if(0 (*enclosing-call-site-min.js:1:199) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Module.require (node:internal/modules/cjs/loader:*) +diff --git a/test/message/source_map_enclosing_function.out b/test/message/source_map_enclosing_function.out +index 3eb76ecbbef31cd224e27001b825bce210f4e170..1babe95e398c61cdd3a4e1fd82fe418e4fbcd238 100644 +--- a/test/message/source_map_enclosing_function.out ++++ b/test/message/source_map_enclosing_function.out +@@ -9,7 +9,7 @@ Error: an error! + at functionA (*enclosing-call-site.js:2:3) + at Object. (*enclosing-call-site.js:24:3) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Module.require (node:internal/modules/cjs/loader:*) +diff --git a/test/message/source_map_reference_error_tabs.out b/test/message/source_map_reference_error_tabs.out +index bce1b5f8911d4b34d3165d7a4bc5195cbe29211d..d56ef13b20bf9ca333e8806e3905059583c1f991 100644 +--- a/test/message/source_map_reference_error_tabs.out ++++ b/test/message/source_map_reference_error_tabs.out +@@ -6,9 +6,9 @@ ReferenceError: alert is not defined + at *tabs.coffee:26:2* + at *tabs.coffee:1:14* + at Module._compile (node:internal/modules/cjs/loader:* +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:* ++ at Module._extensions..js (node:internal/modules/cjs/loader:* + at Module.load (node:internal/modules/cjs/loader:* +- at Function.Module._load (node:internal/modules/cjs/loader:* ++ at Module._load (node:internal/modules/cjs/loader:* + at Module.require (node:internal/modules/cjs/loader:* + at require (node:internal/modules/cjs/helpers:* + at Object. (*source_map_reference_error_tabs.js:* +diff --git a/test/message/source_map_throw_catch.out b/test/message/source_map_throw_catch.out +index 95bba5eee3e9dc6415ab44b7c842fc05b5d5dec2..9a98aa59e767592c04153c2a6d349710d7f28a2e 100644 +--- a/test/message/source_map_throw_catch.out ++++ b/test/message/source_map_throw_catch.out +@@ -6,9 +6,9 @@ Error: an exception + at *typescript-throw.ts:18:11* + at *typescript-throw.ts:24:1* + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Module.require (node:internal/modules/cjs/loader:*) + at require (node:internal/modules/cjs/helpers:*) + at Object. (*source_map_throw_catch.js:6:3) +diff --git a/test/message/source_map_throw_first_tick.out b/test/message/source_map_throw_first_tick.out +index efa97a1d9f56ddbaf87422fa14d1f14f07a33061..1d76129d0c3506824d22be17711b1351285af937 100644 +--- a/test/message/source_map_throw_first_tick.out ++++ b/test/message/source_map_throw_first_tick.out +@@ -6,9 +6,9 @@ Error: an exception + at *typescript-throw.ts:18:11* + at *typescript-throw.ts:24:1* + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Module.require (node:internal/modules/cjs/loader:*) + at require (node:internal/modules/cjs/helpers:*) + at Object. (*source_map_throw_first_tick.js:5:1) +diff --git a/test/message/source_map_throw_icu.out b/test/message/source_map_throw_icu.out +index 78482d73ddf0376de2443321c426fc6c84a1c29a..c5f699f80a9be862772ae5af8884d85bec72ebe3 100644 +--- a/test/message/source_map_throw_icu.out ++++ b/test/message/source_map_throw_icu.out +@@ -6,9 +6,9 @@ Error: an error + at *icu.jsx:3:23* + at *icu.jsx:9:5* + at Module._compile (node:internal/modules/cjs/loader:* +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:* ++ at Module._extensions..js (node:internal/modules/cjs/loader:* + at Module.load (node:internal/modules/cjs/loader:* +- at Function.Module._load (node:internal/modules/cjs/loader:* ++ at Module._load (node:internal/modules/cjs/loader:* + at Module.require (node:internal/modules/cjs/loader:* + at require (node:internal/modules/cjs/helpers:* + at Object. (*source_map_throw_icu.js:* +diff --git a/test/message/source_map_throw_set_immediate.out b/test/message/source_map_throw_set_immediate.out +index c735e23cb955c5cb733ae766bd019848764b7ff1..21349d4c4598c0abac50b2b90e3bbf9b439257f5 100644 +--- a/test/message/source_map_throw_set_immediate.out ++++ b/test/message/source_map_throw_set_immediate.out +@@ -5,4 +5,4 @@ + Error: goodbye + at Hello *uglify-throw-original.js:5:9* + at *uglify-throw-original.js:9:3* +- at processImmediate (node:internal/timers:*) ++ at process.processImmediate (node:internal/timers:*) +diff --git a/test/message/timeout_throw.out b/test/message/timeout_throw.out +index 66e495eb84d0bda0c3f6b5f085aa2061f0e1b59a..968a5e4e4117713e4bf347e56ff84001ec86bb31 100644 +--- a/test/message/timeout_throw.out ++++ b/test/message/timeout_throw.out +@@ -4,4 +4,4 @@ + ReferenceError: undefined_reference_error_maker is not defined + at Timeout._onTimeout (*test*message*timeout_throw.js:*:*) + at listOnTimeout (node:internal/timers:*:*) +- at processTimers (node:internal/timers:*:*) ++ at process.processTimers (node:internal/timers:*:*) +diff --git a/test/message/undefined_reference_in_new_context.out b/test/message/undefined_reference_in_new_context.out +index 61dee9f6d4fba3696b91333c5fbdc20cf8e819fe..b06dc02a4861bd0eae89c682db0dce426b7409f3 100644 +--- a/test/message/undefined_reference_in_new_context.out ++++ b/test/message/undefined_reference_in_new_context.out +@@ -12,5 +12,5 @@ ReferenceError: foo is not defined + at Module._compile (node:internal/modules/cjs/loader:*) + at *..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*:*) ++ at Module._load (node:internal/modules/cjs/loader:*:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*:*) +diff --git a/test/message/vm_display_runtime_error.out b/test/message/vm_display_runtime_error.out +index 8f1e9c37967f253071ad20c5a4f2b81f7b65b8cc..d7a39915f999101d4f2bfcc5f7bc9ba77eab8f0d 100644 +--- a/test/message/vm_display_runtime_error.out ++++ b/test/message/vm_display_runtime_error.out +@@ -9,9 +9,9 @@ Error: boo! + at Object.runInThisContext (node:vm:*) + at Object. (*test*message*vm_display_runtime_error.js:*) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*) + at node:internal/main/run_main_module:*:* + test.vm:1 +@@ -24,8 +24,8 @@ Error: spooky! + at Object.runInThisContext (node:vm:*) + at Object. (*test*message*vm_display_runtime_error.js:*) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*) + at node:internal/main/run_main_module:*:* +diff --git a/test/message/vm_display_syntax_error.out b/test/message/vm_display_syntax_error.out +index b0b70fcd75966825e0ff1893ff984a3e20edc926..ce82fb366e0375eeea8ced2320a3662584411160 100644 +--- a/test/message/vm_display_syntax_error.out ++++ b/test/message/vm_display_syntax_error.out +@@ -8,9 +8,9 @@ SyntaxError: Unexpected number + at Object.runInThisContext (node:vm:*) + at Object. (*test*message*vm_display_syntax_error.js:*) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*) + at node:internal/main/run_main_module:*:* + test.vm:1 +@@ -22,8 +22,8 @@ SyntaxError: Unexpected number + at Object.runInThisContext (node:vm:*) + at Object. (*test*message*vm_display_syntax_error.js:*) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*) + at node:internal/main/run_main_module:*:* +diff --git a/test/message/vm_dont_display_runtime_error.out b/test/message/vm_dont_display_runtime_error.out +index 2ff2e8355ab90c8d9d00aaa6bf743c4f3b7d0de0..72ef73d628e10f600e5e3e90691587f2f63b1a69 100644 +--- a/test/message/vm_dont_display_runtime_error.out ++++ b/test/message/vm_dont_display_runtime_error.out +@@ -10,8 +10,8 @@ Error: boo! + at Object.runInThisContext (node:vm:*) + at Object. (*test*message*vm_dont_display_runtime_error.js:*) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*) + at node:internal/main/run_main_module:*:* +diff --git a/test/message/vm_dont_display_syntax_error.out b/test/message/vm_dont_display_syntax_error.out +index d46dce2993f863622d2764d816adda548e568121..2ce14fe4013df2aa37c0339880294ba804c4f0c3 100644 +--- a/test/message/vm_dont_display_syntax_error.out ++++ b/test/message/vm_dont_display_syntax_error.out +@@ -10,8 +10,8 @@ SyntaxError: Unexpected number + at Object.runInThisContext (node:vm:*) + at Object. (*test*message*vm_dont_display_syntax_error.js:*) + at Module._compile (node:internal/modules/cjs/loader:*) +- at Object.Module._extensions..js (node:internal/modules/cjs/loader:*) ++ at Module._extensions..js (node:internal/modules/cjs/loader:*) + at Module.load (node:internal/modules/cjs/loader:*) +- at Function.Module._load (node:internal/modules/cjs/loader:*) ++ at Module._load (node:internal/modules/cjs/loader:*) + at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:*) + at node:internal/main/run_main_module:*:* diff --git a/patches/v8/build_gn.patch b/patches/v8/build_gn.patch index 3a023b20e5af..e0f0f0f0ab2e 100644 --- a/patches/v8/build_gn.patch +++ b/patches/v8/build_gn.patch @@ -9,7 +9,7 @@ necessary for native modules to load. Also, some fixes relating to mksnapshot on ARM. diff --git a/BUILD.gn b/BUILD.gn -index e4ea82d914cf99a9368c94da2cc35bd3214d8c23..c4de87b38433bed1a14ce5c3a482023de909ec47 100644 +index c5f46f1b0c565fa9f55f8ead1e9ef6dab9571e95..25df04a1e1fc0a2b4ba61d33384c33d076d471fa 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -605,7 +605,7 @@ config("internal_config") { @@ -21,7 +21,7 @@ index e4ea82d914cf99a9368c94da2cc35bd3214d8c23..c4de87b38433bed1a14ce5c3a482023d defines += [ "BUILDING_V8_SHARED" ] } -@@ -5821,7 +5821,7 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -5823,7 +5823,7 @@ if (current_toolchain == v8_generator_toolchain) { "src/interpreter/bytecodes.h", ] @@ -30,7 +30,7 @@ index e4ea82d914cf99a9368c94da2cc35bd3214d8c23..c4de87b38433bed1a14ce5c3a482023d deps = [ ":v8_libbase", -@@ -5859,6 +5859,8 @@ if (current_toolchain == v8_snapshot_toolchain) { +@@ -5861,6 +5861,8 @@ if (current_toolchain == v8_snapshot_toolchain) { configs = [ ":internal_config" ] diff --git a/patches/v8/dcheck.patch b/patches/v8/dcheck.patch index df2d1239081b..f47cb07374a3 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 e5a0e9fc7655bcc2359578e299b64952d6daa8a8..f15ccd03bc500b9a0095cb8581c6ffc143b29710 100644 +index ac85fb294df295d65236a5e9143337989d2bf6e6..f7004b9aed1ea8c33695be5eda01150ed626c37b 100644 --- a/src/api/api.cc +++ b/src/api/api.cc -@@ -9080,7 +9080,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { +@@ -9110,7 +9110,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { } void Isolate::PerformMicrotaskCheckpoint() { @@ -19,10 +19,10 @@ index e5a0e9fc7655bcc2359578e299b64952d6daa8a8..f15ccd03bc500b9a0095cb8581c6ffc1 isolate->default_microtask_queue()->PerformCheckpoint(this); } diff --git a/src/heap/heap.cc b/src/heap/heap.cc -index f0ba31671416f1d77d3b1a5ecb76a0dd3954c8c2..0436b896522b31904512694d20f883470a646a0f 100644 +index 73263505e22956f10eaac4482d8a9ddf191edc13..083b488e0391224da0d13d7d2b80b3696619d59d 100644 --- a/src/heap/heap.cc +++ b/src/heap/heap.cc -@@ -6151,9 +6151,9 @@ void Heap::TearDown() { +@@ -6161,9 +6161,9 @@ void Heap::TearDown() { void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback, GCType gc_type, void* data) { DCHECK_NOT_NULL(callback); 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 e54954fdfc3a..32f89f3419ea 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,7 +12,7 @@ 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 d465e67c094b01ee128b9cecfb5ee999f4a1d8d1..f30fec3bc5c1901f96ff168da422aad1fa7ecd08 100644 +index 29f753f4944541dd8dc11b4daff900cb45be42a8..21b85f6188b7b9cea577128d0957fc463dfe74ee 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -605,6 +605,10 @@ config("internal_config") { diff --git a/patches/v8/expose_mksnapshot.patch b/patches/v8/expose_mksnapshot.patch index 2a9d03c693ef..d149375c1a9b 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 c4de87b38433bed1a14ce5c3a482023de909ec47..d465e67c094b01ee128b9cecfb5ee999f4a1d8d1 100644 +index 25df04a1e1fc0a2b4ba61d33384c33d076d471fa..29f753f4944541dd8dc11b4daff900cb45be42a8 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -5833,7 +5833,6 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -5835,7 +5835,6 @@ if (current_toolchain == v8_generator_toolchain) { if (current_toolchain == v8_snapshot_toolchain) { v8_executable("mksnapshot") { 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 563444f21776..267c4b879750 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,7 +18,7 @@ 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 f2563ef61d3f5bc2d866f8c3366ca6c9ef8357a6..ed6180e28467df90ed8d91093ae9269a24e919db 100644 +index 7c6dec2b52514085a731f78a551370d54912b5e9..2e8332b9fa6a6a3f55e78f29f710afa02c268b99 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) { diff --git a/script/sysroots.json b/script/sysroots.json index aef0ad6713c8..2f2437ade3e0 100644 --- a/script/sysroots.json +++ b/script/sysroots.json @@ -1,38 +1,37 @@ - { - "sid_amd64": { - "Sha1Sum": "7e008cea9eae822d80d55c67fbb5ef4204678e74", - "SysrootDir": "debian_sid_amd64-sysroot", - "Tarball": "debian_sid_amd64_sysroot.tar.xz" + "bullseye_amd64": { + "Sha1Sum": "202e5738f4fad834a43ad9978efc53ff710ee979", + "SysrootDir": "debian_bullseye_amd64-sysroot", + "Tarball": "debian_bullseye_amd64_sysroot.tar.xz" }, - "sid_arm": { - "Sha1Sum": "b6f4bb07817bea91b06514a9c1e3832df5a90dbf", - "SysrootDir": "debian_sid_arm-sysroot", - "Tarball": "debian_sid_arm_sysroot.tar.xz" + "bullseye_arm": { + "Sha1Sum": "683d994e5643dff423643eac59c1f62606d14f43", + "SysrootDir": "debian_bullseye_arm-sysroot", + "Tarball": "debian_bullseye_arm_sysroot.tar.xz" }, - "sid_arm64": { - "Sha1Sum": "5a56c1ef714154ea5003bcafb16f21b0f8dde023", - "SysrootDir": "debian_sid_arm64-sysroot", - "Tarball": "debian_sid_arm64_sysroot.tar.xz" + "bullseye_arm64": { + "Sha1Sum": "de38cc85d51a820c3307e1937f3c2d3cedcce988", + "SysrootDir": "debian_bullseye_arm64-sysroot", + "Tarball": "debian_bullseye_arm64_sysroot.tar.xz" }, - "sid_armel": { - "Sha1Sum": "84dfbda5b70e4056b5ec37d8dc95b9b890b2a2b5", - "SysrootDir": "debian_sid_armel-sysroot", - "Tarball": "debian_sid_armel_sysroot.tar.xz" + "bullseye_armel": { + "Sha1Sum": "db15aab39af3cfbc55a8ff0386943db1b78a1eab", + "SysrootDir": "debian_bullseye_armel-sysroot", + "Tarball": "debian_bullseye_armel_sysroot.tar.xz" }, - "sid_i386": { - "Sha1Sum": "b0f1f65ab3bd0232e7080bd3d89a9399f5ba07bc", - "SysrootDir": "debian_sid_i386-sysroot", - "Tarball": "debian_sid_i386_sysroot.tar.xz" + "bullseye_i386": { + "Sha1Sum": "41a75c881636adb765d4e40b06058f64df501ffe", + "SysrootDir": "debian_bullseye_i386-sysroot", + "Tarball": "debian_bullseye_i386_sysroot.tar.xz" }, - "sid_mips": { - "Sha1Sum": "72d808dad16f6bc605f0380649608b04435b0727", - "SysrootDir": "debian_sid_mips-sysroot", - "Tarball": "debian_sid_mips_sysroot.tar.xz" + "bullseye_mips": { + "Sha1Sum": "6d85967e8d6771e50180c289dae57ad06fd873cd", + "SysrootDir": "debian_bullseye_mips-sysroot", + "Tarball": "debian_bullseye_mips_sysroot.tar.xz" }, - "sid_mips64el": { - "Sha1Sum": "0ae3b93990a22fed1fa6974c0cf1fa0f9ad976b9", - "SysrootDir": "debian_sid_mips64el-sysroot", - "Tarball": "debian_sid_mips64el_sysroot.tar.xz" + "bullseye_mips64el": { + "Sha1Sum": "0774922d1269947f462bda38c82c4e5e819326ab", + "SysrootDir": "debian_bullseye_mips64el-sysroot", + "Tarball": "debian_bullseye_mips64el_sysroot.tar.xz" } -} \ No newline at end of file +} diff --git a/shell/browser/api/electron_api_app.cc b/shell/browser/api/electron_api_app.cc index e3a88a28b087..3b04c8ee2ea2 100644 --- a/shell/browser/api/electron_api_app.cc +++ b/shell/browser/api/electron_api_app.cc @@ -881,9 +881,8 @@ void App::OnGpuInfoUpdate() { Emit("gpu-info-update"); } -void App::OnGpuProcessCrashed(base::TerminationStatus status) { - Emit("gpu-process-crashed", - status == base::TERMINATION_STATUS_PROCESS_WAS_KILLED); +void App::OnGpuProcessCrashed() { + Emit("gpu-process-crashed", true); } void App::BrowserChildProcessLaunchedAndConnected( diff --git a/shell/browser/api/electron_api_app.h b/shell/browser/api/electron_api_app.h index 840c0cb66da3..ebf3cf247b67 100644 --- a/shell/browser/api/electron_api_app.h +++ b/shell/browser/api/electron_api_app.h @@ -153,7 +153,7 @@ class App : public ElectronBrowserClient::Delegate, // content::GpuDataManagerObserver: void OnGpuInfoUpdate() override; - void OnGpuProcessCrashed(base::TerminationStatus status) override; + void OnGpuProcessCrashed() override; // content::BrowserChildProcessObserver: void BrowserChildProcessLaunchedAndConnected( diff --git a/shell/browser/electron_browser_context.cc b/shell/browser/electron_browser_context.cc index bdd2eb4d19c0..eb640eb3517c 100644 --- a/shell/browser/electron_browser_context.cc +++ b/shell/browser/electron_browser_context.cc @@ -348,8 +348,6 @@ ElectronBrowserContext::GetURLLoaderFactory() { params->disable_web_security = false; auto* storage_partition = GetDefaultStoragePartition(); - params->url_loader_network_observer = - storage_partition->CreateURLLoaderNetworkObserverForNavigationRequest(-1); storage_partition->GetNetworkContext()->CreateURLLoaderFactory( std::move(factory_receiver), std::move(params)); url_loader_factory_ = diff --git a/shell/browser/electron_permission_manager.cc b/shell/browser/electron_permission_manager.cc index cab9b82abe3a..ad3ae6229fe0 100644 --- a/shell/browser/electron_permission_manager.cc +++ b/shell/browser/electron_permission_manager.cc @@ -253,6 +253,7 @@ blink::mojom::PermissionStatus ElectronPermissionManager::GetPermissionStatus( ElectronPermissionManager::SubscriptionId ElectronPermissionManager::SubscribePermissionStatusChange( content::PermissionType permission, + content::RenderProcessHost* render_process_host, content::RenderFrameHost* render_frame_host, const GURL& requesting_origin, base::RepeatingCallback callback) { @@ -408,4 +409,12 @@ ElectronPermissionManager::GetPermissionStatusForCurrentDocument( content::PermissionUtil::GetLastCommittedOriginAsURL(render_frame_host)); } +blink::mojom::PermissionStatus +ElectronPermissionManager::GetPermissionStatusForWorker( + content::PermissionType permission, + content::RenderProcessHost* render_process_host, + const GURL& worker_origin) { + return GetPermissionStatus(permission, worker_origin, worker_origin); +} + } // namespace electron diff --git a/shell/browser/electron_permission_manager.h b/shell/browser/electron_permission_manager.h index e823b3c18833..4afce85ad80c 100644 --- a/shell/browser/electron_permission_manager.h +++ b/shell/browser/electron_permission_manager.h @@ -117,8 +117,13 @@ class ElectronPermissionManager : public content::PermissionControllerDelegate { content::PermissionType permission, const GURL& requesting_origin, const GURL& embedding_origin) override; + blink::mojom::PermissionStatus GetPermissionStatusForWorker( + content::PermissionType permission, + content::RenderProcessHost* render_process_host, + const GURL& worker_origin) override; SubscriptionId SubscribePermissionStatusChange( content::PermissionType permission, + content::RenderProcessHost* render_process_host, content::RenderFrameHost* render_frame_host, const GURL& requesting_origin, base::RepeatingCallback callback) 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 48cb45dc2d0a..d0a2ebfbd694 100644 --- a/shell/browser/extensions/api/resources_private/resources_private_api.cc +++ b/shell/browser/extensions/api/resources_private/resources_private_api.cc @@ -47,7 +47,6 @@ void AddStringsForPdf(base::DictionaryValue* dict) { {"pageReload", IDS_PDF_PAGE_RELOAD_BUTTON}, {"bookmarks", IDS_PDF_BOOKMARKS}, {"labelPageNumber", IDS_PDF_LABEL_PAGE_NUMBER}, - {"tooltipRotateCW", IDS_PDF_TOOLTIP_ROTATE_CW}, {"tooltipDownload", IDS_PDF_TOOLTIP_DOWNLOAD}, {"tooltipPrint", IDS_PDF_TOOLTIP_PRINT}, {"tooltipFitToPage", IDS_PDF_TOOLTIP_FIT_PAGE}, diff --git a/shell/browser/extensions/electron_component_extension_resource_manager.cc b/shell/browser/extensions/electron_component_extension_resource_manager.cc index 85ce840ee88f..40e37cdffa7d 100644 --- a/shell/browser/extensions/electron_component_extension_resource_manager.cc +++ b/shell/browser/extensions/electron_component_extension_resource_manager.cc @@ -39,8 +39,8 @@ ElectronComponentExtensionResourceManager:: pdf_extension_util::AddAdditionalData(true, &pdf_strings); ui::TemplateReplacements pdf_viewer_replacements; - ui::TemplateReplacementsFromDictionaryValue( - base::Value::AsDictionaryValue(pdf_strings), &pdf_viewer_replacements); + ui::TemplateReplacementsFromDictionaryValue(pdf_strings.GetDict(), + &pdf_viewer_replacements); extension_template_replacements_[extension_misc::kPdfExtensionId] = std::move(pdf_viewer_replacements); #endif diff --git a/shell/browser/hid/electron_hid_delegate.cc b/shell/browser/hid/electron_hid_delegate.cc index 69d7f5e92195..efad257969a7 100644 --- a/shell/browser/hid/electron_hid_delegate.cc +++ b/shell/browser/hid/electron_hid_delegate.cc @@ -36,6 +36,7 @@ ElectronHidDelegate::~ElectronHidDelegate() = default; std::unique_ptr ElectronHidDelegate::RunChooser( content::RenderFrameHost* render_frame_host, std::vector filters, + std::vector exclusion_filters, content::HidChooser::Callback callback) { electron::HidChooserContext* chooser_context = GetChooserContext(render_frame_host); @@ -47,7 +48,7 @@ std::unique_ptr ElectronHidDelegate::RunChooser( DeleteControllerForFrame(render_frame_host); } AddControllerForFrame(render_frame_host, std::move(filters), - std::move(callback)); + std::move(exclusion_filters), std::move(callback)); // Return a nullptr because the return value isn't used for anything, eg // there is no mechanism to cancel navigator.hid.requestDevice(). The return @@ -156,12 +157,13 @@ HidChooserController* ElectronHidDelegate::ControllerForFrame( HidChooserController* ElectronHidDelegate::AddControllerForFrame( content::RenderFrameHost* render_frame_host, std::vector filters, + std::vector exclusion_filters, content::HidChooser::Callback callback) { auto* web_contents = content::WebContents::FromRenderFrameHost(render_frame_host); auto controller = std::make_unique( - render_frame_host, std::move(filters), std::move(callback), web_contents, - weak_factory_.GetWeakPtr()); + render_frame_host, std::move(filters), std::move(exclusion_filters), + std::move(callback), web_contents, weak_factory_.GetWeakPtr()); controller_map_.insert( std::make_pair(render_frame_host, std::move(controller))); return ControllerForFrame(render_frame_host); diff --git a/shell/browser/hid/electron_hid_delegate.h b/shell/browser/hid/electron_hid_delegate.h index 1b243c6ac15e..030582875003 100644 --- a/shell/browser/hid/electron_hid_delegate.h +++ b/shell/browser/hid/electron_hid_delegate.h @@ -31,6 +31,7 @@ class ElectronHidDelegate : public content::HidDelegate, std::unique_ptr RunChooser( content::RenderFrameHost* render_frame_host, std::vector filters, + std::vector exclusion_filters, content::HidChooser::Callback callback) override; bool CanRequestDevicePermission( content::RenderFrameHost* render_frame_host) override; @@ -67,6 +68,7 @@ class ElectronHidDelegate : public content::HidDelegate, HidChooserController* AddControllerForFrame( content::RenderFrameHost* render_frame_host, std::vector filters, + std::vector exclusion_filters, content::HidChooser::Callback callback); base::ScopedObservationdevice_ids) { + if (filter->device_ids->is_vendor()) { + if (filter->device_ids->get_vendor() != device.vendor_id) + return false; + } else if (filter->device_ids->is_vendor_and_product()) { + const auto& vendor_and_product = + filter->device_ids->get_vendor_and_product(); + if (vendor_and_product->vendor != device.vendor_id) + return false; + if (vendor_and_product->product != device.product_id) + return false; + } + } + + if (filter->usage) { + if (filter->usage->is_page()) { + const uint16_t usage_page = filter->usage->get_page(); + auto find_it = + std::find_if(device.collections.begin(), device.collections.end(), + [=](const device::mojom::HidCollectionInfoPtr& c) { + return usage_page == c->usage->usage_page; + }); + if (find_it == device.collections.end()) + return false; + } else if (filter->usage->is_usage_and_page()) { + const auto& usage_and_page = filter->usage->get_usage_and_page(); + auto find_it = std::find_if( + device.collections.begin(), device.collections.end(), + [&usage_and_page](const device::mojom::HidCollectionInfoPtr& c) { + return usage_and_page->usage_page == c->usage->usage_page && + usage_and_page->usage == c->usage->usage; + }); + if (find_it == device.collections.end()) + return false; + } + } + return true; +} + } // namespace namespace gin { @@ -62,11 +103,13 @@ namespace electron { HidChooserController::HidChooserController( content::RenderFrameHost* render_frame_host, std::vector filters, + std::vector exclusion_filters, content::HidChooser::Callback callback, content::WebContents* web_contents, base::WeakPtr hid_delegate) : WebContentsObserver(web_contents), filters_(std::move(filters)), + exclusion_filters_(std::move(exclusion_filters)), callback_(std::move(callback)), origin_(content::WebContents::FromRenderFrameHost(render_frame_host) ->GetMainFrame() @@ -251,7 +294,7 @@ bool HidChooserController::DisplayDevice( return false; } - return FilterMatchesAny(device); + return FilterMatchesAny(device) && !IsExcluded(device); } bool HidChooserController::FilterMatchesAny( @@ -260,44 +303,18 @@ bool HidChooserController::FilterMatchesAny( return true; for (const auto& filter : filters_) { - if (filter->device_ids) { - if (filter->device_ids->is_vendor()) { - if (filter->device_ids->get_vendor() != device.vendor_id) - continue; - } else if (filter->device_ids->is_vendor_and_product()) { - const auto& vendor_and_product = - filter->device_ids->get_vendor_and_product(); - if (vendor_and_product->vendor != device.vendor_id) - continue; - if (vendor_and_product->product != device.product_id) - continue; - } - } + if (FilterMatch(filter, device)) + return true; + } - if (filter->usage) { - if (filter->usage->is_page()) { - const uint16_t usage_page = filter->usage->get_page(); - auto find_it = - std::find_if(device.collections.begin(), device.collections.end(), - [=](const device::mojom::HidCollectionInfoPtr& c) { - return usage_page == c->usage->usage_page; - }); - if (find_it == device.collections.end()) - continue; - } else if (filter->usage->is_usage_and_page()) { - const auto& usage_and_page = filter->usage->get_usage_and_page(); - auto find_it = std::find_if( - device.collections.begin(), device.collections.end(), - [&usage_and_page](const device::mojom::HidCollectionInfoPtr& c) { - return usage_and_page->usage_page == c->usage->usage_page && - usage_and_page->usage == c->usage->usage; - }); - if (find_it == device.collections.end()) - continue; - } - } + return false; +} - return true; +bool HidChooserController::IsExcluded( + const device::mojom::HidDeviceInfo& device) const { + for (const auto& exclusion_filter : exclusion_filters_) { + if (FilterMatch(exclusion_filter, device)) + return true; } return false; diff --git a/shell/browser/hid/hid_chooser_controller.h b/shell/browser/hid/hid_chooser_controller.h index ed5ef443a154..dde678ff981f 100644 --- a/shell/browser/hid/hid_chooser_controller.h +++ b/shell/browser/hid/hid_chooser_controller.h @@ -42,11 +42,13 @@ class HidChooserController // is closed, either by selecting an item or by dismissing the chooser dialog. // The callback is called with the selected device, or nullptr if no device is // selected. - HidChooserController(content::RenderFrameHost* render_frame_host, - std::vector filters, - content::HidChooser::Callback callback, - content::WebContents* web_contents, - base::WeakPtr hid_delegate); + HidChooserController( + content::RenderFrameHost* render_frame_host, + std::vector filters, + std::vector exclusion_filters, + content::HidChooser::Callback callback, + content::WebContents* web_contents, + base::WeakPtr hid_delegate); HidChooserController(HidChooserController&) = delete; HidChooserController& operator=(HidChooserController&) = delete; ~HidChooserController() override; @@ -68,6 +70,7 @@ class HidChooserController void OnGotDevices(std::vector devices); bool DisplayDevice(const device::mojom::HidDeviceInfo& device) const; bool FilterMatchesAny(const device::mojom::HidDeviceInfo& device) const; + bool IsExcluded(const device::mojom::HidDeviceInfo& device) const; // Add |device_info| to |device_map_|. The device is added to the chooser item // representing the physical device. If the chooser item does not yet exist, a @@ -88,6 +91,7 @@ class HidChooserController void OnDeviceChosen(gin::Arguments* args); std::vector filters_; + std::vector exclusion_filters_; content::HidChooser::Callback callback_; const url::Origin origin_; const int frame_tree_node_id_; diff --git a/shell/browser/ui/electron_desktop_window_tree_host_linux.cc b/shell/browser/ui/electron_desktop_window_tree_host_linux.cc index 045e7d9dcff9..17b85784c0de 100644 --- a/shell/browser/ui/electron_desktop_window_tree_host_linux.cc +++ b/shell/browser/ui/electron_desktop_window_tree_host_linux.cc @@ -148,7 +148,7 @@ void ElectronDesktopWindowTreeHostLinux::UpdateClientDecorationHints( if (showing_frame) { insets = view->GetBorderDecorationInsets(); if (base::i18n::IsRTL()) { - insets.Set(insets.top(), insets.right(), insets.bottom(), insets.left()); + insets.set_left_right(insets.right(), insets.left()); } input_insets = view->GetInputInsets(); diff --git a/shell/browser/ui/views/autofill_popup_view.cc b/shell/browser/ui/views/autofill_popup_view.cc index fbe475d5b7e9..ce651f28becf 100644 --- a/shell/browser/ui/views/autofill_popup_view.cc +++ b/shell/browser/ui/views/autofill_popup_view.cc @@ -174,7 +174,7 @@ void AutofillPopupView::DrawAutofillEntry(gfx::Canvas* canvas, const int text_align = is_rtl ? gfx::Canvas::TEXT_ALIGN_RIGHT : gfx::Canvas::TEXT_ALIGN_LEFT; gfx::Rect value_rect = entry_rect; - value_rect.Inset(kEndPadding, 0); + value_rect.Inset(gfx::Insets::VH(kEndPadding, 0)); int x_align_left = value_rect.x(); const int value_width = gfx::GetStringWidth( diff --git a/shell/browser/ui/views/client_frame_view_linux.cc b/shell/browser/ui/views/client_frame_view_linux.cc index b0d7210ff5db..4455ddb3727a 100644 --- a/shell/browser/ui/views/client_frame_view_linux.cc +++ b/shell/browser/ui/views/client_frame_view_linux.cc @@ -178,7 +178,8 @@ gfx::Rect ClientFrameViewLinux::GetBoundsForClientView() const { gfx::Rect client_bounds = bounds(); if (!frame_->IsFullscreen()) { client_bounds.Inset(GetBorderDecorationInsets()); - client_bounds.Inset(0, GetTitlebarBounds().height(), 0, 0); + client_bounds.Inset( + gfx::Insets::TLBR(0, GetTitlebarBounds().height(), 0, 0)); } return client_bounds; } diff --git a/shell/browser/ui/views/win_caption_button.cc b/shell/browser/ui/views/win_caption_button.cc index a3a52244ff20..46280ee4b158 100644 --- a/shell/browser/ui/views/win_caption_button.cc +++ b/shell/browser/ui/views/win_caption_button.cc @@ -50,7 +50,7 @@ void WinCaptionButton::OnPaintBackground(gfx::Canvas* canvas) { const SkAlpha theme_alpha = SkColorGetA(bg_color); gfx::Rect bounds = GetContentsBounds(); - bounds.Inset(0, 0, 0, 0); + bounds.Inset(gfx::Insets::TLBR(0, 0, 0, 0)); canvas->FillRect(bounds, SkColorSetA(bg_color, theme_alpha)); @@ -145,7 +145,7 @@ void DrawRect(gfx::Canvas* canvas, const cc::PaintFlags& flags) { gfx::RectF rect_f(rect); float stroke_half_width = flags.getStrokeWidth() / 2; - rect_f.Inset(stroke_half_width, stroke_half_width); + rect_f.Inset(gfx::InsetsF::VH(stroke_half_width, stroke_half_width)); canvas->DrawRect(rect_f, flags); } @@ -197,7 +197,7 @@ void WinCaptionButton::PaintSymbol(gfx::Canvas* canvas) { case VIEW_ID_RESTORE_BUTTON: { // Bottom left ("in front") square. const int separation = std::floor(2 * scale); - symbol_rect.Inset(0, separation, separation, 0); + symbol_rect.Inset(gfx::Insets::TLBR(0, separation, separation, 0)); DrawRect(canvas, symbol_rect, flags); // Top right ("behind") square. diff --git a/shell/browser/ui/views/win_frame_view.cc b/shell/browser/ui/views/win_frame_view.cc index bf67ab5d8203..b5d56fa75148 100644 --- a/shell/browser/ui/views/win_frame_view.cc +++ b/shell/browser/ui/views/win_frame_view.cc @@ -132,7 +132,7 @@ int WinFrameView::NonClientHitTest(const gfx::Point& point) { // show the resize cursor when resizing is possible. The cost of which // is also maybe showing it over the portion of the DIP that isn't the // outermost pixel. - buttons.Inset(0, kCaptionButtonTopInset, 0, 0); + buttons.Inset(gfx::Insets::TLBR(0, kCaptionButtonTopInset, 0, 0)); if (buttons.Contains(point)) return HTNOWHERE; } @@ -143,8 +143,8 @@ int WinFrameView::NonClientHitTest(const gfx::Point& point) { // pixels at the end of the top and bottom edges trigger diagonal resizing. constexpr int kResizeCornerWidth = 16; int window_component = GetHTComponentForFrame( - point, gfx::Insets(top_border_thickness, 0, 0, 0), top_border_thickness, - kResizeCornerWidth - FrameBorderThickness(), + point, gfx::Insets::TLBR(top_border_thickness, 0, 0, 0), + top_border_thickness, kResizeCornerWidth - FrameBorderThickness(), frame()->widget_delegate()->CanResize()); if (window_component != HTNOWHERE) return window_component; diff --git a/shell/browser/ui/win/electron_desktop_window_tree_host_win.cc b/shell/browser/ui/win/electron_desktop_window_tree_host_win.cc index 2e4e5bc9502e..696798d9111a 100644 --- a/shell/browser/ui/win/electron_desktop_window_tree_host_win.cc +++ b/shell/browser/ui/win/electron_desktop_window_tree_host_win.cc @@ -93,7 +93,7 @@ bool ElectronDesktopWindowTreeHostWin::GetClientAreaInsets( // monitors with different DPIs before changing this code. const int thickness = ::GetSystemMetrics(SM_CXSIZEFRAME) + ::GetSystemMetrics(SM_CXPADDEDBORDER); - insets->Set(thickness, thickness, thickness, thickness); + *insets = gfx::Insets::TLBR(thickness, thickness, thickness, thickness); return true; } return false; diff --git a/spec-main/chromium-spec.ts b/spec-main/chromium-spec.ts index 31d7bb759962..ca93d5e0954b 100644 --- a/spec-main/chromium-spec.ts +++ b/spec-main/chromium-spec.ts @@ -1995,4 +1995,44 @@ describe('navigator.hid', () => { expect(device).to.equal(''); } }); + + it('returns excludes a device when a exclusionFilter is specified', async () => { + const exclusionFilters = []; + let haveDevices = false; + let checkForExcludedDevice = false; + + w.webContents.session.on('select-hid-device', (event, details, callback) => { + if (details.deviceList.length > 0) { + details.deviceList.find((device) => { + if (device.name && device.name !== '' && device.serialNumber && device.serialNumber !== '') { + console.log('device is: ', device); + if (checkForExcludedDevice) { + const compareDevice = { + vendorId: device.vendorId, + productId: device.productId + }; + expect(compareDevice).to.not.equal(exclusionFilters[0], 'excluded device should not be returned'); + } else { + haveDevices = true; + exclusionFilters.push({ + vendorId: device.vendorId, + productId: device.productId + }); + return true; + } + } + }); + } + callback(); + }); + + await getDevices(); + if (haveDevices) { + // We have devices to exclude, so check if exculsionFilters work + checkForExcludedDevice = true; + await w.webContents.executeJavaScript(` + navigator.hid.requestDevice({filters: [], exclusionFilters: ${JSON.stringify(exclusionFilters)}}).then(device => device.toString()).catch(err => err.toString()); + `, true); + } + }); }); diff --git a/spec-main/fixtures/crash-cases/quit-on-crashed-event/index.js b/spec-main/fixtures/crash-cases/quit-on-crashed-event/index.js index a095bf69f490..87ec0d6ada4f 100644 --- a/spec-main/fixtures/crash-cases/quit-on-crashed-event/index.js +++ b/spec-main/fixtures/crash-cases/quit-on-crashed-event/index.js @@ -15,5 +15,6 @@ app.once('ready', async () => { process.exit(details.exitCode); } }); - await w.webContents.loadURL('chrome://checkcrash'); + await w.webContents.loadURL('about:blank'); + w.webContents.executeJavaScript('process.crash()'); }); diff --git a/spec/static/main.js b/spec/static/main.js index 675c90fb42a9..d52fa1953a8c 100644 --- a/spec/static/main.js +++ b/spec/static/main.js @@ -86,8 +86,14 @@ app.on('window-all-closed', function () { app.quit(); }); -app.on('gpu-process-crashed', (event, killed) => { - console.log(`GPU process crashed (killed=${killed})`); +app.on('child-process-gone', (event, details) => { + if (details.type === 'GPU' && details.reason !== 'clean-exit') { + if (details.reason === 'crashed') { + console.log('GPU process crashed'); + } else { + console.log(`GPU process exited with code ${details.exitCode}`); + } + } }); app.on('renderer-process-crashed', (event, contents, killed) => {