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..f9943abcd860315de64d239bb902a022eb3f8f27 100644 |
| --- a/content/renderer/service_worker/service_worker_context_client.cc |
| +++ b/content/renderer/service_worker/service_worker_context_client.cc |
| @@ -683,13 +683,8 @@ void ServiceWorkerContextClient::didHandleExtendableMessageEvent( |
| 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)); |
| - } |
| + callback->Run(EventResultToStatus(result), |
| + base::Time::FromDoubleT(event_dispatch_time)); |
| context_->message_event_callbacks.Remove(request_id); |
| } |
| @@ -734,12 +729,8 @@ 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, |
| + DCHECK(callback); |
| + callback->Run(EventResultToStatus(result), |
| base::Time::FromDoubleT(event_dispatch_time)); |
| context_->fetch_event_callbacks.Remove(fetch_event_id); |
| } |
| @@ -777,15 +768,9 @@ 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)); |
| - } |
| + DCHECK(callback); |
| + callback->Run(EventResultToStatus(result), |
| + base::Time::FromDoubleT(event_dispatch_time)); |
| context_->sync_event_callbacks.Remove(request_id); |
| } |
| @@ -904,6 +889,18 @@ void ServiceWorkerContextClient::DispatchSyncEvent( |
| web_last_chance); |
| } |
| +ServiceWorkerStatusCode ServiceWorkerContextClient::EventResultToStatus( |
| + blink::WebServiceWorkerEventResult result) { |
|
falken
2017/01/10 06:34:03
This could be a nonmember function in an unnamed n
xiaofengzhang
2017/01/10 07:07:20
Acknowledged.
|
| + switch (result) { |
| + case blink::WebServiceWorkerEventResultCompleted: |
| + return SERVICE_WORKER_OK; |
| + case blink::WebServiceWorkerEventResultRejected: |
| + return SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED; |
| + } |
| + NOTREACHED() << "Got stray result: " << result; |
|
falken
2017/01/10 06:34:03
"stray result" is a bit weird. "invalid result"
xiaofengzhang
2017/01/10 07:07:20
Acknowledged.
|
| + return SERVICE_WORKER_ERROR_FAILED; |
| +} |
| + |
| void ServiceWorkerContextClient::Send(IPC::Message* message) { |
| sender_->Send(message); |
| } |