| Index: Source/core/fetch/ResourceFetcher.cpp
|
| diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp
|
| index e2316820632f3cf2a8ede80d3989d2645d3d23f8..bc0bd60516a66e094471d9c9591915d20306663b 100644
|
| --- a/Source/core/fetch/ResourceFetcher.cpp
|
| +++ b/Source/core/fetch/ResourceFetcher.cpp
|
| @@ -1290,7 +1290,13 @@ void ResourceFetcher::willSendRequest(unsigned long identifier, ResourceRequest&
|
|
|
| void ResourceFetcher::didReceiveResponse(const Resource* resource, const ResourceResponse& response)
|
| {
|
| - // FIXME: When response.wasFetchedViaServiceWorker() is true, we need to check the URL of the responce for CSP and CORS.
|
| + if (response.wasFetchedViaServiceWorker()) {
|
| + if (!canRequest(resource->type(), response.url(), resource->options(), false, FetchRequest::UseDefaultOriginRestrictionForType)) {
|
| + resource->loader()->cancel();
|
| + context().dispatchDidFail(m_documentLoader, resource->identifier(), ResourceError(errorDomainBlinkInternal, 0, response.url().string(), "Original url check of ServiceWorker fetched resource failed."));
|
| + return;
|
| + }
|
| + }
|
| context().dispatchDidReceiveResponse(m_documentLoader, resource->identifier(), response, resource->loader());
|
| }
|
|
|
|
|