Browse Source

chore: bump chromium to 87.0.4280.27 (11-x-y) (#25993)

* chore: bump chromium in DEPS to 87.0.4280.20

* update patches

* test: disable flaky arm tests (#26046)

* tests: disable flaking test on all arm platforms

* tests: disable flaky did-change-theme-color tests on WOA

(cherry picked from commit 4ce7ca6cfb287b2d260a9e873cfcd4fc975fa15c)

* 2478082: Make window cloaking and uncloaking trigger occlusion calculation

https://chromium-review.googlesource.com/c/chromium/src/+/2478082

Fixes visibility issues.

* Revert "2478082: Make window cloaking and uncloaking trigger occlusion calculation"

This reverts commit 5ff8cc8c83e2960ae1b11738aabc4ee5e8752707.

* ci: disable CalculateNativeWinOcclusion for woa (#26001)

(cherry picked from commit 708cf44d19847e20a452a8ba4db16fb8fa104d24)

* Update appveyor.yml

disable CalculateNativeWinOcclusion due to visibility issues

* chore: bump chromium in DEPS to 87.0.4280.27

* update patches

Co-authored-by: Electron Bot <[email protected]>
Co-authored-by: John Kleinschmidt <[email protected]>
Co-authored-by: John Kleinschmidt <[email protected]>
Co-authored-by: Robo <[email protected]>
Electron Bot 4 years ago
parent
commit
0b2862b184

+ 1 - 1
DEPS

@@ -14,7 +14,7 @@ gclient_gn_args = [
 
 vars = {
   'chromium_version':
-    '87.0.4280.11',
+    '87.0.4280.27',
   'node_version':
     'v12.18.3',
   'nan_version':

+ 2 - 2
patches/chromium/add_didinstallconditionalfeatures.patch

@@ -23,10 +23,10 @@ index f63b17435218d0d67bba044da67c1c80015fc996..d0fe24182f2cb48a1333054ce44b6a7f
                                          int32_t world_id) {}
    virtual void DidClearWindowObject() {}
 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index 3b2626c3ef9dab2aedddd09d24901e892605cf01..ca83a9317d0a0136de39aa9af467580e9268cd30 100644
+index e811aec4853c1ba0dacdcad758a5bc834643d7e3..5eb2dcde4d2033015677681ceeba7da9b9fe32df 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -5032,6 +5032,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
+@@ -5034,6 +5034,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
      observer.DidCreateScriptContext(context, world_id);
  }
  

+ 3 - 3
patches/chromium/blink_local_frame.patch

@@ -14,10 +14,10 @@ when there is code doing that.
 This patch reverts the change to fix the crash in Electron.
 
 diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
-index c00d6f81db121f57aa6fc0443a9c27daa4973024..8b8121a9291781515d2cea6a832ad0c29b0e846e 100644
+index f532469a54a40ef56350063e2472cbf77705d69f..98b5007d5a41cb7b8f71bdd03ccb88d56d2e039e 100644
 --- a/third_party/blink/renderer/core/frame/local_frame.cc
 +++ b/third_party/blink/renderer/core/frame/local_frame.cc
-@@ -580,10 +580,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
+@@ -581,10 +581,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
    }
    DCHECK(!view_ || !view_->IsAttached());
  
@@ -28,7 +28,7 @@ index c00d6f81db121f57aa6fc0443a9c27daa4973024..8b8121a9291781515d2cea6a832ad0c2
    if (!Client())
      return;
  
-@@ -600,6 +596,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
+@@ -601,6 +597,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
    // Notify WindowProxyManager that the frame is closing, since its cleanup ends
    // up calling back to LocalFrameClient via WindowProxy.
    GetWindowProxyManager()->ClearForClose();

+ 2 - 2
patches/chromium/blink_world_context.patch

@@ -7,7 +7,7 @@ This exposes a method for obtaining a reference to an isolated world, which is
 otherwise not available in the Blink API.
 
 diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
-index 8dc04d131c188e4b14cd09ab90b5b44a213ddbe3..0db04331e317bbcab1c5d98f55ae76f9e0d48ebd 100644
+index 0e8a64cdd2b38058b967b39260e6f5ff4e45147c..166ea5f681eee30f299242d826d97c17f8c6a5a8 100644
 --- a/third_party/blink/public/web/web_local_frame.h
 +++ b/third_party/blink/public/web/web_local_frame.h
 @@ -365,6 +365,8 @@ class WebLocalFrame : public WebFrame {
@@ -38,7 +38,7 @@ index 1bb42b8fc49d420767a2dbe4893d8594b7eda6d1..3f47067c3a4be48155771f0c1d25f614
    return BindingSecurity::ShouldAllowAccessToFrame(
        CurrentDOMWindow(V8PerIsolateData::MainThreadIsolate()),
 diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
-index 61e0033bf150bb7f3e28a24e7ac300563447bfa7..415483e3436ee9cf05059ff5195d91e09fac57d4 100644
+index 5ff4f6a6d7e6b992c1ae702acd88116d19444986..ef068180f5a9e0f537a2c646212aab9fe4b9c874 100644
 --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
 +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
 @@ -169,6 +169,8 @@ class CORE_EXPORT WebLocalFrameImpl final

+ 4 - 4
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 0c57f1004ffab022df99670a13bfc2fadc514437..a0bc43f68cda2d4fe77f9348d0c4402eeb6313c7 100644
+index 497033d3d5257daffe4aca2ebdd1fd71513db73f..7412bf8f9a9e07975917514e7f4c13253112138a 100644
 --- a/content/browser/renderer_host/render_frame_host_impl.cc
 +++ b/content/browser/renderer_host/render_frame_host_impl.cc
-@@ -4911,6 +4911,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -4945,6 +4945,7 @@ void RenderFrameHostImpl::CreateNewWindow(
            last_committed_origin_, params->window_container_type,
            params->target_url, params->referrer.To<Referrer>(),
            params->frame_name, params->disposition, *params->features,
@@ -21,10 +21,10 @@ index 0c57f1004ffab022df99670a13bfc2fadc514437..a0bc43f68cda2d4fe77f9348d0c4402e
            &no_javascript_access);
  
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index c3a2e5c241e36ea1417ea37580d872f0154f714b..06fbfdc22bd7cc11117783fd37bc4562ff490b64 100644
+index a39f43b61afc70296470a9ed616d7e8a423780aa..b113c265dcf5b8e3c7533085f1b8409fa13bcfa0 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3697,9 +3697,9 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
+@@ -3703,9 +3703,9 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
    }
  
    if (delegate_) {

+ 2 - 2
patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch

@@ -7,10 +7,10 @@ spellchecker uses a few IDS_ resources.  We need to load these from
 Electrons grit header instead of Chromes
 
 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
-index e462f7d8bef19577547cacc76fc794ab6fa17dcf..5fae70dc1c035596099eedf49b9eb27f0fd21e07 100644
+index 7e37891fc3d551d36d5949ed5865bd6cf4800215..9ea8f5d90f23b7255ef17f505f2b746f2f098e26 100644
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -5944,6 +5944,7 @@ static_library("browser") {
+@@ -5955,6 +5955,7 @@ static_library("browser") {
      deps += [
        "//components/spellcheck/browser",
        "//components/spellcheck/common",

+ 2 - 2
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 c0bdb8cf65f6162911135e11ef58943e7d20716f..b26cd1a4572bdd0c0dfbf343c64c9fde21054304 100644
+index bb7ff971823db702991a3167b5b0ac1b3dd4a6c9..e5afad68300bdd6ac109b3c9b94d3c200d164456 100644
 --- a/cc/trees/layer_tree_host_impl.cc
 +++ b/cc/trees/layer_tree_host_impl.cc
-@@ -1760,6 +1760,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(
+@@ -1762,6 +1762,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(
  
  gfx::ColorSpace LayerTreeHostImpl::GetRasterColorSpace(
      gfx::ContentColorUsage content_color_usage) const {

+ 1 - 1
patches/chromium/expose_setuseragent_on_networkcontext.patch

@@ -33,7 +33,7 @@ index 0ccfe130f00ec3b6c75cd8ee04d5a2777e1fd00c..653829457d58bf92057cc36aa8a28970
    DISALLOW_COPY_AND_ASSIGN(StaticHttpUserAgentSettings);
  };
 diff --git a/services/network/network_context.cc b/services/network/network_context.cc
-index f67b3159bb13d4892e656c18b5120c4901666344..7661dfc65295cdea2ee554a086c68cea4d8c4e9e 100644
+index 3dc5c6d6027be44c1e799bb8e0b509a03bae963a..b2d9b7a74f71b3127f51ea2c4f4ed0caaa2bff05 100644
 --- a/services/network/network_context.cc
 +++ b/services/network/network_context.cc
 @@ -1082,6 +1082,13 @@ void NetworkContext::SetNetworkConditions(

+ 2 - 2
patches/chromium/fix_route_mouse_event_navigations_through_the_web_contents_delegate.patch

@@ -13,10 +13,10 @@ This patch can be removed once app.allowRendererProcessReuse is forced
 to true as then Chromiums assumptions around processes become correct.
 
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 06fbfdc22bd7cc11117783fd37bc4562ff490b64..859998ef6f7893600d3471c18870d065623d9832 100644
+index b113c265dcf5b8e3c7533085f1b8409fa13bcfa0..b80aab0f3b4a1389e6dd740d23df8f1beb051deb 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -3069,11 +3069,13 @@ bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
+@@ -3075,11 +3075,13 @@ bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
      WebContentsImpl* outermost = GetOutermostWebContents();
      if (event.button == blink::WebPointerProperties::Button::kBack &&
          outermost->controller_.CanGoBack()) {

+ 3 - 3
patches/chromium/frame_host_manager.patch

@@ -42,7 +42,7 @@ index 75a58c7f56ef990e340ef271aa2d057f3541c47d..ab2679680111cfdc260c8d8dafbfae00
    // another SiteInstance for the same site.
    void RegisterSiteInstance(SiteInstanceImpl* site_instance);
 diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
-index 7253ef9c4e55ff6a0122d20ea3fd25c70141b284..b5e83b64acab066fcb42451334071a72442465d1 100644
+index ab58967aba4143d5a39f51d7bbeed0568e2fa012..102c72335f0b3e7116c982784a3b0a26d780a618 100644
 --- a/content/browser/renderer_host/navigation_request.cc
 +++ b/content/browser/renderer_host/navigation_request.cc
 @@ -1396,6 +1396,21 @@ void NavigationRequest::BeginNavigation() {
@@ -67,7 +67,7 @@ index 7253ef9c4e55ff6a0122d20ea3fd25c70141b284..b5e83b64acab066fcb42451334071a72
      // Select an appropriate RenderFrameHost.
      render_frame_host_ =
          frame_tree_node_->render_manager()->GetFrameHostForNavigation(this);
-@@ -5058,6 +5073,7 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const {
+@@ -5066,6 +5081,7 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const {
            {WILL_START_REQUEST, {
                WILL_REDIRECT_REQUEST,
                WILL_PROCESS_RESPONSE,
@@ -75,7 +75,7 @@ index 7253ef9c4e55ff6a0122d20ea3fd25c70141b284..b5e83b64acab066fcb42451334071a72
                READY_TO_COMMIT,
                DID_COMMIT,
                CANCELING,
-@@ -5071,10 +5087,14 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const {
+@@ -5079,10 +5095,14 @@ void NavigationRequest::CheckStateTransition(NavigationState state) const {
                WILL_FAIL_REQUEST,
            }},
            {WILL_PROCESS_RESPONSE, {

+ 3 - 3
patches/chromium/mas_disable_remote_accessibility.patch

@@ -236,7 +236,7 @@ index 492386c61ac6701fc38c5e90976b4e5f638189de..6050916081ebeb426ee6cf5dd67962f0
    // 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 20e8cb0b4aec5a71f496feb6069ac68e03f9f47a..3ea70bea36f8660779d06dfb12eda3aa65675bd4 100644
+index d0be0e2ff2d9477376514ed2e6fd648a9dad94ec..e9d7b4b0a1aa036b4f000cc979c45d7a5a557617 100644
 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
 +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
 @@ -284,14 +284,22 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
@@ -262,7 +262,7 @@ index 20e8cb0b4aec5a71f496feb6069ac68e03f9f47a..3ea70bea36f8660779d06dfb12eda3aa
  }
  
  remote_cocoa::mojom::NativeWidgetNSWindow*
-@@ -1130,6 +1138,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
+@@ -1133,6 +1141,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
  void NativeWidgetMacNSWindowHost::SetRemoteAccessibilityTokens(
      const std::vector<uint8_t>& window_token,
      const std::vector<uint8_t>& view_token) {
@@ -270,7 +270,7 @@ index 20e8cb0b4aec5a71f496feb6069ac68e03f9f47a..3ea70bea36f8660779d06dfb12eda3aa
    remote_window_accessible_ =
        ui::RemoteAccessibility::GetRemoteElementFromToken(window_token);
    remote_view_accessible_ =
-@@ -1137,14 +1146,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
+@@ -1140,14 +1149,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
    [remote_view_accessible_ setWindowUIElement:remote_window_accessible_.get()];
    [remote_view_accessible_
        setTopLevelUIElement:remote_window_accessible_.get()];

+ 1 - 1
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 4de2f631d4d6538ae775b4fc2afa10617449a2c5..f67b3159bb13d4892e656c18b5120c4901666344 100644
+index 1e9e1d93cb783c104c2672189df7c8410a3dfbed..3dc5c6d6027be44c1e799bb8e0b509a03bae963a 100644
 --- a/services/network/network_context.cc
 +++ b/services/network/network_context.cc
 @@ -115,6 +115,11 @@

+ 5 - 5
patches/chromium/printing.patch

@@ -456,7 +456,7 @@ index 4b140a2a0f431cd7b06a8d1b6f9e84981f4ce7e7..14779debdacc7b5f78aa0799f197241d
    // Tells the RenderFrame to switch the CSS to print media type, render every
    // requested page using the print preview document's frame/node, and then
 diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
-index 959aa103a15d197f5a9d2abbbe69b78afad2e73f..109a8324fe4206f9ee93d13b015ca5a5c822cdcf 100644
+index 58e8aa32aa5f291b000753dc4487835a53df34c5..533e9a75e3c85302a730c034727d70a02b8999c5 100644
 --- a/components/printing/renderer/print_render_frame_helper.cc
 +++ b/components/printing/renderer/print_render_frame_helper.cc
 @@ -38,6 +38,7 @@
@@ -594,8 +594,8 @@ index 959aa103a15d197f5a9d2abbbe69b78afad2e73f..109a8324fe4206f9ee93d13b015ca5a5
      // Check if |this| is still valid.
      if (!self)
        return;
-@@ -2075,10 +2113,22 @@ void PrintRenderFrameHelper::IPCProcessed() {
-     base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this);
+@@ -2077,10 +2115,22 @@ void PrintRenderFrameHelper::IPCProcessed() {
+   }
  }
  
 -bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
@@ -619,7 +619,7 @@ index 959aa103a15d197f5a9d2abbbe69b78afad2e73f..109a8324fe4206f9ee93d13b015ca5a5
  
    // Check if the printer returned any settings, if the settings is empty, we
    // can safely assume there are no printer drivers configured. So we safely
-@@ -2099,12 +2149,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
+@@ -2101,12 +2151,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
    return result;
  }
  
@@ -639,7 +639,7 @@ index 959aa103a15d197f5a9d2abbbe69b78afad2e73f..109a8324fe4206f9ee93d13b015ca5a5
      GetPrintManagerHost()->ShowInvalidPrinterSettingsError();
      return false;
 diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h
-index 9cc2c01cb3e2ffce0253c01be84b9619ac6d7f85..d7d316df470300bd99559e6f5aaaf0f196b06cb1 100644
+index 78d76aadc206a0922163f87f0575ca0cfe344880..d51fff55ebd5c9d1a39637039b279b491d025b08 100644
 --- a/components/printing/renderer/print_render_frame_helper.h
 +++ b/components/printing/renderer/print_render_frame_helper.h
 @@ -230,7 +230,7 @@ class PrintRenderFrameHelper

+ 4 - 4
patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch

@@ -43,10 +43,10 @@ index 19d7421e1de9680a8b1364f010e19cc95ef7325a..b213e28a6a475d003892117c0a64c70b
  
  void RenderWidgetHostImpl::OnCursorVisibilityStateChanged(bool is_visible) {
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 5e3983bb7d4b5e4cc336866ca008b807f2c3d0d1..177ebe4c6a70e49fe29a927a1c64d3868b6d3e8e 100644
+index 2e32ddda8980ed760e46e73e01c69c548e77b7b6..2927f0b9ce03a0567a460698903d17d62fc42c95 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -4264,6 +4264,12 @@ bool WebContentsImpl::OnUpdateDragCursor() {
+@@ -4270,6 +4270,12 @@ bool WebContentsImpl::OnUpdateDragCursor() {
           browser_plugin_embedder_->OnUpdateDragCursor();
  }
  
@@ -60,10 +60,10 @@ index 5e3983bb7d4b5e4cc336866ca008b807f2c3d0d1..177ebe4c6a70e49fe29a927a1c64d386
      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 4021af32b75edae9d1cf8d7cc5bd78dfd172076e..51b82c42eaa134966310ba71209de5277c125202 100644
+index 3cdec617eda1e972d87e0048c3d5d70d63f97c84..3533e6514d2ad35b2d871f68dd3c2e407b8ce493 100644
 --- a/content/browser/web_contents/web_contents_impl.h
 +++ b/content/browser/web_contents/web_contents_impl.h
-@@ -942,6 +942,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
+@@ -944,6 +944,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
    void SendScreenRects() override;
    TextInputManager* GetTextInputManager() override;
    bool OnUpdateDragCursor() override;

+ 2 - 2
patches/chromium/revert_remove_contentrendererclient_shouldfork.patch

@@ -92,10 +92,10 @@ index 541fb915a2096a6ea56860662fff9f1dec9929cf..e4637fc393bafcdeac62cd4257f42451
    // |url|. If the function returns a valid |new_url|, the request must be
    // updated to use it. The |force_ignore_site_for_cookies| output parameter
 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
-index ca83a9317d0a0136de39aa9af467580e9268cd30..90cffd9aa50789db8af931693272df2a860d08bf 100644
+index 5eb2dcde4d2033015677681ceeba7da9b9fe32df..6b3177a36bcd47192c967562d72bee02fb9ebc81 100644
 --- a/content/renderer/render_frame_impl.cc
 +++ b/content/renderer/render_frame_impl.cc
-@@ -5795,6 +5795,23 @@ void RenderFrameImpl::BeginNavigation(
+@@ -5797,6 +5797,23 @@ void RenderFrameImpl::BeginNavigation(
      // we can do a per-frame check here rather than a process-wide check.
      bool should_fork = HasWebUIScheme(url) || HasWebUIScheme(old_url) ||
                         (enabled_bindings_ & kWebUIBindingsPolicyMask);

+ 3 - 3
patches/chromium/web_contents.patch

@@ -9,10 +9,10 @@ is needed for OSR.
 Originally landed in https://github.com/electron/libchromiumcontent/pull/226.
 
 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
-index 859998ef6f7893600d3471c18870d065623d9832..5e3983bb7d4b5e4cc336866ca008b807f2c3d0d1 100644
+index b80aab0f3b4a1389e6dd740d23df8f1beb051deb..2e32ddda8980ed760e46e73e01c69c548e77b7b6 100644
 --- a/content/browser/web_contents/web_contents_impl.cc
 +++ b/content/browser/web_contents/web_contents_impl.cc
-@@ -2764,6 +2764,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
+@@ -2770,6 +2770,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
    std::string unique_name;
    frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
  
@@ -25,7 +25,7 @@ index 859998ef6f7893600d3471c18870d065623d9832..5e3983bb7d4b5e4cc336866ca008b807
    WebContentsViewDelegate* delegate =
        GetContentClient()->browser()->GetWebContentsViewDelegate(this);
  
-@@ -2774,6 +2780,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
+@@ -2780,6 +2786,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
      view_.reset(CreateWebContentsView(this, delegate,
                                        &render_view_host_delegate_view_));
    }

+ 1 - 1
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 67d82c7524f1585e3ff2b1724a9b6b4f642dd360..ab19f452d0ec592402181c74becdfaf67705b635 100644
+index 704ed28caa59eb6159baa2be4f6f94d62db74c16..8bdb2718008eed2a04a916253850a76b5eff8c96 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -411,7 +411,7 @@ config("internal_config") {

+ 1 - 1
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 2ca4110710216d0e624faa0df26f200b2d2daf81..4feee743983420f5d1bc4debb3aea9fab3d47872 100644
+index da035d3afac94617d163197156dc2871be6c4be3..07fd11838469c4296f50d21a5f7941570293cd58 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -411,6 +411,10 @@ config("internal_config") {

+ 1 - 1
patches/v8/expose_mksnapshot.patch

@@ -6,7 +6,7 @@ Subject: expose_mksnapshot.patch
 Needed in order to target mksnapshot for mksnapshot zip.
 
 diff --git a/BUILD.gn b/BUILD.gn
-index ab19f452d0ec592402181c74becdfaf67705b635..2ca4110710216d0e624faa0df26f200b2d2daf81 100644
+index 8bdb2718008eed2a04a916253850a76b5eff8c96..da035d3afac94617d163197156dc2871be6c4be3 100644
 --- a/BUILD.gn
 +++ b/BUILD.gn
 @@ -4489,7 +4489,6 @@ if (current_toolchain == v8_generator_toolchain) {

+ 3 - 1
spec-main/api-service-workers-spec.ts

@@ -7,6 +7,7 @@ import { v4 } from 'uuid';
 import { AddressInfo } from 'net';
 import { closeWindow } from './window-helpers';
 import { emittedOnce, emittedNTimes } from './events-helpers';
+import { ifdescribe } from './spec-helpers';
 
 const partition = 'service-workers-spec';
 const uuid = v4();
@@ -65,7 +66,8 @@ describe('session.serviceWorkers', () => {
     });
   });
 
-  describe('getFromVersionID()', () => {
+  // TODO (jkleinsc) - reenable this test once https://github.com/electron/electron/issues/26043 is resolved
+  ifdescribe(!process.arch.includes('arm'))('getFromVersionID()', () => {
     it('should report the correct script url and scope', async () => {
       const eventInfo = await emittedOnce(ses.serviceWorkers, 'console-message', () => w.loadURL(`${baseUrl}/index.html`));
       const details: Electron.MessageDetails = eventInfo[1];

+ 2 - 1
spec-main/api-web-contents-spec.ts

@@ -1375,7 +1375,8 @@ describe('webContents module', () => {
     }
   });
 
-  describe('did-change-theme-color event', () => {
+  // TODO (jkleinsc) - reenable this test on WOA once https://github.com/electron/electron/issues/26045 is resolved
+  ifdescribe(process.platform !== 'win32' || process.arch !== 'arm64')('did-change-theme-color event', () => {
     afterEach(closeAllWindows);
     it('is triggered with correct theme color', (done) => {
       const w = new BrowserWindow({ show: true });

+ 2 - 1
spec/webview-spec.js

@@ -986,7 +986,8 @@ describe('<webview> tag', function () {
     });
   });
 
-  describe('did-change-theme-color event', () => {
+  // TODO (jkleinsc) - reenable this test on WOA once https://github.com/electron/electron/issues/26045 is resolved
+  ifdescribe(process.platform !== 'win32' || process.arch !== 'arm64')('did-change-theme-color event', () => {
     it('emits when theme color changes', async () => {
       loadWebView(webview, {
         src: `file://${fixtures}/pages/theme-color.html`