aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/node.rs
diff options
context:
space:
mode:
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);
+ }
}
}