Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: dcaee9e83acc97e7770e5f82a99c69352192eb09
https://github.com/WebKit/WebKit/commit/dcaee9e83acc97e7770e5f82a99c69352192eb09
Author: Sam Weinig <[email protected]>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-computed-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-computed.html
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-valid-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-valid.html
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-computed-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-computed.html
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-valid-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-valid.html
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-computed-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-computed.html
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-valid-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-valid.html
M Source/WebCore/Headers.cmake
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/css/CSSProperties.json
M Source/WebCore/css/scripts/process-css-properties.py
M
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleComputedStyleProperties+SettersInlines.h
M Source/WebCore/rendering/RenderCounter.cpp
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderListItem.cpp
M Source/WebCore/rendering/RenderListItem.h
M Source/WebCore/rendering/style/CounterDirectives.h
M Source/WebCore/rendering/style/RenderStyleBase+GettersInlines.h
M Source/WebCore/rendering/style/RenderStyleBase.h
M Source/WebCore/style/StyleBuilderCustom.h
M Source/WebCore/style/StyleDifference.cpp
M Source/WebCore/style/StyleExtractorCustom.h
M Source/WebCore/style/StyleInterpolationWrappers.h
M Source/WebCore/style/computed/StyleComputedStyleBase.cpp
M Source/WebCore/style/computed/StyleComputedStyleBase.h
M
Source/WebCore/style/computed/StyleComputedStyleProperties+SettersCustomInlines.h
M Source/WebCore/style/computed/data/StyleNonInheritedRareData.cpp
M Source/WebCore/style/computed/data/StyleNonInheritedRareData.h
A Source/WebCore/style/values/lists/StyleCounterIncrement.cpp
A Source/WebCore/style/values/lists/StyleCounterIncrement.h
A Source/WebCore/style/values/lists/StyleCounterReset.cpp
A Source/WebCore/style/values/lists/StyleCounterReset.h
A Source/WebCore/style/values/lists/StyleCounterSet.cpp
A Source/WebCore/style/values/lists/StyleCounterSet.h
M Tools/Scripts/webkitpy/style/checkers/jsonchecker.py
Log Message:
-----------
`counter-*` properties computed value serialization depends on HashMap
iteration order
https://bugs.webkit.org/show_bug.cgi?id=304808
Reviewed by Darin Adler.
Converts the `counter-*` properties off of their HashMap value representation
via new strong style types that use `FixedVector` to maintain the computed
values. For now, the HashMap is also maintained, but is now named to show that
it is the `used` representation.
To ensure the HashMap and computed value representations stay in sync, a
new CSSProperties.json entry was added, `render-style-setter-requires-did-set`
which causes the code generator to include a call to a `didSet{property name}`
function after setting the value on `Style::ComputedStyle`. For the `counter-*`
properties, these are used and call the new `updateUsedCounter*()` functions.
By converting to strong style types, we are able to remove the custom style
builder, style extractor and style interpolation code.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-computed-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-computed.html:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-valid-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-increment-valid.html:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-computed-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-computed.html:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-valid-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-reset-valid.html:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-computed-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-computed.html:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-valid-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/css/css-lists/parsing/counter-set-valid.html:
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/scripts/process-css-properties.py:
*
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleComputedStyleProperties+SettersInlines.h:
* Source/WebCore/rendering/RenderCounter.cpp:
* Source/WebCore/rendering/RenderElement.cpp:
* Source/WebCore/rendering/RenderListItem.cpp:
* Source/WebCore/rendering/RenderListItem.h:
* Source/WebCore/rendering/style/CounterDirectives.h:
* Source/WebCore/rendering/style/RenderStyleBase+GettersInlines.h:
* Source/WebCore/rendering/style/RenderStyleBase.h:
* Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp:
* Source/WebCore/rendering/style/StyleRareNonInheritedData.h:
* Source/WebCore/style/StyleBuilderCustom.h:
* Source/WebCore/style/StyleDifference.cpp:
* Source/WebCore/style/StyleExtractorCustom.h:
* Source/WebCore/style/StyleInterpolationWrappers.h:
* Source/WebCore/style/computed/StyleComputedStyleBase.cpp:
* Source/WebCore/style/computed/StyleComputedStyleBase.h:
*
Source/WebCore/style/computed/StyleComputedStyleProperties+SettersCustomInlines.h:
* Source/WebCore/style/values/lists/StyleCounterIncrement.cpp: Added.
* Source/WebCore/style/values/lists/StyleCounterIncrement.h: Added.
* Source/WebCore/style/values/lists/StyleCounterReset.cpp: Added.
* Source/WebCore/style/values/lists/StyleCounterReset.h: Added.
* Source/WebCore/style/values/lists/StyleCounterSet.cpp: Added.
* Source/WebCore/style/values/lists/StyleCounterSet.h: Added.
* Tools/Scripts/webkitpy/style/checkers/jsonchecker.py:
Canonical link: https://commits.webkit.org/305086@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications