Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2a76b5d5da5c7bdd0458253953c8e88e7f4a42f5 https://github.com/WebKit/WebKit/commit/2a76b5d5da5c7bdd0458253953c8e88e7f4a42f5 Author: Antti Koivisto <an...@apple.com> Date: 2024-02-09 (Fri, 09 Feb 2024)
Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-style-parsing-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-style-serialization-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/custom-property-style-queries-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/custom-property-style-query-change-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/display-contents-dynamic-style-queries-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/nested-size-style-container-invalidation-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-005-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/query-evaluation-style-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/style-container-for-shadow-dom-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/style-container-invalidation-inheritance-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/style-query-with-unknown-width-expected.txt M Source/WebCore/css/parser/CSSParserTokenRange.cpp M Source/WebCore/css/parser/CSSParserTokenRange.h M Source/WebCore/css/query/ContainerQuery.h M Source/WebCore/css/query/ContainerQueryFeatures.cpp M Source/WebCore/css/query/GenericMediaQueryParser.cpp M Source/WebCore/style/ContainerQueryEvaluator.cpp M Source/WebCore/style/ContainerQueryEvaluator.h M Source/WebCore/style/ElementRuleCollector.cpp M Source/WebCore/style/SelectorMatchingState.h M Source/WebCore/style/StyleTreeResolver.cpp M Source/WebCore/style/StyleTreeResolver.h M Source/WebCore/style/StyleUpdate.cpp M Source/WebCore/style/StyleUpdate.h Log Message: ----------- [CSS Container Queries][Style queries] Basic evaluation support https://bugs.webkit.org/show_bug.cgi?id=269061 rdar://122623247 Reviewed by Alan Baradlay. Evaluate @container style(--property:foo) queries. * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-style-parsing-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/at-container-style-serialization-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/custom-property-style-queries-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/custom-property-style-query-change-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/display-contents-dynamic-style-queries-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/nested-size-style-container-invalidation-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/pseudo-elements-005-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/query-evaluation-style-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/style-container-for-shadow-dom-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/style-container-invalidation-inheritance-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/style-query-with-unknown-width-expected.txt: * Source/WebCore/css/parser/CSSParserTokenRange.cpp: (WebCore::CSSParserTokenRange::consumeAllExcludingTrailingWhitespace): Add a helper. * Source/WebCore/css/parser/CSSParserTokenRange.h: * Source/WebCore/css/query/ContainerQuery.h: * Source/WebCore/css/query/ContainerQueryFeatures.cpp: Evaluate the query by looking up and comparing the property value. * Source/WebCore/css/query/GenericMediaQueryParser.cpp: (WebCore::MQ::consumeCustomPropertyValue): Don't include trailing whitespace to custom property value. (WebCore::MQ::FeatureParser::consumeBooleanOrPlainFeature): * Source/WebCore/style/ContainerQueryEvaluator.h: Pass the currently resolved style via ContainerQueryEvaluationState. * Source/WebCore/style/ContainerQueryEvaluator.cpp: (WebCore::Style::ContainerQueryEvaluator::ContainerQueryEvaluator): (WebCore::Style::styleForContainer): (WebCore::Style::ContainerQueryEvaluator::featureEvaluationContextForQuery const): Look up the currently resolved style for the container. It may not have yet been committed to the render tree. Allow containers that don't generate boxes. (WebCore::Style::ContainerQueryEvaluator::selectContainer): Similarly use the current style for container selection. Allow any element to be a container for style queries. * Source/WebCore/style/ContainerQueryEvaluator.h: * Source/WebCore/style/ElementRuleCollector.cpp: (WebCore::Style::ElementRuleCollector::containerQueriesMatch): * Source/WebCore/style/SelectorMatchingState.h: * Source/WebCore/style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::Scope::Scope): Pass a reference to the current style update to container query evaluation. (WebCore::Style::TreeResolver::pushParent): (WebCore::Style::TreeResolver::popParent): (WebCore::Style::TreeResolver::resolve): * Source/WebCore/style/StyleTreeResolver.h: * Source/WebCore/style/StyleUpdate.cpp: (WebCore::Style::Update::addInitialContainingBlockUpdate): * Source/WebCore/style/StyleUpdate.h: (WebCore::Style::Update::addInitialContainingBlockUpdate): Deleted. Canonical link: https://commits.webkit.org/274364@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes