Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8faa195818613650b9227d51695bd6b48703b7ce
https://github.com/WebKit/WebKit/commit/8faa195818613650b9227d51695bd6b48703b7ce
Author: Simon Fraser <[email protected]>
Date: 2026-09-10 (Thu, 10 Sep 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-inset-shadow.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse001-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse001-ref.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse001.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse002-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse002-ref.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse002.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse003-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse003-ref.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse003.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-intersection004-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-intersection004-ref.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-intersection004.html
M Source/WebCore/platform/graphics/BezierUtilities.cpp
M Source/WebCore/platform/graphics/BezierUtilities.h
M Source/WebCore/platform/graphics/CornerShapeUtilities.cpp
M Source/WebCore/platform/graphics/CornerShapeUtilities.h
M Source/WebCore/rendering/BorderShape.cpp
M Tools/TestWebKitAPI/Tests/WebCore/BezierUtilitiesTests.cpp
Log Message:
-----------
[corner-shape] Some combinations of corner-shape with thick borders have
incorrect rendering
https://bugs.webkit.org/show_bug.cgi?id=323565
rdar://186808871
Reviewed by Abrar Rahman Protyasha.
The inside border edge can self-intersect with some combinations of
border-width and concave
corner shapes; make sure these cases don't result in bad rendering by removing
inner corners
when necessary, and computing when the entire inner shape disappears.
Tests: Tools/TestWebKitAPI/Tests/WebCore/BezierUtilitiesTests.cpp
imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse001-ref.html
imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse001.html
imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse002-ref.html
imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse002.html
imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse003-ref.html
imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse003.html
imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-intersection004-ref.html
imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-intersection004.html
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse001-expected.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse001-ref.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse001.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse002-expected.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse002-ref.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse002.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse003-expected.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse003-ref.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-collapse003.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-intersection004-expected.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-intersection004-ref.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/inner-corner-intersection004.html:
Added.
* Source/WebCore/platform/graphics/BezierUtilities.cpp:
(WebCore::numberOfCrossingsWithSegment):
* Source/WebCore/platform/graphics/BezierUtilities.h:
* Source/WebCore/platform/graphics/CornerShapeUtilities.cpp:
(WebCore::borderContourPath):
* Source/WebCore/platform/graphics/CornerShapeUtilities.h:
* Source/WebCore/rendering/BorderShape.cpp:
(WebCore::addAlignedToCurveOffsetContour):
(WebCore::BorderShape::pathForOuterCornerShape const):
(WebCore::addInnerCornerShapeToPath):
(WebCore::BorderShape::pathForInnerCornerShape const):
(WebCore::BorderShape::pathForInnerShape const):
* Tools/TestWebKitAPI/Tests/WebCore/BezierUtilitiesTests.cpp:
(TestWebKitAPI::TEST(BezierUtilities,
CountsCrossingsOfASegmentThatCutsTheCurve)):
(TestWebKitAPI::TEST(BezierUtilities,
CountsNoCrossingsForASegmentStoppingShortOfTheCurve)):
(TestWebKitAPI::TEST(BezierUtilities,
CountsBothCrossingsOfACurveThatDoublesBack)):
*
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-inset-shadow.html:
Canonical link: https://commits.webkit.org/320826@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications