Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d5bf8c0fa5494958062e3049de89f96568311e41
      
https://github.com/WebKit/WebKit/commit/d5bf8c0fa5494958062e3049de89f96568311e41
  Author: Sam Weinig <[email protected]>
  Date:   2025-11-28 (Fri, 28 Nov 2025)

  Changed paths:
    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
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleInlinesGenerated.h
    M 
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/RenderStyle.cpp
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/rendering/style/RenderStyleInlines.h
    M Source/WebCore/rendering/style/RenderStyleSetters.h
    M Source/WebCore/style/values/backgrounds/StyleBorderImage.h
    M Source/WebCore/style/values/masking/StyleMaskBorder.h
    M Tools/Scripts/webkitpy/style/checkers/jsonchecker.py

  Log Message:
  -----------
  [RenderStyleGen] Extend getter/setter generation to more cases
https://bugs.webkit.org/show_bug.cgi?id=303215

Reviewed by Darin Adler.

Extends initial generation of RenderStyle property getters and setters
by introducing a few new codegen options.

  - Updated existing option, 'render-style-storage-kind', now supports a
     new type 'raw', for types that have fromRaw/toRaw conversions.
  - Added new options, 'render-style-getter-custom'/'render-style-setter-custom'
    (and 'render-style-initial-custom' for the future) to allow opting out
    of generation for just part of the property. This is currently needed
    for 'outline-offset', 'outline-width', and 'border-*-width' and
    'column-rule-width', which have all additional logic.
  - Added new option, 'render-style-storage-name', to allow specifying a string
    for the name of the storage member variable. By default, this is equal to
    the name of the getter.
  - Added new option, 'render-style-storage-container', to specify one of
    a few kinds of behaviors for leaf container of the property. The supported
    values are:
      - 'data': the default, and what you get if nothing is specified. Will
        access the leaf container assuming it is within a DataRef.
      - 'struct': Will access the leaf container assuming it is a struct.
        Basic examples include all the values stored on the NonInheritedFlags
        and InheritedFlags structs, but more complex nested cases work as well.
      - 'rect-edges': Assume the leaf container is RectEdges-like, using the
        logical-property-group resolver associated with the property as the
        accessor name.
      - 'rect-corners': Assume the leaf container is RectCorners-like, using the
        logical-property-group resolver associated with the property as the
        accessor name.

* 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:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleSettersGenerated.h:
* 
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/RenderStyle.cpp:
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
* Source/WebCore/rendering/style/RenderStyleSetters.h:
* Source/WebCore/style/values/backgrounds/StyleBorderImage.h:
* Source/WebCore/style/values/masking/StyleMaskBorder.h:
* Tools/Scripts/webkitpy/style/checkers/jsonchecker.py:

Canonical link: https://commits.webkit.org/303632@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to