[webkit-changes] [WebKit/WebKit] cb3f53: Implement rendering for `background-clip: border-a...
Simon Fraser
noreply at github.com
Sun Aug 11 20:20:40 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: cb3f53635881c69718ae71650954a080e4ab637f
https://github.com/WebKit/WebKit/commit/cb3f53635881c69718ae71650954a080e4ab637f
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2024-08-11 (Sun, 11 Aug 2024)
Changed paths:
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-background-geometry-expected.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-background-geometry-ref.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-background-geometry.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-image-expected.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-image-ref.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-image.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-on-top-expected.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-on-top-ref.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-on-top.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-expected.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-multiple-backgrounds-expected.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-multiple-backgrounds-ref.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-multiple-backgrounds.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-ref.html
A LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area.html
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/rendering/BackgroundPainter.cpp
M Source/WebCore/rendering/BorderPainter.cpp
M Source/WebCore/rendering/BorderPainter.h
Log Message:
-----------
Implement rendering for `background-clip: border-area` and flip to preview
https://bugs.webkit.org/show_bug.cgi?id=277910
rdar://133606473
Reviewed by Tim Nguyen.
Implement rendering for `background-clip: border-area` by adding code in `BackgroundPainter::paintFillLayer()`
that takes one of two code paths based on border complexity.
For simple borders (not dotted, dashed or double), we can compute a path for the inner and outer border edges,
and fill the path with the background.
For complex borders, create a temporary mask image (as we do for `background-clip: text`) and paint the borders
into the mask, which is then used to clip the background drawing.
Now that rendering works, flip the feature status to "preview".
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-background-geometry-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-background-geometry-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-background-geometry.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-image-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-image-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-image.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-on-top-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-on-top-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-border-on-top.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-multiple-backgrounds-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-multiple-backgrounds-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-multiple-backgrounds.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/background-clip/clip-border-area.html: Added.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/rendering/BackgroundPainter.cpp:
(WebCore::BackgroundPainter::paintFillLayer):
* Source/WebCore/rendering/BorderPainter.cpp:
(WebCore::borderStyleFillsBorderArea):
(WebCore::decorationHasAllSimpleEdges):
(WebCore::BorderPainter::pathForBorderArea):
(WebCore::BorderPainter::paintBorder const):
* Source/WebCore/rendering/BorderPainter.h:
Canonical link: https://commits.webkit.org/282107@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