8000 [MQ4] Allow negative values in media queries · WebKit/WebKit@19ed940 · GitHub
[go: up one dir, main page]

Skip to content

Commit 19ed940

Browse files
committed
[MQ4] Allow negative values in media queries
https://bugs.webkit.org/show_bug.cgi?id=250647 rdar://104278059 Reviewed by Antoine Quint. "Some media features with a 'range' type are said to be false in the negative range. This means that negative values are valid and must be parsed, and that querying whether the media feature is equal to, less than, or less or equal than any such negative value must evaluate to false. Querying whether the media feature is greater, or greater or equal, than a negative value evaluates to true if the relationship is true." - https://www.w3.org/TR/mediaqueries-4/#false-in-the-negative-range In practice this applies to all range features for types other than 'ratio'. * LayoutTests/TestExpectations: * LayoutTests/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1.html: * LayoutTests/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2.html: * LayoutTests/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3.html: * LayoutTests/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4.html: * LayoutTests/fast/media/mq-resolution-expected.txt: * LayoutTests/fast/media/mq-resolution.html: * LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt: * Source/WebCore/css/query/GenericMediaQueryParser.cpp: (WebCore::MQ::GenericMediaQueryParserBase::validateFeatureAgainstSchema): Allow negative values during parsing. They already evaluate correctly. Canonical link: https://commits.webkit.org/258938@main
1 parent 23ed9c1 commit 19ed940

File tree

9 files changed

+105
-123
lines changed

9 files changed

+105
-123
lines changed

LayoutTests/TestExpectations

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4708,8 +4708,6 @@ webkit.org/b/214463 imported/w3c/web-platform-tests/css/css-sizing/intrinsic-per
47084708
webkit.org/b/214464 imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-fixed.html [ ImageOnlyFailure ]
47094709
webkit.org/b/214464 imported/w3c/web-platform-tests/css/css-text-decor/text-decoration-thickness-ink-skip-dilation.html [ ImageOnlyFailure ]
47104710

4711-
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/mq-negative-range-001.html [ ImageOnlyFailure ]
4712-
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/mq-negative-range-002.html [ ImageOnlyFailure ]
47134711
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/negation-001.html [ ImageOnlyFailure ]
47144712
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/negation-002.html [ ImageOnlyFailure ]
47154713
webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/mq-invalid-media-type-layer-001.html [ ImageOnlyFailure ]

LayoutTests/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
<img srcset='../resources/green-1x1.png?e42 50w, ../resources/green-16x16.png?e42 51w' sizes='not (min-width:0) 100vw, 1px'>
8888
<img srcset='../resources/green-1x1.png?e43 50w, ../resources/green-16x16.png?e43 51w' sizes='(min-width:unknown-mf-value) 100vw, 1px'>
8989
<img srcset='../resources/green-1x1.png?e44 50w, ../resources/green-16x16.png?e44 51w' sizes='not (min-width:unknown-mf-value) 100vw, 1px'>
90-
<img srcset='../resources/green-1x1.png?e45 50w, ../resources/green-16x16.png?e45 51w' sizes='(min-width:-1px) 100vw, 1px'>
90+
<img srcset='../resources/green-1x1.png?e45 50w, ../resources/green-16x16.png?e45 51w' sizes='(min-width:-1px) 1px, 100vw'>
9191
<img srcset='../resources/green-1x1.png?e46 50w, ../resources/green-16x16.png?e46 51w' sizes='not (min-width:-1px) 100vw, 1px'>
9292
<img srcset='../resources/green-1x1.png?e47 50w, ../resources/green-16x16.png?e47 51w' sizes='(unknown-mf-name) 100vw, 1px'>
9393
<img srcset='../resources/green-1x1.png?e48 50w, ../resources/green-16x16.png?e48 51w' sizes='not (unknown-mf-name) 100vw, 1px'>

LayoutTests/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
<img srcset='../resources/green-1x1.png?e42 50w, ../resources/green-16x16.png?e42 51w' sizes='not (min-width:0) 100vw, 1px'>
8989
<img srcset='../resources/green-1x1.png?e43 50w, ../resources/green-16x16.png?e43 51w' sizes='(min-width:unknown-mf-value) 100vw, 1px'>
9090
<img srcset='../resources/green-1x1.png?e44 50w, ../resources/green-16x16.png?e44 51w' sizes='not (min-width:unknown-mf-value) 100vw, 1px'>
91-
<img srcset='../resources/green-1x1.png?e45 50w, ../resources/green-16x16.png?e45 51w' sizes='(min-width:-1px) 100vw, 1px'>
91+
<img srcset='../resources/green-1x1.png?e45 50w, ../resources/green-16x16.png?e45 51w' sizes='(min-width:-1px) 1px, 100vw'>
9292
<img srcset='../resources/green-1x1.png?e46 50w, ../resources/green-16x16.png?e46 51w' sizes='not (min-width:-1px) 100vw, 1px'>
9393
<img srcset='../resources/green-1x1.png?e47 50w, ../resources/green-16x16.png?e47 51w' sizes='(unknown-mf-name) 100vw, 1px'>
9494
<img srcset='../resources/green-1x1.png?e48 50w, ../resources/green-16x16.png?e48 51w' sizes='not (unknown-mf-name) 100vw, 1px'>

LayoutTests/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
<img srcset='../resources/green-1x1.png?e42 50w, ../resources/green-16x16.png?e42 51w' sizes='not (min-width:0) 100vw, 1px'>
8989
<img srcset='../resources/green-1x1.png?e43 50w, ../resources/green-16x16.png?e43 51w' sizes='(min-width:unknown-mf-value) 100vw, 1px'>
9090
<img srcset='../resources/green-1x1.png?e44 50w, ../resources/green-16x16.png?e44 51w' sizes='not (min-width:unknown-mf-value) 100vw, 1px'>
91-
<img srcset='../resources/green-1x1.png?e45 50w, ../resources/green-16x16.png?e45 51w' sizes='(min-width:-1px) 100vw, 1px'>
91+
<img srcset='../resources/green-1x1.png?e45 50w, ../resources/green-16x16.png?e45 51w' sizes='(min-width:-1px) 1px, 100vw'>
9292
<img srcset='../resources/green-1x1.png?e46 50w, ../resources/green-16x16.png?e46 51w' sizes='not (min-width:-1px) 100vw, 1px'>
9393
<img srcset='../resources/green-1x1.png?e47 50w, ../resources/green-16x16.png?e47 51w' sizes='(unknown-mf-name) 100vw, 1px'>
9494
<img srcset='../resources/green-1x1.png?e48 50w, ../resources/green-16x16.png?e48 51w' sizes='not (unknown-mf-name) 100vw, 1px'>

LayoutTests/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
<img srcset='../resources/green-1x1.png?e42 50w, ../resources/green-16x16.png?e42 51w' sizes='not (min-width:0) 100vw, 1px'>
8989
<img srcset='../resources/green-1x1.png?e43 50w, ../resources/green-16x16.png?e43 51w' sizes='(min-width:unknown-mf-value) 100vw, 1px'>
9090
<img srcset='../resources/green-1x1.png?e44 50w, ../resources/green-16x16.png?e44 51w' sizes='not (min-width:unknown-mf-value) 100vw, 1px'>
91-
<img srcset='../resources/green-1x1.png?e45 50w, ../resources/green-16x16.png?e45 51w' sizes='(min-width:-1px) 100vw, 1px'>
91+
<img srcset='../resources/green-1x1.png?e45 50w, ../resources/green-16x16.png?e45 51w' sizes='(min-width:-1px) 1px, 100vw'>
9292
<img srcset='../resources/green-1x1.png?e46 50w, ../resources/green-16x16 8000 .png?e46 51w' sizes='not (min-width:-1px) 100vw, 1px'>
9393
<img srcset='../resources/green-1x1.png?e47 50w, ../resources/green-16x16.png?e47 51w' sizes='(unknown-mf-name) 100vw, 1px'>
9494
<img srcset='../resources/green-1x1.png?e48 50w, ../resources/green-16x16.png?e48 51w' sizes='not (unknown-mf-name) 100vw, 1px'>

LayoutTests/fast/media/mq-resolution-expected.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
44

55

66
PASS matchMedia('(resolution: 0dpi)').matches is false
7-
PASS matchMedia('(min-resolution: 0dpi)').matches is false
7+
PASS matchMedia('(min-resolution: 0dpi)').matches is true
88
PASS matchMedia('(max-resolution: 0dpi)').matches is false
99
PASS matchMedia('(resolution: 1.5dppx)').matches is true
1010
PASS resolutionFromStyle() is 1.5

LayoutTests/fast/media/mq-resolution.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959

6060
(async function() {
6161
shouldBe("matchMedia('(resolution: 0dpi)').matches", "false");
62-
shouldBe("matchMedia('(min-resolution: 0dpi)').matches", "false");
62+
shouldBe("matchMedia('(min-resolution: 0dpi)').matches", "true");
6363
shouldBe("matchMedia('(max-resolution: 0dpi)').matches", "false");
6464

6565
await setBackingScaleFactorPromise(1.5);

0 commit comments

Comments
 (0)
0