diff options
author | Simon Wülker <simon.wuelker@arcor.de> | 2025-02-02 21:49:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-02 20:49:42 +0000 |
commit | 6a2e37183c1995aa7c4bc31dfd8e871f28dcbae7 (patch) | |
tree | 821cb8ea46526f14278a14941dcc289383b46d3b /components/script/dom/node.rs | |
parent | 938baf6bf36336d812277b0bc056d1a614c472cc (diff) | |
download | servo-6a2e37183c1995aa7c4bc31dfd8e871f28dcbae7.tar.gz servo-6a2e37183c1995aa7c4bc31dfd8e871f28dcbae7.zip |
Lay out the contents of slot elements (#35220)
* Make Slottable match layout/alignment of NonNull<Node>
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement ServoLayoutElement::slotted_nodes
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Bump mozjs
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Layout the contents of slot elements
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement ServoLayoutElement::assigned_slot
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* implement ServoLayoutElement::traversal_parent
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Simplify slottable name update
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Don't iterate over children of shadow hosts
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Recompute slot style when contents change
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Change match_slottable to a function instead of a macro
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Fix crown errors
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Reset a slottable's assigned slot when it's removed from the slot
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
Diffstat (limited to 'components/script/dom/node.rs')
-rw-r--r-- | components/script/dom/node.rs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 8a309080f0a..709c2d39936 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -2155,12 +2155,8 @@ impl Node { if let Some(shadow_root) = parent.downcast::<Element>().and_then(Element::shadow_root) { if shadow_root.SlotAssignment() == SlotAssignmentMode::Named { let cx = GlobalScope::get_cx(); - if let Some(element) = node.downcast::<Element>() { - rooted!(in(*cx) let slottable = Slottable::Element(Dom::from_ref(element))); - slottable.assign_a_slot(); - } - if let Some(text) = node.downcast::<Text>() { - rooted!(in(*cx) let slottable = Slottable::Text(Dom::from_ref(text))); + if node.is::<Element>() || node.is::<Text>() { + rooted!(in(*cx) let slottable = Slottable(Dom::from_ref(node))); slottable.assign_a_slot(); } } |