[webkit-changes] [WebKit/WebKit] 9008eb: Further refinements to CSS/Style gradient code

Sam Weinig noreply at github.com
Sat Oct 12 07:43:12 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9008eb572f870b3b669cd5995310538f88642bc1
      https://github.com/WebKit/WebKit/commit/9008eb572f870b3b669cd5995310538f88642bc1
  Author: Sam Weinig <sam at webkit.org>
  Date:   2024-10-12 (Sat, 12 Oct 2024)

  Changed paths:
    M Source/WTF/wtf/StdLibExtras.h
    M Source/WebCore/css/CSSGradientValue.cpp
    M Source/WebCore/css/CSSGradientValue.h
    M Source/WebCore/css/CSSValue.cpp
    M Source/WebCore/css/CSSValue.h
    M Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp
    M Source/WebCore/css/values/CSSGradient.cpp
    M Source/WebCore/css/values/CSSGradient.h
    M Source/WebCore/css/values/CSSValueTypes.h
    M Source/WebCore/html/HTMLInputElement.cpp
    M Source/WebCore/rendering/style/StyleGradientImage.cpp
    M Source/WebCore/rendering/style/StyleGradientImage.h
    M Source/WebCore/style/StyleBuilderState.cpp
    M Source/WebCore/style/StyleScopeRuleSets.cpp
    M Source/WebCore/style/StyleScopeRuleSets.h
    M Source/WebCore/style/values/StyleGradient.cpp
    M Source/WebCore/style/values/StyleGradient.h
    M Source/WebCore/style/values/StylePosition.h
    M Source/WebCore/style/values/StyleValueTypes.h

  Log Message:
  -----------
  Further refinements to CSS/Style gradient code
https://bugs.webkit.org/show_bug.cgi?id=281351

Reviewed by Darin Adler.

- Adds structural wrapper representing CSS function syntax
  (like `linear-gradient()`) and adopts them in the gradient
  code, allowing automatic serialization of the syntax.

- Adds Space/CommaSeparatedArray type to represent fixed
  size repeated elements of the same type. Adopted where
  appropriate in gradient code.

- Replaced the 7 Gradient CSSValue subclasses with a single
  CSSGradientValue subclass that uses a std::variant to
  dispatch to the appropriate value.

- Moved Style::Gradient -> WebCore::Gradient conversion code
  to StyleGradient.h/cpp (from StyleGradientImage.h/cpp) as
  it is purely a functional transformation and not specific
  to using the gradient as an image.

* Source/WTF/wtf/StdLibExtras.h:
* Source/WebCore/css/CSSGradientValue.cpp:
* Source/WebCore/css/CSSGradientValue.h:
* Source/WebCore/css/CSSValue.cpp:
* Source/WebCore/css/CSSValue.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp:
* Source/WebCore/css/values/CSSGradient.cpp:
* Source/WebCore/css/values/CSSGradient.h:
* Source/WebCore/css/values/CSSValueTypes.h:
* Source/WebCore/html/HTMLInputElement.cpp:
* Source/WebCore/rendering/style/StyleGradientImage.cpp:
* Source/WebCore/rendering/style/StyleGradientImage.h:
* Source/WebCore/style/StyleBuilderState.cpp:
* Source/WebCore/style/StyleScopeRuleSets.cpp:
* Source/WebCore/style/StyleScopeRuleSets.h:
* Source/WebCore/style/values/StyleGradient.cpp:
* Source/WebCore/style/values/StyleGradient.h:
* Source/WebCore/style/values/StylePosition.h:
* Source/WebCore/style/values/StyleValueTypes.h:

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



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


More information about the webkit-changes mailing list