Changeset 277971 in webkit
- Timestamp:
- May 24, 2021 3:27:01 PM (14 months ago)
- Location:
- trunk
- Files:
-
- 3 added
- 16 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/accessibility/mac/media-query-values-change-expected.txt (added)
-
LayoutTests/accessibility/mac/media-query-values-change.html (added)
-
LayoutTests/platform/mac-catalina/TestExpectations (added)
-
LayoutTests/platform/mac-wk1/TestExpectations (modified) (1 diff)
-
Source/WebCore/PAL/ChangeLog (modified) (1 diff)
-
Source/WebCore/PAL/pal/spi/mac/HIServicesSPI.h (modified) (1 diff)
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/Platform/spi/mac/AppKitSPI.h (modified) (1 diff)
-
Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp (modified) (2 diffs)
-
Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h (modified) (1 diff)
-
Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (modified) (4 diffs)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.h (modified) (1 diff)
-
Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl (modified) (1 diff)
-
Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp (modified) (1 diff)
-
Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm (modified) (1 diff)
-
Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm (modified) (1 diff)
-
Tools/WebKitTestRunner/InjectedBundle/win/AccessibilityControllerWin.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r277970 r277971 1 2021-05-24 Chris Fleizach <cfleizach@apple.com> 2 3 AX: Settings: Increase contrast isn't detected in browser until an additional setting is applied 4 https://bugs.webkit.org/show_bug.cgi?id=225909 5 6 Reviewed by Per Arne Vollan. 7 8 * accessibility/mac/media-query-values-change-expected.txt: Added. 9 * accessibility/mac/media-query-values-change.html: Added. 10 1 11 2021-05-24 Cameron McCormack <heycam@apple.com> 2 12 -
trunk/LayoutTests/platform/mac-wk1/TestExpectations
r277691 r277971 213 213 # Color well is turned off. 214 214 accessibility/color-well.html [ Skip ] 215 accessibility/mac/media-query-values-change.html [ Skip ] 215 216 editing/pasteboard/drag-and-drop-color-input-events.html [ Skip ] 216 217 editing/pasteboard/drag-and-drop-color-input.html [ Skip ] -
trunk/Source/WebCore/PAL/ChangeLog
r277961 r277971 1 2021-05-24 Chris Fleizach <cfleizach@apple.com> 2 3 AX: Settings: Increase contrast isn't detected in browser until an additional setting is applied 4 https://bugs.webkit.org/show_bug.cgi?id=225909 5 6 Reviewed by Per Arne Vollan. 7 8 * pal/spi/mac/HIServicesSPI.h: 9 1 10 2021-05-24 Commit Queue <commit-queue@webkit.org> 2 11 -
trunk/Source/WebCore/PAL/pal/spi/mac/HIServicesSPI.h
r269906 r277971 153 153 extern CFStringRef kAXInterfaceReduceMotionStatusDidChangeNotification; 154 154 155 extern CFStringRef kAXInterfaceIncreaseContrastKey; 156 155 157 WTF_EXTERN_C_END 156 158 -
trunk/Source/WebKit/ChangeLog
r277967 r277971 1 2021-05-24 Chris Fleizach <cfleizach@apple.com> 2 3 AX: Settings: Increase contrast isn't detected in browser until an additional setting is applied 4 https://bugs.webkit.org/show_bug.cgi?id=225909 5 6 Reviewed by Per Arne Vollan. 7 8 Tests: accessibility/mac/media-query-values-change.html 9 10 1) WebContent blocks access to distributed notification center, so we can't rely on that to re-post notifications 11 2) AppKit caches the values of these AX settings, so we need to invalidate that cache directly 12 13 * Platform/spi/mac/AppKitSPI.h: 14 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 15 (WKAccessibilityTestingInjectPreference): 16 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 17 * WebProcess/cocoa/WebProcessCocoa.mm: 18 (WebKit::invertColorsPreferenceKey): 19 (WebKit::dispatchSimulatedNotificationsForPreferenceChange): 20 (WebKit::setPreferenceValue): 21 (WebKit::reduceMotionPreferenceKey): Deleted. 22 1 23 2021-05-24 Darin Adler <darin@apple.com> 2 24 -
trunk/Source/WebKit/Platform/spi/mac/AppKitSPI.h
r277688 r277971 75 75 #endif 76 76 77 @interface NSWorkspace (NSWorkspaceAccessibilityDisplayInternal_IPI) 78 + (void)_invalidateAccessibilityDisplayValues; 79 @end 80 77 81 @interface NSInspectorBar (IPI) 78 82 - (void)_update; -
trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
r277264 r277971 57 57 #include "WebPageGroupProxy.h" 58 58 #include "WebPageOverlay.h" 59 #include "WebProcess.h" 59 60 #include <WebCore/AXObjectCache.h> 60 61 #include <WebCore/AccessibilityObjectInterface.h> … … 229 230 { 230 231 WebKit::toImpl(pageRef)->insertNewlineInQuotedContent(); 232 } 233 234 void WKAccessibilityTestingInjectPreference(WKBundlePageRef pageRef, const String& domain, const String& key, const Optional<String>& encodedValue) 235 { 236 if (!pageRef) 237 return; 238 239 #if ENABLE(CFPREFS_DIRECT_MODE) 240 WebKit::WebProcess::singleton().notifyPreferencesChanged(domain, key, encodedValue); 241 #endif 231 242 } 232 243 -
trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h
r265085 r277971 97 97 WK_EXPORT void* WKAccessibilityFocusedObject(WKBundlePageRef); 98 98 WK_EXPORT bool WKAccessibilityCanUseSecondaryAXThread(WKBundlePageRef); 99 WK_EXPORT void WKAccessibilityTestingInjectPreference(WKBundlePageRef, const String& domain, const String& key, const Optional<String>& encodedValue); 99 100 100 101 WK_EXPORT void WKAccessibilityEnableEnhancedAccessibility(bool); -
trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
r277874 r277971 133 133 134 134 #if PLATFORM(MAC) 135 #import "AppKitSPI.h" 135 136 #import "WKAccessibilityWebPageObjectMac.h" 136 137 #import "WebSwitchingGPUClient.h" … … 1068 1069 } 1069 1070 1070 static const WTF::String& reduceMotionPreferenceKey()1071 { 1072 static NeverDestroyed<WTF::String> key(MAKE_STATIC_STRING_IMPL(" reduceMotion"));1071 static const WTF::String& invertColorsPreferenceKey() 1072 { 1073 static NeverDestroyed<WTF::String> key(MAKE_STATIC_STRING_IMPL("whiteOnBlack")); 1073 1074 return key; 1074 1075 } … … 1097 1098 [notificationCenter postNotificationName:@"NSSystemColorsWillChangeNotification" object:nil]; 1098 1099 [notificationCenter postNotificationName:NSSystemColorsDidChangeNotification object:nil]; 1099 } else if (key == reduceMotionPreferenceKey()) {1100 auto notificationCenter = CFNotificationCenterGetDistributedCenter();1101 CFNotificationCenterPostNotification(notificationCenter, kAXInterfaceReduceMotionStatusDidChangeNotification, nullptr, nullptr, true);1102 1100 } 1103 1101 #endif … … 1134 1132 _AXSUpdateWebAccessibilitySettingsPtr()(); 1135 1133 } 1134 #endif 1135 1136 #if USE(APPKIT) 1137 auto cfKey = key.createCFString(); 1138 if (CFEqual(cfKey.get(), kAXInterfaceReduceMotionKey) || CFEqual(cfKey.get(), kAXInterfaceIncreaseContrastKey) || key == invertColorsPreferenceKey()) 1139 [NSWorkspace _invalidateAccessibilityDisplayValues]; 1136 1140 #endif 1137 1141 } -
trunk/Tools/ChangeLog
r277967 r277971 1 2021-05-24 Chris Fleizach <cfleizach@apple.com> 2 3 AX: Settings: Increase contrast isn't detected in browser until an additional setting is applied 4 https://bugs.webkit.org/show_bug.cgi?id=225909 5 6 Reviewed by Per Arne Vollan. 7 8 * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: 9 (WTR::AccessibilityController::injectAccessibilityPreference): 10 * WebKitTestRunner/InjectedBundle/AccessibilityController.h: 11 * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl: 12 * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm: 13 (WTR::AccessibilityController::injectAccessibilityPreference): 14 1 15 2021-05-24 Darin Adler <darin@apple.com> 2 16 -
trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.h
r272970 r277971 78 78 bool addNotificationListener(JSValueRef functionCallback); 79 79 bool removeNotificationListener(); 80 void injectAccessibilityPreference(JSStringRef domain, JSStringRef key, JSStringRef value); 80 81 81 82 // Here for consistency with DRT. Not implemented because they don't do anything on the Mac. -
trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl
r266311 r277971 35 35 AccessibilityUIElement elementAtPoint(long x, long y); 36 36 AccessibilityUIElement accessibleElementById(DOMString id); 37 undefined injectAccessibilityPreference(DOMString domain, DOMString key, DOMString value); 37 38 38 39 boolean addNotificationListener(object functionCallback); -
trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp
r272970 r277971 101 101 } 102 102 103 void AccessibilityController::injectAccessibilityPreference(JSStringRef domain, JSStringRef key, JSStringRef value) 104 { 105 } 106 103 107 Ref<AccessibilityUIElement> AccessibilityController::rootElement() 104 108 { -
trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm
r273308 r277971 89 89 } 90 90 91 void AccessibilityController::injectAccessibilityPreference(JSStringRef, JSStringRef, JSStringRef) 92 { 93 } 94 91 95 RefPtr<AccessibilityUIElement> AccessibilityController::accessibleElementById(JSStringRef idAttribute) 92 96 { -
trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm
r277911 r277971 96 96 } 97 97 98 void AccessibilityController::injectAccessibilityPreference(JSStringRef domain, JSStringRef key, JSStringRef value) 99 { 100 NSNumber *numberValue = @([[NSString stringWithJSStringRef:value] integerValue]); 101 NSData *encodedData = [NSKeyedArchiver archivedDataWithRootObject:numberValue requiringSecureCoding:YES error:nil]; 102 NSString *encodedString = [encodedData base64EncodedStringWithOptions:0]; 103 WKAccessibilityTestingInjectPreference(InjectedBundle::singleton().page()->page(), toWTFString(domain), toWTFString(key), (String)encodedString); 104 } 105 98 106 RefPtr<AccessibilityUIElement> AccessibilityController::accessibleElementById(JSStringRef idAttribute) 99 107 { -
trunk/Tools/WebKitTestRunner/InjectedBundle/win/AccessibilityControllerWin.cpp
r272970 r277971 51 51 } 52 52 53 void AccessibilityController::injectAccessibilityPreference(JSStringRef domain, JSStringRef key, JSStringRef value) 54 { 55 notImplemented(); 56 } 57 53 58 Ref<AccessibilityUIElement> AccessibilityController::rootElement() 54 59 {
Note: See TracChangeset
for help on using the changeset viewer.