Index: Source/core/frame/DOMWindow.cpp |
diff --git a/Source/core/frame/DOMWindow.cpp b/Source/core/frame/DOMWindow.cpp |
index b9c97b3316aaff6568f0a4ea352bb8318fa83a78..f8f10039f7b70afd142af42777975113e726fffa 100644 |
--- a/Source/core/frame/DOMWindow.cpp |
+++ b/Source/core/frame/DOMWindow.cpp |
@@ -363,9 +363,9 @@ void DOMWindow::clearEventQueue() |
m_eventQueue.clear(); |
} |
-PassRefPtr<Document> DOMWindow::createDocument(const String& mimeType, const DocumentInit& init, bool forceXHTML) |
+PassRefPtrWillBeRawPtr<Document> DOMWindow::createDocument(const String& mimeType, const DocumentInit& init, bool forceXHTML) |
{ |
- RefPtr<Document> document; |
+ RefPtrWillBeRawPtr<Document> document; |
if (forceXHTML) { |
// This is a hack for XSLTProcessor. See XSLTProcessor::createDocumentFromSource(). |
document = Document::create(init); |
@@ -378,7 +378,7 @@ PassRefPtr<Document> DOMWindow::createDocument(const String& mimeType, const Doc |
return document.release(); |
} |
-PassRefPtr<Document> DOMWindow::installNewDocument(const String& mimeType, const DocumentInit& init, bool forceXHTML) |
+PassRefPtrWillBeRawPtr<Document> DOMWindow::installNewDocument(const String& mimeType, const DocumentInit& init, bool forceXHTML) |
{ |
ASSERT(init.frame() == m_frame); |
@@ -486,15 +486,15 @@ DOMWindow::~DOMWindow() |
ASSERT(m_hasBeenReset); |
reset(); |
- removeAllEventListeners(); |
- |
#if ENABLE(OILPAN) |
- ASSERT(m_document->isDisposed()); |
-#else |
- ASSERT(m_document->isStopped()); |
+ clearDocument(); |
Mads Ager (chromium)
2014/05/23 06:27:29
Why do we have this call to clearDocument in the o
sof
2014/05/23 06:32:58
Oh, clearDocument() not a simple clearing setter.
|
#endif |
+ removeAllEventListeners(); |
+#if !ENABLE(OILPAN) |
+ ASSERT(m_document->isStopped()); |
clearDocument(); |
+#endif |
} |
const AtomicString& DOMWindow::interfaceName() const |
@@ -1872,6 +1872,7 @@ PassOwnPtr<LifecycleNotifier<DOMWindow> > DOMWindow::createLifecycleNotifier() |
void DOMWindow::trace(Visitor* visitor) |
{ |
+ visitor->trace(m_document); |
visitor->trace(m_screen); |
visitor->trace(m_history); |
visitor->trace(m_locationbar); |