Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8b355c2de49be48d413b49b067ba29c041288ce0
      
https://github.com/WebKit/WebKit/commit/8b355c2de49be48d413b49b067ba29c041288ce0
  Author: Sam Weinig <s...@webkit.org>
  Date:   2025-03-07 (Fri, 07 Mar 2025)

  Changed paths:
    M Source/WebCore/css/CSSProperties.json
    M Source/WebCore/css/parser/CSSPropertyParserConsumer+Background.cpp
    M Source/WebCore/css/parser/CSSPropertyParserConsumer+Background.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/CSSStyleDeclaration+PropertyNames.idl
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleBuilderGenerated.cpp
    M 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleInterpolationWrapperMap.cpp

  Log Message:
  -----------
  Add support for generating a consumer for CSS property that use bounded 
repetition terms
https://bugs.webkit.org/show_bug.cgi?id=289266

Reviewed by Darin Adler.

Adds support for generation of terms like `<length>{1,2}`.

To match existing consumers, annotations for using a specific `type`
and for `default`ing missing values was needed as well.

Together, these allow generation of:
    border-bottom-left-radius
    border-bottom-right-radius
    border-end-end-radius
    border-end-start-radius
    border-start-end-radius
    border-start-start-radius
    border-top-left-radius
    border-top-right-radius
    border-image-repeat
    mask-border-repeat

* Source/WebCore/css/scripts/process-css-properties.py:
    - Adds term generator for bounded repetition terms.
    - Merges FixedSizeRepetitionTerm into BoundedRepetitionTerm where lower 
bound == upper bound.
    - Make term generators stringifiable, and use them to add comments to 
indicate what terms
      are being consumed.
    - Fix stringifying terms with annotations to correctly print the annotation.
    - Store repetition bounds as ints instead of strings to allow them to be 
properly compared.
    - Update unbounded repetition term generation to match the structure of the 
new bounded
      repetition term generator.

* Source/WebCore/css/CSSProperties.json:
    - Switch more properties over to the code generator.

* Source/WebCore/css/parser/CSSPropertyParserConsumer+Background.cpp:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Background.h:
    - Remove now generated consume functions.

* Source/WebCore/css/scripts/test/TestCSSProperties.json:
    - Add test cases for both bounded and unbounded repetition.

* 
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/CSSStyleDeclaration+PropertyNames.idl:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleBuilderGenerated.cpp:
* 
Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleInterpolationWrapperMap.cpp:
    - Update test results.

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



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

Reply via email to