Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1421)

Unified Diff: content/browser/service_worker/service_worker_browsertest.cc

Issue 2251633002: Use tri-state enum for the existence of Fetch Handler in ServiceWorkerVersion. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_controllee_request_handler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_controllee_request_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698