| 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 648d55a16b73b266f5b2ccc83c4e0274475cd8d1..0fe4bca91976fcb755e08bd6d41e52715baa199f 100644
|
| --- a/content/browser/service_worker/service_worker_provider_host.cc
|
| +++ b/content/browser/service_worker/service_worker_provider_host.cc
|
| @@ -180,7 +180,7 @@ void ServiceWorkerProviderHost::SetControllerVersionAttribute(
|
| return; // Could be NULL in some tests.
|
|
|
| // 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), notify_controllerchange));
|
| @@ -208,6 +208,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_) {
|
| @@ -247,7 +261,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()));
|
| }
|
| @@ -587,7 +601,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));
|
| }
|
|
|