Chromium Code Reviews| 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 0db1289002c8db8b2ab01d41aa5a8888cbb0da06..ac2e4c756500304667834424153a0a0ad57ff44c 100644 |
| --- a/content/browser/service_worker/service_worker_controllee_request_handler.cc |
| +++ b/content/browser/service_worker/service_worker_controllee_request_handler.cc |
| @@ -33,6 +33,8 @@ ServiceWorkerControlleeRequestHandler::ServiceWorkerControlleeRequestHandler( |
| ServiceWorkerUtils::IsMainResourceType(resource_type)), |
| body_(body), |
| weak_factory_(this) { |
| + if (is_main_resource_load_ && provider_host_) |
| + provider_host_->SetAllowAssociation(false); |
| } |
| ServiceWorkerControlleeRequestHandler:: |
| @@ -45,6 +47,9 @@ ServiceWorkerControlleeRequestHandler:: |
| else |
| provider_host_->active_version()->DeferScheduledUpdate(); |
| } |
| + |
| + if (is_main_resource_load_ && provider_host_) |
| + provider_host_->SetAllowAssociation(true); |
| } |
| net::URLRequestJob* ServiceWorkerControlleeRequestHandler::MaybeCreateJob( |
| @@ -182,7 +187,11 @@ ServiceWorkerControlleeRequestHandler::DidLookupRegistrationForMainResource( |
| return; |
| } |
| + |
|
nhiroki
2014/09/10 02:04:11
nit: there is an extra empty line
michaeln
2014/09/10 22:40:40
Done.
|
| + provider_host_->SetAllowAssociation(true); |
| provider_host_->AssociateRegistration(registration.get()); |
| + provider_host_->SetAllowAssociation(false); |
| + |
| job_->ForwardToServiceWorker(); |
| TRACE_EVENT_ASYNC_END2( |
| "ServiceWorker", |
| @@ -202,7 +211,10 @@ void ServiceWorkerControlleeRequestHandler::OnVersionStatusChanged( |
| return; |
| } |
| + provider_host_->SetAllowAssociation(true); |
| provider_host_->AssociateRegistration(registration); |
| + provider_host_->SetAllowAssociation(false); |
| + |
| job_->ForwardToServiceWorker(); |
| } |