Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1378)

Unified Diff: Source/core/loader/DocumentLoader.cpp

Issue 1124153003: [Oilpan] [Reland] Migrate classes under core/fetch to Oilpan heap (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Check m_fetcher in DocumentLoader Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/loader/DocumentLoader.cpp
diff --git a/Source/core/loader/DocumentLoader.cpp b/Source/core/loader/DocumentLoader.cpp
index ffd8047c6acfe237c8e1f7a356d1a83d458d7dda..4eba35f2fa20319ccff16b4983f06777274af07f 100644
--- a/Source/core/loader/DocumentLoader.cpp
+++ b/Source/core/loader/DocumentLoader.cpp
@@ -221,7 +221,8 @@ void DocumentLoader::stopLoading()
if (isLoading())
cancelMainResourceLoad(ResourceError::cancelledError(m_request.url()));
- m_fetcher->stopFetching();
+ if (m_fetcher)
+ m_fetcher->stopFetching();
}
void DocumentLoader::commitIfReady()
@@ -237,7 +238,7 @@ bool DocumentLoader::isLoading() const
if (document() && document()->hasActiveParser())
return true;
- return m_loadingMainResource || m_fetcher->isFetching();
+ return m_loadingMainResource || (m_fetcher && m_fetcher->isFetching());
}
void DocumentLoader::notifyFinished(Resource* resource)
@@ -601,7 +602,10 @@ void DocumentLoader::detachFromFrame()
if (!m_frame)
return;
- m_fetcher->clearContext();
+ if (m_fetcher)
+ m_fetcher->clearContext();
+ m_fetcher.clear();
+
m_applicationCacheHost->detachFromDocumentLoader();
m_applicationCacheHost.clear();
WeakIdentifierMap<DocumentLoader>::notifyObjectDestroyed(this);
@@ -640,7 +644,8 @@ bool DocumentLoader::maybeCreateArchive()
return false;
}
- m_fetcher->addAllArchiveResources(m_archive.get());
+ if (m_fetcher)
+ m_fetcher->addAllArchiveResources(m_archive.get());
ArchiveResource* mainResource = m_archive->mainResource();
// The origin is the MHTML file, we need to set the base URL to the document encoded in the MHTML so
@@ -667,7 +672,8 @@ void DocumentLoader::prepareSubframeArchiveLoadIfNeeded()
if (!m_archive)
return;
- m_fetcher->addAllArchiveResources(m_archive.get());
+ if (m_fetcher)
+ m_fetcher->addAllArchiveResources(m_archive.get());
ArchiveResource* mainResource = m_archive->mainResource();
m_substituteData = SubstituteData(mainResource->data(), mainResource->mimeType(), mainResource->textEncoding(), KURL());
@@ -691,7 +697,8 @@ void DocumentLoader::setDefersLoading(bool defers)
if (mainResourceLoader() && mainResourceLoader()->isLoadedBy(m_fetcher.get()))
mainResourceLoader()->setDefersLoading(defers);
- m_fetcher->setDefersLoading(defers);
+ if (m_fetcher)
+ m_fetcher->setDefersLoading(defers);
}
bool DocumentLoader::maybeLoadEmpty()
@@ -778,7 +785,8 @@ void DocumentLoader::attachThreadedDataReceiver(PassRefPtrWillBeRawPtr<ThreadedD
void DocumentLoader::acceptDataFromThreadedReceiver(const char* data, int dataLength, int encodedDataLength)
{
- m_fetcher->acceptDataFromThreadedReceiver(mainResourceIdentifier(), data, dataLength, encodedDataLength);
+ if (m_fetcher)
+ m_fetcher->acceptDataFromThreadedReceiver(mainResourceIdentifier(), data, dataLength, encodedDataLength);
}
void DocumentLoader::endWriting(DocumentWriter* writer)

Powered by Google App Engine
This is Rietveld 408576698