| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index fbf3ce43f5328d4d8c79f65694d86ba37a1322a1..ee0191782ff978b5820cf7fcb0592e8f3237168d 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -2690,21 +2690,23 @@ void RenderFrameImpl::willSendRequest(
|
| }
|
|
|
| int provider_id = kInvalidServiceWorkerProviderId;
|
| - if (request.frameType() == blink::WebURLRequest::FrameTypeTopLevel ||
|
| - request.frameType() == blink::WebURLRequest::FrameTypeNested) {
|
| - // |provisionalDataSource| may be null in some content::ResourceFetcher
|
| - // use cases, we don't hook those requests.
|
| - if (frame->provisionalDataSource()) {
|
| + if (!request.skipServiceWorker()) {
|
| + if (request.frameType() == blink::WebURLRequest::FrameTypeTopLevel ||
|
| + request.frameType() == blink::WebURLRequest::FrameTypeNested) {
|
| + // |provisionalDataSource| may be null in some content::ResourceFetcher
|
| + // use cases, we don't hook those requests.
|
| + if (frame->provisionalDataSource()) {
|
| + ServiceWorkerNetworkProvider* provider =
|
| + ServiceWorkerNetworkProvider::FromDocumentState(
|
| + DocumentState::FromDataSource(frame->provisionalDataSource()));
|
| + provider_id = provider->provider_id();
|
| + }
|
| + } else if (frame->dataSource()) {
|
| ServiceWorkerNetworkProvider* provider =
|
| ServiceWorkerNetworkProvider::FromDocumentState(
|
| - DocumentState::FromDataSource(frame->provisionalDataSource()));
|
| + DocumentState::FromDataSource(frame->dataSource()));
|
| provider_id = provider->provider_id();
|
| }
|
| - } else if (frame->dataSource()) {
|
| - ServiceWorkerNetworkProvider* provider =
|
| - ServiceWorkerNetworkProvider::FromDocumentState(
|
| - DocumentState::FromDataSource(frame->dataSource()));
|
| - provider_id = provider->provider_id();
|
| }
|
|
|
| WebFrame* parent = frame->parent();
|
|
|