Skip to content

[css-shapes] Implement polygon() round modifier#60345

Merged
tabatkins merged 4 commits into
web-platform-tests:masterfrom
CGQAQ:chromium-export-cl-7716742-2
Jun 6, 2026
Merged

[css-shapes] Implement polygon() round modifier#60345
tabatkins merged 4 commits into
web-platform-tests:masterfrom
CGQAQ:chromium-export-cl-7716742-2

Conversation

@CGQAQ

@CGQAQ CGQAQ commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Implement the CSS Shapes polygon(round <length>, ...) syntax behind
the CSSPolygonRounding runtime flag.

This adds parsing and serialization for the optional round modifier,
stores the radius on polygon basic shapes, includes it in equality and
interpolation, and generates rounded polygon paths for clip-path,
offset-path, and related basic-shape consumers.

For shape-outside, rounded polygons now rasterize from the rounded path
instead of the sharp vertex list so float exclusion follows the rounded
outline.

Add unit tests, a clip-path rendering test, and WPT coverage for parsing
and computed values.

ChromeStatusEntry: https://chromestatus.com/feature/6636392944893952
Spec: https://www.w3.org/TR/css-shapes-1/#typedef-basic-shape
Bug: 329302249
Change-Id: I4ffb0f4c7efcdb243c8dc1f547f4b84194264634
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7716742
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Commit-Queue: Jason Leo <cgqaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1611220}

Implement the CSS Shapes `polygon(round <length>, ...)` syntax behind
the CSSPolygonRounding runtime flag.

This adds parsing and serialization for the optional round modifier,
stores the radius on polygon basic shapes, includes it in equality and
interpolation, and generates rounded polygon paths for clip-path,
offset-path, and related basic-shape consumers.

For shape-outside, rounded polygons now rasterize from the rounded path
instead of the sharp vertex list so float exclusion follows the rounded
outline.

Add unit tests, a clip-path rendering test, and WPT coverage for parsing
and computed values.

ChromeStatusEntry: https://chromestatus.com/feature/6636392944893952
Spec: https://www.w3.org/TR/css-shapes-1/#typedef-basic-shape
Bug: 329302249
Change-Id: I4ffb0f4c7efcdb243c8dc1f547f4b84194264634
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7716742
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Commit-Queue: Jason Leo <cgqaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1611220}
@CGQAQ

CGQAQ commented Jun 2, 2026

Copy link
Copy Markdown
Contributor Author

Follow-up of #59037, as I don't have permission to add changes it

@CGQAQ

CGQAQ commented Jun 4, 2026

Copy link
Copy Markdown
Contributor Author

@tabatkins Could you please take a look?

@CGQAQ

CGQAQ commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

Could you help me to merge it? I don't have permission, thanks!

@tabatkins tabatkins merged commit 0070273 into web-platform-tests:master Jun 6, 2026
28 checks passed
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.

6 participants