[webkit-changes] [WebKit/WebKit] 2cf89a: [MQ4] MediaQueryList API should use the new parser...

Antti Koivisto noreply at github.com
Thu Dec 1 00:56:40 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2cf89aa97e32bfcb31d92b41d7b17875e9a5dafd
      https://github.com/WebKit/WebKit/commit/2cf89aa97e32bfcb31d92b41d7b17875e9a5dafd
  Author: Antti Koivisto <antti at apple.com>
  Date:   2022-12-01 (Thu, 01 Dec 2022)

  Changed paths:
    M LayoutTests/fast/media/matchmedium-query-api-expected.txt
    M LayoutTests/fast/media/matchmedium-query-api.html
    M LayoutTests/fast/media/media-query-list-01-expected.txt
    M LayoutTests/fast/media/media-query-list-01.html
    M LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/dynamic-range-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/forced-colors-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/navigation-controls.tentative-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-contrast-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-data-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-motion-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt
    M Source/WebCore/css/MediaQueryList.cpp
    M Source/WebCore/css/MediaQueryList.h
    M Source/WebCore/css/MediaQueryMatcher.cpp
    M Source/WebCore/css/MediaQueryMatcher.h
    M Source/WebCore/css/parser/CSSParserImpl.cpp
    M Source/WebCore/css/query/GenericMediaQueryEvaluator.cpp
    M Source/WebCore/css/query/GenericMediaQueryEvaluator.h
    M Source/WebCore/css/query/MediaQueryFeatures.cpp

  Log Message:
  -----------
  [MQ4] MediaQueryList API should use the new parser and evaluator
https://bugs.webkit.org/show_bug.cgi?id=248530
<rdar://problem/102818616>

Reviewed by Alan Baradlay.

Use the new parser and evaluator for this legacy web API.

* LayoutTests/fast/media/matchmedium-query-api-expected.txt:
* LayoutTests/fast/media/matchmedium-query-api.html:
* LayoutTests/fast/media/media-query-list-01-expected.txt:
* LayoutTests/fast/media/media-query-list-01.html:

We now allow unclosed parenthesis here per usual CSS error recovery. This matches other browsers.

* LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/dynamic-range-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/forced-colors-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/navigation-controls.tentative-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-contrast-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-data-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/prefers-reduced-motion-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt:

More PASSes from new supported syntax.

* Source/WebCore/css/MediaQueryList.cpp:
(WebCore::MediaQueryList::MediaQueryList):
(WebCore::MediaQueryList::create):
(WebCore::MediaQueryList::media const):
(WebCore::MediaQueryList::evaluate):
(WebCore::MediaQueryList::matches):
* Source/WebCore/css/MediaQueryList.h:
* Source/WebCore/css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::evaluate):
(WebCore::MediaQueryMatcher::matchMedia):
(WebCore::MediaQueryMatcher::evaluateAll):
* Source/WebCore/css/MediaQueryMatcher.h:
* Source/WebCore/css/parser/CSSParserImpl.cpp:
* Source/WebCore/page/FrameView.cpp:
* Source/WebCore/css/query/GenericMediaQueryEvaluator.cpp:
(WebCore::MQ::evaluateResolutionComparison):

Make resolution comparison use floats rather than doubles. This matches the legacy behavior and gives the same accuracy
for equality comparisons. Tested by fast/media/mq-resolution.html.

(WebCore::MQ::evaluateResolutionFeature):
* Source/WebCore/css/query/GenericMediaQueryEvaluator.h:
* Source/WebCore/css/query/MediaQueryFeatures.cpp:
(WebCore::MQ::Features::deviceScaleFactor):

Canonical link: https://commits.webkit.org/257227@main




More information about the webkit-changes mailing list