Index: third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
diff --git a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
index 0ec415aa32abfb9c9fb37728af562ff67911c14e..8cda40e4f04cb8fbdaabf18afce64b13525f7ee3 100644 |
--- a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
+++ b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp |
@@ -432,6 +432,15 @@ Resource* ResourceFetcher::resourceForStaticData( |
return resource; |
} |
+Resource* ResourceFetcher::resourceForBlockedRequest( |
+ const FetchRequest& request, |
+ const ResourceFactory& factory) { |
+ Resource* resource = factory.create(request.resourceRequest(), |
+ request.options(), request.charset()); |
+ resource->error(ResourceError::cancelledDueToAccessCheckError(request.url())); |
+ return resource; |
+} |
+ |
void ResourceFetcher::moveCachedNonBlockingResourceToBlocking( |
Resource* resource, |
const FetchRequest& request) { |
@@ -495,8 +504,10 @@ Resource* ResourceFetcher::requestResource( |
factory.type(), request.resourceRequest(), |
MemoryCache::removeFragmentIdentifierIfNeeded(request.url()), |
request.options(), request.forPreload(), |
- request.getOriginRestriction())) |
- return nullptr; |
+ request.getOriginRestriction())) { |
+ DCHECK(!substituteData.forceSynchronousLoad()); |
+ return resourceForBlockedRequest(request, factory); |
+ } |
unsigned long identifier = createUniqueIdentifier(); |
request.mutableResourceRequest().setPriority(computeLoadPriority( |