Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c068d5d6bd1cf26b239439550969a4cbe92dbb64
      
https://github.com/WebKit/WebKit/commit/c068d5d6bd1cf26b239439550969a4cbe92dbb64
  Author: Sam Weinig <[email protected]>
  Date:   2025-12-09 (Tue, 09 Dec 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/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/TestCSSProperties.json
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStyleProperties.h
    A 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStylePropertiesInitialInlines.h
    M Source/WebCore/css/values/CSSValueAggregates.h
    M Source/WebCore/layout/integration/LayoutIntegrationBoxTreeUpdater.cpp
    M Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp
    M Source/WebCore/rendering/RenderElement.cpp
    M Source/WebCore/rendering/RenderReplaced.cpp
    M Source/WebCore/rendering/style/BorderData.cpp
    M Source/WebCore/rendering/style/BorderData.h
    M Source/WebCore/rendering/style/RenderStyle.cpp
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/rendering/style/RenderStyleInlines.h
    A Source/WebCore/rendering/style/RenderStylePropertiesInitialCustom.cpp
    A Source/WebCore/rendering/style/RenderStylePropertiesInitialCustom.h
    M Source/WebCore/rendering/style/RenderStyleSetters.h
    M Source/WebCore/rendering/style/StyleBoxData.cpp
    M Source/WebCore/rendering/style/StyleBoxData.h
    M Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
    M Source/WebCore/rendering/style/StyleRareNonInheritedData.h
    M Source/WebCore/style/StyleBuilderCustom.h
    M Source/WebCore/style/values/borders/StyleCornerShapeValue.cpp
    M Source/WebCore/style/values/borders/StyleCornerShapeValue.h
    M Source/WebCore/style/values/color-adjust/StyleColorScheme.cpp
    M Source/WebCore/style/values/color-adjust/StyleColorScheme.h
    M Source/WebCore/style/values/color/StyleColor.cpp
    M Source/WebCore/style/values/color/StyleColor.h
    M Source/WebCore/style/values/svg/StyleSVGStrokeDashoffset.h

  Log Message:
  -----------
  [RenderStyleGen] Generate initial value functions
https://bugs.webkit.org/show_bug.cgi?id=303785

Reviewed by Darin Adler.

Adds support for generating initial value functions for RenderStyle
based on the 'initial' entries in CSSProperties.json.

This works via a very crude "parser" in process-css-properties.py
for the 'initial' string, which handles just keywords and numeric
values. Most of the properties are now generated, but a few problems
remain that require custom definitions, including:
  - <integer> productions are a problem, as we don't know ahead of time if
    a raw number should be foo_css_number or foo_css_integer. Supporting
    foo_css_number for Style::Integer<> is one potential solution.
  - A few enum properties have enum values that don't exactly match the
    associated keyword.
  - The BorderImage and MaskImage sub-properties are not setup for literals
    at all.
  - There is not yet enough information to initialize EnumSet properties.
    Teaching EnumSet properties to handle CSS::Keyword::* types would
    solve this.

* 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/RenderStyleProperties.h:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/RenderStylePropertiesInitialInlines.h:
 Added.
* Source/WebCore/css/values/CSSValueAggregates.h:
* Source/WebCore/layout/integration/LayoutIntegrationBoxTreeUpdater.cpp:
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
* Source/WebCore/rendering/RenderReplaced.cpp:
* Source/WebCore/rendering/style/BorderData.cpp:
* Source/WebCore/rendering/style/BorderData.h:
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
* Source/WebCore/rendering/style/RenderStylePropertiesInitialCustom.cpp: Added.
* Source/WebCore/rendering/style/RenderStylePropertiesInitialCustom.h: Added.
* Source/WebCore/rendering/style/RenderStyleSetters.h:
* Source/WebCore/rendering/style/StyleBoxData.cpp:
* Source/WebCore/rendering/style/StyleBoxData.h:
* Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp:
* Source/WebCore/rendering/style/StyleRareNonInheritedData.h:
* Source/WebCore/style/StyleBuilderCustom.h:
* Source/WebCore/style/values/borders/StyleCornerShapeValue.cpp:
* Source/WebCore/style/values/borders/StyleCornerShapeValue.h:
* Source/WebCore/style/values/color-adjust/StyleColorScheme.cpp:
* Source/WebCore/style/values/color-adjust/StyleColorScheme.h:
* Source/WebCore/style/values/color/StyleColor.cpp:
* Source/WebCore/style/values/color/StyleColor.h:
* Source/WebCore/style/values/svg/StyleSVGStrokeDashoffset.h:

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



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

Reply via email to