[webkit-changes] [WebKit/WebKit] bbc81c: [CSS Container Queries][Style queries] Initial par...
Antti Koivisto
noreply at github.com
Thu Feb 8 14:41:13 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bbc81c098ea4d0410dc5c3ee59aeb254324b00a6
https://github.com/WebKit/WebKit/commit/bbc81c098ea4d0410dc5c3ee59aeb254324b00a6
Author: Antti Koivisto <antti at apple.com>
Date: 2024-02-08 (Thu, 08 Feb 2024)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-style-serialization-expected.txt
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/css/MediaQueryParserContext.cpp
M Source/WebCore/css/MediaQueryParserContext.h
M Source/WebCore/css/parser/CSSParserContext.cpp
M Source/WebCore/css/parser/CSSParserContext.h
M Source/WebCore/css/query/ContainerQueryFeatures.cpp
M Source/WebCore/css/query/ContainerQueryFeatures.h
M Source/WebCore/css/query/ContainerQueryParser.cpp
M Source/WebCore/css/query/ContainerQueryParser.h
M Source/WebCore/css/query/GenericMediaQueryParser.cpp
M Source/WebCore/css/query/GenericMediaQueryParser.h
M Source/WebCore/css/query/GenericMediaQuerySerialization.cpp
M Source/WebCore/css/query/GenericMediaQueryTypes.h
M Source/WebCore/css/query/MediaQueryParser.cpp
M Source/WebCore/css/query/MediaQueryParser.h
M Source/WebCore/style/ContainerQueryEvaluator.cpp
Log Message:
-----------
[CSS Container Queries][Style queries] Initial parsing support
https://bugs.webkit.org/show_bug.cgi?id=268992
rdar://122550262
Reviewed by Alan Baradlay.
Parse @container style(--custom-property:foo)
https://drafts.csswg.org/css-contain-3/#container-style-query
* LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-style-serialization-expected.txt:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
Feature flag, off by default.
* Source/WebCore/css/MediaQueryParserContext.cpp:
(WebCore::MediaQueryParserContext::MediaQueryParserContext):
* Source/WebCore/css/MediaQueryParserContext.h:
* Source/WebCore/css/parser/CSSParserContext.cpp:
* Source/WebCore/css/parser/CSSParserContext.h:
* Source/WebCore/css/query/ContainerQueryFeatures.cpp:
(WebCore::CQ::Features::StyleFeatureSchema::StyleFeatureSchema):
Add a feature schema for custom property style queries. Evaluation is not yet implemented.
(WebCore::CQ::Features::style):
* Source/WebCore/css/query/ContainerQueryFeatures.h:
* Source/WebCore/css/query/ContainerQueryParser.cpp:
(WebCore::CQ::ContainerQueryParser::isValidFunctionId):
Allow style() functions in container queries.
(WebCore::CQ::ContainerQueryParser::schemaForFeatureName):
* Source/WebCore/css/query/ContainerQueryParser.h:
* Source/WebCore/css/query/GenericMediaQueryParser.cpp:
(WebCore::MQ::consumeFeatureName):
(WebCore::MQ::FeatureParser::consumeBooleanOrPlainFeature):
Consume custom properties as feature names and values.
(WebCore::MQ::FeatureParser::validateFeatureAgainstSchema):
Validate custom property value type.
* Source/WebCore/css/query/GenericMediaQueryParser.h:
(WebCore::MQ::GenericMediaQueryParser::consumeCondition):
(WebCore::MQ::GenericMediaQueryParser::isValidFunctionId):
(WebCore::MQ::GenericMediaQueryParser<ConcreteParser>::consumeCondition):
(WebCore::MQ::GenericMediaQueryParser<ConcreteParser>::consumeQueryInParens):
Add support for function-like productions (`style()`) in the generic query grammar.
(WebCore::MQ::GenericMediaQueryParser<ConcreteParser>::consumeAndValidateFeature):
(WebCore::MQ::GenericMediaQueryParser<ConcreteParser>::validateFeature):
(WebCore::MQ::GenericMediaQueryParser<ConcreteParser>::schemaForFeatureName):
* Source/WebCore/css/query/GenericMediaQuerySerialization.cpp:
(WebCore::MQ::serialize):
* Source/WebCore/css/query/GenericMediaQueryTypes.h:
* Source/WebCore/css/query/MediaQueryParser.cpp:
(WebCore::MQ::MediaQueryParser::schemaForFeatureName):
* Source/WebCore/css/query/MediaQueryParser.h:
* Source/WebCore/style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::selectContainer):
Canonical link: https://commits.webkit.org/274315@main
More information about the webkit-changes
mailing list