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..919352d86e981ccd9592cfa2381693cb428ea40f 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,8 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest { |
registration_.get(), embedded_test_server()->GetURL(worker_url), |
wrapper()->context()->storage()->NewVersionId(), |
wrapper()->context()->AsWeakPtr())); |
+ waiting_version->set_fetch_handler_existence( |
+ ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
waiting_version->SetStatus(ServiceWorkerVersion::INSTALLED); |
registration_->SetWaitingVersion(waiting_version.get()); |
registration_->ActivateWaitingVersionWhenReady(); |
@@ -680,7 +672,10 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest { |
bool has_fetch_handler) { |
version_->FinishRequest( |
request_id, result == blink::WebServiceWorkerEventResultCompleted); |
- version_->set_has_fetch_handler(has_fetch_handler); |
+ version_->set_fetch_handler_existence( |
+ has_fetch_handler |
+ ? ServiceWorkerVersion::FetchHandlerExistence::EXISTS |
+ : ServiceWorkerVersion::FetchHandlerExistence::DOES_NOT_EXIST); |
ServiceWorkerStatusCode status = SERVICE_WORKER_OK; |
if (result == blink::WebServiceWorkerEventResultRejected) |
@@ -705,6 +700,8 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest { |
void ActivateOnIOThread(const base::Closure& done, |
ServiceWorkerStatusCode* result) { |
ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
+ version_->set_fetch_handler_existence( |
+ ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
version_->SetStatus(ServiceWorkerVersion::ACTIVATING); |
registration_->SetActiveVersion(version_.get()); |
version_->RunAfterStartWorker( |
@@ -828,6 +825,8 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ReadResourceFailure) { |
RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, |
base::Unretained(this), |
"/service_worker/worker.js")); |
+ version_->set_fetch_handler_existence( |
+ ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
version_->SetStatus(ServiceWorkerVersion::ACTIVATED); |
// Add a non-existent resource to the version. |
@@ -914,13 +913,15 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
InstallWithFetchHandler) { |
InstallTestHelper("/service_worker/fetch_event.js", SERVICE_WORKER_OK); |
- EXPECT_TRUE(version_->has_fetch_handler()); |
+ EXPECT_EQ(ServiceWorkerVersion::FetchHandlerExistence::EXISTS, |
+ version_->fetch_handler_existence()); |
} |
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, |
InstallWithoutFetchHandler) { |
InstallTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK); |
- EXPECT_FALSE(version_->has_fetch_handler()); |
+ EXPECT_EQ(ServiceWorkerVersion::FetchHandlerExistence::DOES_NOT_EXIST, |
+ version_->fetch_handler_existence()); |
} |
// Check that ServiceWorker script requests set a "Service-Worker: script" |
@@ -1070,8 +1071,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 +1096,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 +1121,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, |