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

Reply via email to