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); |
} |