canvas: Respect FillRule (#38294)

We just need to pass user provided FillRule via IPC to canvas paint
thread, then pass it all down to backend, which will handle it.

Testing: Added WPT tests.

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
sagudev 2025-07-26 19:20:04 +02:00 committed by GitHub
parent 4188852963
commit bc71fb8c0d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 693 additions and 32 deletions

View file

@ -479233,7 +479233,7 @@
[]
],
"path-objects.yaml": [
"cf218829598c1ee4275ceefd025974590fbe1cd8",
"ccb3d79b93a44d36fec6abebc9a95621c2913b6c",
[]
],
"pixel-manipulation.yaml": [
@ -706232,6 +706232,20 @@
{}
]
],
"2d.path.clip.winding.evenodd.1.html": [
"a1922011e4ac937605a42e0b14a0de63b05ded73",
[
null,
{}
]
],
"2d.path.clip.winding.evenodd.2.html": [
"e5aeba44b008e76000af1db74a756becf27ecadc",
[
null,
{}
]
],
"2d.path.closePath.empty.html": [
"837f5a76dc9701748f4d485c102cc93f6d410ce9",
[
@ -706295,6 +706309,20 @@
{}
]
],
"2d.path.fill.winding.evenodd.1.html": [
"d030b93239c310a76a1423fe13c1adcf9fe399ce",
[
null,
{}
]
],
"2d.path.fill.winding.evenodd.2.html": [
"4553f29d1e4b245fe231eeeb75973b5eba69c15d",
[
null,
{}
]
],
"2d.path.fill.winding.subtract.1.html": [
"fa1232e8d0ff59c5d283dc01641b1075372f0a77",
[
@ -717826,6 +717854,34 @@
{}
]
],
"2d.path.clip.winding.evenodd.1.html": [
"4cf680f62f2b6328d838929f64ebe50729b5b270",
[
null,
{}
]
],
"2d.path.clip.winding.evenodd.1.worker.js": [
"da772ea73d00beb9ae3332e4bf9d19fda68fdd70",
[
"html/canvas/offscreen/path-objects/2d.path.clip.winding.evenodd.1.worker.html",
{}
]
],
"2d.path.clip.winding.evenodd.2.html": [
"6d47707e5ec00a8a9302c3a2caea1e9e8f25350b",
[
null,
{}
]
],
"2d.path.clip.winding.evenodd.2.worker.js": [
"23f626e7d7293c7559baa66793264685876e7c0d",
[
"html/canvas/offscreen/path-objects/2d.path.clip.winding.evenodd.2.worker.html",
{}
]
],
"2d.path.closePath.empty.html": [
"a14a036b253d90462d5f4d1881a0d947b869c5dd",
[
@ -717952,6 +718008,34 @@
{}
]
],
"2d.path.fill.winding.evenodd.1.html": [
"fc839c9f58b19a4be7a0e43fe661799902ee257e",
[
null,
{}
]
],
"2d.path.fill.winding.evenodd.1.worker.js": [
"64e1aa1099370dc955bf79e0f05642a53609b2c9",
[
"html/canvas/offscreen/path-objects/2d.path.fill.winding.evenodd.1.worker.html",
{}
]
],
"2d.path.fill.winding.evenodd.2.html": [
"acb70538fd946bd7a6bbb561eae0e93724161b8b",
[
null,
{}
]
],
"2d.path.fill.winding.evenodd.2.worker.js": [
"1a69f4639d0c8b9a67d3e6b16fd764ea7e5f6683",
[
"html/canvas/offscreen/path-objects/2d.path.fill.winding.evenodd.2.worker.html",
{}
]
],
"2d.path.fill.winding.subtract.1.html": [
"814f3c3a9e76b711e1fc2f3dac373afc0ab07f0a",
[