Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7d2766db51cb1386ce0e5fbb3e63c83a8b138094
      
https://github.com/WebKit/WebKit/commit/7d2766db51cb1386ce0e5fbb3e63c83a8b138094
  Author: Kiet Ho <[email protected]>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M LayoutTests/fast/media/mq-color-index-02.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/container-queries/at-container-anchored-serialization-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/at-container-style-serialization-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-scrolled-serialization-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-snapped-serialization-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-stuck-serialization-expected.txt
    M Source/WebCore/css/query/GenericMediaQueryParser.h

  Log Message:
  -----------
  Media query parser: serialize <general-enclosed> as verbatim as possible
rdar://182958311
https://bugs.webkit.org/show_bug.cgi?id=320025

Reviewed by Antti Koivisto.

This test:
imported/w3c/web-platform-tests/css/css-conditional/container-queries/at-container-style-serialization.html
suggests that serializing <general-enclosed> should result in exactly the
same string as the input. For example, "prop:var       " is serialized to
the same string with the trailing whitespaces preserved.

The media query parser (also used for @container query parser) uses
CSSParserTokenRange::serialize to serialize <general-enclosed> back to
string, but it doesn't specify the serialization mode. The default mode
collapses consecutive whitespaces into one, so the example above is
serialized as "prop:var ".

Fix this by using CSSParserToken::SerializationMode::CustomProperty mode,
which preserves consecutive whitespaces, among other things.

Test: 
imported/w3c/web-platform-tests/css/css-conditional/container-queries/at-container-style-serialization.html

* LayoutTests/fast/media/mq-color-index-02.html:
    - Fix the expected serialization. This test now passes in all three browsers
      (Chrome, Firefox, WebKit)

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-anchor-position/container-queries/at-container-anchored-serialization-expected.txt:
    - Test progression.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/at-container-style-serialization-expected.txt:
    - Test progression.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-scrollable-serialization-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-scrolled-serialization-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-snapped-serialization-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-stuck-serialization-expected.txt:
    - Test progression. The subtests still fail, but at least this fixes
      the trailing whitespaces issue.

* Source/WebCore/css/query/GenericMediaQueryParser.h:
(WebCore::MQ::GenericMediaQueryParser<ConcreteParser>::consumeQueryInParens):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to