[webkit-changes] [WebKit/WebKit] 1a1319: [motion-path] Make <ray-size> optional in ray()

Tim Nguyen noreply at github.com
Thu Jun 15 10:13:54 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1a13191fa42070e3a194e34eccb71d2be2a3d2c2
      https://github.com/WebKit/WebKit/commit/1a13191fa42070e3a194e34eccb71d2be2a3d2c2
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2023-06-15 (Thu, 15 Jun 2023)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-supports-calc-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt
    M Source/WebCore/css/CSSRayValue.cpp
    M Source/WebCore/css/CSSRayValue.h
    M Source/WebCore/css/ComputedStyleExtractor.cpp
    M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
    M Source/WebCore/style/StyleBuilderConverter.h

  Log Message:
  -----------
  [motion-path] Make <ray-size> optional in ray()
https://bugs.webkit.org/show_bug.cgi?id=258110
rdar://110818689

Reviewed by Antti Koivisto and Darin Adler.

In the updated motion path spec, the size in the offset path ray() function is now optional. If not specified, the size
parameter defaults to `closest-side`.

Also implement logic to omit `closest-side` when serializing, since we should always serialize to the shortest form.

Spec: https://drafts.fxtf.org/motion-1/#ray-function

Fix pre-existing some unefficient idioms as well:
- Switch to consumeIdentRaw for parsing isContaining flag to avoid creating a CSSValue
- Make CSSRayValue store a CSSValueID for size instead of a CSSValue
- Make CSSRayValue use makeString for serialization

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-supports-calc-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt:
* Source/WebCore/css/CSSRayValue.cpp:
(WebCore::CSSRayValue::customCSSText const):
(WebCore::CSSRayValue::equals const):
* Source/WebCore/css/CSSRayValue.h:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::valueForPathOperation):
* Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeRayShape):
* Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertPathOperation):

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




More information about the webkit-changes mailing list