aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/node.rs
diff options
context:
space:
mode:
authorTetsuharu OHZEKI <saneyuki.snyk@gmail.com>2014-03-15 17:31:11 +0900
committerTetsuharu OHZEKI <saneyuki.snyk@gmail.com>2014-03-15 23:21:33 +0900
commit6ecb9ba4b6f801020e3f33556e81deaa90bfa555 (patch)
tree2041c9d26d48a78735748502cf5e1446777435ae /src/components/script/dom/node.rs
parentbfb849bb046f8ca8117b38b0a98704b2c6a6c40d (diff)
downloadservo-6ecb9ba4b6f801020e3f33556e81deaa90bfa555.tar.gz
servo-6ecb9ba4b6f801020e3f33556e81deaa90bfa555.zip
Don't call bind_to_tree when appending a node to another node that isn't in the tree (fixes #1874).
Diffstat (limited to 'src/components/script/dom/node.rs')
-rw-r--r--src/components/script/dom/node.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs
index 000a19be847..21732c479bb 100644
--- a/src/components/script/dom/node.rs
+++ b/src/components/script/dom/node.rs
@@ -405,10 +405,12 @@ impl NodeHelpers for JS<Node> {
assert!(self.parent_node().is_some());
let document = document_from_node(self);
- for node in self.traverse_preorder() {
- if node.is_element() {
- let element: JS<Element> = ElementCast::to(&node);
- element.bind_to_tree_impl();
+ if self.is_in_doc() {
+ for node in self.traverse_preorder() {
+ if node.is_element() {
+ let element: JS<Element> = ElementCast::to(&node);
+ element.bind_to_tree_impl();
+ }
}
}