Changeset 277039 in webkit
- Timestamp:
- May 5, 2021 1:41:43 PM (15 months ago)
- Location:
- trunk
- Files:
-
- 5 edited
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-motion-expected.txt (modified) (2 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/css/MediaQueryExpression.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/imported/w3c/ChangeLog
r277023 r277039 1 2021-05-05 Tim Nguyen <ntim@apple.com> 2 3 Invalid media query keyword values should not be parsable 4 https://bugs.webkit.org/show_bug.cgi?id=225282 5 6 Reviewed by Dean Jackson. 7 8 Updated WPT expectations. 9 10 * web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt: 11 * web-platform-tests/css/mediaqueries/prefers-reduced-motion-expected.txt: 12 1 13 2021-05-05 Chris Lord <clord@igalia.com> 2 14 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt
r267650 r277039 4 4 PASS Should be parseable in a CSS stylesheet: '(prefers-color-scheme: dark)' 5 5 PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: 0)' 6 FAIL Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: none)' assert_false: expected false got true 6 PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: none)' 7 7 PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: 10px)' 8 8 PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: dark 0)' 9 9 PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: dark light)' 10 10 PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: light/dark)' 11 FAIL Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: no-preference)' assert_false: expected false got true 11 PASS Should not be parseable in a CSS stylesheet: '(prefers-color-scheme: no-preference)' 12 12 PASS Should be parseable in JS: '(prefers-color-scheme)' 13 13 PASS Should be parseable in JS: '(prefers-color-scheme: light)' 14 14 PASS Should be parseable in JS: '(prefers-color-scheme: dark)' 15 15 PASS Should not be parseable in JS: '(prefers-color-scheme: 0)' 16 FAIL Should not be parseable in JS: '(prefers-color-scheme: none)' assert_false: expected false got true 16 PASS Should not be parseable in JS: '(prefers-color-scheme: none)' 17 17 PASS Should not be parseable in JS: '(prefers-color-scheme: 10px)' 18 18 PASS Should not be parseable in JS: '(prefers-color-scheme: dark 0)' 19 19 PASS Should not be parseable in JS: '(prefers-color-scheme: dark light)' 20 20 PASS Should not be parseable in JS: '(prefers-color-scheme: light/dark)' 21 FAIL Should not be parseable in JS: '(prefers-color-scheme: no-preference)' assert_false: expected false got true 21 PASS Should not be parseable in JS: '(prefers-color-scheme: no-preference)' 22 22 PASS Check that prefer-color-scheme evaluates to true in the boolean context 23 23 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-motion-expected.txt
r267650 r277039 4 4 PASS Should be parseable in a CSS stylesheet: '(prefers-reduced-motion: reduce)' 5 5 PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: 0)' 6 FAIL Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: none)' assert_false: expected false got true 6 PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: none)' 7 7 PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: 10px)' 8 8 PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: no-preference reduce)' 9 FAIL Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: reduced)' assert_false: expected false got true 9 PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: reduced)' 10 10 PASS Should not be parseable in a CSS stylesheet: '(prefers-reduced-motion: no-preference/reduce)' 11 11 PASS Should be parseable in JS: '(prefers-reduced-motion)' … … 13 13 PASS Should be parseable in JS: '(prefers-reduced-motion: reduce)' 14 14 PASS Should not be parseable in JS: '(prefers-reduced-motion: 0)' 15 FAIL Should not be parseable in JS: '(prefers-reduced-motion: none)' assert_false: expected false got true 15 PASS Should not be parseable in JS: '(prefers-reduced-motion: none)' 16 16 PASS Should not be parseable in JS: '(prefers-reduced-motion: 10px)' 17 17 PASS Should not be parseable in JS: '(prefers-reduced-motion: no-preference reduce)' -
trunk/Source/WebCore/ChangeLog
r277038 r277039 1 2021-05-05 Tim Nguyen <ntim@apple.com> 2 3 Invalid media query keyword values should not be parsable 4 https://bugs.webkit.org/show_bug.cgi?id=225282 5 6 Reviewed by Dean Jackson. 7 8 Updated WPT expectations. 9 10 * css/MediaQueryExpression.cpp: 11 (WebCore::isValidValueForIdentMediaFeature): 12 (WebCore::featureWithValidIdent): 13 1 14 2021-05-05 Alex Christensen <achristensen@webkit.org> 2 15 -
trunk/Source/WebCore/css/MediaQueryExpression.cpp
r276550 r277039 39 39 namespace WebCore { 40 40 41 static inline bool isValidValueForIdentMediaFeature(const AtomString& feature, const CSSPrimitiveValue& value) 42 { 43 auto valueID = value.valueID(); 44 45 if (feature == MediaFeatureNames::orientation) 46 return valueID == CSSValuePortrait || valueID == CSSValueLandscape; 47 if (feature == MediaFeatureNames::colorGamut) 48 return valueID == CSSValueSRGB || valueID == CSSValueP3 || valueID == CSSValueRec2020; 49 if (feature == MediaFeatureNames::anyHover || feature == MediaFeatureNames::hover) // FIXME: remove `on-demand` that's no longer in the spec. 50 return valueID == CSSValueOnDemand || valueID == CSSValueHover || valueID == CSSValueNone; 51 if (feature == MediaFeatureNames::anyPointer || feature == MediaFeatureNames::pointer) 52 return valueID == CSSValueFine || valueID == CSSValueCoarse || valueID == CSSValueNone; 53 if (feature == MediaFeatureNames::invertedColors) 54 return valueID == CSSValueInverted || valueID == CSSValueNone; 55 #if ENABLE(APPLICATION_MANIFEST) 56 if (feature == MediaFeatureNames::displayMode) 57 return valueID == CSSValueFullscreen || valueID == CSSValueStandalone || valueID == CSSValueMinimalUi || valueID == CSSValueBrowser; 58 #endif 59 #if ENABLE(DARK_MODE_CSS) 60 if (feature == MediaFeatureNames::prefersColorScheme) 61 return valueID == CSSValueLight || valueID == CSSValueDark; 62 #endif 63 if (feature == MediaFeatureNames::prefersContrast) // FIXME: remove `forced` that's no longer in the spec. 64 return valueID == CSSValueNoPreference || valueID == CSSValueMore || valueID == CSSValueLess || valueID == CSSValueForced; 65 if (feature == MediaFeatureNames::prefersReducedMotion) 66 return valueID == CSSValueNoPreference || valueID == CSSValueReduce; 67 if (feature == MediaFeatureNames::prefersDarkInterface) 68 return valueID == CSSValuePrefers || valueID == CSSValueNoPreference; 69 if (feature == MediaFeatureNames::dynamicRange) 70 return valueID == CSSValueHigh || valueID == CSSValueStandard; 71 72 return false; 73 } 74 41 75 static inline bool featureWithValidIdent(const AtomString& mediaFeature, const CSSPrimitiveValue& value, const MediaQueryParserContext& context) 42 76 { 43 if (value.primitiveType() != CSSUnitType::CSS_IDENT )77 if (value.primitiveType() != CSSUnitType::CSS_IDENT || !isValidValueForIdentMediaFeature(mediaFeature, value)) 44 78 return false; 45 79 … … 55 89 #endif 56 90 #if ENABLE(DARK_MODE_CSS) 57 || (mediaFeature == MediaFeatureNames::prefersColorScheme)91 || mediaFeature == MediaFeatureNames::prefersColorScheme 58 92 #endif 59 93 || mediaFeature == MediaFeatureNames::prefersContrast
Note: See TracChangeset
for help on using the changeset viewer.