diff options
| author | Perry <perryuwang@tencent.com> | 2025-09-24 10:22:13 -0700 |
|---|---|---|
| committer | Michal Klocek <michal.klocek@qt.io> | 2025-10-21 20:45:45 +0200 |
| commit | b6db66d4a855cdb0735c89124c5edb2d37199663 (patch) | |
| tree | 3f325f9e76270e21f61e3481267006e77eb4629c | |
| parent | 129c00d7beb53e35af9615bc096947b25ac877d3 (diff) | |
[Backport] Disable NSAutoFillHeuristicController on macOS 26134-based-refactor
The reason for this issue is that NSAutoFillHeuristicController is
enabled by default on macOS 26. In pages with <input> tags, browser
process sends synchronized IPC messages to renderer process. At this
point, if the renderer process also sends synchronized IPC messages to
the browser process, it will cause a deadlock.
This bug can be reproduced on many websites. From the perspective of
user experience, we should first disable this feature on macOS 26.
Bug: 446070423, 446481994, 447140881
Change-Id: I2d3855648980a22678548e373756fc156e28ecd7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6977642
Reviewed-by: Perry <perryuwang@gmail.com>
Owners-Override: Srinivas Sista <srinivassista@chromium.org>
Commit-Queue: Srinivas Sista <srinivassista@chromium.org>
Cr-Commit-Position: refs/branch-heads/7390@{#1695}
Cr-Branched-From: d481efce5eb300acbb896686676ebd0352a6f1db-refs/heads/main@{#1509326}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/680744
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| -rw-r--r-- | chromium/content/app/mac_init.mm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/chromium/content/app/mac_init.mm b/chromium/content/app/mac_init.mm index 603c25a1bd4..963f45a8936 100644 --- a/chromium/content/app/mac_init.mm +++ b/chromium/content/app/mac_init.mm @@ -6,6 +6,7 @@ #import <Cocoa/Cocoa.h> +#include "base/mac/mac_util.h" #include "content/common/mac/system_policy.h" namespace content { @@ -29,6 +30,19 @@ void InitializeMac() { @"NSAppSleepDisabled" : @YES, }]; + if (base::mac::MacOSVersion() >= 26'00'00) { + [NSUserDefaults.standardUserDefaults registerDefaults:@{ + // Disable NSAutoFillHeuristicController on macOS 26. On macOS 26, the + // browser process sends synchronized IPC messages to the renderer process + // on pages with <input> tags. At this point, if the renderer process + // sends a synchronized IPC message to the browser process, it will cause + // a deadlock. + // https://crbug.com/446070423 + // https://crbug.com/446481994 + @"NSAutoFillHeuristicControllerEnabled" : @NO, + }]; + } + SetSystemPolicyCrashKeys(); } |
