Chromium Code Reviews| Index: content/renderer/service_worker/service_worker_context_client.cc |
| diff --git a/content/renderer/service_worker/service_worker_context_client.cc b/content/renderer/service_worker/service_worker_context_client.cc |
| index 715a35eab81fc59620d0caaf7ceeaedd7a0efd06..e10d0a1a830dae532821fdf925a1f6e7647c5f72 100644 |
| --- a/content/renderer/service_worker/service_worker_context_client.cc |
| +++ b/content/renderer/service_worker/service_worker_context_client.cc |
| @@ -682,14 +682,16 @@ void ServiceWorkerContextClient::didHandleExtendableMessageEvent( |
| double event_dispatch_time) { |
| const DispatchExtendableMessageEventCallback* callback = |
| context_->message_event_callbacks.Lookup(request_id); |
| - DCHECK(callback); |
| - if (result == blink::WebServiceWorkerEventResultCompleted) { |
| - callback->Run(SERVICE_WORKER_OK, |
| - base::Time::FromDoubleT(event_dispatch_time)); |
| - } else { |
| - callback->Run(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED, |
| - base::Time::FromDoubleT(event_dispatch_time)); |
| + ServiceWorkerStatusCode status = SERVICE_WORKER_OK; |
| + switch (result) { |
| + case blink::WebServiceWorkerEventResultCompleted: |
| + break; |
| + case blink::WebServiceWorkerEventResultRejected: |
| + status = SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED; |
| + break; |
| } |
|
falken
2017/01/06 08:27:32
Since this is repeated in other functions, how abo
xiaofengzhang
2017/01/09 02:55:22
Nice, thanks
xiaofengzhang
2017/01/09 02:55:22
Acknowledged.
|
| + DCHECK(callback); |
| + callback->Run(status, base::Time::FromDoubleT(event_dispatch_time)); |
| context_->message_event_callbacks.Remove(request_id); |
| } |
| @@ -734,13 +736,16 @@ void ServiceWorkerContextClient::didHandleFetchEvent( |
| } |
| const FetchCallback* callback = |
| context_->fetch_event_callbacks.Lookup(fetch_event_id); |
| - if (!callback) |
| - return; |
| - |
| - callback->Run(result == blink::WebServiceWorkerEventResultCompleted |
| - ? SERVICE_WORKER_OK |
| - : SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED, |
| - base::Time::FromDoubleT(event_dispatch_time)); |
| + ServiceWorkerStatusCode status = SERVICE_WORKER_OK; |
| + switch (result) { |
| + case blink::WebServiceWorkerEventResultCompleted: |
| + break; |
| + case blink::WebServiceWorkerEventResultRejected: |
| + status = SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED; |
| + break; |
| + } |
| + DCHECK(callback); |
| + callback->Run(status, base::Time::FromDoubleT(event_dispatch_time)); |
| context_->fetch_event_callbacks.Remove(fetch_event_id); |
| } |
| @@ -777,15 +782,16 @@ void ServiceWorkerContextClient::didHandleSyncEvent( |
| double event_dispatch_time) { |
| const SyncCallback* callback = |
| context_->sync_event_callbacks.Lookup(request_id); |
| - if (!callback) |
| - return; |
| - if (result == blink::WebServiceWorkerEventResultCompleted) { |
| - callback->Run(SERVICE_WORKER_OK, |
| - base::Time::FromDoubleT(event_dispatch_time)); |
| - } else { |
| - callback->Run(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED, |
| - base::Time::FromDoubleT(event_dispatch_time)); |
| + ServiceWorkerStatusCode status = SERVICE_WORKER_OK; |
| + switch (result) { |
| + case blink::WebServiceWorkerEventResultCompleted: |
| + break; |
| + case blink::WebServiceWorkerEventResultRejected: |
| + status = SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED; |
| + break; |
| } |
| + DCHECK(callback); |
| + callback->Run(status, base::Time::FromDoubleT(event_dispatch_time)); |
| context_->sync_event_callbacks.Remove(request_id); |
| } |