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 a23481be5409daf8ff2abb0edb940307dd9b4e52..dc0dfee4fb0c1bb930c74140bc5f4592037dd933 100644 |
--- a/content/browser/service_worker/service_worker_browsertest.cc |
+++ b/content/browser/service_worker/service_worker_browsertest.cc |
@@ -237,6 +237,19 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest { |
-1, CreateReceiver(BrowserThread::UI, done, result)); |
} |
+ void FetchOnIOThread(const base::Closure& done, |
+ ServiceWorkerStatusCode* result) { |
nhiroki
2014/02/14 09:03:21
ditto.
falken
2014/02/19 05:32:19
Done.
|
+ ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
+ ServiceWorkerFetchRequest request( |
+ embedded_test_server()->GetURL("/service_worker/empty.html"), |
+ "GET", |
+ std::map<std::string, std::string>()); |
+ // TODO(falken): Actually receive and test the ServiceWorkerFetchResponse. |
+ version_->DispatchFetchEvent( |
+ request, CreateReceiver(BrowserThread::UI, done, result)); |
+ } |
+ |
+ |
void StopOnIOThread(const base::Closure& done, |
ServiceWorkerStatusCode* result) { |
ASSERT_TRUE(version_); |
@@ -325,4 +338,18 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
InstallTestHelper("/service_worker/worker_install_rejected.js"); |
} |
+IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Fetch) { |
+ RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, this, |
+ "/service_worker/worker.js")); |
+ |
+ ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED; |
+ base::RunLoop fetch_run_loop; |
+ BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, |
+ base::Bind(&self::FetchOnIOThread, this, |
+ fetch_run_loop.QuitClosure(), |
+ &status)); |
+ fetch_run_loop.Run(); |
+ ASSERT_EQ(SERVICE_WORKER_OK, status); |
+} |
+ |
} // namespace content |