summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPerry <perryuwang@tencent.com>2025-09-24 10:22:13 -0700
committerMichal Klocek <michal.klocek@qt.io>2025-10-21 20:45:45 +0200
commitb6db66d4a855cdb0735c89124c5edb2d37199663 (patch)
tree3f325f9e76270e21f61e3481267006e77eb4629c
parent129c00d7beb53e35af9615bc096947b25ac877d3 (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.mm14
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();
}