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(); |