Index: content/browser/service_worker/service_worker_provider_host.cc |
diff --git a/content/browser/service_worker/service_worker_provider_host.cc b/content/browser/service_worker/service_worker_provider_host.cc |
index 0e83e84ce0cf87791c8e326e9e45a13914a4236c..92fc4cf7a5331ccb60b2dcb0fb80d1951be1ab1a 100644 |
--- a/content/browser/service_worker/service_worker_provider_host.cc |
+++ b/content/browser/service_worker/service_worker_provider_host.cc |
@@ -60,6 +60,9 @@ class ServiceWorkerURLTrackingRequestHandler |
net::URLRequest* request, |
net::NetworkDelegate* network_delegate, |
ResourceContext* resource_context) override { |
+ // |provider_host_| may have been deleted when the request is resumed. |
+ if (!provider_host_) |
+ return nullptr; |
const GURL stripped_url = net::SimplifyUrlForRequest(request->url()); |
provider_host_->SetDocumentUrl(stripped_url); |
provider_host_->SetTopmostFrameUrl(request->first_party_for_cookies()); |