Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ccb3efd6af0b7e72d7d978ca749adf212e9dc1c6
https://github.com/WebKit/WebKit/commit/ccb3efd6af0b7e72d7d978ca749adf212e9dc1c6
Author: Kate Lee <[email protected]>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M LayoutTests/TestExpectations
M
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing-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-parsing-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-parsing-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-parsing-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/ContainerQueryFeatures.cpp
M Source/WebCore/css/query/ContainerQueryFeatures.h
M Source/WebCore/css/query/ContainerQueryParser.cpp
Log Message:
-----------
Parse and serialize scroll-state container queries
https://bugs.webkit.org/show_bug.cgi?id=316536
Reviewed by Tim Nguyen.
Add parsing and serialization for the `@container scroll-state(...)` query
syntax. Four features are recognized inside scroll-state(): scrollable,
scrolled, stuck and snapped, in both the boolean (`scroll-state(stuck)`) and
keyword (`scroll-state(stuck: top)`) forms, gated by the existing
cssScrollStateContainerQueriesEnabled flag.
The features are resolved only inside scroll-state(), mirroring style(), so
they are not matched as bare features. Serialization is handled by the generic
machinery via the stored functionId. Evaluation is a placeholder returning
false; real evaluation against the container's scroll state is a follow-up.
The "<general-enclosed> verbatim" serialization subcase is left as a baked
failure, matching the pre-existing at-container-style-serialization baseline
(a generic media-query parser limitation, not specific to scroll-state).
* LayoutTests/TestExpectations:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-scrollable-parsing-expected.txt:
*
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-parsing-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-parsing-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-parsing-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/container-queries/scroll-state/at-container-stuck-serialization-expected.txt:
* Source/WebCore/css/query/ContainerQueryFeatures.cpp:
(WebCore::CQ::Features::ScrollStateFeatureSchema::ScrollStateFeatureSchema):
(WebCore::CQ::Features::scrollableFeatureSchema):
(WebCore::CQ::Features::scrolledFeatureSchema):
(WebCore::CQ::Features::stuckFeatureSchema):
(WebCore::CQ::Features::snappedFeatureSchema):
(WebCore::CQ::Features::scrollable):
(WebCore::CQ::Features::scrolled):
(WebCore::CQ::Features::stuck):
(WebCore::CQ::Features::snapped):
(WebCore::CQ::Features::scrollStateFeatureSchema):
* Source/WebCore/css/query/ContainerQueryFeatures.h:
* Source/WebCore/css/query/ContainerQueryParser.cpp:
(WebCore::CQ::ContainerQueryParser::isValidFunctionId):
(WebCore::CQ::ContainerQueryParser::schemaForFeatureName):
Canonical link: https://commits.webkit.org/314890@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications