Index: content/browser/service_worker/service_worker_controllee_request_handler.cc |
diff --git a/content/browser/service_worker/service_worker_controllee_request_handler.cc b/content/browser/service_worker/service_worker_controllee_request_handler.cc |
index 382ece5ebd2700d02cadf5e26453b266c440eb69..0c21cf4312d27bc8a796a259719808ae8c7cfeb4 100644 |
--- a/content/browser/service_worker/service_worker_controllee_request_handler.cc |
+++ b/content/browser/service_worker/service_worker_controllee_request_handler.cc |
@@ -136,7 +136,8 @@ ServiceWorkerControlleeRequestHandler::DidLookupRegistrationForMainResource( |
ServiceWorkerStatusCode status, |
const scoped_refptr<ServiceWorkerRegistration>& registration) { |
DCHECK(job_.get()); |
- provider_host_->SetAllowAssociation(true); |
+ if (provider_host_) |
+ provider_host_->SetAllowAssociation(true); |
if (status != SERVICE_WORKER_OK) { |
job_->FallbackToNetwork(); |
TRACE_EVENT_ASYNC_END1( |
@@ -161,7 +162,8 @@ ServiceWorkerControlleeRequestHandler::DidLookupRegistrationForMainResource( |
// Wait until it's activated before firing fetch events. |
if (active_version.get() && |
active_version->status() == ServiceWorkerVersion::ACTIVATING) { |
- provider_host_->SetAllowAssociation(false); |
+ if (provider_host_) |
+ provider_host_->SetAllowAssociation(false); |
registration->active_version()->RegisterStatusChangeCallback( |
base::Bind(&self::OnVersionStatusChanged, |
weak_factory_.GetWeakPtr(), |
@@ -191,7 +193,8 @@ ServiceWorkerControlleeRequestHandler::DidLookupRegistrationForMainResource( |
ServiceWorkerMetrics::CountControlledPageLoad(); |
- provider_host_->AssociateRegistration(registration.get()); |
+ if (provider_host_) |
+ provider_host_->AssociateRegistration(registration.get()); |
job_->ForwardToServiceWorker(); |
TRACE_EVENT_ASYNC_END2( |
"ServiceWorker", |
@@ -205,7 +208,8 @@ ServiceWorkerControlleeRequestHandler::DidLookupRegistrationForMainResource( |
void ServiceWorkerControlleeRequestHandler::OnVersionStatusChanged( |
ServiceWorkerRegistration* registration, |
ServiceWorkerVersion* version) { |
- provider_host_->SetAllowAssociation(true); |
+ if (provider_host_) |
+ provider_host_->SetAllowAssociation(true); |
if (version != registration->active_version() || |
version->status() != ServiceWorkerVersion::ACTIVATED) { |
job_->FallbackToNetwork(); |
@@ -214,7 +218,8 @@ void ServiceWorkerControlleeRequestHandler::OnVersionStatusChanged( |
ServiceWorkerMetrics::CountControlledPageLoad(); |
- provider_host_->AssociateRegistration(registration); |
+ if (provider_host_) |
+ provider_host_->AssociateRegistration(registration); |
job_->ForwardToServiceWorker(); |
} |