Changeset 270823 in webkit
- Timestamp:
- Dec 14, 2020 10:28:57 PM (19 months ago)
- Location:
- trunk
- Files:
-
- 15 added
- 26 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/TestExpectations (modified) (1 diff)
-
LayoutTests/fast/media/mq-prefers-contrast-forced-value.html (added)
-
LayoutTests/fast/media/mq-prefers-contrast-live-update-for-listener-expected.txt (added)
-
LayoutTests/fast/media/mq-prefers-contrast-live-update-for-listener.html (added)
-
LayoutTests/fast/media/mq-prefers-contrast-live-update.html (added)
-
LayoutTests/fast/media/mq-prefers-contrast-matchMedia-expected.html (added)
-
LayoutTests/fast/media/mq-prefers-contrast-matchMedia.html (added)
-
LayoutTests/fast/media/mq-prefers-contrast.html (added)
-
LayoutTests/platform/ios-simulator/fast/media (added)
-
LayoutTests/platform/ios-simulator/fast/media/mq-prefers-contrast-expected.html (added)
-
LayoutTests/platform/ios-simulator/fast/media/mq-prefers-contrast-forced-value-expected.html (added)
-
LayoutTests/platform/ios-simulator/fast/media/mq-prefers-contrast-live-update-expected.html (added)
-
LayoutTests/platform/ios-wk2/TestExpectations (modified) (1 diff)
-
LayoutTests/platform/mac-wk2/TestExpectations (modified) (1 diff)
-
LayoutTests/platform/mac/fast/media (added)
-
LayoutTests/platform/mac/fast/media/mq-prefers-contrast-expected.html (added)
-
LayoutTests/platform/mac/fast/media/mq-prefers-contrast-forced-value-expected.html (added)
-
LayoutTests/platform/mac/fast/media/mq-prefers-contrast-live-update-expected.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/PAL/ChangeLog (modified) (1 diff)
-
Source/WebCore/PAL/pal/ios/UIKitSoftLink.h (modified) (1 diff)
-
Source/WebCore/PAL/pal/ios/UIKitSoftLink.mm (modified) (1 diff)
-
Source/WebCore/css/CSSValueKeywords.in (modified) (1 diff)
-
Source/WebCore/css/MediaFeatureNames.h (modified) (1 diff)
-
Source/WebCore/css/MediaQueryEvaluator.cpp (modified) (2 diffs)
-
Source/WebCore/css/MediaQueryExpression.cpp (modified) (2 diffs)
-
Source/WebCore/page/Settings.yaml (modified) (1 diff)
-
Source/WebCore/platform/Theme.cpp (modified) (1 diff)
-
Source/WebCore/platform/Theme.h (modified) (1 diff)
-
Source/WebCore/platform/ios/ThemeIOS.h (modified) (1 diff)
-
Source/WebCore/platform/ios/ThemeIOS.mm (modified) (1 diff)
-
Source/WebCore/platform/mac/ThemeMac.h (modified) (1 diff)
-
Source/WebCore/platform/mac/ThemeMac.mm (modified) (1 diff)
-
Source/WebCore/testing/InternalSettings.cpp (modified) (3 diffs)
-
Source/WebCore/testing/InternalSettings.h (modified) (2 diffs)
-
Source/WebCore/testing/InternalSettings.idl (modified) (1 diff)
-
Source/WebCore/testing/Internals.cpp (modified) (1 diff)
-
Source/WebCore/testing/Internals.h (modified) (1 diff)
-
Source/WebCore/testing/Internals.idl (modified) (1 diff)
-
Source/WebCore/testing/Internals.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r270822 r270823 1 2020-12-14 Chris Fleizach <cfleizach@apple.com> 2 3 AX: implement prefers-contrast: more 4 https://bugs.webkit.org/show_bug.cgi?id=215507 5 <rdar://problem/67077492> 6 7 Reviewed by Dean Jackson. 8 9 * TestExpectations: 10 * fast/media/mq-prefers-contrast-forced-value.html: Added. 11 * fast/media/mq-prefers-contrast-live-update-for-listener-expected.txt: Added. 12 * fast/media/mq-prefers-contrast-live-update-for-listener.html: Added. 13 * fast/media/mq-prefers-contrast-live-update.html: Added. 14 * fast/media/mq-prefers-contrast-matchMedia-expected.html: Added. 15 * fast/media/mq-prefers-contrast-matchMedia.html: Added. 16 * fast/media/mq-prefers-contrast.html: Added. 17 * platform/ios-simulator/fast/media/mq-prefers-contrast-expected.html: Added. 18 * platform/ios-simulator/fast/media/mq-prefers-contrast-forced-value-expected.html: Added. 19 * platform/ios-simulator/fast/media/mq-prefers-contrast-live-update-expected.html: Added. 20 * platform/ios-wk2/TestExpectations: 21 * platform/mac-wk2/TestExpectations: 22 * platform/mac/fast/media/mq-prefers-contrast-expected.html: Added. 23 * platform/mac/fast/media/mq-prefers-contrast-forced-value-expected.html: Added. 24 * platform/mac/fast/media/mq-prefers-contrast-live-update-expected.html: Added. 25 1 26 2020-12-14 Diego Pino Garcia <dpino@igalia.com> 2 27 -
trunk/LayoutTests/TestExpectations
r270618 r270823 219 219 fast/media/mq-monochrome-live-update.html [ Skip ] 220 220 fast/media/mq-prefers-reduced-motion-live-update.html [ Skip ] 221 fast/media/mq-prefers-contrast.html [ Skip ] 222 fast/media/mq-prefers-contrast-live-update.html [ Skip ] 221 223 http/tests/loading/basic-auth-remove-credentials.html [ Skip ] 222 224 http/tests/security/strip-referrer-to-origin-for-third-party-redirects-in-private-mode.html [ Skip ] -
trunk/LayoutTests/platform/ios-wk2/TestExpectations
r270574 r270823 38 38 fast/media/mq-monochrome-live-update.html [ Pass ] 39 39 fast/media/mq-prefers-reduced-motion-live-update.html [ Pass ] 40 fast/media/mq-prefers-contrast.html [ Pass ] 41 fast/media/mq-prefers-contrast-live-update.html [ Pass ] 40 42 41 43 fast/repaint/placeholder-after-caps-lock-hidden.html [ Pass ] -
trunk/LayoutTests/platform/mac-wk2/TestExpectations
r270434 r270823 40 40 fast/media/mq-monochrome-live-update.html [ Pass ] 41 41 fast/media/mq-prefers-reduced-motion-live-update.html [ Pass ] 42 fast/media/mq-prefers-contrast-live-update.html [ Pass ] 43 fast/media/mq-prefers-contrast.html [ Pass ] 42 44 43 45 http/tests/ssl/applepay [ Pass ] -
trunk/Source/WebCore/ChangeLog
r270819 r270823 1 2020-12-14 Chris Fleizach <cfleizach@apple.com> 2 3 AX: implement prefers-contrast: more 4 https://bugs.webkit.org/show_bug.cgi?id=215507 5 <rdar://problem/67077492> 6 7 Reviewed by Dean Jackson. 8 9 Implement prefers-contrast as defined in 10 https://drafts.csswg.org/mediaqueries-5/#prefers-contrast 11 12 Tests: fast/media/mq-prefers-contrast-forced-value.html 13 fast/media/mq-prefers-contrast-live-update-for-listener.html 14 fast/media/mq-prefers-contrast-live-update.html 15 fast/media/mq-prefers-contrast-matchMedia.html 16 fast/media/mq-prefers-contrast.html 17 18 * css/CSSValueKeywords.in: 19 * css/MediaFeatureNames.h: 20 * css/MediaQueryEvaluator.cpp: 21 (WebCore::isAccessibilitySettingsDependent): 22 (WebCore::prefersContrastEvaluate): 23 * css/MediaQueryExpression.cpp: 24 (WebCore::featureWithValidIdent): 25 (WebCore::isFeatureValidWithoutValue): 26 * page/Settings.yaml: 27 * platform/Theme.cpp: 28 (WebCore::Theme::userPrefersContrast const): 29 * platform/Theme.h: 30 * platform/ios/ThemeIOS.h: 31 * platform/ios/ThemeIOS.mm: 32 (WebCore::ThemeIOS::userPrefersContrast const): 33 * platform/mac/ThemeMac.h: 34 * platform/mac/ThemeMac.mm: 35 (WebCore::ThemeMac::userPrefersContrast const): 36 * testing/InternalSettings.cpp: 37 (WebCore::InternalSettings::Backup::Backup): 38 (WebCore::InternalSettings::Backup::restoreTo): 39 (WebCore::InternalSettings::forcedPrefersContrastAccessibilityValue const): 40 (WebCore::InternalSettings::setForcedPrefersContrastAccessibilityValue): 41 * testing/InternalSettings.h: 42 * testing/InternalSettings.idl: 43 * testing/Internals.cpp: 44 (WebCore::Internals::userPrefersContrast const): 45 * testing/Internals.h: 46 * testing/Internals.idl: 47 * testing/Internals.mm: 48 (WebCore::Internals::userPrefersContrast const): 49 1 50 2020-12-14 Peng Liu <peng.liu6@apple.com> 2 51 -
trunk/Source/WebCore/PAL/ChangeLog
r270798 r270823 1 2020-12-14 Chris Fleizach <cfleizach@apple.com> 2 3 AX: implement prefers-contrast: more 4 https://bugs.webkit.org/show_bug.cgi?id=215507 5 <rdar://problem/67077492> 6 7 Reviewed by Dean Jackson. 8 9 * pal/ios/UIKitSoftLink.h: 10 1 11 2020-12-14 Tim Horton <timothy_horton@apple.com> 2 12 -
trunk/Source/WebCore/PAL/pal/ios/UIKitSoftLink.h
r262209 r270823 67 67 SOFT_LINK_FUNCTION_FOR_HEADER(PAL, UIKit, UIAccessibilityIsInvertColorsEnabled, BOOL, (void), ()) 68 68 SOFT_LINK_FUNCTION_FOR_HEADER(PAL, UIKit, UIAccessibilityIsReduceMotionEnabled, BOOL, (void), ()) 69 SOFT_LINK_FUNCTION_FOR_HEADER(PAL, UIKit, UIAccessibilityDarkerSystemColorsEnabled, BOOL, (void), ()) 69 70 SOFT_LINK_FUNCTION_FOR_HEADER(PAL, UIKit, UIAccessibilityPostNotification, void, (UIAccessibilityNotifications n, id argument), (n, argument)) 70 71 SOFT_LINK_FUNCTION_FOR_HEADER(PAL, UIKit, UIGraphicsGetCurrentContext, CGContextRef, (void), ()) -
trunk/Source/WebCore/PAL/pal/ios/UIKitSoftLink.mm
r262209 r270823 67 67 SOFT_LINK_FUNCTION_FOR_SOURCE(PAL, UIKit, UIAccessibilityIsInvertColorsEnabled, BOOL, (void), ()) 68 68 SOFT_LINK_FUNCTION_FOR_SOURCE_WITH_EXPORT(PAL, UIKit, UIAccessibilityIsReduceMotionEnabled, BOOL, (void), (), PAL_EXPORT) 69 SOFT_LINK_FUNCTION_FOR_SOURCE_WITH_EXPORT(PAL, UIKit, UIAccessibilityDarkerSystemColorsEnabled, BOOL, (void), (), PAL_EXPORT) 69 70 SOFT_LINK_FUNCTION_FOR_SOURCE(PAL, UIKit, UIAccessibilityPostNotification, void, (UIAccessibilityNotifications n, id argument), (n, argument)) 70 71 SOFT_LINK_FUNCTION_FOR_SOURCE(PAL, UIKit, UIGraphicsGetCurrentContext, CGContextRef, (void), ()) -
trunk/Source/WebCore/css/CSSValueKeywords.in
r270613 r270823 1415 1415 no-preference 1416 1416 1417 // prefers-contrast 1418 forced 1419 more 1420 less 1421 // no-preference 1422 1417 1423 #if defined(ENABLE_DARK_MODE_CSS) && ENABLE_DARK_MODE_CSS 1418 1424 // prefers-color-scheme -
trunk/Source/WebCore/css/MediaFeatureNames.h
r252762 r270823 78 78 macro(orientation, "orientation") \ 79 79 macro(pointer, "pointer") \ 80 macro(prefersContrast, "prefers-contrast") \ 80 81 macro(prefersDarkInterface, "prefers-dark-interface") \ 81 82 macro(prefersReducedMotion, "prefers-reduced-motion") \ -
trunk/Source/WebCore/css/MediaQueryEvaluator.cpp
r269888 r270823 84 84 || mediaFeature == MediaFeatureNames::minMonochrome 85 85 || mediaFeature == MediaFeatureNames::monochrome 86 || mediaFeature == MediaFeatureNames::prefersReducedMotion; 86 || mediaFeature == MediaFeatureNames::prefersReducedMotion 87 || mediaFeature == MediaFeatureNames::prefersContrast; 87 88 } 88 89 … … 821 822 #endif 822 823 824 static bool prefersContrastEvaluate(CSSValue* value, const CSSToLengthConversionData&, Frame& frame, MediaFeaturePrefix) 825 { 826 bool userPrefersContrast = false; 827 828 switch (frame.settings().forcedPrefersContrastAccessibilityValue()) { 829 case ForcedAccessibilityValue::On: 830 userPrefersContrast = true; 831 break; 832 case ForcedAccessibilityValue::Off: 833 break; 834 case ForcedAccessibilityValue::System: 835 #if PLATFORM(MAC) || PLATFORM(IOS_FAMILY) 836 userPrefersContrast = Theme::singleton().userPrefersContrast(); 837 #endif 838 break; 839 } 840 841 if (!value) 842 return userPrefersContrast; 843 844 // Apple platforms: less and forced are ignored and only "more" is mapped to the user's preference. 845 return downcast<CSSPrimitiveValue>(*value).valueID() == (userPrefersContrast ? CSSValueMore : CSSValueNoPreference); 846 } 847 823 848 static bool prefersReducedMotionEvaluate(CSSValue* value, const CSSToLengthConversionData&, Frame& frame, MediaFeaturePrefix) 824 849 { -
trunk/Source/WebCore/css/MediaQueryExpression.cpp
r252762 r270823 57 57 || (mediaFeature == MediaFeatureNames::prefersColorScheme) 58 58 #endif 59 || mediaFeature == MediaFeatureNames::prefersContrast 59 60 || mediaFeature == MediaFeatureNames::prefersReducedMotion 60 61 || (mediaFeature == MediaFeatureNames::prefersDarkInterface && (context.useSystemAppearance || isUASheetBehavior(context.mode))) … … 166 167 || mediaFeature == MediaFeatureNames::invertedColors 167 168 || mediaFeature == MediaFeatureNames::pointer 169 || mediaFeature == MediaFeatureNames::prefersContrast 168 170 || mediaFeature == MediaFeatureNames::prefersReducedMotion 169 171 || (mediaFeature == MediaFeatureNames::prefersDarkInterface && (context.useSystemAppearance || isUASheetBehavior(context.mode))) -
trunk/Source/WebCore/page/Settings.yaml
r270762 r270823 186 186 default: false 187 187 188 ForcedPrefersContrastAccessibilityValue: 189 type: uint32_t 190 refinedType: ForcedAccessibilityValue 191 defaultValue: 192 WebCore: 193 default: ForcedAccessibilityValue::System 194 188 195 ForcedColorsAreInvertedAccessibilityValue: 189 196 type: uint32_t -
trunk/Source/WebCore/platform/Theme.cpp
r257631 r270823 71 71 return false; 72 72 } 73 74 bool Theme::userPrefersContrast() const 75 { 76 return false; 77 } 78 73 79 74 80 LengthBox Theme::controlBorder(ControlPart part, const FontCascade&, const LengthBox& zoomedBox, float) const -
trunk/Source/WebCore/platform/Theme.h
r257631 r270823 78 78 virtual void drawNamedImage(const String&, GraphicsContext&, const FloatRect&) const; 79 79 80 virtual bool userPrefersContrast() const; 80 81 virtual bool userPrefersReducedMotion() const; 81 82 -
trunk/Source/WebCore/platform/ios/ThemeIOS.h
r237266 r270823 35 35 private: 36 36 bool userPrefersReducedMotion() const final; 37 bool userPrefersContrast() const final; 37 38 }; 38 39 -
trunk/Source/WebCore/platform/ios/ThemeIOS.mm
r240168 r270823 47 47 } 48 48 49 bool ThemeIOS::userPrefersContrast() const 50 { 51 return PAL::softLink_UIKit_UIAccessibilityDarkerSystemColorsEnabled(); 52 } 53 49 54 } 50 55 -
trunk/Source/WebCore/platform/mac/ThemeMac.h
r263255 r270823 62 62 63 63 bool userPrefersReducedMotion() const final; 64 bool userPrefersContrast() const final; 64 65 }; 65 66 -
trunk/Source/WebCore/platform/mac/ThemeMac.mm
r265870 r270823 972 972 } 973 973 974 bool ThemeMac::userPrefersContrast() const 975 { 976 return [[NSWorkspace sharedWorkspace] accessibilityDisplayShouldIncreaseContrast]; 977 } 978 974 979 #if HAVE(LARGE_CONTROL_SIZE) 975 980 -
trunk/Source/WebCore/testing/InternalSettings.cpp
r270627 r270823 59 59 , m_forcedColorsAreInvertedAccessibilityValue(settings.forcedColorsAreInvertedAccessibilityValue()) 60 60 , m_forcedDisplayIsMonochromeAccessibilityValue(settings.forcedDisplayIsMonochromeAccessibilityValue()) 61 , m_forcedPrefersContrastAccessibilityValue(settings.forcedPrefersContrastAccessibilityValue()) 61 62 , m_forcedPrefersReducedMotionAccessibilityValue(settings.forcedPrefersReducedMotionAccessibilityValue()) 62 63 , m_fontLoadTimingOverride(settings.fontLoadTimingOverride()) … … 117 118 settings.setForcedColorsAreInvertedAccessibilityValue(m_forcedColorsAreInvertedAccessibilityValue); 118 119 settings.setForcedDisplayIsMonochromeAccessibilityValue(m_forcedDisplayIsMonochromeAccessibilityValue); 120 settings.setForcedPrefersContrastAccessibilityValue(m_forcedPrefersContrastAccessibilityValue); 119 121 settings.setForcedPrefersReducedMotionAccessibilityValue(m_forcedPrefersReducedMotionAccessibilityValue); 120 122 settings.setFontLoadTimingOverride(m_fontLoadTimingOverride); … … 394 396 { 395 397 settings().setForcedDisplayIsMonochromeAccessibilityValue(value); 398 } 399 400 InternalSettings::ForcedAccessibilityValue InternalSettings::forcedPrefersContrastAccessibilityValue() const 401 { 402 return settings().forcedPrefersContrastAccessibilityValue(); 403 } 404 405 void InternalSettings::setForcedPrefersContrastAccessibilityValue(InternalSettings::ForcedAccessibilityValue value) 406 { 407 settings().setForcedPrefersContrastAccessibilityValue(value); 396 408 } 397 409 -
trunk/Source/WebCore/testing/InternalSettings.h
r270627 r270823 83 83 ForcedAccessibilityValue forcedDisplayIsMonochromeAccessibilityValue() const; 84 84 void setForcedDisplayIsMonochromeAccessibilityValue(ForcedAccessibilityValue); 85 ForcedAccessibilityValue forcedPrefersContrastAccessibilityValue() const; 86 void setForcedPrefersContrastAccessibilityValue(ForcedAccessibilityValue); 85 87 ForcedAccessibilityValue forcedPrefersReducedMotionAccessibilityValue() const; 86 88 void setForcedPrefersReducedMotionAccessibilityValue(ForcedAccessibilityValue); … … 153 155 WebCore::ForcedAccessibilityValue m_forcedColorsAreInvertedAccessibilityValue; 154 156 WebCore::ForcedAccessibilityValue m_forcedDisplayIsMonochromeAccessibilityValue; 157 WebCore::ForcedAccessibilityValue m_forcedPrefersContrastAccessibilityValue; 155 158 WebCore::ForcedAccessibilityValue m_forcedPrefersReducedMotionAccessibilityValue; 156 159 WebCore::FontLoadTimingOverride m_fontLoadTimingOverride; -
trunk/Source/WebCore/testing/InternalSettings.idl
r270627 r270823 61 61 attribute ForcedAccessibilityValue forcedColorsAreInvertedAccessibilityValue; 62 62 attribute ForcedAccessibilityValue forcedDisplayIsMonochromeAccessibilityValue; 63 attribute ForcedAccessibilityValue forcedPrefersContrastAccessibilityValue; 63 64 attribute ForcedAccessibilityValue forcedPrefersReducedMotionAccessibilityValue; 64 65 attribute ForcedAccessibilityValue forcedSupportsHighDynamicRangeValue; -
trunk/Source/WebCore/testing/Internals.cpp
r270532 r270823 4869 4869 } 4870 4870 4871 bool Internals::userPrefersContrast() const 4872 { 4873 return false; 4874 } 4875 4871 4876 #if ENABLE(VIDEO) 4872 4877 double Internals::privatePlayerVolume(const HTMLMediaElement&) -
trunk/Source/WebCore/testing/Internals.h
r270532 r270823 746 746 void setUserInterfaceLayoutDirection(UserInterfaceLayoutDirection); 747 747 748 bool userPrefersContrast() const; 748 749 bool userPrefersReducedMotion() const; 749 750 -
trunk/Source/WebCore/testing/Internals.idl
r270532 r270823 772 772 undefined setBaseWritingDirection(BaseWritingDirection direction); 773 773 774 boolean userPrefersContrast(); 774 775 boolean userPrefersReducedMotion(); 775 776 776 777 undefined reportBacktrace(); 777 778 -
trunk/Source/WebCore/testing/Internals.mm
r264247 r270823 52 52 { 53 53 return WTF::userVisibleString(url.href()); 54 } 55 56 bool Internals::userPrefersContrast() const 57 { 58 #if PLATFORM(IOS_FAMILY) 59 return PAL::softLink_UIKit_UIAccessibilityDarkerSystemColorsEnabled(); 60 #else 61 return [[NSWorkspace sharedWorkspace] accessibilityDisplayShouldIncreaseContrast]; 62 #endif 54 63 } 55 64
Note: See TracChangeset
for help on using the changeset viewer.