Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 843368984e0b7bcd4bcb91cf99c63f77741a98fa https://github.com/WebKit/WebKit/commit/843368984e0b7bcd4bcb91cf99c63f77741a98fa Author: Simon Fraser <simon.fra...@apple.com> Date: 2024-08-06 (Tue, 06 Aug 2024)
Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/clip-path-interpolation-shape-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-008-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-008.html M Source/WebCore/rendering/style/BasicShapes.cpp M Source/WebCore/rendering/style/BasicShapesShape.cpp M Source/WebCore/rendering/style/BasicShapesShape.h Log Message: ----------- [CSS Shape function] Support blending https://bugs.webkit.org/show_bug.cgi?id=277609 rdar://133244319 Reviewed by Antti Koivisto. Implement the `blend()` function for `BasicShapeShape`, following the rules in [1] but without the interpolation with the `path()` function [2]. This required making all the shape segment types copy-constructable and assignable [1] https://drafts.csswg.org/css-shapes-2/#interpolating-shape [2] https://github.com/w3c/csswg-drafts/issues/10694 * LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/clip-path-interpolation-shape-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-008-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-008.html: "via" -> "using". Fix this result: test_interpolation({ property: 'offset-path', from: 'shape(from 5% 5px, arc to 15% -15px of 10px 20px, arc by 15% -5px of 30px cw rotate 30deg large, arc to 25% 20px of 10px 5px small)', to: 'shape(from 15% 15px, arc to 5% -25px of 20px 30px, arc by 25% -15px of 20px cw rotate 270deg small, arc to 25% 20px of 10px 5px small cw)' }, where the 0.3 result should contain "cw" given the spec text "If an arc command has different <arc-sweep> between its starting and ending list, then the interpolated result uses cw for any progress value between 0 and 1" * Source/WebCore/rendering/style/BasicShapes.cpp: (WebCore::BasicShapePolygon::blend const): * Source/WebCore/rendering/style/BasicShapesShape.cpp: (WebCore::BasicShapeShape::canBlend): (WebCore::blendWithPreferredValue): (WebCore::BasicShapeShape::blend): (WebCore::BasicShapeShape::canBlend const): (WebCore::BasicShapeShape::blend const): * Source/WebCore/rendering/style/BasicShapesShape.h: Canonical link: https://commits.webkit.org/281913@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes