Index: Source/core/dom/TreeScopeAdopter.cpp |
diff --git a/Source/core/dom/TreeScopeAdopter.cpp b/Source/core/dom/TreeScopeAdopter.cpp |
index 471396f739e2c89ce7db8209076a1dd3b31832da..68683fa9a0ba381231a860f9eb95da4049cab905 100644 |
--- a/Source/core/dom/TreeScopeAdopter.cpp |
+++ b/Source/core/dom/TreeScopeAdopter.cpp |
@@ -88,6 +88,13 @@ void TreeScopeAdopter::moveTreeToNewDocument(Node& root, Document& oldDocument, |
ASSERT(oldDocument != newDocument); |
for (Node* node = &root; node; node = NodeTraversal::next(*node, &root)) { |
moveNodeToNewDocument(*node, oldDocument, newDocument); |
+ |
+ if (node->hasSyntheticAttrChildNodes()) { |
+ WillBeHeapVector<RefPtrWillBeMember<Attr> >& attrs = *toElement(node)->attrNodeList(); |
+ for (unsigned i = 0; i < attrs.size(); ++i) |
+ moveTreeToNewDocument(*attrs[i], oldDocument, newDocument); |
+ } |
+ |
for (ShadowRoot* shadow = node->youngestShadowRoot(); shadow; shadow = shadow->olderShadowRoot()) |
moveTreeToNewDocument(*shadow, oldDocument, newDocument); |
} |