diff options
Diffstat (limited to 'Source/WebCore/loader/MainResourceLoader.cpp')
-rw-r--r-- | Source/WebCore/loader/MainResourceLoader.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/WebCore/loader/MainResourceLoader.cpp b/Source/WebCore/loader/MainResourceLoader.cpp index 715a4ba89..dc93460b3 100644 --- a/Source/WebCore/loader/MainResourceLoader.cpp +++ b/Source/WebCore/loader/MainResourceLoader.cpp @@ -651,10 +651,14 @@ bool MainResourceLoader::loadNow(ResourceRequest& r) return false; } -bool MainResourceLoader::load(const ResourceRequest& r, const SubstituteData& substituteData) +void MainResourceLoader::load(const ResourceRequest& r, const SubstituteData& substituteData) { ASSERT(!m_handle); + // It appears that it is possible for this load to be cancelled and derefenced by the DocumentLoader + // in willSendRequest() if loadNow() is called. + RefPtr<MainResourceLoader> protect(this); + m_substituteData = substituteData; ASSERT(documentLoader()->timing()->navigationStart()); @@ -679,8 +683,6 @@ bool MainResourceLoader::load(const ResourceRequest& r, const SubstituteData& su } if (defer) m_initialRequest = request; - - return true; } void MainResourceLoader::setDefersLoading(bool defers) |