| Index: content/browser/service_worker/service_worker_browsertest.cc
|
| diff --git a/content/browser/service_worker/service_worker_browsertest.cc b/content/browser/service_worker/service_worker_browsertest.cc
|
| index 5e917c3a683c1592666cc35af15670433c42489c..1392a2c37840082710af57713047f577df3e9288 100644
|
| --- a/content/browser/service_worker/service_worker_browsertest.cc
|
| +++ b/content/browser/service_worker/service_worker_browsertest.cc
|
| @@ -651,8 +651,26 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest {
|
| int request_id =
|
| version_->StartRequest(ServiceWorkerMetrics::EventType::INSTALL,
|
| CreateReceiver(BrowserThread::UI, done, result));
|
| - version_->DispatchSimpleEvent<ServiceWorkerHostMsg_InstallEventFinished>(
|
| - request_id, ServiceWorkerMsg_InstallEvent(request_id));
|
| + version_->DispatchEvent<ServiceWorkerHostMsg_InstallEventFinished>(
|
| + request_id, ServiceWorkerMsg_InstallEvent(request_id),
|
| + base::Bind(&self::ReceiveInstallEventOnIOThread, this, done, result));
|
| + }
|
| +
|
| + void ReceiveInstallEventOnIOThread(const base::Closure& done,
|
| + ServiceWorkerStatusCode* out_result,
|
| + int request_id,
|
| + blink::WebServiceWorkerEventResult result,
|
| + bool has_fetch_handler) {
|
| + version_->FinishRequest(
|
| + request_id, result == blink::WebServiceWorkerEventResultCompleted);
|
| +
|
| + ServiceWorkerStatusCode status = SERVICE_WORKER_OK;
|
| + if (result == blink::WebServiceWorkerEventResultRejected)
|
| + status = SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED;
|
| +
|
| + *out_result = status;
|
| + if (!done.is_null())
|
| + BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
|
| }
|
|
|
| void StoreOnIOThread(const base::Closure& done,
|
|
|