Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9270baa94bfb2d90be27e9a5f17693316144f1b8
      
https://github.com/WebKit/WebKit/commit/9270baa94bfb2d90be27e9a5f17693316144f1b8
  Author: Simon Fraser <[email protected]>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-bevel-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-bevel-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-bevel.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch001-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch001-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch001.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch002-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch002-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch002.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch003-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch003-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch003.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-square-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-square-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-square.html
    M Source/WebCore/rendering/BorderShape.cpp
    M Source/WebCore/rendering/BorderShape.h

  Log Message:
  -----------
  [corner-shape] Outlines with negative offset look ugly
https://bugs.webkit.org/show_bug.cgi?id=323558
rdar://186820849

Reviewed by Tim Nguyen.

Bevel, notch and square corners are adjusted for insets (e.g. for an outline 
with
negative inset) by offsetting the border-box corner at constant thickness 
rather than by
scaling their radius (rebuildOffsetCornersFromReference). There were three 
issues for a
negative (inset) offset:

The rebuilt corner follows the border-box curve, so it extends past the edges 
of the
rect it is being offset relative to. The inner contour already trimmed to that 
rect, but
the outer one did not, resulting in uneven thickness of inset outlines on bevel 
corners.

When the inset outline becomes empty, we now detect that we should draw nothing.

Fix a rendering issue when the inset is larger than the notch size.

Tests: 
imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-bevel-ref.html
       
imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-bevel.html
       
imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch001-ref.html
       
imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch001.html
       
imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch002-ref.html
       
imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch002.html
       
imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch003-ref.html
       
imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch003.html
       
imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-square-ref.html
       
imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-square.html

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-bevel-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-bevel-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-bevel.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch001-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch001-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch001.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch002-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch002-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch002.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch003-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch003-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-notch003.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-square-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-square-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-borders/corner-shape/corner-shape-outline-negative-offset-square.html:
 Added.
* Source/WebCore/rendering/BorderShape.cpp:
(WebCore::BorderShape::outerShapeIsRectangular const):
(WebCore::BorderShape::innerShapeIsRectangular const):
(WebCore::cornerIsRebuiltFromReference):
(WebCore::rebuildOffsetCornersFromReference):
(WebCore::BorderShape::hasNonRoundCornerShape const):
(WebCore::addOuterCornerShapeToPath):
(WebCore::BorderShape::pathForOuterCornerShape const):
(WebCore::isShaped):
* Source/WebCore/rendering/BorderShape.h:

Canonical link: https://commits.webkit.org/321259@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to