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 edd2de9ce456dfa3e6ede9ae100e734e024fa004..715cd5b332b2c65a4654336e347e981da83f1e06 100644 |
--- a/content/browser/service_worker/service_worker_browsertest.cc |
+++ b/content/browser/service_worker/service_worker_browsertest.cc |
@@ -635,10 +635,21 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest { |
ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
version_->SetStatus(ServiceWorkerVersion::ACTIVATING); |
registration_->SetActiveVersion(version_.get()); |
- version_->DispatchActivateEvent( |
+ version_->RunAfterStartWorker( |
+ base::Bind(&self::DispatchActivateEventOnIOThread, this, done, result), |
CreateReceiver(BrowserThread::UI, done, result)); |
} |
+ void DispatchActivateEventOnIOThread(const base::Closure& done, |
+ ServiceWorkerStatusCode* result) { |
+ ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
+ int request_id = |
+ version_->StartRequest(ServiceWorkerMetrics::EventType::INSTALL, |
+ CreateReceiver(BrowserThread::UI, done, result)); |
+ version_->DispatchSimpleEvent<ServiceWorkerHostMsg_ActivateEventFinished>( |
+ request_id, ServiceWorkerMsg_ActivateEvent(request_id)); |
+ } |
+ |
void FetchOnIOThread(const base::Closure& done, |
bool* prepare_result, |
FetchResult* result) { |
@@ -802,7 +813,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Activate_Rejected) { |
ActivateTestHelper("/service_worker/worker_activate_rejected.js", |
- SERVICE_WORKER_ERROR_ACTIVATE_WORKER_FAILED); |
+ SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED); |
} |
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |