Chromium Code Reviews| Index: content/browser/service_worker/service_worker_fetch_dispatcher.cc |
| diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.cc b/content/browser/service_worker/service_worker_fetch_dispatcher.cc |
| index dad6fba12ce03423d139ef810c81f696b2e26ac5..70a5bd2d360ac685cbfd0c834837ffe37389d52e 100644 |
| --- a/content/browser/service_worker/service_worker_fetch_dispatcher.cc |
| +++ b/content/browser/service_worker/service_worker_fetch_dispatcher.cc |
| @@ -10,6 +10,7 @@ |
| #include "base/trace_event/trace_event.h" |
| #include "content/browser/service_worker/service_worker_version.h" |
| #include "content/common/service_worker/service_worker_messages.h" |
| +#include "content/common/service_worker/service_worker_utils.h" |
| namespace content { |
| @@ -94,13 +95,21 @@ void ServiceWorkerFetchDispatcher::DispatchFetchEvent() { |
| base::Closure prepare_callback = prepare_callback_; |
| prepare_callback.Run(); |
| - int request_id = version_->StartRequest( |
| + int response_id = version_->StartRequest( |
| GetEventType(), base::Bind(&ServiceWorkerFetchDispatcher::DidFail, |
| weak_factory_.GetWeakPtr())); |
| - version_->DispatchEvent<ServiceWorkerHostMsg_FetchEventFinished>( |
| - request_id, ServiceWorkerMsg_FetchEvent(request_id, *request_.get()), |
| - base::Bind(&ServiceWorkerFetchDispatcher::DidFinish, |
| - weak_factory_.GetWeakPtr())); |
| + int event_finish_id = version_->StartRequest( |
| + ServiceWorkerMetrics::EventType::FETCH_WAITUNTIL, |
|
Marijn Kruisselbrink
2016/06/15 12:37:07
There should probably be separate FETCH_WAITUNTIL
shimazu
2016/06/21 02:43:37
Done.
|
| + base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); |
| + |
| + version_->RegisterRequestCallback<ServiceWorkerHostMsg_FetchEventResponse>( |
| + response_id, base::Bind(&ServiceWorkerFetchDispatcher::DidFinish, |
| + weak_factory_.GetWeakPtr())); |
| + version_->RegisterSimpleRequest<ServiceWorkerHostMsg_FetchEventFinished>( |
| + event_finish_id); |
| + version_->DispatchEvent({response_id, event_finish_id}, |
| + ServiceWorkerMsg_FetchEvent( |
| + response_id, event_finish_id, *request_.get())); |
| } |
| void ServiceWorkerFetchDispatcher::DidPrepare() { |