Chromium Code Reviews| 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..a12943cc78cb6ec3de670dbccf372b5cbff50150 100644 |
| --- a/content/browser/service_worker/service_worker_browsertest.cc |
| +++ b/content/browser/service_worker/service_worker_browsertest.cc |
| @@ -651,8 +651,27 @@ 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); |
| + version_->set_has_fetch_handler(has_fetch_handler); |
| + |
| + 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, |
| @@ -866,6 +885,18 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
| SERVICE_WORKER_OK); |
| } |
| +IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
| + InstallWithFetchHandler) { |
| + InstallTestHelper("/service_worker/fetch_event.js", SERVICE_WORKER_OK); |
| + ASSERT_TRUE(version_->has_fetch_handler()); |
|
falken
2016/05/25 04:30:17
EXPECT_TRUE (see https://github.com/google/googlet
shimazu
2016/05/25 07:22:39
Done.
|
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
| + InstallWithoutFetchHandler) { |
| + InstallTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK); |
| + ASSERT_FALSE(version_->has_fetch_handler()); |
|
falken
2016/05/25 04:30:17
ditto
shimazu
2016/05/25 07:22:39
Done.
|
| +} |
| + |
| // Check that ServiceWorker script requests set a "Service-Worker: script" |
| // header. |
| IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |