Browse Source

chore: bump chromium to 85.0.4183.66 (10-x-y) (#24706)

* chore: bump chromium in DEPS to 85.0.4183.40

* chore: bump chromium in DEPS to 85.0.4183.41

* chore: bump chromium in DEPS to 85.0.4183.42

* chore: bump chromium in DEPS to 85.0.4183.43

* chore: bump chromium in DEPS to 85.0.4183.44

* chore: bump chromium in DEPS to 85.0.4183.47

* chore: bump chromium in DEPS to 85.0.4183.49

* chore: bump chromium in DEPS to 85.0.4183.50

* chore: bump chromium in DEPS to 85.0.4183.51

* chore: bump chromium in DEPS to 85.0.4183.53

* chore: bump chromium in DEPS to 85.0.4183.54

* chore: bump chromium in DEPS to 85.0.4183.56

* update patches

* chore: bump chromium in DEPS to 85.0.4183.57

* update patches

* chore: bump chromium in DEPS to 85.0.4183.59

* update patches

* chore: bump chromium in DEPS to 85.0.4183.61

* chore: bump chromium in DEPS to 85.0.4183.62

* chore: bump chromium in DEPS to 85.0.4183.63

* chore: bump chromium in DEPS to 85.0.4183.64

* chore: bump chromium in DEPS to 85.0.4183.65

* update patches

* try to track down WOA failure

* tests: disable crash test on WOA

* chore: bump chromium in DEPS to 85.0.4183.66

* update patches

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

+ 1 - 1
DEPS

@@ -14,7 +14,7 @@ gclient_gn_args = [
 
 vars = {
   'chromium_version':
-    '85.0.4183.39',
+    '85.0.4183.66',
   'node_version':
     'v12.16.3',
   'nan_version':

+ 9 - 9
patches/chromium/allow_setting_secondary_label_via_simplemenumodel.patch

@@ -6,10 +6,10 @@ Subject: Allow setting secondary label via SimpleMenuModel
 Builds on https://chromium-review.googlesource.com/c/chromium/src/+/2208976
 
 diff --git a/ui/base/models/simple_menu_model.cc b/ui/base/models/simple_menu_model.cc
-index 1fc029cb37562dc32a961666c3af3b0c27b04e5a..e1c6fe2ea2c3c89e10ff4ae27d16baf053e8a3a0 100644
+index 0c37f6e2caead2f3004f1fbdd2abe7921ef4bea7..6f46775d96153d0c6a0795a1d6085f532daf985c 100644
 --- a/ui/base/models/simple_menu_model.cc
 +++ b/ui/base/models/simple_menu_model.cc
-@@ -49,6 +49,11 @@ base::string16 SimpleMenuModel::Delegate::GetLabelForCommandId(
+@@ -53,6 +53,11 @@ base::string16 SimpleMenuModel::Delegate::GetLabelForCommandId(
    return base::string16();
  }
  
@@ -21,7 +21,7 @@ index 1fc029cb37562dc32a961666c3af3b0c27b04e5a..e1c6fe2ea2c3c89e10ff4ae27d16baf0
  ImageModel SimpleMenuModel::Delegate::GetIconForCommandId(
      int command_id) const {
    return ImageModel();
-@@ -291,6 +296,11 @@ void SimpleMenuModel::SetLabel(int index, const base::string16& label) {
+@@ -295,6 +300,11 @@ void SimpleMenuModel::SetLabel(int index, const base::string16& label) {
    MenuItemsChanged();
  }
  
@@ -33,7 +33,7 @@ index 1fc029cb37562dc32a961666c3af3b0c27b04e5a..e1c6fe2ea2c3c89e10ff4ae27d16baf0
  void SimpleMenuModel::SetMinorText(int index,
                                     const base::string16& minor_text) {
    items_[ValidateItemIndex(index)].minor_text = minor_text;
-@@ -368,6 +378,12 @@ base::string16 SimpleMenuModel::GetLabelAt(int index) const {
+@@ -372,6 +382,12 @@ base::string16 SimpleMenuModel::GetLabelAt(int index) const {
    return items_[ValidateItemIndex(index)].label;
  }
  
@@ -47,10 +47,10 @@ index 1fc029cb37562dc32a961666c3af3b0c27b04e5a..e1c6fe2ea2c3c89e10ff4ae27d16baf0
    return items_[ValidateItemIndex(index)].minor_text;
  }
 diff --git a/ui/base/models/simple_menu_model.h b/ui/base/models/simple_menu_model.h
-index 3067f9beba9e79e18d341aea052d82aad34039d0..ffd8d7c53378b490e54af430371dc8a44121f72b 100644
+index 5f1116ba19b8160a2fee008415b8841f056aad98..9c07e44c484a9a15b7d16d592311eb07d9b3734a 100644
 --- a/ui/base/models/simple_menu_model.h
 +++ b/ui/base/models/simple_menu_model.h
-@@ -44,6 +44,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
+@@ -48,6 +48,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
      // Some command ids have labels and icons that change over time.
      virtual bool IsItemForCommandIdDynamic(int command_id) const;
      virtual base::string16 GetLabelForCommandId(int command_id) const;
@@ -58,7 +58,7 @@ index 3067f9beba9e79e18d341aea052d82aad34039d0..ffd8d7c53378b490e54af430371dc8a4
      // Gets the icon for the item with the specified id.
      virtual ImageModel GetIconForCommandId(int command_id) const;
  
-@@ -147,6 +148,9 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
+@@ -151,6 +152,9 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
    // Sets the label for the item at |index|.
    void SetLabel(int index, const base::string16& label);
  
@@ -68,7 +68,7 @@ index 3067f9beba9e79e18d341aea052d82aad34039d0..ffd8d7c53378b490e54af430371dc8a4
    // Sets the minor text for the item at |index|.
    void SetMinorText(int index, const base::string16& minor_text);
  
-@@ -176,6 +180,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
+@@ -180,6 +184,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
    ui::MenuSeparatorType GetSeparatorTypeAt(int index) const override;
    int GetCommandIdAt(int index) const override;
    base::string16 GetLabelAt(int index) const override;
@@ -76,7 +76,7 @@ index 3067f9beba9e79e18d341aea052d82aad34039d0..ffd8d7c53378b490e54af430371dc8a4
    base::string16 GetMinorTextAt(int index) const override;
    ImageModel GetMinorIconAt(int index) const override;
    bool IsItemDynamicAt(int index) const override;
-@@ -211,6 +216,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
+@@ -216,6 +221,7 @@ class COMPONENT_EXPORT(UI_BASE) SimpleMenuModel : public MenuModel {
      int command_id = 0;
      ItemType type = TYPE_COMMAND;
      base::string16 label;

+ 4 - 4
patches/chromium/blink_world_context.patch

@@ -7,10 +7,10 @@ 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 89e4c4992db428ad9025350293855f038c840fe8..9463160d2087181ad3740ea5d7f284d49b396571 100644
+index 2b6ac1ab4377695246f09de772c17db1a0fa0fe4..1d8dd050662db2197d571b677e4c2bc255d56255 100644
 --- a/third_party/blink/public/web/web_local_frame.h
 +++ b/third_party/blink/public/web/web_local_frame.h
-@@ -354,6 +354,8 @@ class WebLocalFrame : public WebFrame {
+@@ -355,6 +355,8 @@ class WebLocalFrame : public WebFrame {
    // Returns the world ID associated with |script_context|.
    virtual int32_t GetScriptContextWorldId(
        v8::Local<v8::Context> script_context) const = 0;
@@ -20,7 +20,7 @@ index 89e4c4992db428ad9025350293855f038c840fe8..9463160d2087181ad3740ea5d7f284d4
    // Executes script in the context of the current page and returns the value
    // that the script evaluated to with callback. Script execution can be
 diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
-index fa177e082870222a27067b7ca5e12ffe9bf65767..27eae64c3293dd03ab6166f2bc2446bccbbaf330 100644
+index 74cc39af0a7c528ebf78954927dd022e44711981..f92da67a14ee2799c405ea038936d3d0d30e71a7 100644
 --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
 +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
 @@ -971,6 +971,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
@@ -38,7 +38,7 @@ index fa177e082870222a27067b7ca5e12ffe9bf65767..27eae64c3293dd03ab6166f2bc2446bc
    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 8de9c4ccca25c3b707419334e2d67ba6ed1ddbe2..d6d1732d4c415760a7e2d3a44334ef3e105e8150 100644
+index 4555bd981a201899158711e54f943f67b951266c..43aeda11b6c7c51220b7cd32be5a6e6c266218be 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
 @@ -166,6 +166,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/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
-index fe464f6c17d8cafded34f67ccd622892cfda86bf..76908599981d349c1f704c0c685e69e5bd06b387 100644
+index 1531d69cfe3d6c975073d293edf15e0bc4d9325b..0944fe0f52b4861b6584e02437fb7e186ff12004 100644
 --- a/content/browser/frame_host/render_frame_host_impl.cc
 +++ b/content/browser/frame_host/render_frame_host_impl.cc
-@@ -4805,6 +4805,7 @@ void RenderFrameHostImpl::CreateNewWindow(
+@@ -4816,6 +4816,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,
@@ -206,10 +206,10 @@ index 4f735ad0d97eaac9a57dad137e479f8a7ec33a36..0a3c5821962c85609b64b3625fa6b8d6
  
  }  // 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 314bc6c11a62bf0cc10c2323183caf97c1e2de16..df08ad7696358c70b2644ad07caefa913ceeeb30 100644
+index 3ac97b71b1b97c5bd105af2ea7df467ab0649544..0c17598fe4e6633ea84749e0fbf7f01d3dd9cd1f 100644
 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc
 +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
-@@ -2011,6 +2011,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
+@@ -2021,6 +2021,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
    }
  
    WebWindowFeatures window_features = GetWindowFeaturesFromString(features);

+ 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 c4a92225b7ed792fc4eab958b88482ee9a7eb8d6..638131aaf8717fa6059a36afb7d9755da811be5e 100644
+index 8f5c0d2944818318fb0c3c0ae8a7cf36b1ec561c..240d21e57360ffd387c041fde7062ecd321819a1 100644
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -5532,6 +5532,7 @@ static_library("browser") {
+@@ -5536,6 +5536,7 @@ static_library("browser") {
      deps += [
        "//components/spellcheck/browser",
        "//components/spellcheck/common",

+ 10 - 10
patches/chromium/mas_disable_custom_window_frame.patch

@@ -7,7 +7,7 @@ Disable private window frame APIs (NSNextStepFrame and NSThemeFrame) for MAS
 build.
 
 diff --git a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
-index 2cd283de6677f0c256940ab475eb6c58d8040f54..ad7f1f0c05b491977ccd5650c94248e876ad2b0e 100644
+index 69580888047c4ac6abb68873315bcafb78dda706..aa347913a75084f669bf7d89fbcc919b5222c2d5 100644
 --- a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
 +++ b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
 @@ -9,6 +9,7 @@
@@ -27,7 +27,7 @@ index 2cd283de6677f0c256940ab475eb6c58d8040f54..ad7f1f0c05b491977ccd5650c94248e8
  @implementation BrowserNativeWidgetWindow
  
  // Prevent detached tabs from glitching when the window is partially offscreen.
-@@ -88,6 +91,7 @@
+@@ -84,6 +87,7 @@
  
  // NSWindow (PrivateAPI) overrides.
  
@@ -35,7 +35,7 @@ index 2cd283de6677f0c256940ab475eb6c58d8040f54..ad7f1f0c05b491977ccd5650c94248e8
  + (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle {
    // - NSThemeFrame and its subclasses will be nil if it's missing at runtime.
    if ([BrowserWindowFrame class])
-@@ -102,6 +106,8 @@
+@@ -98,6 +102,8 @@
    return NO;
  }
  
@@ -98,10 +98,10 @@ index e03bbc724cfd01967e71998394361556df1c4915..783745b11365c04c1e1052197d20d494
  // The NSWindow used by BridgedNativeWidget. Provides hooks into AppKit that
  // can only be accomplished by overriding methods.
 diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
-index 757c72d98de11f611309f4f5af8d0d9aab639181..a6319a0760308df6bac6b39ad3500ad77c1b6525 100644
+index 5e5a39c2920b748823d21f15bc054733d7aa6441..980c4cef13bacb46e92264bf38f3934626515190 100644
 --- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
 +++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
-@@ -16,7 +16,9 @@
+@@ -15,7 +15,9 @@
  #import "ui/base/cocoa/window_size_constants.h"
  
  @interface NSWindow (Private)
@@ -111,7 +111,7 @@ index 757c72d98de11f611309f4f5af8d0d9aab639181..a6319a0760308df6bac6b39ad3500ad7
  - (BOOL)hasKeyAppearance;
  - (long long)_resizeDirectionForMouseLocation:(CGPoint)location;
  - (BOOL)_isConsideredOpenForPersistentState;
-@@ -58,6 +60,8 @@
+@@ -57,6 +59,8 @@
  }
  @end
  
@@ -119,8 +119,8 @@ index 757c72d98de11f611309f4f5af8d0d9aab639181..a6319a0760308df6bac6b39ad3500ad7
 +
  @implementation NativeWidgetMacNSWindowTitledFrame
  - (void)mouseDown:(NSEvent*)event {
-   if (base::mac::IsAtMostOS10_11() && self.window.isMovable)
-@@ -84,6 +88,8 @@
+   if (self.window.isMovable)
+@@ -83,6 +87,8 @@
  }
  @end
  
@@ -129,7 +129,7 @@ index 757c72d98de11f611309f4f5af8d0d9aab639181..a6319a0760308df6bac6b39ad3500ad7
  @implementation NativeWidgetMacNSWindow {
   @private
    base::scoped_nsobject<CommandDispatcher> _commandDispatcher;
-@@ -165,6 +171,8 @@
+@@ -164,6 +170,8 @@
  
  // NSWindow overrides.
  
@@ -138,7 +138,7 @@ index 757c72d98de11f611309f4f5af8d0d9aab639181..a6319a0760308df6bac6b39ad3500ad7
  + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle {
    if (windowStyle & NSWindowStyleMaskTitled) {
      if (Class customFrame = [NativeWidgetMacNSWindowTitledFrame class])
-@@ -176,6 +184,8 @@
+@@ -175,6 +183,8 @@
    return [super frameViewClassForStyleMask:windowStyle];
  }
  

+ 12 - 12
patches/chromium/mas_no_private_api.patch

@@ -140,7 +140,7 @@ index 947a548278067323aabe099986057ed68a8f50ae..7b721327bbe784314f4523bc7164182a
  // is concerned.
  @property(nonatomic, readonly) NSString* subrole;
 diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm
-index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e8622301d 100644
+index 8e2592948d64afc2d1b3944085e769f5d2a9d337..eae637ff66da54ec2cba43107504ee3133d5fb2c 100644
 --- a/content/browser/accessibility/browser_accessibility_cocoa.mm
 +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
 @@ -208,6 +208,7 @@ NSString* const
@@ -263,7 +263,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
  
  // Returns whether or not this node should be ignored in the
  // accessibility tree.
-@@ -2187,6 +2206,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
+@@ -2204,6 +2223,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
    return ret;
  }
  
@@ -271,7 +271,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
  - (NSString*)selectedText {
    if (![self instanceActive])
      return nil;
-@@ -2198,11 +2218,13 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
+@@ -2215,11 +2235,13 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
      return nil;
    return base::SysUTF16ToNSString(range.GetText());
  }
@@ -285,7 +285,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
  - (NSValue*)selectedTextRange {
    if (![self instanceActive])
      return nil;
-@@ -2223,12 +2245,15 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
+@@ -2240,12 +2262,15 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
    int selLength = range.GetText().length();
    return [NSValue valueWithRange:NSMakeRange(selStart, selLength)];
  }
@@ -301,7 +301,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
  
  - (NSValue*)size {
    if (![self instanceActive])
-@@ -2261,6 +2286,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
+@@ -2278,6 +2303,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
    return nil;
  }
  
@@ -309,7 +309,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
  // Returns a text marker that points to the first character in the document that
  // can be selected with VoiceOver.
  - (id)startTextMarker {
-@@ -2271,6 +2297,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
+@@ -2288,6 +2314,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
    BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0);
    return CreateTextMarker(position->CreatePositionAtStartOfAnchor());
  }
@@ -317,7 +317,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
  
  // Returns a subrole based upon the role.
  - (NSString*)subrole {
-@@ -2593,11 +2620,13 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
+@@ -2607,11 +2634,13 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
    NSMutableAttributedString* attributedInnerText =
        [[[NSMutableAttributedString alloc]
            initWithString:base::SysUTF16ToNSString(innerText)] autorelease];
@@ -331,7 +331,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
  
    return [attributedInnerText attributedSubstringFromRange:range];
  }
-@@ -2701,9 +2730,8 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
+@@ -2715,9 +2744,8 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
        return ToBrowserAccessibilityCocoa(cell);
    }
  
@@ -343,7 +343,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
      BrowserAccessibilityPositionInstance position =
          CreatePositionFromTextMarker(parameter);
      if (!position->IsNullPosition())
-@@ -3016,6 +3044,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
+@@ -3030,6 +3058,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
  
      return CreateTextMarker(root->CreatePositionAt(index));
    }
@@ -351,7 +351,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
  
    if ([attribute isEqualToString:
                       NSAccessibilityBoundsForRangeParameterizedAttribute]) {
-@@ -3051,6 +3080,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
+@@ -3065,6 +3094,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
      return nil;
    }
  
@@ -359,7 +359,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
    if ([attribute
            isEqualToString:
                NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) {
-@@ -3165,6 +3195,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
+@@ -3179,6 +3209,7 @@ id content::AXTextMarkerFrom(const BrowserAccessibilityCocoa* anchor,
  
      return @(child->GetIndexInParent());
    }
@@ -368,7 +368,7 @@ index 47174fe1dd4743c6bffc6f462baa58db187501f6..84cb0fe898631353ade5b205cc061c7e
    return nil;
  }
 diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm
-index 83d0106f0f237dea75dfafe011bf527d97240d0d..462577a0dbd0fcc1baf17acd9678317cb27503fa 100644
+index 9795a4ce38995a56fac0bad20bfb453cc1de096b..9163ae35ba4dc81cbe9b8d8d4a456e8d36c3eede 100644
 --- a/content/browser/accessibility/browser_accessibility_manager_mac.mm
 +++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm
 @@ -525,6 +525,7 @@ NSDictionary* BrowserAccessibilityManagerMac::

+ 13 - 13
patches/chromium/printing.patch

@@ -445,7 +445,7 @@ index faccd2a6881b74f1fa6538fc1011071ac54b03e0..342fba6eb86ee803aae6f11826ee5ccc
    // 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 bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb2359ade432 100644
+index 3797c58b29136c22f9545cfb64a5ce50d7f3b07a..c0107f561f444d537735d4725c6dbecbcaf45226 100644
 --- a/components/printing/renderer/print_render_frame_helper.cc
 +++ b/components/printing/renderer/print_render_frame_helper.cc
 @@ -44,6 +44,7 @@
@@ -456,7 +456,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
  #include "printing/units.h"
  #include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
  #include "third_party/blink/public/common/css/page_orientation.h"
-@@ -1173,7 +1174,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
+@@ -1157,7 +1158,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
      web_frame->DispatchBeforePrintEvent();
      if (!weak_this)
        return;
@@ -466,7 +466,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
      if (weak_this)
        web_frame->DispatchAfterPrintEvent();
    }
-@@ -1194,7 +1196,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
+@@ -1178,7 +1180,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
    receivers_.Add(this, std::move(receiver));
  }
  
@@ -475,7 +475,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
    ScopedIPC scoped_ipc(weak_ptr_factory_.GetWeakPtr());
    if (ipc_nesting_level_ > 1)
      return;
-@@ -1208,7 +1210,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() {
+@@ -1192,7 +1194,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() {
    // If we are printing a PDF extension frame, find the plugin node and print
    // that instead.
    auto plugin = delegate_->GetPdfElement(frame);
@@ -484,7 +484,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
    if (!render_frame_gone_)
      frame->DispatchAfterPrintEvent();
    // WARNING: |this| may be gone at this point. Do not do any more work here and
-@@ -1225,7 +1227,7 @@ void PrintRenderFrameHelper::PrintForSystemDialog() {
+@@ -1209,7 +1211,7 @@ void PrintRenderFrameHelper::PrintForSystemDialog() {
      return;
    }
    Print(frame, print_preview_context_.source_node(),
@@ -493,7 +493,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
    if (!render_frame_gone_)
      frame->DispatchAfterPrintEvent();
    // WARNING: |this| may be gone at this point. Do not do any more work here and
-@@ -1273,6 +1275,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value settings) {
+@@ -1257,6 +1259,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value settings) {
    if (ipc_nesting_level_ > 1)
      return;
  
@@ -502,7 +502,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
    print_preview_context_.OnPrintPreview();
  
    if (print_preview_context_.IsForArc()) {
-@@ -1790,7 +1794,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
+@@ -1774,7 +1778,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
  
      auto self = weak_ptr_factory_.GetWeakPtr();
      Print(duplicate_node.GetDocument().GetFrame(), duplicate_node,
@@ -513,7 +513,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
      // Check if |this| is still valid.
      if (!self)
        return;
-@@ -1801,7 +1807,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
+@@ -1785,7 +1791,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
  
  void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
                                     const blink::WebNode& node,
@@ -524,7 +524,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
    // If still not finished with earlier print request simply ignore.
    if (prep_frame_view_)
      return;
-@@ -1809,7 +1817,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+@@ -1793,7 +1801,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
    FrameReference frame_ref(frame);
  
    int expected_page_count = 0;
@@ -533,7 +533,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
      DidFinishPrinting(FAIL_PRINT_INIT);
      return;  // Failed to init print page settings.
    }
-@@ -1829,8 +1837,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
+@@ -1813,8 +1821,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
  
      PrintMsg_PrintPages_Params print_settings;
      auto self = weak_ptr_factory_.GetWeakPtr();
@@ -547,7 +547,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
      // Check if |this| is still valid.
      if (!self)
        return;
-@@ -2065,10 +2076,23 @@ void PrintRenderFrameHelper::IPCProcessed() {
+@@ -2049,10 +2060,23 @@ void PrintRenderFrameHelper::IPCProcessed() {
      base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, this);
  }
  
@@ -574,7 +574,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
    // 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
    // terminate.
-@@ -2088,12 +2112,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
+@@ -2072,12 +2096,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
    return result;
  }
  
@@ -594,7 +594,7 @@ index bb02f228d604976a668eb8ffa39f49e659975272..7406760e1c0247899232fc96614cfb23
      Send(new PrintHostMsg_ShowInvalidPrinterSettingsError(routing_id()));
      return false;
 diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h
-index 674e43487837d858c4f90a111ab1e3f17fa71536..3dbe53f290779ed116744853857a3eae59b8751e 100644
+index e6d759d06c0b8f39c7f02b680d70c5eb6faf2888..be412a35088e8463b39647c9d814f8b00867f71d 100644
 --- a/components/printing/renderer/print_render_frame_helper.h
 +++ b/components/printing/renderer/print_render_frame_helper.h
 @@ -225,7 +225,7 @@ class PrintRenderFrameHelper

+ 6 - 6
patches/chromium/render_widget_host_view_mac.patch

@@ -10,10 +10,10 @@ kinds of utility windows. Similarly for `disableAutoHideCursor`.
 Additionally, disables usage of some private APIs in MAS builds.
 
 diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
-index 368cc231bf07bba071500373805a481074aac711..e2d433bd4bf58a6d04d2b525ccedf77fcee02b09 100644
+index f872e4ec47c157288980caafa11104af2d205abb..8cf97e1a4aa6ed95bbc6427877ec96c6200dc7f2 100644
 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
 +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
-@@ -226,6 +226,11 @@ void ExtractUnderlines(NSAttributedString* string,
+@@ -154,6 +154,11 @@ void ExtractUnderlines(NSAttributedString* string,
  
  }  // namespace
  
@@ -25,7 +25,7 @@ index 368cc231bf07bba071500373805a481074aac711..e2d433bd4bf58a6d04d2b525ccedf77f
  // These are not documented, so use only after checking -respondsToSelector:.
  @interface NSApplication (UndocumentedSpeechMethods)
  - (void)speakString:(NSString*)string;
-@@ -645,6 +650,9 @@ void ExtractUnderlines(NSAttributedString* string,
+@@ -573,6 +578,9 @@ void ExtractUnderlines(NSAttributedString* string,
  }
  
  - (BOOL)acceptsFirstMouse:(NSEvent*)theEvent {
@@ -35,7 +35,7 @@ index 368cc231bf07bba071500373805a481074aac711..e2d433bd4bf58a6d04d2b525ccedf77f
    return [self acceptsMouseEventsWhenInactive];
  }
  
-@@ -1072,6 +1080,10 @@ void ExtractUnderlines(NSAttributedString* string,
+@@ -990,6 +998,10 @@ void ExtractUnderlines(NSAttributedString* string,
                                eventType == NSKeyDown &&
                                !(modifierFlags & NSCommandKeyMask);
  
@@ -46,7 +46,7 @@ index 368cc231bf07bba071500373805a481074aac711..e2d433bd4bf58a6d04d2b525ccedf77f
    // We only handle key down events and just simply forward other events.
    if (eventType != NSKeyDown) {
      _hostHelper->ForwardKeyboardEvent(event, latency_info);
-@@ -1848,9 +1860,11 @@ void ExtractUnderlines(NSAttributedString* string,
+@@ -1766,9 +1778,11 @@ void ExtractUnderlines(NSAttributedString* string,
  // Since this implementation doesn't have to wait any IPC calls, this doesn't
  // make any key-typing jank. --hbono 7/23/09
  //
@@ -58,7 +58,7 @@ index 368cc231bf07bba071500373805a481074aac711..e2d433bd4bf58a6d04d2b525ccedf77f
  
  - (NSArray*)validAttributesForMarkedText {
    // This code is just copied from WebKit except renaming variables.
-@@ -1859,7 +1873,10 @@ extern NSString* NSTextInputReplacementRangeAttributeName;
+@@ -1777,7 +1791,10 @@ extern NSString* NSTextInputReplacementRangeAttributeName;
          initWithObjects:NSUnderlineStyleAttributeName,
                          NSUnderlineColorAttributeName,
                          NSMarkedClauseSegmentAttributeName,

+ 1 - 1
patches/chromium/revert_remove_contentrendererclient_shouldfork.patch

@@ -9,7 +9,7 @@ for every navigation to keep Node.js working properly. Once Native Modules in th
 are required to be NAPI or context aware (Electron v11), this patch can be removed.
 
 diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
-index 03d1e6a078433e15accf847439182f7c8dea3f00..bf5dc00667ff0e47e9a0833ad302d06c39b5f822 100644
+index 35542225d8692e5628bc9271b27669e318a014dc..4c1e3f702bf462f97ccf74dd3357d932c6342893 100644
 --- a/chrome/renderer/chrome_content_renderer_client.cc
 +++ b/chrome/renderer/chrome_content_renderer_client.cc
 @@ -1306,6 +1306,25 @@ bool ChromeContentRendererClient::AllowPopup() {

+ 3 - 1
spec-main/crash-spec.ts

@@ -2,6 +2,7 @@ import { expect } from 'chai';
 import * as cp from 'child_process';
 import * as fs from 'fs';
 import * as path from 'path';
+import { ifdescribe } from './spec-helpers';
 
 const fixturePath = path.resolve(__dirname, 'fixtures', 'crash-cases');
 
@@ -30,7 +31,8 @@ const runFixtureAndEnsureCleanExit = (args: string[]) => {
   });
 };
 
-describe('crash cases', () => {
+// TODO re-enable this test for WOA
+ifdescribe(process.platform !== 'win32' || process.arch !== 'arm64')('crash cases', () => {
   afterEach(() => {
     for (const child of children) {
       child.kill();