Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 380547d564f8efbc44e1fd94a699c5b5d79e5161
https://github.com/WebKit/WebKit/commit/380547d564f8efbc44e1fd94a699c5b5d79e5161
Author: Antti Koivisto <[email protected]>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/dashed-function-cycles-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/dashed-function-eval-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/dashed-function-standard-property-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-attr-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-conditionals-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-container-dynamic-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-container-self-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-container-style-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-in-media-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-invalidation-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-layer-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-media-dynamic-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-shadow-animations-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-shadow-cache-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-shadow-container-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-shadow-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/local-attr-substitution-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/local-if-substitution-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/local-var-substitution-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/parameter-types.tentative-expected.txt
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/css/CSSVariableReferenceValue.cpp
M Source/WebCore/css/CSSVariableReferenceValue.h
A Source/WebCore/style/CustomFunctionRegistry.cpp
A Source/WebCore/style/CustomFunctionRegistry.h
M Source/WebCore/style/RuleSet.h
M Source/WebCore/style/RuleSetBuilder.cpp
M Source/WebCore/style/RuleSetBuilder.h
M Source/WebCore/style/StyleBuilder.cpp
M Source/WebCore/style/StyleBuilderState.cpp
M Source/WebCore/style/StyleResolver.cpp
M Source/WebCore/style/StyleResolver.h
M Source/WebCore/style/computed/data/StyleInheritedData.h
M Source/WebCore/style/values/css2/StyleZIndex.h
Log Message:
-----------
[css-mixins-1] Register and evaluate simple functions
https://bugs.webkit.org/show_bug.cgi?id=304933
rdar://167543661
Reviewed by Sam Weinig.
Register the functions and evaluate the case with constant result descriptor.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/dashed-function-cycles-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/dashed-function-eval-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/dashed-function-standard-property-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-attr-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-conditionals-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-container-dynamic-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-container-self-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-container-style-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-in-media-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-invalidation-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-layer-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-media-dynamic-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-shadow-animations-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-shadow-cache-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-shadow-container-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/function-shadow-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/local-attr-substitution-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/local-if-substitution-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/local-var-substitution-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-mixins/parameter-types.tentative-expected.txt:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSVariableReferenceValue.cpp:
(WebCore::CSSVariableReferenceValue::evaluateDashedFunction const):
Resolve scoped name and find the correct function definition.
Just return the result descriptor as-is for now.
(WebCore::CSSVariableReferenceValue::resolveTokenRange const):
* Source/WebCore/css/CSSVariableReferenceValue.h:
* Source/WebCore/style/CustomFunctionRegistry.cpp: Added.
Add a registry.
(WebCore::Style::CustomFunction::CustomFunction):
(WebCore::Style::CustomFunctionRegistry::registerFunction):
Merge the declarations if needed.
(WebCore::Style::CustomFunctionRegistry::functionForName const):
* Source/WebCore/style/CustomFunctionRegistry.h: Added.
* Source/WebCore/style/RuleSet.h:
* Source/WebCore/style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::addChildRule):
(WebCore::Style::RuleSetBuilder::addMutatingRulesToResolver):
Register the functions.
* Source/WebCore/style/RuleSetBuilder.h:
* Source/WebCore/style/StyleBuilder.cpp:
(WebCore::Style::Builder::applyCustomPropertyImpl):
Take care to set the current property before resolving the custom property
value.
* Source/WebCore/style/StyleResolver.cpp:
(WebCore::Style::Resolver::Resolver):
* Source/WebCore/style/StyleResolver.h:
(WebCore::Style::Resolver::customFunctionRegistry const):
(WebCore::Style::Resolver::ensureCustomFunctionRegistry):
Registry lives in style resolver as it is per-scope and shareable.
Canonical link: https://commits.webkit.org/305159@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications