Index: Source/core/dom/TreeScopeAdopter.cpp |
diff --git a/Source/core/dom/TreeScopeAdopter.cpp b/Source/core/dom/TreeScopeAdopter.cpp |
index 309a0e57bb55a55887eedf81941e5405b63f4c18..6561b09fe58d81c2ddc0aea865c2f8bc008c8658 100644 |
--- a/Source/core/dom/TreeScopeAdopter.cpp |
+++ b/Source/core/dom/TreeScopeAdopter.cpp |
@@ -34,28 +34,28 @@ |
namespace WebCore { |
-void TreeScopeAdopter::moveTreeToNewScope(Node* root) const |
+void TreeScopeAdopter::moveTreeToNewScope(Node& root) const |
{ |
ASSERT(needsScopeChange()); |
- m_oldScope->guardRef(); |
+ m_oldScope.guardRef(); |
// If an element is moved from a document and then eventually back again the collection cache for |
// that element may contain stale data as changes made to it will have updated the DOMTreeVersion |
// of the document it was moved to. By increasing the DOMTreeVersion of the donating document here |
// we ensure that the collection cache will be invalidated as needed when the element is moved back. |
- Document* oldDocument = m_oldScope->documentScope(); |
+ Document* oldDocument = m_oldScope.documentScope(); |
ASSERT(oldDocument); |
- Document* newDocument = m_newScope->documentScope(); |
+ Document* newDocument = m_newScope.documentScope(); |
bool willMoveToNewDocument = oldDocument != newDocument; |
if (willMoveToNewDocument) |
oldDocument->incDOMTreeVersion(); |
- for (Node* node = root; node; node = NodeTraversal::next(node, root)) { |
- updateTreeScope(node); |
+ for (Node* node = &root; node; node = NodeTraversal::next(node, &root)) { |
+ updateTreeScope(*node); |
if (willMoveToNewDocument) |
- moveNodeToNewDocument(node, oldDocument, newDocument); |
+ moveNodeToNewDocument(*node, *oldDocument, newDocument); |
else if (node->hasRareData()) { |
NodeRareData* rareData = node->rareData(); |
if (rareData->nodeLists()) |
@@ -68,25 +68,25 @@ void TreeScopeAdopter::moveTreeToNewScope(Node* root) const |
if (node->hasSyntheticAttrChildNodes()) { |
const Vector<RefPtr<Attr> >& attrs = toElement(node)->attrNodeList(); |
for (unsigned i = 0; i < attrs.size(); ++i) |
- moveTreeToNewScope(attrs[i].get()); |
+ moveTreeToNewScope(*attrs[i]); |
} |
for (ShadowRoot* shadow = node->youngestShadowRoot(); shadow; shadow = shadow->olderShadowRoot()) { |
- shadow->setParentTreeScope(m_newScope); |
+ shadow->setParentTreeScope(&m_newScope); |
if (willMoveToNewDocument) |
- moveTreeToNewDocument(shadow, oldDocument, newDocument); |
+ moveTreeToNewDocument(*shadow, *oldDocument, newDocument); |
} |
} |
- m_oldScope->guardDeref(); |
+ m_oldScope.guardDeref(); |
} |
-void TreeScopeAdopter::moveTreeToNewDocument(Node* root, Document* oldDocument, Document* newDocument) const |
+void TreeScopeAdopter::moveTreeToNewDocument(Node& root, Document& oldDocument, Document* newDocument) const |
{ |
- for (Node* node = root; node; node = NodeTraversal::next(node, root)) { |
- moveNodeToNewDocument(node, 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()) |
- moveTreeToNewDocument(shadow, oldDocument, newDocument); |
+ moveTreeToNewDocument(*shadow, oldDocument, newDocument); |
} |
} |
@@ -102,37 +102,36 @@ void TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled(Document& oldDocument |
} |
#endif |
-inline void TreeScopeAdopter::updateTreeScope(Node* node) const |
+inline void TreeScopeAdopter::updateTreeScope(Node& node) const |
{ |
- ASSERT(!node->isTreeScope()); |
- ASSERT(node->treeScope() == m_oldScope); |
- m_newScope->guardRef(); |
- m_oldScope->guardDeref(); |
- node->setTreeScope(m_newScope); |
+ ASSERT(!node.isTreeScope()); |
+ ASSERT(node.treeScope() == m_oldScope); |
+ m_newScope.guardRef(); |
+ m_oldScope.guardDeref(); |
+ node.setTreeScope(&m_newScope); |
} |
-inline void TreeScopeAdopter::moveNodeToNewDocument(Node* node, Document* oldDocument, Document* newDocument) const |
+inline void TreeScopeAdopter::moveNodeToNewDocument(Node& node, Document& oldDocument, Document* newDocument) const |
{ |
- ASSERT(!node->inDocument() || oldDocument != newDocument); |
- ASSERT(oldDocument); |
+ ASSERT(!node.inDocument() || oldDocument != newDocument); |
- if (node->hasRareData()) { |
- NodeRareData* rareData = node->rareData(); |
+ if (node.hasRareData()) { |
+ NodeRareData* rareData = node.rareData(); |
if (rareData->nodeLists()) |
- rareData->nodeLists()->adoptDocument(oldDocument, newDocument); |
+ rareData->nodeLists()->adoptDocument(&oldDocument, newDocument); |
} |
- oldDocument->moveNodeIteratorsToNewDocument(node, newDocument); |
+ oldDocument.moveNodeIteratorsToNewDocument(&node, newDocument); |
- if (node->isShadowRoot()) |
- toShadowRoot(node)->setDocumentScope(newDocument); |
+ if (node.isShadowRoot()) |
+ toShadowRoot(node).setDocumentScope(newDocument); |
#ifndef NDEBUG |
didMoveToNewDocumentWasCalled = false; |
- oldDocumentDidMoveToNewDocumentWasCalledWith = oldDocument; |
+ oldDocumentDidMoveToNewDocumentWasCalledWith = &oldDocument; |
#endif |
- node->didMoveToNewDocument(*oldDocument); |
+ node.didMoveToNewDocument(oldDocument); |
ASSERT(didMoveToNewDocumentWasCalled); |
} |