This commit is contained in:
Peter 2015-05-06 16:37:52 -04:00
parent 387836c42e
commit 7239d67353
3 changed files with 26 additions and 8 deletions

View file

@ -304,6 +304,7 @@ impl<'a> PrivateNodeHelpers for JSRef<'a, Node> {
assert!(self.parent_node.get().is_none());
for node in self.traverse_preorder() {
let node = node.root();
node.r().set_flag(IS_IN_DOC, false);
vtable_for(&node.r()).unbind_from_tree(parent_in_doc);
}
self.layout_data.dispose();
@ -1658,7 +1659,7 @@ impl Node {
}
// https://dom.spec.whatwg.org/#concept-node-remove
fn remove(node: JSRef<Node>, parent: JSRef<Node>, suppress_observers: SuppressObserver) {
fn remove(node: JSRef<Node>, parent: JSRef<Node>, _suppress_observers: SuppressObserver) {
assert!(node.GetParentNode().map_or(false, |node_parent| node_parent == Temporary::from_rooted(parent)));
// Step 1-5: ranges.
@ -1666,13 +1667,8 @@ impl Node {
// Step 8.
parent.remove_child(node);
node.set_flag(IS_IN_DOC, false);
// Step 9.
match suppress_observers {
SuppressObserver::Suppressed => (),
SuppressObserver::Unsuppressed => node.node_removed(parent.is_in_doc()),
}
node.node_removed(parent.is_in_doc());
}
// https://dom.spec.whatwg.org/#concept-node-clone