diff options
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/node.rs | 9 | ||||
-rw-r--r-- | components/script/dom/virtualmethods.rs | 2 |
2 files changed, 8 insertions, 3 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index c42635a3762..ac96158f7e5 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -1551,12 +1551,15 @@ impl Node { Some(index) } }; - // Step 6. + // Step 6. pre-removing steps for node iterators + // Step 7. let old_previous_sibling = node.GetPreviousSibling(); - // Steps 7-8: mutation observers. - // Step 9. + // Step 8. let old_next_sibling = node.GetNextSibling(); + // Steps 9-10 are handled in unbind_from_tree. parent.remove_child(node, cached_index); + // Step 11. transient registered observers + // Step 12. if let SuppressObserver::Unsuppressed = suppress_observers { vtable_for(&parent).children_changed( &ChildrenMutation::replace(old_previous_sibling.r(), diff --git a/components/script/dom/virtualmethods.rs b/components/script/dom/virtualmethods.rs index 2e8391671a8..e3def582ae4 100644 --- a/components/script/dom/virtualmethods.rs +++ b/components/script/dom/virtualmethods.rs @@ -83,6 +83,8 @@ pub trait VirtualMethods { /// Called when a Node is removed from a tree, where 'tree_in_doc' /// indicates whether the tree is part of a Document. + /// Implements removing steps: + /// https://dom.spec.whatwg.org/#concept-node-remove-ext fn unbind_from_tree(&self, context: &UnbindContext) { if let Some(ref s) = self.super_type() { s.unbind_from_tree(context); |