aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/node.rs
diff options
context:
space:
mode:
authorSimon Wülker <simon.wuelker@arcor.de>2025-02-02 21:49:42 +0100
committerGitHub <noreply@github.com>2025-02-02 20:49:42 +0000
commit6a2e37183c1995aa7c4bc31dfd8e871f28dcbae7 (patch)
tree821cb8ea46526f14278a14941dcc289383b46d3b /components/script/dom/node.rs
parent938baf6bf36336d812277b0bc056d1a614c472cc (diff)
downloadservo-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.rs8
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();
}
}