Title: [263275] trunk
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;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to