- Revision
- 263275
- Author
- cfleiz...@apple.com
- Date
- 2020-06-19 10:11:27 -0700 (Fri, 19 Jun 2020)
Log Message
AX: Make isolated tree enablement status dependent on client preference
https://bugs.webkit.org/show_bug.cgi?id=213355
<rdar://problem/64506577>
Reviewed by Zalan Bujtas.
Source/WebKit:
We don't want the isolated tree mode in all clients (like Mail or Dictionary).
As a result, we can set this setting to off and allow safari and mini browser turn on more directly.
* Shared/WebPreferences.yaml:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setAccessibilityIsolatedTreeEnabled:]):
(-[WKPreferences _accessibilityIsolatedTreeEnabled]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
(WebKit::InjectedBundle::setAccessibilityIsolatedTreeEnabled):
* WebProcess/InjectedBundle/InjectedBundle.h:
Tools:
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate defaultConfiguration]):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (263274 => 263275)
--- trunk/Source/WebKit/ChangeLog 2020-06-19 17:07:37 UTC (rev 263274)
+++ trunk/Source/WebKit/ChangeLog 2020-06-19 17:11:27 UTC (rev 263275)
@@ -1,3 +1,24 @@
+2020-06-19 Chris Fleizach <cfleiz...@apple.com>
+
+ AX: Make isolated tree enablement status dependent on client preference
+ https://bugs.webkit.org/show_bug.cgi?id=213355
+ <rdar://problem/64506577>
+
+ Reviewed by Zalan Bujtas.
+
+ We don't want the isolated tree mode in all clients (like Mail or Dictionary).
+ As a result, we can set this setting to off and allow safari and mini browser turn on more directly.
+
+ * Shared/WebPreferences.yaml:
+ * UIProcess/API/Cocoa/WKPreferences.mm:
+ (-[WKPreferences _setAccessibilityIsolatedTreeEnabled:]):
+ (-[WKPreferences _accessibilityIsolatedTreeEnabled]):
+ * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+ (WebKit::InjectedBundle::setAccessibilityIsolatedTreeEnabled):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
2020-06-19 Rob Buis <rb...@igalia.com>
Enable referrer policy attribute support by default
Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (263274 => 263275)
--- trunk/Source/WebKit/Shared/WebPreferences.yaml 2020-06-19 17:07:37 UTC (rev 263274)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2020-06-19 17:11:27 UTC (rev 263275)
@@ -2013,7 +2013,7 @@
IsAccessibilityIsolatedTreeEnabled:
type: bool
- defaultValue: true
+ defaultValue: false
humanReadableName: "Isolated Accessibility Tree Mode"
humanReadableDescription: "Enable an accessibility hierarchy for VoiceOver that can be accessed on a secondary thread for improved performance"
webcoreBinding: RuntimeEnabledFeatures
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm (263274 => 263275)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm 2020-06-19 17:07:37 UTC (rev 263274)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm 2020-06-19 17:11:27 UTC (rev 263275)
@@ -1456,6 +1456,22 @@
#endif
}
+- (void)_setAccessibilityIsolatedTreeEnabled:(BOOL)accessibilityIsolatedTreeEnabled
+{
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+ _preferences->setIsAccessibilityIsolatedTreeEnabled(accessibilityIsolatedTreeEnabled);
+#endif
+}
+
+- (BOOL)_accessibilityIsolatedTreeEnabled
+{
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+ return _preferences->isAccessibilityIsolatedTreeEnabled();
+#else
+ return false;
+#endif
+}
+
@end
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h (263274 => 263275)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h 2020-06-19 17:07:37 UTC (rev 263274)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h 2020-06-19 17:11:27 UTC (rev 263275)
@@ -163,6 +163,7 @@
@property (nonatomic, setter=_setRequestAnimationFrameEnabled:) BOOL _requestAnimationFrameEnabled WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
@property (nonatomic, readonly) BOOL _isITPDatabaseEnabled WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
@property (nonatomic, setter=_setServiceWorkerEntitlementDisabledForTesting:) BOOL _serviceWorkerEntitlementDisabledForTesting WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
+@property (nonatomic, setter=_setAccessibilityIsolatedTreeEnabled:) BOOL _accessibilityIsolatedTreeEnabled WK_API_AVAILABLE(macos(10.16));
#if !TARGET_OS_IPHONE
@property (nonatomic, setter=_setWebGLEnabled:) BOOL _webGLEnabled WK_API_AVAILABLE(macos(10.13.4));
Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp (263274 => 263275)
--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp 2020-06-19 17:07:37 UTC (rev 263274)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp 2020-06-19 17:11:27 UTC (rev 263275)
@@ -292,6 +292,11 @@
RuntimeEnabledFeatures::sharedFeatures().setWebXREnabled(enabled);
#endif
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+ if (preference == "IsAccessibilityIsolatedTreeEnabled")
+ RuntimeEnabledFeatures::sharedFeatures().setIsAccessibilityIsolatedTreeEnabled(enabled);
+#endif
+
// Map the names used in LayoutTests with the names used in WebCore::Settings and WebPreferencesStore.
#define FOR_EACH_OVERRIDE_BOOL_PREFERENCE(macro) \
macro(WebKitJavaEnabled, JavaEnabled, javaEnabled) \
@@ -614,4 +619,11 @@
RuntimeEnabledFeatures::sharedFeatures().setWebAnimationsCSSIntegrationEnabled(enabled);
}
+void InjectedBundle::setAccessibilityIsolatedTreeEnabled(bool enabled)
+{
+#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
+ RuntimeEnabledFeatures::sharedFeatures().setIsAccessibilityIsolatedTreeEnabled(enabled);
+#endif
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.h (263274 => 263275)
--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.h 2020-06-19 17:07:37 UTC (rev 263274)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.h 2020-06-19 17:11:27 UTC (rev 263275)
@@ -144,6 +144,7 @@
void setSerialLoadingEnabled(bool);
void setWebAnimationsEnabled(bool);
void setWebAnimationsCSSIntegrationEnabled(bool);
+ void setAccessibilityIsolatedTreeEnabled(bool);
void dispatchPendingLoadRequests();
#if PLATFORM(COCOA)
Modified: trunk/Tools/ChangeLog (263274 => 263275)
--- trunk/Tools/ChangeLog 2020-06-19 17:07:37 UTC (rev 263274)
+++ trunk/Tools/ChangeLog 2020-06-19 17:11:27 UTC (rev 263275)
@@ -1,3 +1,14 @@
+2020-06-19 Chris Fleizach <cfleiz...@apple.com>
+
+ AX: Make isolated tree enablement status dependent on client preference
+ https://bugs.webkit.org/show_bug.cgi?id=213355
+ <rdar://problem/64506577>
+
+ Reviewed by Zalan Bujtas.
+
+ * MiniBrowser/mac/AppDelegate.m:
+ (-[BrowserAppDelegate defaultConfiguration]):
+
2020-06-19 Aakash Jain <aakash_j...@apple.com>
Improve handling of trac downtime by commit-queue
Modified: trunk/Tools/MiniBrowser/mac/AppDelegate.m (263274 => 263275)
--- trunk/Tools/MiniBrowser/mac/AppDelegate.m 2020-06-19 17:07:37 UTC (rev 263274)
+++ trunk/Tools/MiniBrowser/mac/AppDelegate.m 2020-06-19 17:11:27 UTC (rev 263275)
@@ -144,6 +144,7 @@
configuration.preferences._developerExtrasEnabled = YES;
configuration.preferences._mediaDevicesEnabled = YES;
configuration.preferences._mockCaptureDevicesEnabled = YES;
+ configuration.preferences._accessibilityIsolatedTreeEnabled = YES;
}
configuration.suppressesIncrementalRendering = _settingsController.incrementalRenderingSuppressed;