| 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 1b64818a7cf91ff2eab0069bb8249f198780ebf1..81f329693da82b7d60e2d2fc8ddb575f8e240f87 100644
|
| --- a/content/browser/service_worker/service_worker_browsertest.cc
|
| +++ b/content/browser/service_worker/service_worker_browsertest.cc
|
| @@ -194,6 +194,31 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest {
|
| }
|
| }
|
|
|
| + void InstallTestHelper(const std::string& worker_url) {
|
| + RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, this,
|
| + worker_url));
|
| +
|
| + // Dispatch install on a worker.
|
| + ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
|
| + base::RunLoop install_run_loop;
|
| + BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
|
| + base::Bind(&self::InstallOnIOThread, this,
|
| + install_run_loop.QuitClosure(),
|
| + &status));
|
| + install_run_loop.Run();
|
| + ASSERT_EQ(SERVICE_WORKER_OK, status);
|
| +
|
| + // Stop the worker.
|
| + status = SERVICE_WORKER_ERROR_FAILED;
|
| + base::RunLoop stop_run_loop;
|
| + BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
|
| + base::Bind(&self::StopOnIOThread, this,
|
| + stop_run_loop.QuitClosure(),
|
| + &status));
|
| + stop_run_loop.Run();
|
| + ASSERT_EQ(SERVICE_WORKER_OK, status);
|
| + }
|
| +
|
| void SetUpRegistrationOnIOThread(const std::string& worker_url) {
|
| const int64 version_id = 1L;
|
| registration_ = new ServiceWorkerRegistration(
|
| @@ -293,28 +318,19 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartNotFound) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Install) {
|
| - RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, this,
|
| - "/service_worker/worker.js"));
|
| + InstallTestHelper("/service_worker/worker.js");
|
| +}
|
|
|
| - // Dispatch install on a worker.
|
| - ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
|
| - base::RunLoop install_run_loop;
|
| - BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
|
| - base::Bind(&self::InstallOnIOThread, this,
|
| - install_run_loop.QuitClosure(),
|
| - &status));
|
| - install_run_loop.Run();
|
| - ASSERT_EQ(SERVICE_WORKER_OK, status);
|
| +IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
|
| + InstallWithWaitUntil_Fulfilled) {
|
| + InstallTestHelper("/service_worker/worker_install_fulfilled.js");
|
| +}
|
|
|
| - // Stop the worker.
|
| - status = SERVICE_WORKER_ERROR_FAILED;
|
| - base::RunLoop stop_run_loop;
|
| - BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
|
| - base::Bind(&self::StopOnIOThread, this,
|
| - stop_run_loop.QuitClosure(),
|
| - &status));
|
| - stop_run_loop.Run();
|
| - ASSERT_EQ(SERVICE_WORKER_OK, status);
|
| +IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
|
| + InstallWithWaitUntil_Rejected) {
|
| + // TODO(kinuko): This should also report back an error, but we
|
| + // don't have plumbing for it yet.
|
| + InstallTestHelper("/service_worker/worker_install_rejected.js");
|
| }
|
|
|
| } // namespace content
|
|
|