Index: Source/core/loader/DocumentThreadableLoader.cpp |
diff --git a/Source/core/loader/DocumentThreadableLoader.cpp b/Source/core/loader/DocumentThreadableLoader.cpp |
index 8b84b7147cada891d7ace3393be6bb007a543489..201caff37149165d92efdb0abf7e586df872a6cd 100644 |
--- a/Source/core/loader/DocumentThreadableLoader.cpp |
+++ b/Source/core/loader/DocumentThreadableLoader.cpp |
@@ -593,11 +593,18 @@ void DocumentThreadableLoader::loadRequest(const ResourceRequest& request, Resou |
if (m_options.crossOriginRequestPolicy == AllowCrossOriginRequests) |
newRequest.setOriginRestriction(FetchRequest::NoOriginRestriction); |
ASSERT(!resource()); |
+ |
if (request.requestContext() == WebURLRequest::RequestContextVideo || request.requestContext() == WebURLRequest::RequestContextAudio) |
setResource(RawResource::fetchMedia(newRequest, m_document.fetcher())); |
else |
setResource(RawResource::fetch(newRequest, m_document.fetcher())); |
- if (resource() && resource()->loader()) { |
+ |
+ if (!resource()) { |
+ m_client->didFail(ResourceError(errorDomainBlinkInternal, 0, requestURL.string(), "Failed to start loading.")); |
+ return; |
+ } |
+ |
+ if (resource()->loader()) { |
unsigned long identifier = resource()->identifier(); |
InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient(&m_document, identifier, m_client); |
} |