| 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 c0f613969580a630fdd489a41334a493fedae28e..b51bcedff964eb9c4d8fe8af4166a01490e8cd86 100644
|
| --- a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp
|
| +++ b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp
|
| @@ -375,6 +375,13 @@ Resource* ResourceFetcher::resourceForStaticData(const FetchRequest& request, co
|
| 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)
|
| {
|
| // TODO(yoav): Test that non-blocking resources (video/audio/track) continue to not-block even after being preloaded and discovered.
|
| @@ -419,8 +426,10 @@ Resource* ResourceFetcher::requestResource(FetchRequest& request, const Resource
|
| if (!request.url().isValid())
|
| return nullptr;
|
|
|
| - if (!context().canRequest(factory.type(), request.resourceRequest(), MemoryCache::removeFragmentIdentifierIfNeeded(request.url()), request.options(), request.forPreload(), request.getOriginRestriction()))
|
| - return nullptr;
|
| + if (!context().canRequest(factory.type(), request.resourceRequest(), MemoryCache::removeFragmentIdentifierIfNeeded(request.url()), request.options(), request.forPreload(), request.getOriginRestriction())) {
|
| + DCHECK(!substituteData.forceSynchronousLoad());
|
| + return resourceForBlockedRequest(request, factory);
|
| + }
|
|
|
| unsigned long identifier = createUniqueIdentifier();
|
| request.mutableResourceRequest().setPriority(computeLoadPriority(factory.type(), request, ResourcePriority::NotVisible));
|
|
|