Index: Source/core/loader/ResourceLoader.cpp |
diff --git a/Source/core/loader/ResourceLoader.cpp b/Source/core/loader/ResourceLoader.cpp |
index a4ca06f1696c03bcbba697ffc6a7322891364623..965f6b26d1fbd4c7a2f58f5e63b731b00e4929a7 100644 |
--- a/Source/core/loader/ResourceLoader.cpp |
+++ b/Source/core/loader/ResourceLoader.cpp |
@@ -354,6 +354,10 @@ void ResourceLoader::didReceiveResponse(ResourceHandle*, const ResourceResponse& |
void ResourceLoader::didReceiveData(ResourceHandle*, const char* data, int length, int encodedDataLength) |
{ |
+ // It is possible to receive data on uninitialized resources if it had an error status code, and we are running a nested message |
+ // loop. When this occurs, ignoring the data is the correct action. |
+ if (m_resource->response().httpStatusCode() >= 400 && !m_resource->shouldIgnoreHTTPStatusCodeErrors()) |
+ return; |
InspectorInstrumentationCookie cookie = InspectorInstrumentation::willReceiveResourceData(m_frame.get(), identifier(), encodedDataLength); |
ASSERT(m_state == Initialized); |