Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 80ecd47209a9238675c1f9f61abf60e51101207a
      
https://github.com/WebKit/WebKit/commit/80ecd47209a9238675c1f9f61abf60e51101207a
  Author: Sam Weinig <[email protected]>
  Date:   2025-12-30 (Tue, 30 Dec 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/CSSPropertyInitialValuesGeneratedInlines.h
    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/RenderStyleProperties+GettersInlines.h
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleProperties+SettersInlines.h
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleProperties.h
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleBuilderGenerated.cpp
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleChangedAnimatablePropertiesGenerated.cpp
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleComputedStyleProperties+GettersInlines.h
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleComputedStyleProperties+InitialInlines.h
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleComputedStyleProperties+SettersInlines.h
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleComputedStyleProperties.h
    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/style/StyleBuilderCustom.h
    M Tools/Scripts/webkitpy/style/checkers/jsonchecker.py

  Log Message:
  -----------
  Teach process-css-properties.py to generate setters for hasExplicitlySet* 
flags
https://bugs.webkit.org/show_bug.cgi?id=212506

Reviewed by Darin Adler.

Adds support to process-css-properties.py to generate code to set the
`hasExplicitlySet*` flags in `Style::BuilderGenerated`.

There are currently three different policies defined for when to set
the `hasExplicitlySet*` flags, configurable per-property via a new
entry "render-style-has-explicitly-set-policy" in CSSProperty.json.

The three policies are:
  - "all-author-origin"
      Invokes 
`builderState.style().setHasExplicitlySet*(builderState.isAuthorOrigin())`
      for `applyValue*`, `applyInitial*` and `applyInherit*`.

      Used by the `color` and `padding-*` properties.

  - "all-border-radius"
      Invokes `builderState.style().setHasExplicitlySet*(true)` for 
`applyValue*`.
      Invokes `builderState.style().setHasExplicitlySet*(false)` for 
`applyInitial*`.
      Invokes 
`builderState.style().setHasExplicitlySet*(builderState.parentStyle().hasExplicitlySet*())`
 for `applyInherit*`.

      Used by the `border-*-radius` properties.

  - "value-only"
      Invokes `builderState.style().setHasExplicitlySet*(true)` for 
`applyValue*`.
      Does not change the flag at all for `applyInitial*` or `applyInherit*`.

      Used by the `direction`, `writing-mode`, `color-scheme`, `stroke-color`
      and `stroke-width` properties.

* 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/CSSPropertyInitialValuesGeneratedInlines.h:
* 
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/RenderStyleProperties+GettersInlines.h:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleProperties+SettersInlines.h:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleProperties.h:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleBuilderGenerated.cpp:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleChangedAnimatablePropertiesGenerated.cpp:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleComputedStyleProperties+GettersInlines.h:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleComputedStyleProperties+InitialInlines.h:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleComputedStyleProperties+SettersInlines.h:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleComputedStyleProperties.h:
* 
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/style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueDirection): Deleted.
(WebCore::Style::BuilderCustom::applyValueWritingMode): Deleted.
(WebCore::Style::BuilderCustom::applyValueColorScheme): Deleted.
(WebCore::Style::BuilderCustom::applyInitialBorderBottomLeftRadius): Deleted.
(WebCore::Style::BuilderCustom::applyInheritBorderBottomLeftRadius): Deleted.
(WebCore::Style::BuilderCustom::applyValueBorderBottomLeftRadius): Deleted.
(WebCore::Style::BuilderCustom::applyInitialBorderBottomRightRadius): Deleted.
(WebCore::Style::BuilderCustom::applyInheritBorderBottomRightRadius): Deleted.
(WebCore::Style::BuilderCustom::applyValueBorderBottomRightRadius): Deleted.
(WebCore::Style::BuilderCustom::applyInitialBorderTopLeftRadius): Deleted.
(WebCore::Style::BuilderCustom::applyInheritBorderTopLeftRadius): Deleted.
(WebCore::Style::BuilderCustom::applyValueBorderTopLeftRadius): Deleted.
(WebCore::Style::BuilderCustom::applyInitialBorderTopRightRadius): Deleted.
(WebCore::Style::BuilderCustom::applyInheritBorderTopRightRadius): Deleted.
(WebCore::Style::BuilderCustom::applyValueBorderTopRightRadius): Deleted.
(WebCore::Style::BuilderCustom::applyValueStrokeWidth): Deleted.
(WebCore::Style::BuilderCustom::applyValueStrokeColor): Deleted.
(WebCore::Style::BuilderCustom::applyInitialColor): Deleted.
(WebCore::Style::BuilderCustom::applyInheritColor): Deleted.
(WebCore::Style::BuilderCustom::applyInitialPaddingBottom): Deleted.
(WebCore::Style::BuilderCustom::applyInheritPaddingBottom): Deleted.
(WebCore::Style::BuilderCustom::applyValuePaddingBottom): Deleted.
(WebCore::Style::BuilderCustom::applyInitialPaddingLeft): Deleted.
(WebCore::Style::BuilderCustom::applyInheritPaddingLeft): Deleted.
(WebCore::Style::BuilderCustom::applyValuePaddingLeft): Deleted.
(WebCore::Style::BuilderCustom::applyInitialPaddingRight): Deleted.
(WebCore::Style::BuilderCustom::applyInheritPaddingRight): Deleted.
(WebCore::Style::BuilderCustom::applyValuePaddingRight): Deleted.
(WebCore::Style::BuilderCustom::applyInitialPaddingTop): Deleted.
(WebCore::Style::BuilderCustom::applyInheritPaddingTop): Deleted.
(WebCore::Style::BuilderCustom::applyValuePaddingTop): Deleted.
* Tools/Scripts/webkitpy/style/checkers/jsonchecker.py:

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



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

Reply via email to