Index: third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
index a5eae6c5bf861db7dc1fd4028a4489e01506f60b..cd48a31c02413e147a276c978be6ce4912ae7be6 100644 |
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
@@ -508,6 +508,16 @@ ResourceFetcher::PrepareRequestResult ResourceFetcher::prepareRequest( |
if (!request.url().isValid()) |
return Abort; |
+ // Resource requests from suborigins should not be intercepted by the service |
+ // worker of the physical origin. This has the effect that, for now, |
+ // suborigins do not work with service workers. See |
+ // https://w3c.github.io/webappsec-suborigins/. |
+ SecurityOrigin* sourceOrigin = context().getSecurityOrigin(); |
+ if (sourceOrigin && sourceOrigin->hasSuborigin()) { |
+ resourceRequest.setServiceWorkerMode( |
+ WebURLRequest::ServiceWorkerMode::None); |
+ } |
+ |
resourceRequest.setAllowStoredCredentials( |
request.options().allowCredentials == AllowStoredCredentials); |
return Continue; |
@@ -1249,14 +1259,6 @@ bool ResourceFetcher::startLoad(Resource* resource) { |
// crbug.com/632580 |
resource->setResourceRequest(request); |
- // Resource requests from suborigins should not be intercepted by the service |
- // worker of the physical origin. This has the effect that, for now, |
- // suborigins do not work with service workers. See |
- // https://w3c.github.io/webappsec-suborigins/. |
- SecurityOrigin* sourceOrigin = context().getSecurityOrigin(); |
- if (sourceOrigin && sourceOrigin->hasSuborigin()) |
- request.setServiceWorkerMode(WebURLRequest::ServiceWorkerMode::None); |
- |
ResourceLoader* loader = ResourceLoader::create(this, resource); |
if (resource->shouldBlockLoadEvent()) |
m_loaders.insert(loader); |
@@ -1264,7 +1266,7 @@ bool ResourceFetcher::startLoad(Resource* resource) { |
m_nonBlockingLoaders.insert(loader); |
storePerformanceTimingInitiatorInformation(resource); |
- resource->setFetcherSecurityOrigin(sourceOrigin); |
+ resource->setFetcherSecurityOrigin(context().getSecurityOrigin()); |
loader->activateCacheAwareLoadingIfNeeded(request); |
loader->start(request); |