Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7240a7b5486e3577f32f8fc0f8e5ce4c0d78248f
      
https://github.com/WebKit/WebKit/commit/7240a7b5486e3577f32f8fc0f8e5ce4c0d78248f
  Author: Sam Weinig <[email protected]>
  Date:   2025-05-24 (Sat, 24 May 2025)

  Changed paths:
    M Source/WebCore/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations
    M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
    M Source/WebCore/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/css/CSSProperties.json
    M Source/WebCore/css/parser/CSSPropertyParserCustom.h
    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/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/css/values/CSSValueTypes.cpp
    M Source/WebCore/style/StyleBuilderConverter.h
    M Source/WebCore/style/StyleExtractor.cpp
    M Source/WebCore/style/StyleExtractorConverter.h
    M Source/WebCore/style/StyleExtractorCustom.h
    M Source/WebCore/style/StyleExtractorGenerated.h
    A Source/WebCore/style/StyleExtractorSerializer.h
    A Source/WebCore/style/StyleOrderedNamedLinesCollector.h

  Log Message:
  -----------
  [Computed Style Gen] Support serializers for computed values that go directly 
from RenderStyle to String
https://bugs.webkit.org/show_bug.cgi?id=293301

Reviewed by Darin Adler.

Adds support for `CSSComputedStyleDeclaration::getPropertyValue` that
implements serialization of properties without a temporary CSSValue.

Instead, we now have parallel code for both conversion from a RenderStyle
value to CSSValue and serialization of a RenderStyle value to string.

The majority of property serializers are generated (the same set of
properties as have CSSValue conversion generated), with the remaining
requiring custom implementations. This introduces a bit of duplicated
logic, but we will be able to collapse it (along with the logic in
ShorthandSerializer which it also mirrors), over time.

A few of the more involved properties have their serializers temporarily
implemented by using the a CSSValue conversion with a FIXME. These will be
updated in a subsequent change.

* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
    - Add new files.

* Source/WebCore/style/StyleOrderedNamedLinesCollector.h: Added.
* Source/WebCore/style/StyleExtractorConverter.h:
    - Moved out of StyleExtractorConverter.h, as it didn't belong there.

* Source/WebCore/style/StyleExtractorSerializer.h: Added.
    - Implements analogues of Style::ExtractorConverter functions but
      for direct serialization.

* Source/WebCore/style/StyleBuilderConverter.h:
    - Remove dead forward declaration.

* Source/WebCore/style/StyleExtractorGenerated.h:
    - Add forward declaration for new generated serializer dispatch function.

* Source/WebCore/style/StyleExtractor.cpp:
    - Update to call new generated serializer dispatch function. As a debugging
      aid, a macro can be enabled that validates the direct serialization 
against
      serialization that goes through CSSValue.

* Source/WebCore/style/StyleExtractorCustom.h:
    - Add support for custom computed style direct serializers, mirroring
      conversion functions.

* Source/WebCore/css/CSSProperties.json:
    - Renamed a few shorthand patterns to better reflect what they were:
        2Value -> CoalescingPair
        4Value -> CoalescingQuad
        Standard -> StandardSpaceSeparated
    - Added new shorthand pattern: StandardSlashSeparated
    - Resolved a few FIXMEs by adopting shorthand patterns

* Source/WebCore/css/scripts/process-css-properties.py:
    - Add support for a new serializers and serializer dispatch function
      in StyleExtractorGenerated.cpp

* 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/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:
    - Update shorthand pattern tests and fix typo. Regenerate results.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to