[css-shapes] special case oval and rrect border shapes#60266
Open
chromium-wpt-export-bot wants to merge 1 commit into
Open
[css-shapes] special case oval and rrect border shapes#60266chromium-wpt-export-bot wants to merge 1 commit into
chromium-wpt-export-bot wants to merge 1 commit into
Conversation
* 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}
27e4817 to
2196511
Compare
wpt-pr-bot
approved these changes
May 29, 2026
Collaborator
wpt-pr-bot
left a comment
There was a problem hiding this comment.
The review process for this patch is being conducted in the Chromium project.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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}