Title: [278824] trunk/Source
Revision
278824
Author
pvol...@apple.com
Date
2021-06-14 02:28:55 -0700 (Mon, 14 Jun 2021)

Log Message

[iOS] Sync Accessibility preferences
https://bugs.webkit.org/show_bug.cgi?id=226738
<rdar://77922839>

Reviewed by Brent Fulgham.

Source/WebKit:

Only attempt to modify Accessibility preferences if they have changed.

* Shared/AccessibilityPreferences.cpp: Replaced.
* Shared/AccessibilityPreferences.h: Replaced.
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::accessibilityPreferencesDidChange):

Source/WTF:

Enable Per-App Accessibility preferences on iOS.

* wtf/PlatformHave.h:

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (278823 => 278824)


--- trunk/Source/WTF/ChangeLog	2021-06-14 01:23:00 UTC (rev 278823)
+++ trunk/Source/WTF/ChangeLog	2021-06-14 09:28:55 UTC (rev 278824)
@@ -1,3 +1,15 @@
+2021-06-14  Per Arne  <pvol...@apple.com>
+
+        [iOS] Sync Accessibility preferences
+        https://bugs.webkit.org/show_bug.cgi?id=226738
+        <rdar://77922839>
+
+        Reviewed by Brent Fulgham.
+
+        Enable Per-App Accessibility preferences on iOS.
+
+        * wtf/PlatformHave.h:
+
 2021-06-12  Wenson Hsieh  <wenson_hs...@apple.com>
 
         Number pad button is missing its image when tapping on <input type=tel> in watchOS 8

Modified: trunk/Source/WTF/wtf/PlatformHave.h (278823 => 278824)


--- trunk/Source/WTF/wtf/PlatformHave.h	2021-06-14 01:23:00 UTC (rev 278823)
+++ trunk/Source/WTF/wtf/PlatformHave.h	2021-06-14 09:28:55 UTC (rev 278824)
@@ -1034,3 +1034,7 @@
 #define HAVE_VK_IMAGE_ANALYSIS 1
 #endif
 #endif
+
+#if PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 150000
+#define HAVE_PER_APP_ACCESSIBILITY_PREFERENCES 1
+#endif

Modified: trunk/Source/WebKit/ChangeLog (278823 => 278824)


--- trunk/Source/WebKit/ChangeLog	2021-06-14 01:23:00 UTC (rev 278823)
+++ trunk/Source/WebKit/ChangeLog	2021-06-14 09:28:55 UTC (rev 278824)
@@ -1,3 +1,18 @@
+2021-06-14  Per Arne  <pvol...@apple.com>
+
+        [iOS] Sync Accessibility preferences
+        https://bugs.webkit.org/show_bug.cgi?id=226738
+        <rdar://77922839>
+
+        Reviewed by Brent Fulgham.
+
+        Only attempt to modify Accessibility preferences if they have changed.
+
+        * Shared/AccessibilityPreferences.cpp: Replaced.
+        * Shared/AccessibilityPreferences.h: Replaced.
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::accessibilityPreferencesDidChange):
+
 2021-06-13  Wenson Hsieh  <wenson_hs...@apple.com>
 
         [watchOS] Quickboard UI for focused select elements should not allow the user to change the input language

Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (278823 => 278824)


--- trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2021-06-14 01:23:00 UTC (rev 278823)
+++ trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2021-06-14 09:28:55 UTC (rev 278824)
@@ -1043,11 +1043,21 @@
 {
 #if HAVE(PER_APP_ACCESSIBILITY_PREFERENCES)
     auto appID = CFSTR("com.apple.WebKit.WebContent");
-    _AXSSetReduceMotionEnabledApp(preferences.reduceMotionEnabled ? AXValueStateOn : AXValueStateOff, appID);
-    _AXSSetIncreaseButtonLegibilityApp(preferences.increaseButtonLegibility ? AXValueStateOn : AXValueStateOff, appID);
-    _AXSSetEnhanceTextLegibilityEnabledApp(preferences.enhanceTextLegibility ? AXValueStateOn : AXValueStateOff, appID);
-    _AXSSetDarkenSystemColorsApp(preferences.darkenSystemColors ? AXValueStateOn : AXValueStateOff, appID);
-    _AXSInvertColorsSetEnabledApp(preferences.invertColorsEnabled ? AXValueStateOn : AXValueStateOff, appID);
+    auto reduceMotionEnabled = preferences.reduceMotionEnabled ? AXValueStateOn : AXValueStateOff;
+    if (_AXSReduceMotionEnabledApp(appID) != reduceMotionEnabled)
+        _AXSSetReduceMotionEnabledApp(reduceMotionEnabled, appID);
+    auto increaseButtonLegibility = preferences.increaseButtonLegibility ? AXValueStateOn : AXValueStateOff;
+    if (_AXSIncreaseButtonLegibilityApp(appID) != increaseButtonLegibility)
+        _AXSSetIncreaseButtonLegibilityApp(increaseButtonLegibility, appID);
+    auto enhanceTextLegibility = preferences.enhanceTextLegibility ? AXValueStateOn : AXValueStateOff;
+    if (_AXSEnhanceTextLegibilityEnabledApp(appID) != enhanceTextLegibility)
+        _AXSSetEnhanceTextLegibilityEnabledApp(enhanceTextLegibility, appID);
+    auto darkenSystemColors = preferences.darkenSystemColors ? AXValueStateOn : AXValueStateOff;
+    if (_AXDarkenSystemColorsApp(appID) != darkenSystemColors)
+        _AXSSetDarkenSystemColorsApp(darkenSystemColors, appID);
+    auto invertColorsEnabled = preferences.invertColorsEnabled ? AXValueStateOn : AXValueStateOff;
+    if (_AXSInvertColorsEnabledApp(appID) != invertColorsEnabled)
+        _AXSInvertColorsSetEnabledApp(invertColorsEnabled, appID);
 #endif
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to