[webkit-changes] [WebKit/WebKit] 6ce173: shape(): support the edge keywords for hline and v...

Simon Fraser noreply at github.com
Thu Oct 24 19:17:48 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6ce173821d6f536173bfe2cfff683996a0634395
      https://github.com/WebKit/WebKit/commit/6ce173821d6f536173bfe2cfff683996a0634395
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2024-10-24 (Thu, 24 Oct 2024)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-shape-hline-vline-keywords.tentative-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-shape-hline-vline-keywords.tentative.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/shape-function-invalid.tentative-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/shape-function-invalid.tentative.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/shape-function-valid.tentative-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/shape-function-valid.tentative.html
    M Source/WebCore/css/CSSShapeSegmentValue.cpp
    M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
    M Source/WebCore/style/StyleBuilderConverter.h

  Log Message:
  -----------
  shape(): support the edge keywords for hline and vline.
https://bugs.webkit.org/show_bug.cgi?id=282015
rdar://138518963

Reviewed by Antti Koivisto.

Update `shape()` parsing and conversion to handle the center/edge keywords in `hline` and `vline` commands per the grammar proposed at [1].

Separate the parsing code for CSSValueHline and CSSValueVline so we can easily used the templatized `consumeIdent()`.

Update `CSSShapeSegmentValue::toShapeSegment()` to use `Style::BuilderConverter::convertPositionComponent()` for
absolute segments, and that function needs to be made public.

Update WPT to test parsing and rendering.

[1] https://github.com/w3c/csswg-drafts/issues/10649#issuecomment-2426552611

* LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-shape-hline-vline-keywords.tentative-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-shape-hline-vline-keywords.tentative.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/shape-function-invalid.tentative-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/shape-function-invalid.tentative.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/shape-function-valid.tentative-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/shape-function-valid.tentative.html:
* Source/WebCore/css/CSSShapeSegmentValue.cpp:
(WebCore::positionComponentOrCoordinateToLength):
(WebCore::CSSShapeSegmentValue::toShapeSegment const):
* Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeShapeCommand):
* Source/WebCore/style/StyleBuilderConverter.h:

Canonical link: https://commits.webkit.org/285680@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