Title: [277058] branches/safari-611-branch/Source/WebKit
- Revision
- 277058
- Author
- [email protected]
- Date
- 2021-05-05 17:19:02 -0700 (Wed, 05 May 2021)
Log Message
Merge Cherry-pick r276852. rdar://problem/77468295
Modified Paths
Diff
Modified: branches/safari-611-branch/Source/WebKit/ChangeLog (277057 => 277058)
--- branches/safari-611-branch/Source/WebKit/ChangeLog 2021-05-06 00:18:58 UTC (rev 277057)
+++ branches/safari-611-branch/Source/WebKit/ChangeLog 2021-05-06 00:19:02 UTC (rev 277058)
@@ -1,3 +1,41 @@
+2021-05-03 Russell Epstein <[email protected]>
+
+ Cherry-pick r276852. rdar://problem/77468295
+
+ prefers-reduced-motion is not reactive on iOS
+ https://bugs.webkit.org/show_bug.cgi?id=222381
+ <rdar://75933915>
+
+ Reviewed by Brent Fulgham.
+
+ With CFPrefs direct mode, there is a race between the notification that an accessibility preference has been changed
+ by the user, and the the in-memory Accessibility preference cache in the WebContent process. We resolve this by using
+ new SPI to clear the cached Accessibility settings when we are notified of an accessibility change so they always
+ reflect the user's most recent setting.
+
+ * Platform/spi/Cocoa/AccessibilitySupportSPI.h:
+ * WebProcess/cocoa/WebProcessCocoa.mm:
+ (WebKit::setPreferenceValue):
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-04-30 Per Arne Vollan <[email protected]>
+
+ prefers-reduced-motion is not reactive on iOS
+ https://bugs.webkit.org/show_bug.cgi?id=222381
+ <rdar://75933915>
+
+ Reviewed by Brent Fulgham.
+
+ With CFPrefs direct mode, there is a race between the notification that an accessibility preference has been changed
+ by the user, and the the in-memory Accessibility preference cache in the WebContent process. We resolve this by using
+ new SPI to clear the cached Accessibility settings when we are notified of an accessibility change so they always
+ reflect the user's most recent setting.
+
+ * Platform/spi/Cocoa/AccessibilitySupportSPI.h:
+ * WebProcess/cocoa/WebProcessCocoa.mm:
+ (WebKit::setPreferenceValue):
+
2021-04-29 Russell Epstein <[email protected]>
Cherry-pick r276742. rdar://problem/77326513
Modified: branches/safari-611-branch/Source/WebKit/Platform/spi/Cocoa/AccessibilitySupportSPI.h (277057 => 277058)
--- branches/safari-611-branch/Source/WebKit/Platform/spi/Cocoa/AccessibilitySupportSPI.h 2021-05-06 00:18:58 UTC (rev 277057)
+++ branches/safari-611-branch/Source/WebKit/Platform/spi/Cocoa/AccessibilitySupportSPI.h 2021-05-06 00:19:02 UTC (rev 277058)
@@ -45,6 +45,8 @@
extern Boolean _AXSFullKeyboardAccessEnabled();
#endif
+extern CFStringRef kAXSAccessibilityPreferenceDomain;
+
WTF_EXTERN_C_END
#endif
Modified: branches/safari-611-branch/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (277057 => 277058)
--- branches/safari-611-branch/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm 2021-05-06 00:18:58 UTC (rev 277057)
+++ branches/safari-611-branch/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm 2021-05-06 00:19:02 UTC (rev 277058)
@@ -162,6 +162,11 @@
SOFT_LINK_FUNCTION_MAY_FAIL_FOR_SOURCE(WebKit, HIServices, _AXSetAuditTokenIsAuthenticatedCallback, void, (AXAuditTokenIsAuthenticatedCallback callback), (callback))
#endif
+#if PLATFORM(IOS_FAMILY)
+SOFT_LINK_LIBRARY(libAccessibility)
+SOFT_LINK_OPTIONAL(libAccessibility, _AXSUpdateWebAccessibilitySettings, void, (), ());
+#endif
+
namespace WebKit {
using namespace WebCore;
@@ -1067,6 +1072,13 @@
#endif
} else
CFPreferencesSetValue(key.createCFString().get(), (__bridge CFPropertyListRef)value, domain.createCFString().get(), kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+
+#if PLATFORM(IOS_FAMILY)
+ if (domain == String(kAXSAccessibilityPreferenceDomain)) {
+ if (_AXSUpdateWebAccessibilitySettingsPtr())
+ _AXSUpdateWebAccessibilitySettingsPtr()();
+ }
+#endif
}
void WebProcess::notifyPreferencesChanged(const String& domain, const String& key, const Optional<String>& encodedValue)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes