Commit 7bfff78e authored by Kenichi Ishibashi's avatar Kenichi Ishibashi Committed by Commit Bot

service worker: Run some browser_tests with disabling OTMT fetch

To have better test coverage until we fully ship
off-the-main-thread script fetch.

Bug: 967272

Change-Id: I688a8772cb54bbbcedab9a27a332f09bb067b1c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1674984
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: default avatarHiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#672793}
parent 17ad40a9
...@@ -460,10 +460,19 @@ const char kNavigationPreloadNetworkError[] = ...@@ -460,10 +460,19 @@ const char kNavigationPreloadNetworkError[] =
} // namespace } // namespace
class ServiceWorkerBrowserTest : public ContentBrowserTest { class ServiceWorkerBrowserTest : public ContentBrowserTest,
public testing::WithParamInterface<bool> {
protected: protected:
using self = ServiceWorkerBrowserTest; using self = ServiceWorkerBrowserTest;
void SetUp() override {
if (ShouldDisableOffMainScriptFetch()) {
feature_list_.InitAndDisableFeature(
blink::features::kOffMainThreadServiceWorkerScriptFetch);
}
ContentBrowserTest::SetUp();
}
void SetUpOnMainThread() override { void SetUpOnMainThread() override {
ASSERT_TRUE(embedded_test_server()->InitializeAndListen()); ASSERT_TRUE(embedded_test_server()->InitializeAndListen());
StoragePartition* partition = BrowserContext::GetDefaultStoragePartition( StoragePartition* partition = BrowserContext::GetDefaultStoragePartition(
...@@ -501,7 +510,11 @@ class ServiceWorkerBrowserTest : public ContentBrowserTest { ...@@ -501,7 +510,11 @@ class ServiceWorkerBrowserTest : public ContentBrowserTest {
ServiceWorkerContextWrapper* wrapper() { return wrapper_.get(); } ServiceWorkerContextWrapper* wrapper() { return wrapper_.get(); }
ServiceWorkerContext* public_context() { return wrapper(); } ServiceWorkerContext* public_context() { return wrapper(); }
base::test::ScopedFeatureList feature_list_;
private: private:
bool ShouldDisableOffMainScriptFetch() { return GetParam(); }
scoped_refptr<ServiceWorkerContextWrapper> wrapper_; scoped_refptr<ServiceWorkerContextWrapper> wrapper_;
}; };
...@@ -1057,7 +1070,7 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest { ...@@ -1057,7 +1070,7 @@ class ServiceWorkerVersionBrowserTest : public ServiceWorkerBrowserTest {
std::vector<ServiceWorkerRemoteProviderEndpoint> remote_endpoints_; std::vector<ServiceWorkerRemoteProviderEndpoint> remote_endpoints_;
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartAndStop) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, StartAndStop) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread, RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread,
base::Unretained(this), base::Unretained(this),
...@@ -1084,7 +1097,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartAndStop) { ...@@ -1084,7 +1097,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartAndStop) {
// TODO(lunalu): remove this test when blink side use counter is removed // TODO(lunalu): remove this test when blink side use counter is removed
// (crbug.com/811948). // (crbug.com/811948).
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
DropCountsOnBlinkUseCounter) { DropCountsOnBlinkUseCounter) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread, RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread,
...@@ -1116,7 +1129,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1116,7 +1129,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
"Blink.UseCounter.Features")); "Blink.UseCounter.Features"));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartNotFound) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, StartNotFound) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread, RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread,
base::Unretained(this), base::Unretained(this),
...@@ -1126,7 +1139,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartNotFound) { ...@@ -1126,7 +1139,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartNotFound) {
StartWorker(blink::ServiceWorkerStatusCode::kErrorNetwork); StartWorker(blink::ServiceWorkerStatusCode::kErrorNetwork);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ReadResourceFailure) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, ReadResourceFailure) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
// Create a registration with an active version. // Create a registration with an active version.
...@@ -1159,7 +1172,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ReadResourceFailure) { ...@@ -1159,7 +1172,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ReadResourceFailure) {
EXPECT_TRUE(registration_->is_uninstalled()); EXPECT_TRUE(registration_->is_uninstalled());
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
ReadResourceFailure_WaitingWorker) { ReadResourceFailure_WaitingWorker) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
// Create a registration and active version. // Create a registration and active version.
...@@ -1205,20 +1218,20 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1205,20 +1218,20 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
EXPECT_TRUE(registration_->is_uninstalled()); EXPECT_TRUE(registration_->is_uninstalled());
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Install) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, Install) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
InstallTestHelper("/service_worker/worker.js", InstallTestHelper("/service_worker/worker.js",
blink::ServiceWorkerStatusCode::kOk); blink::ServiceWorkerStatusCode::kOk);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
InstallWithWaitUntil_Fulfilled) { InstallWithWaitUntil_Fulfilled) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
InstallTestHelper("/service_worker/worker_install_fulfilled.js", InstallTestHelper("/service_worker/worker_install_fulfilled.js",
blink::ServiceWorkerStatusCode::kOk); blink::ServiceWorkerStatusCode::kOk);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
InstallWithFetchHandler) { InstallWithFetchHandler) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
InstallTestHelper("/service_worker/fetch_event.js", InstallTestHelper("/service_worker/fetch_event.js",
...@@ -1227,7 +1240,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1227,7 +1240,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
version_->fetch_handler_existence()); version_->fetch_handler_existence());
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
InstallWithoutFetchHandler) { InstallWithoutFetchHandler) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
InstallTestHelper("/service_worker/worker.js", InstallTestHelper("/service_worker/worker.js",
...@@ -1238,7 +1251,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1238,7 +1251,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
// Check that ServiceWorker script requests set a "Service-Worker: script" // Check that ServiceWorker script requests set a "Service-Worker: script"
// header. // header.
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
ServiceWorkerScriptHeader) { ServiceWorkerScriptHeader) {
embedded_test_server()->RegisterRequestHandler( embedded_test_server()->RegisterRequestHandler(
base::BindRepeating(&VerifyServiceWorkerHeaderInRequest)); base::BindRepeating(&VerifyServiceWorkerHeaderInRequest));
...@@ -1247,7 +1260,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1247,7 +1260,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
blink::ServiceWorkerStatusCode::kOk); blink::ServiceWorkerStatusCode::kOk);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
Activate_NoEventListener) { Activate_NoEventListener) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
InstallTestHelper("/service_worker/worker.js", InstallTestHelper("/service_worker/worker.js",
...@@ -1256,7 +1269,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1256,7 +1269,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
ASSERT_EQ(ServiceWorkerVersion::ACTIVATING, version_->status()); ASSERT_EQ(ServiceWorkerVersion::ACTIVATING, version_->status());
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Activate_Rejected) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, Activate_Rejected) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
InstallTestHelper("/service_worker/worker_activate_rejected.js", InstallTestHelper("/service_worker/worker_activate_rejected.js",
blink::ServiceWorkerStatusCode::kOk); blink::ServiceWorkerStatusCode::kOk);
...@@ -1264,7 +1277,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Activate_Rejected) { ...@@ -1264,7 +1277,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Activate_Rejected) {
blink::ServiceWorkerStatusCode::kErrorEventWaitUntilRejected); blink::ServiceWorkerStatusCode::kErrorEventWaitUntilRejected);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
InstallWithWaitUntil_Rejected) { InstallWithWaitUntil_Rejected) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
InstallTestHelper( InstallTestHelper(
...@@ -1272,7 +1285,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1272,7 +1285,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
blink::ServiceWorkerStatusCode::kErrorEventWaitUntilRejected); blink::ServiceWorkerStatusCode::kErrorEventWaitUntilRejected);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
InstallWithWaitUntil_RejectConsoleMessage) { InstallWithWaitUntil_RejectConsoleMessage) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread, RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread,
...@@ -1306,7 +1319,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1306,7 +1319,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
} }
// Tests starting an installed classic service worker while offline. // Tests starting an installed classic service worker while offline.
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
StartInstalledClassicScriptWhileOffline) { StartInstalledClassicScriptWhileOffline) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
...@@ -1325,7 +1338,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1325,7 +1338,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
} }
// Tests starting an installed module service worker while offline. // Tests starting an installed module service worker while offline.
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
StartInstalledModuleScriptWhileOffline) { StartInstalledModuleScriptWhileOffline) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
...@@ -1357,7 +1370,7 @@ class WaitForLoaded : public EmbeddedWorkerInstance::Listener { ...@@ -1357,7 +1370,7 @@ class WaitForLoaded : public EmbeddedWorkerInstance::Listener {
base::OnceClosure quit_; base::OnceClosure quit_;
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, TimeoutStartingWorker) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, TimeoutStartingWorker) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread, RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread,
base::Unretained(this), base::Unretained(this),
...@@ -1394,7 +1407,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, TimeoutStartingWorker) { ...@@ -1394,7 +1407,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, TimeoutStartingWorker) {
EXPECT_EQ(blink::ServiceWorkerStatusCode::kErrorTimeout, status.value()); EXPECT_EQ(blink::ServiceWorkerStatusCode::kErrorTimeout, status.value());
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, TimeoutWorkerInEvent) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, TimeoutWorkerInEvent) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
RunOnIOThread( RunOnIOThread(
base::BindOnce(&self::SetUpRegistrationOnIOThread, base::Unretained(this), base::BindOnce(&self::SetUpRegistrationOnIOThread, base::Unretained(this),
...@@ -1430,7 +1443,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, TimeoutWorkerInEvent) { ...@@ -1430,7 +1443,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, TimeoutWorkerInEvent) {
status.value()); status.value());
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Response) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, FetchEvent_Response) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
ServiceWorkerFetchDispatcher::FetchEventResult result; ServiceWorkerFetchDispatcher::FetchEventResult result;
blink::mojom::FetchAPIResponsePtr response; blink::mojom::FetchAPIResponsePtr response;
...@@ -1461,7 +1474,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Response) { ...@@ -1461,7 +1474,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Response) {
} }
// Tests for response type when a service worker does respondWith(fetch()). // Tests for response type when a service worker does respondWith(fetch()).
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
FetchEvent_ResponseNetwork) { FetchEvent_ResponseNetwork) {
const char* kPath = "/service_worker/http_cache.html"; const char* kPath = "/service_worker/http_cache.html";
...@@ -1493,7 +1506,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1493,7 +1506,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
response2->response_source); response2->response_source);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
FetchEvent_ResponseViaCache) { FetchEvent_ResponseViaCache) {
const char* kPath = "/service_worker/empty.html"; const char* kPath = "/service_worker/empty.html";
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
...@@ -1525,7 +1538,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1525,7 +1538,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
response2->response_source); response2->response_source);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
FetchEvent_respondWithRejection) { FetchEvent_respondWithRejection) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
ServiceWorkerFetchDispatcher::FetchEventResult result; ServiceWorkerFetchDispatcher::FetchEventResult result;
...@@ -1568,7 +1581,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1568,7 +1581,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
// clock being reasonable during the test. So it might break on daylight savings // clock being reasonable during the test. So it might break on daylight savings
// leap or something: // leap or something:
// https://groups.google.com/a/chromium.org/d/msg/chromium-dev/C3EvKPrb0XM/4Jv02SpNYncJ // https://groups.google.com/a/chromium.org/d/msg/chromium-dev/C3EvKPrb0XM/4Jv02SpNYncJ
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
UpdateBypassesCacheAfter24Hours) { UpdateBypassesCacheAfter24Hours) {
const char kScope[] = "/service_worker/handle_fetch.html"; const char kScope[] = "/service_worker/handle_fetch.html";
const char kWorkerUrl[] = "/service_worker/update_worker.js"; const char kWorkerUrl[] = "/service_worker/update_worker.js";
...@@ -1668,7 +1681,7 @@ class MockContentBrowserClient : public TestContentBrowserClient { ...@@ -1668,7 +1681,7 @@ class MockContentBrowserClient : public TestContentBrowserClient {
bool data_saver_enabled_; bool data_saver_enabled_;
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchWithSaveData) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, FetchWithSaveData) {
embedded_test_server()->RegisterRequestHandler( embedded_test_server()->RegisterRequestHandler(
base::BindRepeating(&VerifySaveDataHeaderInRequest)); base::BindRepeating(&VerifySaveDataHeaderInRequest));
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
...@@ -1682,7 +1695,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchWithSaveData) { ...@@ -1682,7 +1695,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchWithSaveData) {
SetBrowserClientForTesting(old_client); SetBrowserClientForTesting(old_client);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest,
RequestWorkerScriptWithSaveData) { RequestWorkerScriptWithSaveData) {
embedded_test_server()->RegisterRequestHandler( embedded_test_server()->RegisterRequestHandler(
base::BindRepeating(&VerifySaveDataHeaderInRequest)); base::BindRepeating(&VerifySaveDataHeaderInRequest));
...@@ -1697,7 +1710,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ...@@ -1697,7 +1710,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
SetBrowserClientForTesting(old_client); SetBrowserClientForTesting(old_client);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchWithoutSaveData) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, FetchWithoutSaveData) {
embedded_test_server()->RegisterRequestHandler( embedded_test_server()->RegisterRequestHandler(
base::BindRepeating(&VerifySaveDataHeaderNotInRequest)); base::BindRepeating(&VerifySaveDataHeaderNotInRequest));
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
...@@ -1712,7 +1725,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchWithoutSaveData) { ...@@ -1712,7 +1725,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchWithoutSaveData) {
// Tests the |top_frame_origin| and |request_initiator| on the main resource and // Tests the |top_frame_origin| and |request_initiator| on the main resource and
// subresource requests from service workers, in order to ensure proper handling // subresource requests from service workers, in order to ensure proper handling
// by the SplitCache. See https://crbug.com/918868. // by the SplitCache. See https://crbug.com/918868.
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, RequestOrigin) { IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, RequestOrigin) {
embedded_test_server()->StartAcceptingConnections(); embedded_test_server()->StartAcceptingConnections();
// To make things tricky about |top_frame_origin|, this test navigates to a // To make things tricky about |top_frame_origin|, this test navigates to a
...@@ -1767,7 +1780,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, RequestOrigin) { ...@@ -1767,7 +1780,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, RequestOrigin) {
request_origin_expectation_waiter.Run(); request_origin_expectation_waiter.Run();
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, FetchPageWithSaveData) { IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, FetchPageWithSaveData) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
const char kPageUrl[] = "/service_worker/handle_fetch.html"; const char kPageUrl[] = "/service_worker/handle_fetch.html";
const char kWorkerUrl[] = "/service_worker/add_save_data_to_title.js"; const char kWorkerUrl[] = "/service_worker/add_save_data_to_title.js";
...@@ -1806,7 +1819,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, FetchPageWithSaveData) { ...@@ -1806,7 +1819,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, FetchPageWithSaveData) {
// Tests that when data saver is enabled and a cross-origin fetch by a webpage // Tests that when data saver is enabled and a cross-origin fetch by a webpage
// is intercepted by a serviceworker, and the serviceworker does a fetch, the // is intercepted by a serviceworker, and the serviceworker does a fetch, the
// preflight request does not have save-data in Access-Control-Request-Headers. // preflight request does not have save-data in Access-Control-Request-Headers.
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, CrossOriginFetchWithSaveData) { IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, CrossOriginFetchWithSaveData) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
const char kPageUrl[] = "/service_worker/fetch_cross_origin.html"; const char kPageUrl[] = "/service_worker/fetch_cross_origin.html";
const char kWorkerUrl[] = "/service_worker/fetch_event_pass_through.js"; const char kWorkerUrl[] = "/service_worker/fetch_event_pass_through.js";
...@@ -1853,7 +1866,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, CrossOriginFetchWithSaveData) { ...@@ -1853,7 +1866,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, CrossOriginFetchWithSaveData) {
run_loop.Run(); run_loop.Run();
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest,
FetchPageWithSaveDataPassThroughOnFetch) { FetchPageWithSaveDataPassThroughOnFetch) {
const char kPageUrl[] = "/service_worker/pass_through_fetch.html"; const char kPageUrl[] = "/service_worker/pass_through_fetch.html";
const char kWorkerUrl[] = "/service_worker/fetch_event_pass_through.js"; const char kWorkerUrl[] = "/service_worker/fetch_event_pass_through.js";
...@@ -1892,7 +1905,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, ...@@ -1892,7 +1905,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
run_loop.Run(); run_loop.Run();
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, Reload) { IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, Reload) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
const char kPageUrl[] = "/service_worker/reload.html"; const char kPageUrl[] = "/service_worker/reload.html";
const char kWorkerUrl[] = "/service_worker/fetch_event_reload.js"; const char kWorkerUrl[] = "/service_worker/fetch_event_reload.js";
...@@ -1932,7 +1945,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, Reload) { ...@@ -1932,7 +1945,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, Reload) {
// renderer should continue processing events on the service worker instead of // renderer should continue processing events on the service worker instead of
// waiting for termination or an event from the browser. Regression test for // waiting for termination or an event from the browser. Regression test for
// https://crbug.com/878667. // https://crbug.com/878667.
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, IdleTimerWithDevTools) { IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, IdleTimerWithDevTools) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
// Register a service worker. // Register a service worker.
...@@ -2238,7 +2251,7 @@ const std::string ...@@ -2238,7 +2251,7 @@ const std::string
" result => event.source.postMessage(result)));\n" " result => event.source.postMessage(result)));\n"
" });"; " });";
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, NetworkFallback) { IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest, NetworkFallback) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
const char kPage[] = "<title>PASS</title>Hello world."; const char kPage[] = "<title>PASS</title>Hello world.";
...@@ -2277,7 +2290,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, NetworkFallback) { ...@@ -2277,7 +2290,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, NetworkFallback) {
EXPECT_GT(fallback_count, 0); EXPECT_GT(fallback_count, 0);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, SetHeaderValue) { IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest, SetHeaderValue) {
const std::string kPageUrl = "/service_worker/navigation_preload.html"; const std::string kPageUrl = "/service_worker/navigation_preload.html";
const std::string kWorkerUrl = "/service_worker/navigation_preload.js"; const std::string kWorkerUrl = "/service_worker/navigation_preload.js";
const std::string kPage = "<title>FROM_SERVER</title>"; const std::string kPage = "<title>FROM_SERVER</title>";
...@@ -2362,7 +2375,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, SetHeaderValue) { ...@@ -2362,7 +2375,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, SetHeaderValue) {
ASSERT_EQ(0, GetRequestCount(kPageUrl4)); ASSERT_EQ(0, GetRequestCount(kPageUrl4));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest,
RespondWithNavigationPreload) { RespondWithNavigationPreload) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
...@@ -2393,7 +2406,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, ...@@ -2393,7 +2406,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
request_log_[kPageUrl][0].headers[kNavigationPreloadHeaderName]); request_log_[kPageUrl][0].headers[kNavigationPreloadHeaderName]);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, GetResponseText) { IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest, GetResponseText) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
const char kPage[] = "<title>PASS</title>Hello world."; const char kPage[] = "<title>PASS</title>Hello world.";
...@@ -2421,7 +2434,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, GetResponseText) { ...@@ -2421,7 +2434,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, GetResponseText) {
EXPECT_EQ(1, GetRequestCount(kPageUrl)); EXPECT_EQ(1, GetRequestCount(kPageUrl));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest,
GetLargeResponseText) { GetLargeResponseText) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
...@@ -2458,7 +2471,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, ...@@ -2458,7 +2471,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
EXPECT_EQ(1, GetRequestCount(kPageUrl)); EXPECT_EQ(1, GetRequestCount(kPageUrl));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest,
GetLargeResponseCloneText) { GetLargeResponseCloneText) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
...@@ -2496,7 +2509,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, ...@@ -2496,7 +2509,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
EXPECT_EQ(1, GetRequestCount(kPageUrl)); EXPECT_EQ(1, GetRequestCount(kPageUrl));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest,
GetLargeResponseReadableStream) { GetLargeResponseReadableStream) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
...@@ -2545,7 +2558,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, ...@@ -2545,7 +2558,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
EXPECT_EQ(1, GetRequestCount(kPageUrl)); EXPECT_EQ(1, GetRequestCount(kPageUrl));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, NetworkError) { IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest, NetworkError) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
const GURL page_url = embedded_test_server()->GetURL(kPageUrl); const GURL page_url = embedded_test_server()->GetURL(kPageUrl);
...@@ -2578,7 +2591,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, NetworkError) { ...@@ -2578,7 +2591,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, NetworkError) {
EXPECT_NE(base::string16::npos, messages[0].find(expected)); EXPECT_NE(base::string16::npos, messages[0].find(expected));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest,
PreloadHeadersSimple) { PreloadHeadersSimple) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
...@@ -2608,7 +2621,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, ...@@ -2608,7 +2621,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
base::NumberToString(sizeof(kPage) - 1))); base::NumberToString(sizeof(kPage) - 1)));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, NotEnabled) { IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest, NotEnabled) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
const char kPage[] = "<title>ERROR</title>Hello world."; const char kPage[] = "<title>ERROR</title>Hello world.";
...@@ -2625,7 +2638,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, NotEnabled) { ...@@ -2625,7 +2638,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, NotEnabled) {
EXPECT_EQ(0, GetRequestCount(kPageUrl)); EXPECT_EQ(0, GetRequestCount(kPageUrl));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest,
PreloadHeadersCustom) { PreloadHeadersCustom) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
...@@ -2668,7 +2681,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, ...@@ -2668,7 +2681,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
EXPECT_FALSE(HasHeader(*dict, "set-cookie2")); EXPECT_FALSE(HasHeader(*dict, "set-cookie2"));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest,
InvalidRedirect_MultiLocation) { InvalidRedirect_MultiLocation) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
...@@ -2715,7 +2728,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, ...@@ -2715,7 +2728,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
EXPECT_EQ(0, GetRequestCount(kRedirectedPageUrl2)); EXPECT_EQ(0, GetRequestCount(kRedirectedPageUrl2));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest,
InvalidRedirect_InvalidLocation) { InvalidRedirect_InvalidLocation) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
...@@ -2745,7 +2758,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, ...@@ -2745,7 +2758,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
// Tests responding with the navigation preload response when the navigation // Tests responding with the navigation preload response when the navigation
// occurred after a redirect. // occurred after a redirect.
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerNavigationPreloadTest,
RedirectAndRespondWithNavigationPreload) { RedirectAndRespondWithNavigationPreload) {
const std::string kPageUrl = "/service_worker/navigation_preload.html"; const std::string kPageUrl = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
...@@ -2810,7 +2823,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, ...@@ -2810,7 +2823,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
EXPECT_EQ(1, GetRequestCount(kPageUrl + "?3")); EXPECT_EQ(1, GetRequestCount(kPageUrl + "?3"));
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest,
ResponseFromHTTPSServiceWorkerIsMarkedAsSecure) { ResponseFromHTTPSServiceWorkerIsMarkedAsSecure) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; const char kPageUrl[] = "/service_worker/fetch_event_blob.html";
...@@ -2852,7 +2865,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, ...@@ -2852,7 +2865,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
run_loop.Run(); run_loop.Run();
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest,
ResponseFromHTTPServiceWorkerIsNotMarkedAsSecure) { ResponseFromHTTPServiceWorkerIsNotMarkedAsSecure) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; const char kPageUrl[] = "/service_worker/fetch_event_blob.html";
...@@ -2889,7 +2902,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, ...@@ -2889,7 +2902,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
run_loop.Run(); run_loop.Run();
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, ImportsBustMemcache) { IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, ImportsBustMemcache) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
const char kScopeUrl[] = "/service_worker/imports_bust_memcache_scope/"; const char kScopeUrl[] = "/service_worker/imports_bust_memcache_scope/";
const char kPageUrl[] = "/service_worker/imports_bust_memcache.html"; const char kPageUrl[] = "/service_worker/imports_bust_memcache.html";
...@@ -2946,7 +2959,7 @@ class WorkerRunningStatusObserver : public ServiceWorkerContextObserver { ...@@ -2946,7 +2959,7 @@ class WorkerRunningStatusObserver : public ServiceWorkerContextObserver {
int64_t version_id_ = blink::mojom::kInvalidServiceWorkerVersionId; int64_t version_id_ = blink::mojom::kInvalidServiceWorkerVersionId;
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest,
GetAllServiceWorkerRunningInfos) { GetAllServiceWorkerRunningInfos) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
WorkerRunningStatusObserver observer(public_context()); WorkerRunningStatusObserver observer(public_context());
...@@ -2969,7 +2982,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, ...@@ -2969,7 +2982,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
infos[0].process_id); infos[0].process_id);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, GetServiceWorkerRunningInfo) { IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, GetServiceWorkerRunningInfo) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
WorkerRunningStatusObserver observer(public_context()); WorkerRunningStatusObserver observer(public_context());
EXPECT_TRUE(NavigateToURL(shell(), EXPECT_TRUE(NavigateToURL(shell(),
...@@ -3010,7 +3023,7 @@ class StopObserver : public ServiceWorkerVersion::Observer { ...@@ -3010,7 +3023,7 @@ class StopObserver : public ServiceWorkerVersion::Observer {
base::OnceClosure quit_closure_; base::OnceClosure quit_closure_;
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, RendererCrash) { IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, RendererCrash) {
// Start a worker. // Start a worker.
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread, RunOnIOThread(base::BindOnce(&self::SetUpRegistrationOnIOThread,
...@@ -3066,7 +3079,7 @@ static int CountRenderProcessHosts() { ...@@ -3066,7 +3079,7 @@ static int CountRenderProcessHosts() {
return RenderProcessHost::GetCurrentRenderProcessCountForTesting(); return RenderProcessHost::GetCurrentRenderProcessCountForTesting();
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerBlackBoxBrowserTest, Registration) { IN_PROC_BROWSER_TEST_P(ServiceWorkerBlackBoxBrowserTest, Registration) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
// Close the only window to be sure we're not re-using its RenderProcessHost. // Close the only window to be sure we're not re-using its RenderProcessHost.
shell()->Close(); shell()->Close();
...@@ -3199,7 +3212,7 @@ class ServiceWorkerVersionBrowserV8FullCodeCacheTest ...@@ -3199,7 +3212,7 @@ class ServiceWorkerVersionBrowserV8FullCodeCacheTest
size_t metadata_size_ = 0; size_t metadata_size_ = 0;
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserV8FullCodeCacheTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserV8FullCodeCacheTest,
FullCode) { FullCode) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
RunOnIOThread(base::BindOnce(&self::SetUpRegistrationAndListenerOnIOThread, RunOnIOThread(base::BindOnce(&self::SetUpRegistrationAndListenerOnIOThread,
...@@ -3383,7 +3396,7 @@ const char ServiceWorkerV8CodeCacheForCacheStorageTest::kWorkerUrl[] = ...@@ -3383,7 +3396,7 @@ const char ServiceWorkerV8CodeCacheForCacheStorageTest::kWorkerUrl[] =
const char ServiceWorkerV8CodeCacheForCacheStorageTest::kScriptUrl[] = const char ServiceWorkerV8CodeCacheForCacheStorageTest::kScriptUrl[] =
"/service_worker/v8_cache_test.js"; "/service_worker/v8_cache_test.js";
IN_PROC_BROWSER_TEST_F(ServiceWorkerV8CodeCacheForCacheStorageTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerV8CodeCacheForCacheStorageTest,
V8CacheOnCacheStorage) { V8CacheOnCacheStorage) {
RegisterAndActivateServiceWorker(); RegisterAndActivateServiceWorker();
...@@ -3411,7 +3424,7 @@ class ServiceWorkerV8CodeCacheForCacheStorageNoneTest ...@@ -3411,7 +3424,7 @@ class ServiceWorkerV8CodeCacheForCacheStorageNoneTest
DISALLOW_COPY_AND_ASSIGN(ServiceWorkerV8CodeCacheForCacheStorageNoneTest); DISALLOW_COPY_AND_ASSIGN(ServiceWorkerV8CodeCacheForCacheStorageNoneTest);
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerV8CodeCacheForCacheStorageNoneTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerV8CodeCacheForCacheStorageNoneTest,
V8CacheOnCacheStorage) { V8CacheOnCacheStorage) {
RegisterAndActivateServiceWorker(); RegisterAndActivateServiceWorker();
...@@ -3490,8 +3503,6 @@ class ServiceWorkerCodeCacheStrategyTestBase : public ServiceWorkerBrowserTest { ...@@ -3490,8 +3503,6 @@ class ServiceWorkerCodeCacheStrategyTestBase : public ServiceWorkerBrowserTest {
} }
} }
base::test::ScopedFeatureList feature_list_;
DISALLOW_COPY_AND_ASSIGN(ServiceWorkerCodeCacheStrategyTestBase); DISALLOW_COPY_AND_ASSIGN(ServiceWorkerCodeCacheStrategyTestBase);
}; };
...@@ -3515,11 +3526,16 @@ class ServiceWorkerCodeCacheStrategyDontGenerateTest ...@@ -3515,11 +3526,16 @@ class ServiceWorkerCodeCacheStrategyDontGenerateTest
feature_list_.InitAndEnableFeatureWithParameters( feature_list_.InitAndEnableFeatureWithParameters(
blink::features::kServiceWorkerAggressiveCodeCache, blink::features::kServiceWorkerAggressiveCodeCache,
{{blink::kServiceWorkerEagerCodeCacheStrategy, "dontgenerate"}}); {{blink::kServiceWorkerEagerCodeCacheStrategy, "dontgenerate"}});
ServiceWorkerCodeCacheStrategyTestBase::SetUp(); // Call ContentBrowserTest::SetUp() to avoid initializing |feature_list_|
// twice.
// TODO(crbug.com/967272): Change this to call
// ServiceWorkerCodeCacheStrategyTestBase::SetUp() once we fully ship
// off-the-main-thread script fetch.
ContentBrowserTest::SetUp();
} }
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerCodeCacheStrategyDontGenerateTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerCodeCacheStrategyDontGenerateTest,
DontGenerate) { DontGenerate) {
NavigateToTestPage(); NavigateToTestPage();
InitiateEventsToCacheScript(); InitiateEventsToCacheScript();
...@@ -3535,11 +3551,16 @@ class ServiceWorkerCodeCacheStrategyInstallEventTest ...@@ -3535,11 +3551,16 @@ class ServiceWorkerCodeCacheStrategyInstallEventTest
feature_list_.InitAndEnableFeatureWithParameters( feature_list_.InitAndEnableFeatureWithParameters(
blink::features::kServiceWorkerAggressiveCodeCache, blink::features::kServiceWorkerAggressiveCodeCache,
{{blink::kServiceWorkerEagerCodeCacheStrategy, "installevent"}}); {{blink::kServiceWorkerEagerCodeCacheStrategy, "installevent"}});
ServiceWorkerCodeCacheStrategyTestBase::SetUp(); // Call ContentBrowserTest::SetUp() to avoid initializing |feature_list_|
// twice.
// TODO(crbug.com/967272): Change this to call
// ServiceWorkerCodeCacheStrategyTestBase::SetUp() once we fully ship
// off-the-main-thread script fetch.
ContentBrowserTest::SetUp();
} }
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerCodeCacheStrategyInstallEventTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerCodeCacheStrategyInstallEventTest,
GenerateInInstallEvent) { GenerateInInstallEvent) {
NavigateToTestPage(); NavigateToTestPage();
InitiateEventsToCacheScript(); InitiateEventsToCacheScript();
...@@ -3555,11 +3576,16 @@ class ServiceWorkerCodeCacheStrategyIdleTaskTest ...@@ -3555,11 +3576,16 @@ class ServiceWorkerCodeCacheStrategyIdleTaskTest
feature_list_.InitAndEnableFeatureWithParameters( feature_list_.InitAndEnableFeatureWithParameters(
blink::features::kServiceWorkerAggressiveCodeCache, blink::features::kServiceWorkerAggressiveCodeCache,
{{blink::kServiceWorkerEagerCodeCacheStrategy, "idletask"}}); {{blink::kServiceWorkerEagerCodeCacheStrategy, "idletask"}});
ServiceWorkerCodeCacheStrategyTestBase::SetUp(); // Call ContentBrowserTest::SetUp() to avoid initializing |feature_list_|
// twice.
// TODO(crbug.com/967272): Change this to call
// ServiceWorkerCodeCacheStrategyTestBase::SetUp() once we fully ship
// off-the-main-thread script fetch.
ContentBrowserTest::SetUp();
} }
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerCodeCacheStrategyIdleTaskTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerCodeCacheStrategyIdleTaskTest,
GenerateInIdleTask) { GenerateInIdleTask) {
NavigateToTestPage(); NavigateToTestPage();
InitiateEventsToCacheScript(); InitiateEventsToCacheScript();
...@@ -3571,7 +3597,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerCodeCacheStrategyIdleTaskTest, ...@@ -3571,7 +3597,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerCodeCacheStrategyIdleTaskTest,
// Test that generating and storing code cache in idle tasks doesn't corrupt // Test that generating and storing code cache in idle tasks doesn't corrupt
// cache entry when Cache#put() is called twice asynchronously. // cache entry when Cache#put() is called twice asynchronously.
IN_PROC_BROWSER_TEST_F(ServiceWorkerCodeCacheStrategyIdleTaskTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerCodeCacheStrategyIdleTaskTest,
CacheScriptTwice) { CacheScriptTwice) {
const char kCachedTwiceUrl[] = const char kCachedTwiceUrl[] =
"/service_worker/code_cache_strategy_test_script.js?cached_twice"; "/service_worker/code_cache_strategy_test_script.js?cached_twice";
...@@ -3639,7 +3665,7 @@ class ServiceWorkerDisableWebSecurityTest : public ServiceWorkerBrowserTest { ...@@ -3639,7 +3665,7 @@ class ServiceWorkerDisableWebSecurityTest : public ServiceWorkerBrowserTest {
DISALLOW_COPY_AND_ASSIGN(ServiceWorkerDisableWebSecurityTest); DISALLOW_COPY_AND_ASSIGN(ServiceWorkerDisableWebSecurityTest);
}; };
IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerDisableWebSecurityTest,
GetRegistrationNoCrash) { GetRegistrationNoCrash) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
const char kPageUrl[] = const char kPageUrl[] =
...@@ -3648,14 +3674,14 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, ...@@ -3648,14 +3674,14 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest,
RunTestWithCrossOriginURL(kPageUrl, kScopeUrl); RunTestWithCrossOriginURL(kPageUrl, kScopeUrl);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, RegisterNoCrash) { IN_PROC_BROWSER_TEST_P(ServiceWorkerDisableWebSecurityTest, RegisterNoCrash) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
const char kPageUrl[] = "/service_worker/disable_web_security_register.html"; const char kPageUrl[] = "/service_worker/disable_web_security_register.html";
const char kScopeUrl[] = "/service_worker/"; const char kScopeUrl[] = "/service_worker/";
RunTestWithCrossOriginURL(kPageUrl, kScopeUrl); RunTestWithCrossOriginURL(kPageUrl, kScopeUrl);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, UnregisterNoCrash) { IN_PROC_BROWSER_TEST_P(ServiceWorkerDisableWebSecurityTest, UnregisterNoCrash) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
const char kPageUrl[] = const char kPageUrl[] =
"/service_worker/disable_web_security_unregister.html"; "/service_worker/disable_web_security_unregister.html";
...@@ -3665,7 +3691,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, UnregisterNoCrash) { ...@@ -3665,7 +3691,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, UnregisterNoCrash) {
RunTestWithCrossOriginURL(kPageUrl, kScopeUrl); RunTestWithCrossOriginURL(kPageUrl, kScopeUrl);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, UpdateNoCrash) { IN_PROC_BROWSER_TEST_P(ServiceWorkerDisableWebSecurityTest, UpdateNoCrash) {
StartServerAndNavigateToSetup(); StartServerAndNavigateToSetup();
const char kPageUrl[] = "/service_worker/disable_web_security_update.html"; const char kPageUrl[] = "/service_worker/disable_web_security_update.html";
const char kScopeUrl[] = "/service_worker/scope/"; const char kScopeUrl[] = "/service_worker/scope/";
...@@ -3751,7 +3777,7 @@ class ServiceWorkerURLLoaderThrottleTest : public ServiceWorkerBrowserTest { ...@@ -3751,7 +3777,7 @@ class ServiceWorkerURLLoaderThrottleTest : public ServiceWorkerBrowserTest {
// Test that the throttles can inject headers during navigation that are // Test that the throttles can inject headers during navigation that are
// observable inside the service worker's fetch event. // observable inside the service worker's fetch event.
IN_PROC_BROWSER_TEST_F(ServiceWorkerURLLoaderThrottleTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerURLLoaderThrottleTest,
FetchEventForNavigationHasThrottledRequest) { FetchEventForNavigationHasThrottledRequest) {
// Add a throttle which injects a header. // Add a throttle which injects a header.
ThrottlingContentBrowserClient content_browser_client; ThrottlingContentBrowserClient content_browser_client;
...@@ -3786,7 +3812,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerURLLoaderThrottleTest, ...@@ -3786,7 +3812,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerURLLoaderThrottleTest,
} }
// Test that redirects by throttles occur before service worker interception. // Test that redirects by throttles occur before service worker interception.
IN_PROC_BROWSER_TEST_F(ServiceWorkerURLLoaderThrottleTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerURLLoaderThrottleTest,
RedirectOccursBeforeFetchEvent) { RedirectOccursBeforeFetchEvent) {
// Add a throttle which performs a redirect. // Add a throttle which performs a redirect.
ThrottlingContentBrowserClient content_browser_client; ThrottlingContentBrowserClient content_browser_client;
...@@ -3830,7 +3856,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerURLLoaderThrottleTest, ...@@ -3830,7 +3856,7 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerURLLoaderThrottleTest,
// Test that the headers injected by throttles during navigation are // Test that the headers injected by throttles during navigation are
// present in the network request in the case of network fallback. // present in the network request in the case of network fallback.
IN_PROC_BROWSER_TEST_F( IN_PROC_BROWSER_TEST_P(
ServiceWorkerURLLoaderThrottleTest, ServiceWorkerURLLoaderThrottleTest,
NavigationHasThrottledRequestHeadersAfterNetworkFallback) { NavigationHasThrottledRequestHeadersAfterNetworkFallback) {
// Add a throttle which injects a header. // Add a throttle which injects a header.
...@@ -3861,7 +3887,7 @@ IN_PROC_BROWSER_TEST_F( ...@@ -3861,7 +3887,7 @@ IN_PROC_BROWSER_TEST_F(
// Test that the headers injected by throttles during navigation are // Test that the headers injected by throttles during navigation are
// present in the navigation preload request. // present in the navigation preload request.
IN_PROC_BROWSER_TEST_F(ServiceWorkerURLLoaderThrottleTest, IN_PROC_BROWSER_TEST_P(ServiceWorkerURLLoaderThrottleTest,
NavigationPreloadHasThrottledRequestHeaders) { NavigationPreloadHasThrottledRequestHeaders) {
// Add a throttle which injects a header. // Add a throttle which injects a header.
ThrottlingContentBrowserClient content_browser_client; ThrottlingContentBrowserClient content_browser_client;
...@@ -3890,4 +3916,61 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerURLLoaderThrottleTest, ...@@ -3890,4 +3916,61 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerURLLoaderThrottleTest,
SetBrowserClientForTesting(old_content_browser_client); SetBrowserClientForTesting(old_content_browser_client);
} }
// TODO(crbug.com/967272): Remove following parameterized tests once we fully
// ship off-the-main-thread script fetch.
INSTANTIATE_TEST_SUITE_P(ServiceWorkerBrowserTestOnMainThreadFetch,
ServiceWorkerBrowserTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(ServiceWorkerVersionBrowserTestOnMainThreadFetch,
ServiceWorkerVersionBrowserTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(ServiceWorkerNavigationPreloadTestOnMainThreadFetch,
ServiceWorkerNavigationPreloadTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(ServiceWorkerDisableWebSecurityTestOnMainThreadFetch,
ServiceWorkerDisableWebSecurityTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(ServiceWorkerURLLoaderThrottleTestOnMainThreadFetch,
ServiceWorkerURLLoaderThrottleTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(ServiceWorkerBlackBoxBrowserTestOnMainThreadFetch,
ServiceWorkerBlackBoxBrowserTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(
ServiceWorkerCodeCacheStrategyDontGenerateTestOnMainThreadFetch,
ServiceWorkerCodeCacheStrategyDontGenerateTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(
ServiceWorkerCodeCacheStrategyIdleTaskTestOnMainThreadFetch,
ServiceWorkerCodeCacheStrategyIdleTaskTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(
ServiceWorkerCodeCacheStrategyInstallEventTestOnMainThreadFetch,
ServiceWorkerCodeCacheStrategyInstallEventTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(
ServiceWorkerV8CodeCacheForCacheStorageNoneTestOnMainThreadFetch,
ServiceWorkerV8CodeCacheForCacheStorageNoneTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(
ServiceWorkerV8CodeCacheForCacheStorageTestOnMainThreadFetch,
ServiceWorkerV8CodeCacheForCacheStorageTest,
testing::Bool());
INSTANTIATE_TEST_SUITE_P(
ServiceWorkerVersionBrowserV8FullCodeCacheTestOnMainThreadFetch,
ServiceWorkerVersionBrowserV8FullCodeCacheTest,
testing::Bool());
} // namespace content } // namespace content
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment