Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / dom / TreeScopeAdopter.cpp
index 60a3a47..79e1705 100644 (file)
@@ -53,29 +53,29 @@ void TreeScopeAdopter::moveTreeToNewScope(Node& root) const
     if (willMoveToNewDocument)
         oldDocument.incDOMTreeVersion();
 
-    for (Node* node = &root; node; node = NodeTraversal::next(*node, &root)) {
-        updateTreeScope(*node);
+    for (Node& node : NodeTraversal::inclusiveDescendantsOf(root)) {
+        updateTreeScope(node);
 
         if (willMoveToNewDocument) {
             if (axObjectCache)
-                axObjectCache->remove(node);
-            moveNodeToNewDocument(*node, oldDocument, newDocument);
-        } else if (node->hasRareData()) {
-            NodeRareData* rareData = node->rareData();
+                axObjectCache->remove(&node);
+            moveNodeToNewDocument(node, oldDocument, newDocument);
+        } else if (node.hasRareData()) {
+            NodeRareData* rareData = node.rareData();
             if (rareData->nodeLists())
                 rareData->nodeLists()->adoptTreeScope();
         }
 
-        if (!node->isElementNode())
+        if (!node.isElementNode())
             continue;
 
-        if (node->hasSyntheticAttrChildNodes()) {
-            WillBeHeapVector<RefPtrWillBeMember<Attr> >& attrs = *toElement(node)->attrNodeList();
+        if (node.hasSyntheticAttrChildNodes()) {
+            WillBeHeapVector<RefPtrWillBeMember<Attr> >& attrs = *toElement(node).attrNodeList();
             for (unsigned i = 0; i < attrs.size(); ++i)
                 moveTreeToNewScope(*attrs[i]);
         }
 
-        for (ShadowRoot* shadow = node->youngestShadowRoot(); shadow; shadow = shadow->olderShadowRoot()) {
+        for (ShadowRoot* shadow = node.youngestShadowRoot(); shadow; shadow = shadow->olderShadowRoot()) {
             shadow->setParentTreeScope(newScope());
             if (willMoveToNewDocument)
                 moveTreeToNewDocument(*shadow, oldDocument, newDocument);
@@ -90,9 +90,16 @@ void TreeScopeAdopter::moveTreeToNewScope(Node& root) const
 void TreeScopeAdopter::moveTreeToNewDocument(Node& root, Document& oldDocument, Document& newDocument) const
 {
     ASSERT(oldDocument != newDocument);
-    for (Node* node = &root; node; node = NodeTraversal::next(*node, &root)) {
-        moveNodeToNewDocument(*node, oldDocument, newDocument);
-        for (ShadowRoot* shadow = node->youngestShadowRoot(); shadow; shadow = shadow->olderShadowRoot())
+    for (Node& node : NodeTraversal::inclusiveDescendantsOf(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);
     }
 }