| 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 43a660e2c9cd4f8ea5c032bc71a9443068aacd74..c144d1ca8c5ec5d865a09e1a027283916a2262b5 100644
|
| --- a/content/renderer/service_worker/service_worker_context_client.cc
|
| +++ b/content/renderer/service_worker/service_worker_context_client.cc
|
| @@ -112,6 +112,18 @@ class WebServiceWorkerNetworkProviderImpl
|
| }
|
| };
|
|
|
| +ServiceWorkerStatusCode EventResultToStatus(
|
| + blink::WebServiceWorkerEventResult result) {
|
| + switch (result) {
|
| + case blink::WebServiceWorkerEventResultCompleted:
|
| + return SERVICE_WORKER_OK;
|
| + case blink::WebServiceWorkerEventResultRejected:
|
| + return SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED;
|
| + }
|
| + NOTREACHED() << "Got invalid result: " << result;
|
| + return SERVICE_WORKER_ERROR_FAILED;
|
| +}
|
| +
|
| void SendPostMessageToClientOnMainThread(
|
| ThreadSafeSender* sender,
|
| int routing_id,
|
| @@ -683,13 +695,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 +741,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 +780,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);
|
| }
|
|
|
|
|