Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cb3f53635881c69718ae71650954a080e4ab637f
      
https://github.com/WebKit/WebKit/commit/cb3f53635881c69718ae71650954a080e4ab637f
  Author: Simon Fraser <simon.fra...@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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to