[webkit-changes] [WebKit/WebKit] f45617: Serialization of <position> argument of CSS circle...
Commit Queue
noreply at github.com
Fri Sep 6 17:52:18 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f456176de25fc0c1be376d68c40732360d8030ce
https://github.com/WebKit/WebKit/commit/f456176de25fc0c1be376d68c40732360d8030ce
Author: Sam Weinig <sam at webkit.org>
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
More information about the webkit-changes
mailing list