aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/node.rs
diff options
context:
space:
mode:
authorbors-servo <release+servo@mozilla.com>2014-06-13 07:46:47 -0400
committerbors-servo <release+servo@mozilla.com>2014-06-13 07:46:47 -0400
commit5378871e6724d307c411f3d2b3aa79c5cc0af8b7 (patch)
treecee11c2a31f0038c7939af08ef5f38d18c2c8481 /src/components/script/dom/node.rs
parent56e1e80c97ccc88d33dafed9a7bcefdacdd2991e (diff)
parent28f8d16c87f7da49a3743585f3fb389027be04be (diff)
downloadservo-5378871e6724d307c411f3d2b3aa79c5cc0af8b7.tar.gz
servo-5378871e6724d307c411f3d2b3aa79c5cc0af8b7.zip
auto merge of #2634 : saneyuki/servo/fix, r=Ms2ger
Fix: #2630
Diffstat (limited to 'src/components/script/dom/node.rs')
-rw-r--r--src/components/script/dom/node.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs
index 7b095bc9c57..2e3e02d381b 100644
--- a/src/components/script/dom/node.rs
+++ b/src/components/script/dom/node.rs
@@ -1137,10 +1137,13 @@ impl Node {
// Step 8.
for node in nodes.mut_iter() {
parent.add_child(node, child);
- if parent.is_in_doc() {
- node.flags.deref().borrow_mut().insert(IsInDoc);
- } else {
- node.flags.deref().borrow_mut().remove(IsInDoc);
+ let is_in_doc = parent.is_in_doc();
+ for mut kid in node.traverse_preorder() {
+ if is_in_doc {
+ kid.flags.deref().borrow_mut().insert(IsInDoc);
+ } else {
+ kid.flags.deref().borrow_mut().remove(IsInDoc);
+ }
}
}