Support exporting shadow parts with the exportparts attribute (#37345)

The attribute is implemented as a new `AttrValue` variant containing the
mappings of exported part names
(https://github.com/servo/stylo/pull/197).

Take a look at the [MDN
page](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/exportparts)
for more information about the attribute.


Testing: Covered by WPT
Fixes: https://github.com/servo/servo/issues/35349

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
Simon Wülker 2025-06-13 13:32:20 +02:00 committed by GitHub
parent 730fe35b42
commit 6cac782fb1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 42 additions and 45 deletions

View file

@ -225,14 +225,14 @@ codegen-units = 1
# Or for Stylo:
#
# [patch."https://github.com/servo/stylo"]
# selectors = { path = "../stylo/selectors" }
# servo_arc = { path = "../stylo/servo_arc" }
# stylo = { path = "../stylo/style" }
# stylo_atoms = { path = "../stylo/stylo_atoms" }
# stylo_config = { path = "../stylo/stylo_config" }
# stylo_dom = { path = "../stylo/stylo_dom" }
# stylo_malloc_size_of = { path = "../stylo/malloc_size_of" }
# stylo_traits = { path = "../stylo/style_traits" }
# selectors = { git = "https://github.com/simonwuelker/stylo", branch = "shadow-parts-exportparts" }
# servo_arc = { git = "https://github.com/simonwuelker/stylo", branch = "shadow-parts-exportparts" }
# stylo = { git = "https://github.com/simonwuelker/stylo", branch = "shadow-parts-exportparts" }
# stylo_atoms = { git = "https://github.com/simonwuelker/stylo", branch = "shadow-parts-exportparts" }
# stylo_config = { git = "https://github.com/simonwuelker/stylo", branch = "shadow-parts-exportparts" }
# stylo_dom = { git = "https://github.com/simonwuelker/stylo", branch = "shadow-parts-exportparts" }
# stylo_malloc_size_of = { git = "https://github.com/simonwuelker/stylo", branch = "shadow-parts-exportparts" }
# stylo_traits = { git = "https://github.com/simonwuelker/stylo", branch = "shadow-parts-exportparts" }
#
# Or for WebRender:
#