Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f456176de25fc0c1be376d68c40732360d8030ce
      
https://github.com/WebKit/WebKit/commit/f456176de25fc0c1be376d68c40732360d8030ce
  Author: Sam Weinig <[email protected]>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M LayoutTests/fast/masking/parsing-clip-path-shape-expected.txt
    M LayoutTests/fast/masking/parsing-clip-path-shape.html
    M LayoutTests/fast/shapes/parsing/parsing-shape-lengths-expected.txt
    M LayoutTests/fast/shapes/parsing/parsing-shape-lengths.html
    M LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt
    M LayoutTests/fast/shapes/parsing/parsing-test-utils.js
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/basic-shape-circle-ellipse-serialization-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/basic-shape-circle-ellipse-serialization.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-computed-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-computed.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/circle-function-valid.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/ellipse-function-valid.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-002-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-004-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-009.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-011.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-002-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-004-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-009.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/support/parsing-utils.js
    M Source/WebCore/css/BasicShapeConversion.cpp
    M Source/WebCore/css/CSSBasicShapes.cpp
    M Source/WebCore/rendering/style/BasicShapes.cpp
    M Source/WebCore/rendering/style/BasicShapes.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  Serialization of <position> argument of CSS circle() and ellipse() should 
match spec
https://bugs.webkit.org/show_bug.cgi?id=279200

Reviewed by Darin Adler.

The current serialization of the <position> argument to CSS circle() and 
ellipse()
was not following the spec, which outlines exactly how specified and computed
serialization should behave.

This updates the implementation and quite a few tests to align.

* LayoutTests/fast/masking/parsing-clip-path-shape-expected.txt:
* LayoutTests/fast/masking/parsing-clip-path-shape.html:
* LayoutTests/fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* LayoutTests/fast/shapes/parsing/parsing-shape-lengths.html:
* LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt:
* LayoutTests/fast/shapes/parsing/parsing-test-utils.js:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/basic-shape-circle-ellipse-serialization-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/basic-shape-circle-ellipse-serialization.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-computed-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-computed.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-valid-position.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/circle-function-valid.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-functions/ellipse-function-valid.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-002-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-004-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-009.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-circle-011.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-002-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-004-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-009.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/shape-outside/values/support/parsing-utils.js:
    - Update tests to test <position> serialization rules.

* Source/WebCore/rendering/style/BasicShapes.cpp:
* Source/WebCore/rendering/style/BasicShapes.h:
* Source/WebCore/css/BasicShapeConversion.cpp:
(WebCore::valueForCenterCoordinate):
(WebCore::valueForBasicShape):
(WebCore::convertToCenterCoordinate):
(WebCore::floatValueForCenterCoordinate):
    - Simplify BasicShapeCenterCoordinate to just store a Length. This can 
always be fully computed
      at style building time and is not expected to retain keywords for 
computed value serialization.

* Source/WebCore/css/CSSBasicShapes.cpp:
(WebCore::CSSCircleValue::customCSSText const):
(WebCore::CSSEllipseValue::customCSSText const):
(WebCore::serializePositionOffset): Deleted.
(WebCore::isZeroLength): Deleted.
(WebCore::buildSerializablePositionOffset): Deleted.
    - Serialization of <position> is now just a direct serialization of the x/y 
arguments.
      At parse time, we already ensure hat if only one is defined, the other 
gets set to
      CSSValueCenter. And at compute value time, we ensure they are always set 
to the computed
      Length values.

* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
    - Update serialization for simplified BasicShapeCenterCoordinate.

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