| 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 9dc0ba2252274fe12f0d224e86d91c3b1a632ca0..6119888b2cb21e573b1b8858085759e376e7aebd 100644
|
| --- a/content/browser/service_worker/service_worker_provider_host.cc
|
| +++ b/content/browser/service_worker/service_worker_provider_host.cc
|
| @@ -182,7 +182,7 @@ void ServiceWorkerProviderHost::SetControllerVersionAttribute(
|
| is_claiming_ || (previous_version && version && version->skip_waiting());
|
|
|
| // SetController message should be sent only for controllees.
|
| - DCHECK_NE(SERVICE_WORKER_PROVIDER_FOR_CONTROLLER, provider_type_);
|
| + DCHECK(IsProviderForClient());
|
| Send(new ServiceWorkerMsg_SetControllerServiceWorker(
|
| render_thread_id_, provider_id(),
|
| CreateAndRegisterServiceWorkerHandle(version),
|
| @@ -211,6 +211,20 @@ bool ServiceWorkerProviderHost::SetHostedVersionId(int64 version_id) {
|
| return true;
|
| }
|
|
|
| +bool ServiceWorkerProviderHost::IsProviderForClient() const {
|
| + switch (provider_type_) {
|
| + case SERVICE_WORKER_PROVIDER_FOR_WINDOW:
|
| + case SERVICE_WORKER_PROVIDER_FOR_WORKER:
|
| + case SERVICE_WORKER_PROVIDER_FOR_SHARED_WORKER:
|
| + return true;
|
| + case SERVICE_WORKER_PROVIDER_FOR_CONTROLLER:
|
| + case SERVICE_WORKER_PROVIDER_UNKNOWN:
|
| + return false;
|
| + }
|
| + NOTREACHED() << provider_type_;
|
| + return false;
|
| +}
|
| +
|
| blink::WebServiceWorkerClientType ServiceWorkerProviderHost::client_type()
|
| const {
|
| switch (provider_type_) {
|
| @@ -248,7 +262,7 @@ void ServiceWorkerProviderHost::DisassociateRegistration() {
|
| return;
|
|
|
| // Disassociation message should be sent only for controllees.
|
| - DCHECK_NE(SERVICE_WORKER_PROVIDER_FOR_CONTROLLER, provider_type_);
|
| + DCHECK(IsProviderForClient());
|
| Send(new ServiceWorkerMsg_DisassociateRegistration(
|
| render_thread_id_, provider_id()));
|
| }
|
| @@ -585,7 +599,7 @@ void ServiceWorkerProviderHost::SendAssociateRegistrationMessage() {
|
| associated_registration_->active_version());
|
|
|
| // Association message should be sent only for controllees.
|
| - DCHECK_NE(SERVICE_WORKER_PROVIDER_FOR_CONTROLLER, provider_type_);
|
| + DCHECK(IsProviderForClient());
|
| dispatcher_host_->Send(new ServiceWorkerMsg_AssociateRegistration(
|
| render_thread_id_, provider_id(), handle->GetObjectInfo(), attrs));
|
| }
|
|
|