Skip to content

[css-shapes] special case oval and rrect border shapes#60266

Open
chromium-wpt-export-bot wants to merge 1 commit into
masterfrom
chromium-export-cl-7839038
Open

[css-shapes] special case oval and rrect border shapes#60266
chromium-wpt-export-bot wants to merge 1 commit into
masterfrom
chromium-export-cl-7839038

Conversation

@chromium-wpt-export-bot
Copy link
Copy Markdown
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented May 29, 2026

  • Corrects, for cases where the path can be trivially outset,
    rendering when a border radius is large enough that the
    inside of a stroke crosses outside of the original geometry.
    (Note: this will require additional work in Skia to expose correct
    stroker functionality to allow the inside edge of a stroke to
    be discarded.)

  • Corrects an issue where, because SkPath::arcTo can add
    a lineTo into the path prior emitting a conic, two
    points could be a microscopic distance away, but have a
    huge turning angle, creating a spiking miter join.

  • Instead of representing the border region as a stroked
    path with the inner edge matching the original geometry,
    try to outset the path if possible and use even odd fill
    rule to fill the border region.

  • Because this avoids pathops if possible and stroking, it
    is also a performance improvement.

Bug: 504836751
Bug: 504836749
Change-Id: Idf372d72b4b62e9e9a734bac59487897821871d2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7839038
Reviewed-by: Daniil Sakhapov <sakhapov@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Daniil Sakhapov <sakhapov@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1638386}

* Corrects, for cases where the path can be trivially outset,
rendering when a border radius is large enough that the
inside of a stroke crosses outside of the original geometry.
(Note: this will require additional work in Skia to expose correct
stroker functionality to allow the inside edge of a stroke to
be discarded.)

* Corrects an issue where, because SkPath::arcTo can add
 a lineTo into the path prior emitting a conic, two
points could be a microscopic distance away, but have a
huge turning angle, creating a spiking miter join.

* Instead of representing the border region as a stroked
path with the inner edge matching the original geometry,
try to outset the path if possible and use even odd fill
rule to fill the border region.

* Because this avoids pathops if possible and stroking, it
is also a performance improvement.

Bug: 504836751
Bug: 504836749
Change-Id: Idf372d72b4b62e9e9a734bac59487897821871d2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7839038
Reviewed-by: Daniil Sakhapov <sakhapov@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Daniil Sakhapov <sakhapov@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1638386}
Copy link
Copy Markdown
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants