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 5a1100d1624cd2d0601b91d9ee2dc858b11c4a82..db61d079289b8e8fea86000d111b90f1db043ac7 100644 |
--- a/content/browser/service_worker/service_worker_browsertest.cc |
+++ b/content/browser/service_worker/service_worker_browsertest.cc |
@@ -497,16 +497,6 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest { |
ASSERT_EQ(SERVICE_WORKER_OK, fetch_result.status); |
} |
- void FetchTestHelper( |
- const std::string& worker_url, |
- ServiceWorkerFetchEventResult* result, |
- ServiceWorkerResponse* response, |
- std::unique_ptr<storage::BlobDataHandle>* blob_data_handle) { |
- RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, |
- base::Unretained(this), worker_url)); |
- FetchOnRegisteredWorker(result, response, blob_data_handle); |
- } |
- |
void SetUpRegistrationOnIOThread(const std::string& worker_url) { |
ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
const GURL pattern = embedded_test_server()->GetURL("/service_worker/"); |
@@ -559,6 +549,7 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest { |
registration_.get(), embedded_test_server()->GetURL(worker_url), |
wrapper()->context()->storage()->NewVersionId(), |
wrapper()->context()->AsWeakPtr())); |
+ waiting_version->set_has_fetch_handler(true); |
waiting_version->SetStatus(ServiceWorkerVersion::INSTALLED); |
registration_->SetWaitingVersion(waiting_version.get()); |
registration_->ActivateWaitingVersionWhenReady(); |
@@ -705,6 +696,7 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest { |
void ActivateOnIOThread(const base::Closure& done, |
ServiceWorkerStatusCode* result) { |
ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
+ version_->set_has_fetch_handler(true); |
version_->SetStatus(ServiceWorkerVersion::ACTIVATING); |
registration_->SetActiveVersion(version_.get()); |
version_->RunAfterStartWorker( |
@@ -828,6 +820,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ReadResourceFailure) { |
RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, |
base::Unretained(this), |
"/service_worker/worker.js")); |
+ version_->set_has_fetch_handler(true); |
version_->SetStatus(ServiceWorkerVersion::ACTIVATED); |
// Add a non-existent resource to the version. |
@@ -914,13 +907,13 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
InstallWithFetchHandler) { |
InstallTestHelper("/service_worker/fetch_event.js", SERVICE_WORKER_OK); |
shimazu
2016/08/18 04:47:03
How about adding EXPECT_EQ(base::nullopt, version_
horo
2016/08/18 08:03:27
Done by using tri-state enum.
|
- EXPECT_TRUE(version_->has_fetch_handler()); |
+ EXPECT_TRUE(version_->has_fetch_handler().value()); |
} |
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
InstallWithoutFetchHandler) { |
InstallTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK); |
- EXPECT_FALSE(version_->has_fetch_handler()); |
+ EXPECT_FALSE(version_->has_fetch_handler().value()); |
} |
// Check that ServiceWorker script requests set a "Service-Worker: script" |
@@ -1070,8 +1063,9 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Response) { |
ServiceWorkerFetchEventResult result; |
ServiceWorkerResponse response; |
std::unique_ptr<storage::BlobDataHandle> blob_data_handle; |
- FetchTestHelper("/service_worker/fetch_event.js", |
- &result, &response, &blob_data_handle); |
+ ActivateTestHelper("/service_worker/fetch_event.js", SERVICE_WORKER_OK); |
+ |
+ FetchOnRegisteredWorker(&result, &response, &blob_data_handle); |
ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); |
EXPECT_EQ(301, response.status_code); |
EXPECT_EQ("Moved Permanently", response.status_text); |
@@ -1094,10 +1088,8 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
ServiceWorkerResponse response2; |
std::unique_ptr<storage::BlobDataHandle> blob_data_handle; |
const base::Time start_time(base::Time::Now()); |
- |
- RunOnIOThread( |
- base::Bind(&self::SetUpRegistrationOnIOThread, base::Unretained(this), |
- "/service_worker/fetch_event_response_via_cache.js")); |
+ ActivateTestHelper("/service_worker/fetch_event_response_via_cache.js", |
+ SERVICE_WORKER_OK); |
FetchOnRegisteredWorker(&result, &response1, &blob_data_handle); |
ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); |
@@ -1121,10 +1113,8 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
ServiceWorkerFetchEventResult result; |
ServiceWorkerResponse response; |
std::unique_ptr<storage::BlobDataHandle> blob_data_handle; |
- |
- RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, |
- base::Unretained(this), |
- "/service_worker/fetch_event_rejected.js")); |
+ ActivateTestHelper("/service_worker/fetch_event_rejected.js", |
+ SERVICE_WORKER_OK); |
ConsoleListener console_listener; |
RunOnIOThread(base::Bind(&EmbeddedWorkerInstance::AddListener, |