Index: Source/core/dom/Document.cpp |
diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp |
index 1d88dad2de2f487beae9c3360d3be30767429b41..d480e13bcb3fe9830bf54159c8f40d6493efdd6b 100644 |
--- a/Source/core/dom/Document.cpp |
+++ b/Source/core/dom/Document.cpp |
@@ -927,13 +927,13 @@ bool Document::importContainerNodeChildren(ContainerNode* oldContainerNode, Pass |
return true; |
} |
-PassRefPtr<Node> Document::importNode(Node* importedNode, ExceptionState& ec) |
+PassRefPtrWillBeRawPtr<Node> Document::importNode(Node* importedNode, ExceptionState& ec) |
{ |
UseCounter::countDeprecation(this, UseCounter::DocumentImportNodeOptionalArgument); |
return importNode(importedNode, true, ec); |
} |
-PassRefPtr<Node> Document::importNode(Node* importedNode, bool deep, ExceptionState& exceptionState) |
+PassRefPtrWillBeRawPtr<Node> Document::importNode(Node* importedNode, bool deep, ExceptionState& exceptionState) |
{ |
if (!importedNode) { |
exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::argumentNullOrIncorrectType(1, "Node")); |
@@ -961,7 +961,7 @@ PassRefPtr<Node> Document::importNode(Node* importedNode, bool deep, ExceptionSt |
exceptionState.throwDOMException(NamespaceError, "The imported node has an invalid namespace."); |
return nullptr; |
} |
- RefPtr<Element> newElement = createElement(oldElement->tagQName(), false); |
+ RefPtrWillBeRawPtr<Element> newElement = createElement(oldElement->tagQName(), false); |
newElement->cloneDataFromElement(*oldElement); |
@@ -5720,6 +5720,8 @@ void Document::clearWeakMembers(Visitor* visitor) |
for (unsigned i = 0; i < deadNodes.size(); ++i) |
didClearTouchEventHandlers(deadNodes[i]); |
} |
+ if (m_domWindow && !visitor->isAlive(m_domWindow)) |
+ m_domWindow.clear(); |
haraken
2014/05/23 12:23:27
I think we can just trace m_domWindow and ask oilp
sof
2014/05/23 14:29:07
I'm fine with doing that, but we already have clea
haraken
2014/05/23 15:02:45
You're right.
|
} |
void Document::trace(Visitor* visitor) |