Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 122ea46408f0afa29a4cd35c1564f2f992bb284b
https://github.com/WebKit/WebKit/commit/122ea46408f0afa29a4cd35c1564f2f992bb284b
Author: Sam Weinig <[email protected]>
Date: 2025-11-25 (Tue, 25 Nov 2025)
Changed paths:
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/Headers.cmake
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/TestCSSProperties.json
M
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyNames.gperf
M
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyNames.h
M
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyParsing.cpp
M
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSStyleProperties+PropertyNames.idl
A
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleInlinesGenerated.h
A
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleSettersGenerated.h
M
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleBuilderGenerated.cpp
M
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleExtractorGenerated.cpp
M
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleInterpolationWrapperMap.cpp
M
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StylePropertyShorthandFunctions.cpp
M Source/WebCore/rendering/style/RenderStyleInlines.h
M Source/WebCore/rendering/style/RenderStyleSetters.h
M Tools/Scripts/webkitpy/style/checkers/cpp.py
M Tools/Scripts/webkitpy/style/checkers/jsonchecker.py
Log Message:
-----------
[RenderStyleGen] Add initial support generating parts of RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=303065
Reviewed by Darin Adler.
Adds initial support generating property getter and setter functions in
RenderStyle.
To enable this generation, a few new entries are now supported by the
codegen dictionaries in CSSProperties.json
- render-style-storage-kind: whether the property is a "reference", "value"
or "enum"
- render-style-storage-path: the path of member variables to get from
RenderStyle to the stored value
- render-style-type: the type used to represent the property (this will
ultimately supersede the type in style-converter)
If a property declares these, we will now generate the getter and setter
function
function implementations that previously were hand written in
RenderStyleInlines.h
and RenderStyleSetters.h. The generation will be output into new
RenderStyleInlinesGenerated.h
and RenderStyleSettersGenerated.h, which are included by their respective
non-generated
counterparts.
This initial change only adds the new entries for three properties,
`accent-color`, `align-content`
and `backface-visibility` (one of each storage kind), to make it clear how this
will work.
Additionally, only the function implementations are being generated, leaving
the function
declarations hand written. This allows us to validate via a successful compile
that the
signatures of the generated functions are correct.
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/scripts/process-css-properties.py:
* Source/WebCore/css/scripts/test/TestCSSProperties.json:
*
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyNames.gperf:
* Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyNames.h:
*
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyParsing.cpp:
*
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSStyleProperties+PropertyNames.idl:
*
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleInlinesGenerated.h:
Added.
*
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleSettersGenerated.h:
Added.
*
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleBuilderGenerated.cpp:
*
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleExtractorGenerated.cpp:
*
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleInterpolationWrapperMap.cpp:
*
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StylePropertyShorthandFunctions.cpp:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
* Source/WebCore/rendering/style/RenderStyleSetters.h:
* Tools/Scripts/webkitpy/style/checkers/cpp.py:
* Tools/Scripts/webkitpy/style/checkers/jsonchecker.py:
Canonical link: https://commits.webkit.org/303544@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications