diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 048ee28b3a92..ee1451a0137c 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -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, parent: JSRef, suppress_observers: SuppressObserver) { + fn remove(node: JSRef, parent: JSRef, _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 diff --git a/support/android-rs-glue b/support/android-rs-glue index 10116eb3af33..dc8aef3e1b8f 160000 --- a/support/android-rs-glue +++ b/support/android-rs-glue @@ -1 +1 @@ -Subproject commit 10116eb3af332f9565e0fb803e600511bb585d6b +Subproject commit dc8aef3e1b8f1acd141986cfab492e3f57d2d5f6 diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-getElementById.html b/tests/wpt/web-platform-tests/dom/nodes/Document-getElementById.html index 66ca0e7c81b8..3a67dcd423ef 100644 --- a/tests/wpt/web-platform-tests/dom/nodes/Document-getElementById.html +++ b/tests/wpt/web-platform-tests/dom/nodes/Document-getElementById.html @@ -20,6 +20,13 @@ + +
+
+
+
+
+