Index: Source/core/fetch/ResourceLoader.cpp |
diff --git a/Source/core/fetch/ResourceLoader.cpp b/Source/core/fetch/ResourceLoader.cpp |
index 22446179362695b86f56b20b0bce0c0382661ae4..1c499773aade8b615aab3d37a8b6b6a7cbd6b801 100644 |
--- a/Source/core/fetch/ResourceLoader.cpp |
+++ b/Source/core/fetch/ResourceLoader.cpp |
@@ -513,6 +513,12 @@ void ResourceLoader::requestSynchronously() |
WebData dataOut; |
loader->loadSynchronously(requestIn, responseOut, errorOut, dataOut); |
if (errorOut.reason) { |
+ if (m_state == Terminated) { |
+ // A message dispatched while synchronously fetching the resource |
+ // can bring about the cancellation of this load. |
+ ASSERT(!m_resource); |
+ return; |
+ } |
didFail(0, errorOut); |
return; |
} |