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

Side by Side Diff: content/browser/service_worker/service_worker_browsertest.cc

Issue 2380723002: Revert of ServiceWorker: Added --mojo-service-worker to the browser tests (Closed)
Patch Set: Created 4 years, 2 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <map> 8 #include <map>
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 version_id = infos[index].active_version.version_id; 330 version_id = infos[index].active_version.version_id;
331 else 331 else
332 return; 332 return;
333 333
334 ServiceWorkerVersion* version = wrapper->GetLiveVersion(version_id); 334 ServiceWorkerVersion* version = wrapper->GetLiveVersion(version_id);
335 *num_resources = static_cast<int>(version->script_cache_map()->size()); 335 *num_resources = static_cast<int>(version->script_cache_map()->size());
336 } 336 }
337 337
338 } // namespace 338 } // namespace
339 339
340 class ServiceWorkerBrowserTest : public testing::WithParamInterface<bool>, 340 class ServiceWorkerBrowserTest : public ContentBrowserTest {
341 public ContentBrowserTest {
342 protected: 341 protected:
343 using self = ServiceWorkerBrowserTest; 342 using self = ServiceWorkerBrowserTest;
344 343
345 void SetUp() override {
346 is_mojo_enabled_ = GetParam();
347 if (is_mojo_enabled()) {
348 base::CommandLine::ForCurrentProcess()->AppendSwitch(
349 switches::kMojoServiceWorker);
350 }
351 ContentBrowserTest::SetUp();
352 }
353
354 void SetUpOnMainThread() override { 344 void SetUpOnMainThread() override {
355 ASSERT_TRUE(embedded_test_server()->Start()); 345 ASSERT_TRUE(embedded_test_server()->Start());
356 StoragePartition* partition = BrowserContext::GetDefaultStoragePartition( 346 StoragePartition* partition = BrowserContext::GetDefaultStoragePartition(
357 shell()->web_contents()->GetBrowserContext()); 347 shell()->web_contents()->GetBrowserContext());
358 wrapper_ = static_cast<ServiceWorkerContextWrapper*>( 348 wrapper_ = static_cast<ServiceWorkerContextWrapper*>(
359 partition->GetServiceWorkerContext()); 349 partition->GetServiceWorkerContext());
360 350
361 // Navigate to the page to set up a renderer page (where we can embed 351 // Navigate to the page to set up a renderer page (where we can embed
362 // a worker). 352 // a worker).
363 NavigateToURLBlockUntilNavigationsComplete( 353 NavigateToURLBlockUntilNavigationsComplete(
364 shell(), 354 shell(),
365 embedded_test_server()->GetURL("/service_worker/empty.html"), 1); 355 embedded_test_server()->GetURL("/service_worker/empty.html"), 1);
366 356
367 RunOnIOThread(base::Bind(&self::SetUpOnIOThread, base::Unretained(this))); 357 RunOnIOThread(base::Bind(&self::SetUpOnIOThread, base::Unretained(this)));
368 } 358 }
369 359
370 void TearDownOnMainThread() override { 360 void TearDownOnMainThread() override {
371 RunOnIOThread( 361 RunOnIOThread(
372 base::Bind(&self::TearDownOnIOThread, base::Unretained(this))); 362 base::Bind(&self::TearDownOnIOThread, base::Unretained(this)));
373 wrapper_ = NULL; 363 wrapper_ = NULL;
374 } 364 }
375 365
376 virtual void SetUpOnIOThread() {} 366 virtual void SetUpOnIOThread() {}
377 virtual void TearDownOnIOThread() {} 367 virtual void TearDownOnIOThread() {}
378 368
379 ServiceWorkerContextWrapper* wrapper() { return wrapper_.get(); } 369 ServiceWorkerContextWrapper* wrapper() { return wrapper_.get(); }
380 ServiceWorkerContext* public_context() { return wrapper(); } 370 ServiceWorkerContext* public_context() { return wrapper(); }
381 bool is_mojo_enabled() const { return is_mojo_enabled_; }
382 371
383 void AssociateRendererProcessToPattern(const GURL& pattern) { 372 void AssociateRendererProcessToPattern(const GURL& pattern) {
384 wrapper_->process_manager()->AddProcessReferenceToPattern( 373 wrapper_->process_manager()->AddProcessReferenceToPattern(
385 pattern, shell()->web_contents()->GetRenderProcessHost()->GetID()); 374 pattern, shell()->web_contents()->GetRenderProcessHost()->GetID());
386 } 375 }
387 376
388 private: 377 private:
389 scoped_refptr<ServiceWorkerContextWrapper> wrapper_; 378 scoped_refptr<ServiceWorkerContextWrapper> wrapper_;
390 bool is_mojo_enabled_ = false;
391 }; 379 };
392 380
393 class ConsoleListener : public EmbeddedWorkerInstance::Listener { 381 class ConsoleListener : public EmbeddedWorkerInstance::Listener {
394 public: 382 public:
395 void OnReportConsoleMessage(int source_identifier, 383 void OnReportConsoleMessage(int source_identifier,
396 int message_level, 384 int message_level,
397 const base::string16& message, 385 const base::string16& message,
398 int line_number, 386 int line_number,
399 const GURL& source_url) override { 387 const GURL& source_url) override {
400 DCHECK_CURRENTLY_ON(BrowserThread::IO); 388 DCHECK_CURRENTLY_ON(BrowserThread::IO);
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 version_->StopWorker(CreateReceiver(BrowserThread::UI, done, result)); 780 version_->StopWorker(CreateReceiver(BrowserThread::UI, done, result));
793 } 781 }
794 782
795 protected: 783 protected:
796 scoped_refptr<ServiceWorkerRegistration> registration_; 784 scoped_refptr<ServiceWorkerRegistration> registration_;
797 scoped_refptr<ServiceWorkerVersion> version_; 785 scoped_refptr<ServiceWorkerVersion> version_;
798 scoped_refptr<ChromeBlobStorageContext> blob_context_; 786 scoped_refptr<ChromeBlobStorageContext> blob_context_;
799 std::unique_ptr<ServiceWorkerFetchDispatcher> fetch_dispatcher_; 787 std::unique_ptr<ServiceWorkerFetchDispatcher> fetch_dispatcher_;
800 }; 788 };
801 789
802 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, StartAndStop) { 790 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartAndStop) {
803 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, 791 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread,
804 base::Unretained(this), 792 base::Unretained(this),
805 "/service_worker/worker.js")); 793 "/service_worker/worker.js"));
806 794
807 // Start a worker. 795 // Start a worker.
808 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED; 796 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
809 base::RunLoop start_run_loop; 797 base::RunLoop start_run_loop;
810 BrowserThread::PostTask( 798 BrowserThread::PostTask(
811 BrowserThread::IO, FROM_HERE, 799 BrowserThread::IO, FROM_HERE,
812 base::Bind(&self::StartOnIOThread, base::Unretained(this), 800 base::Bind(&self::StartOnIOThread, base::Unretained(this),
813 start_run_loop.QuitClosure(), &status)); 801 start_run_loop.QuitClosure(), &status));
814 start_run_loop.Run(); 802 start_run_loop.Run();
815 ASSERT_EQ(SERVICE_WORKER_OK, status); 803 ASSERT_EQ(SERVICE_WORKER_OK, status);
816 804
817 // Stop the worker. 805 // Stop the worker.
818 status = SERVICE_WORKER_ERROR_FAILED; 806 status = SERVICE_WORKER_ERROR_FAILED;
819 base::RunLoop stop_run_loop; 807 base::RunLoop stop_run_loop;
820 BrowserThread::PostTask( 808 BrowserThread::PostTask(
821 BrowserThread::IO, FROM_HERE, 809 BrowserThread::IO, FROM_HERE,
822 base::Bind(&self::StopOnIOThread, base::Unretained(this), 810 base::Bind(&self::StopOnIOThread, base::Unretained(this),
823 stop_run_loop.QuitClosure(), &status)); 811 stop_run_loop.QuitClosure(), &status));
824 stop_run_loop.Run(); 812 stop_run_loop.Run();
825 ASSERT_EQ(SERVICE_WORKER_OK, status); 813 ASSERT_EQ(SERVICE_WORKER_OK, status);
826 } 814 }
827 815
828 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, StartNotFound) { 816 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, StartNotFound) {
829 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, 817 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread,
830 base::Unretained(this), 818 base::Unretained(this),
831 "/service_worker/nonexistent.js")); 819 "/service_worker/nonexistent.js"));
832 820
833 // Start a worker for nonexistent URL. 821 // Start a worker for nonexistent URL.
834 StartWorker(SERVICE_WORKER_ERROR_NETWORK); 822 StartWorker(SERVICE_WORKER_ERROR_NETWORK);
835 } 823 }
836 824
837 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, ReadResourceFailure) { 825 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, ReadResourceFailure) {
838 // Create a registration. 826 // Create a registration.
839 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, 827 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread,
840 base::Unretained(this), 828 base::Unretained(this),
841 "/service_worker/worker.js")); 829 "/service_worker/worker.js"));
842 version_->set_fetch_handler_existence( 830 version_->set_fetch_handler_existence(
843 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); 831 ServiceWorkerVersion::FetchHandlerExistence::EXISTS);
844 version_->SetStatus(ServiceWorkerVersion::ACTIVATED); 832 version_->SetStatus(ServiceWorkerVersion::ACTIVATED);
845 833
846 // Add a non-existent resource to the version. 834 // Add a non-existent resource to the version.
847 std::vector<ServiceWorkerDatabase::ResourceRecord> records; 835 std::vector<ServiceWorkerDatabase::ResourceRecord> records;
(...skipping 10 matching lines...) Expand all
858 846
859 // The registration should be deleted from storage since the broken worker was 847 // The registration should be deleted from storage since the broken worker was
860 // the stored one. 848 // the stored one.
861 RunOnIOThread(base::Bind(&self::RemoveLiveRegistrationOnIOThread, 849 RunOnIOThread(base::Bind(&self::RemoveLiveRegistrationOnIOThread,
862 base::Unretained(this), registration_->id())); 850 base::Unretained(this), registration_->id()));
863 FindRegistrationForId(registration_->id(), 851 FindRegistrationForId(registration_->id(),
864 registration_->pattern().GetOrigin(), 852 registration_->pattern().GetOrigin(),
865 SERVICE_WORKER_ERROR_NOT_FOUND); 853 SERVICE_WORKER_ERROR_NOT_FOUND);
866 } 854 }
867 855
868 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 856 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
869 ReadResourceFailure_WaitingWorker) { 857 ReadResourceFailure_WaitingWorker) {
870 // Create a registration and active version. 858 // Create a registration and active version.
871 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, 859 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread,
872 base::Unretained(this), 860 base::Unretained(this),
873 "/service_worker/worker.js")); 861 "/service_worker/worker.js"));
874 base::RunLoop activate_run_loop; 862 base::RunLoop activate_run_loop;
875 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED; 863 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
876 BrowserThread::PostTask( 864 BrowserThread::PostTask(
877 BrowserThread::IO, FROM_HERE, 865 BrowserThread::IO, FROM_HERE,
878 base::Bind(&self::ActivateOnIOThread, base::Unretained(this), 866 base::Bind(&self::ActivateOnIOThread, base::Unretained(this),
(...skipping 28 matching lines...) Expand all
907 895
908 // The registration should still be in storage since the waiting worker was 896 // The registration should still be in storage since the waiting worker was
909 // the stored one. 897 // the stored one.
910 RunOnIOThread(base::Bind(&self::RemoveLiveRegistrationOnIOThread, 898 RunOnIOThread(base::Bind(&self::RemoveLiveRegistrationOnIOThread,
911 base::Unretained(this), registration_->id())); 899 base::Unretained(this), registration_->id()));
912 FindRegistrationForId(registration_->id(), 900 FindRegistrationForId(registration_->id(),
913 registration_->pattern().GetOrigin(), 901 registration_->pattern().GetOrigin(),
914 SERVICE_WORKER_OK); 902 SERVICE_WORKER_OK);
915 } 903 }
916 904
917 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, Install) { 905 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Install) {
918 InstallTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK); 906 InstallTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK);
919 } 907 }
920 908
921 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 909 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
922 InstallWithWaitUntil_Fulfilled) { 910 InstallWithWaitUntil_Fulfilled) {
923 InstallTestHelper("/service_worker/worker_install_fulfilled.js", 911 InstallTestHelper("/service_worker/worker_install_fulfilled.js",
924 SERVICE_WORKER_OK); 912 SERVICE_WORKER_OK);
925 } 913 }
926 914
927 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 915 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
928 InstallWithFetchHandler) { 916 InstallWithFetchHandler) {
929 InstallTestHelper("/service_worker/fetch_event.js", SERVICE_WORKER_OK); 917 InstallTestHelper("/service_worker/fetch_event.js", SERVICE_WORKER_OK);
930 EXPECT_EQ(ServiceWorkerVersion::FetchHandlerExistence::EXISTS, 918 EXPECT_EQ(ServiceWorkerVersion::FetchHandlerExistence::EXISTS,
931 version_->fetch_handler_existence()); 919 version_->fetch_handler_existence());
932 } 920 }
933 921
934 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 922 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
935 InstallWithoutFetchHandler) { 923 InstallWithoutFetchHandler) {
936 InstallTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK); 924 InstallTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK);
937 EXPECT_EQ(ServiceWorkerVersion::FetchHandlerExistence::DOES_NOT_EXIST, 925 EXPECT_EQ(ServiceWorkerVersion::FetchHandlerExistence::DOES_NOT_EXIST,
938 version_->fetch_handler_existence()); 926 version_->fetch_handler_existence());
939 } 927 }
940 928
941 // Check that ServiceWorker script requests set a "Service-Worker: script" 929 // Check that ServiceWorker script requests set a "Service-Worker: script"
942 // header. 930 // header.
943 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 931 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
944 ServiceWorkerScriptHeader) { 932 ServiceWorkerScriptHeader) {
945 embedded_test_server()->RegisterRequestHandler( 933 embedded_test_server()->RegisterRequestHandler(
946 base::Bind(&VerifyServiceWorkerHeaderInRequest)); 934 base::Bind(&VerifyServiceWorkerHeaderInRequest));
947 InstallTestHelper("/service_worker/generated_sw.js", SERVICE_WORKER_OK); 935 InstallTestHelper("/service_worker/generated_sw.js", SERVICE_WORKER_OK);
948 } 936 }
949 937
950 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 938 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
951 Activate_NoEventListener) { 939 Activate_NoEventListener) {
952 ActivateTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK); 940 ActivateTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK);
953 ASSERT_EQ(ServiceWorkerVersion::ACTIVATING, version_->status()); 941 ASSERT_EQ(ServiceWorkerVersion::ACTIVATING, version_->status());
954 } 942 }
955 943
956 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, Activate_Rejected) { 944 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Activate_Rejected) {
957 ActivateTestHelper("/service_worker/worker_activate_rejected.js", 945 ActivateTestHelper("/service_worker/worker_activate_rejected.js",
958 SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED); 946 SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED);
959 } 947 }
960 948
961 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 949 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
962 InstallWithWaitUntil_Rejected) { 950 InstallWithWaitUntil_Rejected) {
963 InstallTestHelper("/service_worker/worker_install_rejected.js", 951 InstallTestHelper("/service_worker/worker_install_rejected.js",
964 SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED); 952 SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED);
965 } 953 }
966 954
967 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 955 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
968 InstallWithWaitUntil_RejectConsoleMessage) { 956 InstallWithWaitUntil_RejectConsoleMessage) {
969 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, 957 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread,
970 base::Unretained(this), 958 base::Unretained(this),
971 "/service_worker/worker_install_rejected.js")); 959 "/service_worker/worker_install_rejected.js"));
972 960
973 ConsoleListener console_listener; 961 ConsoleListener console_listener;
974 RunOnIOThread(base::Bind(&EmbeddedWorkerInstance::AddListener, 962 RunOnIOThread(base::Bind(&EmbeddedWorkerInstance::AddListener,
975 base::Unretained(version_->embedded_worker()), 963 base::Unretained(version_->embedded_worker()),
976 &console_listener)); 964 &console_listener));
977 965
(...skipping 24 matching lines...) Expand all
1002 void OnThreadStarted() override { 990 void OnThreadStarted() override {
1003 DCHECK_CURRENTLY_ON(BrowserThread::IO); 991 DCHECK_CURRENTLY_ON(BrowserThread::IO);
1004 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, quit_); 992 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, quit_);
1005 } 993 }
1006 bool OnMessageReceived(const IPC::Message& message) override { return false; } 994 bool OnMessageReceived(const IPC::Message& message) override { return false; }
1007 995
1008 private: 996 private:
1009 base::Closure quit_; 997 base::Closure quit_;
1010 }; 998 };
1011 999
1012 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, TimeoutStartingWorker) { 1000 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, TimeoutStartingWorker) {
1013 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, 1001 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread,
1014 base::Unretained(this), 1002 base::Unretained(this),
1015 "/service_worker/while_true_worker.js")); 1003 "/service_worker/while_true_worker.js"));
1016 1004
1017 // Start a worker, waiting until the script is loaded. 1005 // Start a worker, waiting until the script is loaded.
1018 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED; 1006 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
1019 base::RunLoop start_run_loop; 1007 base::RunLoop start_run_loop;
1020 base::RunLoop load_run_loop; 1008 base::RunLoop load_run_loop;
1021 WaitForLoaded wait_for_load(load_run_loop.QuitClosure()); 1009 WaitForLoaded wait_for_load(load_run_loop.QuitClosure());
1022 RunOnIOThread(base::Bind(&EmbeddedWorkerInstance::AddListener, 1010 RunOnIOThread(base::Bind(&EmbeddedWorkerInstance::AddListener,
(...skipping 16 matching lines...) Expand all
1039 // before it's started execution. 1027 // before it's started execution.
1040 EXPECT_TRUE(version_->timeout_timer_.IsRunning()); 1028 EXPECT_TRUE(version_->timeout_timer_.IsRunning());
1041 RunOnIOThreadWithDelay( 1029 RunOnIOThreadWithDelay(
1042 base::Bind(&self::TimeoutWorkerOnIOThread, base::Unretained(this)), 1030 base::Bind(&self::TimeoutWorkerOnIOThread, base::Unretained(this)),
1043 base::TimeDelta::FromMilliseconds(100)); 1031 base::TimeDelta::FromMilliseconds(100));
1044 start_run_loop.Run(); 1032 start_run_loop.Run();
1045 1033
1046 EXPECT_EQ(SERVICE_WORKER_ERROR_TIMEOUT, status); 1034 EXPECT_EQ(SERVICE_WORKER_ERROR_TIMEOUT, status);
1047 } 1035 }
1048 1036
1049 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, TimeoutWorkerInEvent) { 1037 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, TimeoutWorkerInEvent) {
1050 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, 1038 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread,
1051 base::Unretained(this), 1039 base::Unretained(this),
1052 "/service_worker/while_true_in_install_worker.js")); 1040 "/service_worker/while_true_in_install_worker.js"));
1053 1041
1054 // Start a worker. 1042 // Start a worker.
1055 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED; 1043 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
1056 base::RunLoop start_run_loop; 1044 base::RunLoop start_run_loop;
1057 BrowserThread::PostTask( 1045 BrowserThread::PostTask(
1058 BrowserThread::IO, FROM_HERE, 1046 BrowserThread::IO, FROM_HERE,
1059 base::Bind(&self::StartOnIOThread, base::Unretained(this), 1047 base::Bind(&self::StartOnIOThread, base::Unretained(this),
(...skipping 14 matching lines...) Expand all
1074 RunOnIOThreadWithDelay( 1062 RunOnIOThreadWithDelay(
1075 base::Bind(&self::TimeoutWorkerOnIOThread, base::Unretained(this)), 1063 base::Bind(&self::TimeoutWorkerOnIOThread, base::Unretained(this)),
1076 base::TimeDelta::FromMilliseconds(100)); 1064 base::TimeDelta::FromMilliseconds(100));
1077 install_run_loop.Run(); 1065 install_run_loop.Run();
1078 1066
1079 // Terminating a worker, even one in an infinite loop, is treated as if 1067 // Terminating a worker, even one in an infinite loop, is treated as if
1080 // waitUntil was rejected in the renderer code. 1068 // waitUntil was rejected in the renderer code.
1081 EXPECT_EQ(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED, status); 1069 EXPECT_EQ(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED, status);
1082 } 1070 }
1083 1071
1084 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, FetchEvent_Response) { 1072 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Response) {
1085 ServiceWorkerFetchEventResult result; 1073 ServiceWorkerFetchEventResult result;
1086 ServiceWorkerResponse response; 1074 ServiceWorkerResponse response;
1087 std::unique_ptr<storage::BlobDataHandle> blob_data_handle; 1075 std::unique_ptr<storage::BlobDataHandle> blob_data_handle;
1088 ActivateTestHelper("/service_worker/fetch_event.js", SERVICE_WORKER_OK); 1076 ActivateTestHelper("/service_worker/fetch_event.js", SERVICE_WORKER_OK);
1089 1077
1090 FetchOnRegisteredWorker(&result, &response, &blob_data_handle); 1078 FetchOnRegisteredWorker(&result, &response, &blob_data_handle);
1091 ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); 1079 ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result);
1092 EXPECT_EQ(301, response.status_code); 1080 EXPECT_EQ(301, response.status_code);
1093 EXPECT_EQ("Moved Permanently", response.status_text); 1081 EXPECT_EQ("Moved Permanently", response.status_text);
1094 ServiceWorkerHeaderMap expected_headers; 1082 ServiceWorkerHeaderMap expected_headers;
1095 expected_headers["content-language"] = "fi"; 1083 expected_headers["content-language"] = "fi";
1096 expected_headers["content-type"] = "text/html; charset=UTF-8"; 1084 expected_headers["content-type"] = "text/html; charset=UTF-8";
1097 EXPECT_EQ(expected_headers, response.headers); 1085 EXPECT_EQ(expected_headers, response.headers);
1098 1086
1099 std::string body; 1087 std::string body;
1100 RunOnIOThread( 1088 RunOnIOThread(
1101 base::Bind(&ReadResponseBody, 1089 base::Bind(&ReadResponseBody,
1102 &body, base::Owned(blob_data_handle.release()))); 1090 &body, base::Owned(blob_data_handle.release())));
1103 EXPECT_EQ("This resource is gone. Gone, gone, gone.", body); 1091 EXPECT_EQ("This resource is gone. Gone, gone, gone.", body);
1104 } 1092 }
1105 1093
1106 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 1094 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
1107 FetchEvent_ResponseViaCache) { 1095 FetchEvent_ResponseViaCache) {
1108 ServiceWorkerFetchEventResult result; 1096 ServiceWorkerFetchEventResult result;
1109 ServiceWorkerResponse response1; 1097 ServiceWorkerResponse response1;
1110 ServiceWorkerResponse response2; 1098 ServiceWorkerResponse response2;
1111 std::unique_ptr<storage::BlobDataHandle> blob_data_handle; 1099 std::unique_ptr<storage::BlobDataHandle> blob_data_handle;
1112 const base::Time start_time(base::Time::Now()); 1100 const base::Time start_time(base::Time::Now());
1113 ActivateTestHelper("/service_worker/fetch_event_response_via_cache.js", 1101 ActivateTestHelper("/service_worker/fetch_event_response_via_cache.js",
1114 SERVICE_WORKER_OK); 1102 SERVICE_WORKER_OK);
1115 1103
1116 FetchOnRegisteredWorker(&result, &response1, &blob_data_handle); 1104 FetchOnRegisteredWorker(&result, &response1, &blob_data_handle);
1117 ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); 1105 ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result);
1118 EXPECT_EQ(200, response1.status_code); 1106 EXPECT_EQ(200, response1.status_code);
1119 EXPECT_EQ("OK", response1.status_text); 1107 EXPECT_EQ("OK", response1.status_text);
1120 EXPECT_TRUE(response1.response_time >= start_time); 1108 EXPECT_TRUE(response1.response_time >= start_time);
1121 EXPECT_FALSE(response1.is_in_cache_storage); 1109 EXPECT_FALSE(response1.is_in_cache_storage);
1122 EXPECT_EQ(std::string(), response2.cache_storage_cache_name); 1110 EXPECT_EQ(std::string(), response2.cache_storage_cache_name);
1123 1111
1124 FetchOnRegisteredWorker(&result, &response2, &blob_data_handle); 1112 FetchOnRegisteredWorker(&result, &response2, &blob_data_handle);
1125 ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result); 1113 ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, result);
1126 EXPECT_EQ(200, response2.status_code); 1114 EXPECT_EQ(200, response2.status_code);
1127 EXPECT_EQ("OK", response2.status_text); 1115 EXPECT_EQ("OK", response2.status_text);
1128 EXPECT_EQ(response1.response_time, response2.response_time); 1116 EXPECT_EQ(response1.response_time, response2.response_time);
1129 EXPECT_TRUE(response2.is_in_cache_storage); 1117 EXPECT_TRUE(response2.is_in_cache_storage);
1130 EXPECT_EQ("cache_name", response2.cache_storage_cache_name); 1118 EXPECT_EQ("cache_name", response2.cache_storage_cache_name);
1131 } 1119 }
1132 1120
1133 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 1121 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
1134 FetchEvent_respondWithRejection) { 1122 FetchEvent_respondWithRejection) {
1135 ServiceWorkerFetchEventResult result; 1123 ServiceWorkerFetchEventResult result;
1136 ServiceWorkerResponse response; 1124 ServiceWorkerResponse response;
1137 std::unique_ptr<storage::BlobDataHandle> blob_data_handle; 1125 std::unique_ptr<storage::BlobDataHandle> blob_data_handle;
1138 ActivateTestHelper("/service_worker/fetch_event_rejected.js", 1126 ActivateTestHelper("/service_worker/fetch_event_rejected.js",
1139 SERVICE_WORKER_OK); 1127 SERVICE_WORKER_OK);
1140 1128
1141 ConsoleListener console_listener; 1129 ConsoleListener console_listener;
1142 RunOnIOThread(base::Bind(&EmbeddedWorkerInstance::AddListener, 1130 RunOnIOThread(base::Bind(&EmbeddedWorkerInstance::AddListener,
1143 base::Unretained(version_->embedded_worker()), 1131 base::Unretained(version_->embedded_worker()),
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1178 1166
1179 void OverrideWebkitPrefs(RenderViewHost* render_view_host, 1167 void OverrideWebkitPrefs(RenderViewHost* render_view_host,
1180 WebPreferences* prefs) override { 1168 WebPreferences* prefs) override {
1181 prefs->data_saver_enabled = data_saver_enabled_; 1169 prefs->data_saver_enabled = data_saver_enabled_;
1182 } 1170 }
1183 1171
1184 private: 1172 private:
1185 bool data_saver_enabled_; 1173 bool data_saver_enabled_;
1186 }; 1174 };
1187 1175
1188 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, FetchWithSaveData) { 1176 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchWithSaveData) {
1189 embedded_test_server()->RegisterRequestHandler( 1177 embedded_test_server()->RegisterRequestHandler(
1190 base::Bind(&VerifySaveDataHeaderInRequest)); 1178 base::Bind(&VerifySaveDataHeaderInRequest));
1191 MockContentBrowserClient content_browser_client; 1179 MockContentBrowserClient content_browser_client;
1192 content_browser_client.set_data_saver_enabled(true); 1180 content_browser_client.set_data_saver_enabled(true);
1193 ContentBrowserClient* old_client = 1181 ContentBrowserClient* old_client =
1194 SetBrowserClientForTesting(&content_browser_client); 1182 SetBrowserClientForTesting(&content_browser_client);
1195 InstallTestHelper("/service_worker/fetch_in_install.js", SERVICE_WORKER_OK); 1183 InstallTestHelper("/service_worker/fetch_in_install.js", SERVICE_WORKER_OK);
1196 SetBrowserClientForTesting(old_client); 1184 SetBrowserClientForTesting(old_client);
1197 } 1185 }
1198 1186
1199 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, 1187 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
1200 RequestWorkerScriptWithSaveData) { 1188 RequestWorkerScriptWithSaveData) {
1201 embedded_test_server()->RegisterRequestHandler( 1189 embedded_test_server()->RegisterRequestHandler(
1202 base::Bind(&VerifySaveDataHeaderInRequest)); 1190 base::Bind(&VerifySaveDataHeaderInRequest));
1203 MockContentBrowserClient content_browser_client; 1191 MockContentBrowserClient content_browser_client;
1204 content_browser_client.set_data_saver_enabled(true); 1192 content_browser_client.set_data_saver_enabled(true);
1205 ContentBrowserClient* old_client = 1193 ContentBrowserClient* old_client =
1206 SetBrowserClientForTesting(&content_browser_client); 1194 SetBrowserClientForTesting(&content_browser_client);
1207 InstallTestHelper("/service_worker/generated_sw.js", SERVICE_WORKER_OK); 1195 InstallTestHelper("/service_worker/generated_sw.js", SERVICE_WORKER_OK);
1208 SetBrowserClientForTesting(old_client); 1196 SetBrowserClientForTesting(old_client);
1209 } 1197 }
1210 1198
1211 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserTest, FetchWithoutSaveData) { 1199 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchWithoutSaveData) {
1212 embedded_test_server()->RegisterRequestHandler( 1200 embedded_test_server()->RegisterRequestHandler(
1213 base::Bind(&VerifySaveDataHeaderNotInRequest)); 1201 base::Bind(&VerifySaveDataHeaderNotInRequest));
1214 MockContentBrowserClient content_browser_client; 1202 MockContentBrowserClient content_browser_client;
1215 ContentBrowserClient* old_client = 1203 ContentBrowserClient* old_client =
1216 SetBrowserClientForTesting(&content_browser_client); 1204 SetBrowserClientForTesting(&content_browser_client);
1217 InstallTestHelper("/service_worker/fetch_in_install.js", SERVICE_WORKER_OK); 1205 InstallTestHelper("/service_worker/fetch_in_install.js", SERVICE_WORKER_OK);
1218 SetBrowserClientForTesting(old_client); 1206 SetBrowserClientForTesting(old_client);
1219 } 1207 }
1220 1208
1221 IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, FetchPageWithSaveData) { 1209 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, FetchPageWithSaveData) {
1222 const char kPageUrl[] = "/service_worker/handle_fetch.html"; 1210 const char kPageUrl[] = "/service_worker/handle_fetch.html";
1223 const char kWorkerUrl[] = "/service_worker/add_save_data_to_title.js"; 1211 const char kWorkerUrl[] = "/service_worker/add_save_data_to_title.js";
1224 MockContentBrowserClient content_browser_client; 1212 MockContentBrowserClient content_browser_client;
1225 content_browser_client.set_data_saver_enabled(true); 1213 content_browser_client.set_data_saver_enabled(true);
1226 ContentBrowserClient* old_client = 1214 ContentBrowserClient* old_client =
1227 SetBrowserClientForTesting(&content_browser_client); 1215 SetBrowserClientForTesting(&content_browser_client);
1228 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged(); 1216 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged();
1229 scoped_refptr<WorkerActivatedObserver> observer = 1217 scoped_refptr<WorkerActivatedObserver> observer =
1230 new WorkerActivatedObserver(wrapper()); 1218 new WorkerActivatedObserver(wrapper());
1231 observer->Init(); 1219 observer->Init();
(...skipping 14 matching lines...) Expand all
1246 base::RunLoop run_loop; 1234 base::RunLoop run_loop;
1247 public_context()->UnregisterServiceWorker( 1235 public_context()->UnregisterServiceWorker(
1248 embedded_test_server()->GetURL(kPageUrl), 1236 embedded_test_server()->GetURL(kPageUrl),
1249 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); 1237 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
1250 run_loop.Run(); 1238 run_loop.Run();
1251 } 1239 }
1252 1240
1253 // Tests that when data saver is enabled and a cross-origin fetch by a webpage 1241 // Tests that when data saver is enabled and a cross-origin fetch by a webpage
1254 // is intercepted by a serviceworker, and the serviceworker does a fetch, the 1242 // is intercepted by a serviceworker, and the serviceworker does a fetch, the
1255 // preflight request does not have save-data in Access-Control-Request-Headers. 1243 // preflight request does not have save-data in Access-Control-Request-Headers.
1256 IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, CrossOriginFetchWithSaveData) { 1244 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, CrossOriginFetchWithSaveData) {
1257 const char kPageUrl[] = "/service_worker/fetch_cross_origin.html"; 1245 const char kPageUrl[] = "/service_worker/fetch_cross_origin.html";
1258 const char kWorkerUrl[] = "/service_worker/fetch_event_pass_through.js"; 1246 const char kWorkerUrl[] = "/service_worker/fetch_event_pass_through.js";
1259 net::EmbeddedTestServer cross_origin_server; 1247 net::EmbeddedTestServer cross_origin_server;
1260 cross_origin_server.ServeFilesFromSourceDirectory("content/test/data"); 1248 cross_origin_server.ServeFilesFromSourceDirectory("content/test/data");
1261 cross_origin_server.RegisterRequestHandler( 1249 cross_origin_server.RegisterRequestHandler(
1262 base::Bind(&VerifySaveDataNotInAccessControlRequestHeader)); 1250 base::Bind(&VerifySaveDataNotInAccessControlRequestHeader));
1263 ASSERT_TRUE(cross_origin_server.Start()); 1251 ASSERT_TRUE(cross_origin_server.Start());
1264 1252
1265 MockContentBrowserClient content_browser_client; 1253 MockContentBrowserClient content_browser_client;
1266 content_browser_client.set_data_saver_enabled(true); 1254 content_browser_client.set_data_saver_enabled(true);
(...skipping 22 matching lines...) Expand all
1289 SetBrowserClientForTesting(old_client); 1277 SetBrowserClientForTesting(old_client);
1290 shell()->Close(); 1278 shell()->Close();
1291 1279
1292 base::RunLoop run_loop; 1280 base::RunLoop run_loop;
1293 public_context()->UnregisterServiceWorker( 1281 public_context()->UnregisterServiceWorker(
1294 embedded_test_server()->GetURL(kPageUrl), 1282 embedded_test_server()->GetURL(kPageUrl),
1295 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); 1283 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
1296 run_loop.Run(); 1284 run_loop.Run();
1297 } 1285 }
1298 1286
1299 IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, 1287 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
1300 FetchPageWithSaveDataPassThroughOnFetch) { 1288 FetchPageWithSaveDataPassThroughOnFetch) {
1301 const char kPageUrl[] = "/service_worker/pass_through_fetch.html"; 1289 const char kPageUrl[] = "/service_worker/pass_through_fetch.html";
1302 const char kWorkerUrl[] = "/service_worker/fetch_event_pass_through.js"; 1290 const char kWorkerUrl[] = "/service_worker/fetch_event_pass_through.js";
1303 MockContentBrowserClient content_browser_client; 1291 MockContentBrowserClient content_browser_client;
1304 content_browser_client.set_data_saver_enabled(true); 1292 content_browser_client.set_data_saver_enabled(true);
1305 ContentBrowserClient* old_client = 1293 ContentBrowserClient* old_client =
1306 SetBrowserClientForTesting(&content_browser_client); 1294 SetBrowserClientForTesting(&content_browser_client);
1307 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged(); 1295 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged();
1308 scoped_refptr<WorkerActivatedObserver> observer = 1296 scoped_refptr<WorkerActivatedObserver> observer =
1309 new WorkerActivatedObserver(wrapper()); 1297 new WorkerActivatedObserver(wrapper());
(...skipping 13 matching lines...) Expand all
1323 SetBrowserClientForTesting(old_client); 1311 SetBrowserClientForTesting(old_client);
1324 shell()->Close(); 1312 shell()->Close();
1325 1313
1326 base::RunLoop run_loop; 1314 base::RunLoop run_loop;
1327 public_context()->UnregisterServiceWorker( 1315 public_context()->UnregisterServiceWorker(
1328 embedded_test_server()->GetURL(kPageUrl), 1316 embedded_test_server()->GetURL(kPageUrl),
1329 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); 1317 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
1330 run_loop.Run(); 1318 run_loop.Run();
1331 } 1319 }
1332 1320
1333 IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, Reload) { 1321 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, Reload) {
1334 const char kPageUrl[] = "/service_worker/reload.html"; 1322 const char kPageUrl[] = "/service_worker/reload.html";
1335 const char kWorkerUrl[] = "/service_worker/fetch_event_reload.js"; 1323 const char kWorkerUrl[] = "/service_worker/fetch_event_reload.js";
1336 scoped_refptr<WorkerActivatedObserver> observer = 1324 scoped_refptr<WorkerActivatedObserver> observer =
1337 new WorkerActivatedObserver(wrapper()); 1325 new WorkerActivatedObserver(wrapper());
1338 observer->Init(); 1326 observer->Init();
1339 public_context()->RegisterServiceWorker( 1327 public_context()->RegisterServiceWorker(
1340 embedded_test_server()->GetURL(kPageUrl), 1328 embedded_test_server()->GetURL(kPageUrl),
1341 embedded_test_server()->GetURL(kWorkerUrl), 1329 embedded_test_server()->GetURL(kWorkerUrl),
1342 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); 1330 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing)));
1343 observer->Wait(); 1331 observer->Wait();
(...skipping 16 matching lines...) Expand all
1360 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); 1348 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
1361 run_loop.Run(); 1349 run_loop.Run();
1362 } 1350 }
1363 1351
1364 // Flaky on Win/Mac: http://crbug.com/533631 1352 // Flaky on Win/Mac: http://crbug.com/533631
1365 #if defined(OS_WIN) || defined(OS_MACOSX) 1353 #if defined(OS_WIN) || defined(OS_MACOSX)
1366 #define MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure DISABLED_ResponseFr omHTTPSServiceWorkerIsMarkedAsSecure 1354 #define MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure DISABLED_ResponseFr omHTTPSServiceWorkerIsMarkedAsSecure
1367 #else 1355 #else
1368 #define MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure ResponseFromHTTPSSe rviceWorkerIsMarkedAsSecure 1356 #define MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure ResponseFromHTTPSSe rviceWorkerIsMarkedAsSecure
1369 #endif 1357 #endif
1370 IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, 1358 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
1371 MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure) { 1359 MAYBE_ResponseFromHTTPSServiceWorkerIsMarkedAsSecure) {
1372 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; 1360 const char kPageUrl[] = "/service_worker/fetch_event_blob.html";
1373 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; 1361 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js";
1374 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); 1362 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS);
1375 https_server.ServeFilesFromSourceDirectory("content/test/data"); 1363 https_server.ServeFilesFromSourceDirectory("content/test/data");
1376 ASSERT_TRUE(https_server.Start()); 1364 ASSERT_TRUE(https_server.Start());
1377 1365
1378 scoped_refptr<WorkerActivatedObserver> observer = 1366 scoped_refptr<WorkerActivatedObserver> observer =
1379 new WorkerActivatedObserver(wrapper()); 1367 new WorkerActivatedObserver(wrapper());
1380 observer->Init(); 1368 observer->Init();
(...skipping 15 matching lines...) Expand all
1396 1384
1397 shell()->Close(); 1385 shell()->Close();
1398 1386
1399 base::RunLoop run_loop; 1387 base::RunLoop run_loop;
1400 public_context()->UnregisterServiceWorker( 1388 public_context()->UnregisterServiceWorker(
1401 https_server.GetURL(kPageUrl), 1389 https_server.GetURL(kPageUrl),
1402 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); 1390 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
1403 run_loop.Run(); 1391 run_loop.Run();
1404 } 1392 }
1405 1393
1406 IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, 1394 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest,
1407 ResponseFromHTTPServiceWorkerIsNotMarkedAsSecure) { 1395 ResponseFromHTTPServiceWorkerIsNotMarkedAsSecure) {
1408 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; 1396 const char kPageUrl[] = "/service_worker/fetch_event_blob.html";
1409 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; 1397 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js";
1410 scoped_refptr<WorkerActivatedObserver> observer = 1398 scoped_refptr<WorkerActivatedObserver> observer =
1411 new WorkerActivatedObserver(wrapper()); 1399 new WorkerActivatedObserver(wrapper());
1412 observer->Init(); 1400 observer->Init();
1413 public_context()->RegisterServiceWorker( 1401 public_context()->RegisterServiceWorker(
1414 embedded_test_server()->GetURL(kPageUrl), 1402 embedded_test_server()->GetURL(kPageUrl),
1415 embedded_test_server()->GetURL(kWorkerUrl), 1403 embedded_test_server()->GetURL(kWorkerUrl),
1416 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); 1404 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing)));
(...skipping 11 matching lines...) Expand all
1428 1416
1429 shell()->Close(); 1417 shell()->Close();
1430 1418
1431 base::RunLoop run_loop; 1419 base::RunLoop run_loop;
1432 public_context()->UnregisterServiceWorker( 1420 public_context()->UnregisterServiceWorker(
1433 embedded_test_server()->GetURL(kPageUrl), 1421 embedded_test_server()->GetURL(kPageUrl),
1434 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); 1422 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure()));
1435 run_loop.Run(); 1423 run_loop.Run();
1436 } 1424 }
1437 1425
1438 IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, ImportsBustMemcache) { 1426 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, ImportsBustMemcache) {
1439 const char kScopeUrl[] = "/service_worker/imports_bust_memcache_scope/"; 1427 const char kScopeUrl[] = "/service_worker/imports_bust_memcache_scope/";
1440 const char kPageUrl[] = "/service_worker/imports_bust_memcache.html"; 1428 const char kPageUrl[] = "/service_worker/imports_bust_memcache.html";
1441 const char kScriptUrl[] = "/service_worker/worker_with_one_import.js"; 1429 const char kScriptUrl[] = "/service_worker/worker_with_one_import.js";
1442 const char kImportUrl[] = "/service_worker/long_lived_import.js"; 1430 const char kImportUrl[] = "/service_worker/long_lived_import.js";
1443 const base::string16 kOKTitle(base::ASCIIToUTF16("OK")); 1431 const base::string16 kOKTitle(base::ASCIIToUTF16("OK"));
1444 const base::string16 kFailTitle(base::ASCIIToUTF16("FAIL")); 1432 const base::string16 kFailTitle(base::ASCIIToUTF16("FAIL"));
1445 1433
1446 RunOnIOThread( 1434 RunOnIOThread(
1447 base::Bind(&CreateLongLivedResourceInterceptors, 1435 base::Bind(&CreateLongLivedResourceInterceptors,
1448 embedded_test_server()->GetURL(kScriptUrl), 1436 embedded_test_server()->GetURL(kScriptUrl),
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1493 static int CountRenderProcessHosts() { 1481 static int CountRenderProcessHosts() {
1494 int result = 0; 1482 int result = 0;
1495 for (RenderProcessHost::iterator iter(RenderProcessHost::AllHostsIterator()); 1483 for (RenderProcessHost::iterator iter(RenderProcessHost::AllHostsIterator());
1496 !iter.IsAtEnd(); 1484 !iter.IsAtEnd();
1497 iter.Advance()) { 1485 iter.Advance()) {
1498 result++; 1486 result++;
1499 } 1487 }
1500 return result; 1488 return result;
1501 } 1489 }
1502 1490
1503 IN_PROC_BROWSER_TEST_P(ServiceWorkerBlackBoxBrowserTest, Registration) { 1491 IN_PROC_BROWSER_TEST_F(ServiceWorkerBlackBoxBrowserTest, Registration) {
1504 // Close the only window to be sure we're not re-using its RenderProcessHost. 1492 // Close the only window to be sure we're not re-using its RenderProcessHost.
1505 shell()->Close(); 1493 shell()->Close();
1506 EXPECT_EQ(0, CountRenderProcessHosts()); 1494 EXPECT_EQ(0, CountRenderProcessHosts());
1507 1495
1508 const char kWorkerUrl[] = "/service_worker/fetch_event.js"; 1496 const char kWorkerUrl[] = "/service_worker/fetch_event.js";
1509 const char kScope[] = "/service_worker/"; 1497 const char kScope[] = "/service_worker/";
1510 1498
1511 // Unregistering nothing should return false. 1499 // Unregistering nothing should return false.
1512 { 1500 {
1513 base::RunLoop run_loop; 1501 base::RunLoop run_loop;
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1575 embedded_test_server()->GetURL("/service_worker/empty.html"), &status)); 1563 embedded_test_server()->GetURL("/service_worker/empty.html"), &status));
1576 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, status); 1564 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, status);
1577 } 1565 }
1578 } 1566 }
1579 1567
1580 #if defined(ANDROID) 1568 #if defined(ANDROID)
1581 #define MAYBE_CrossSiteTransfer DISABLED_CrossSiteTransfer 1569 #define MAYBE_CrossSiteTransfer DISABLED_CrossSiteTransfer
1582 #else 1570 #else
1583 #define MAYBE_CrossSiteTransfer CrossSiteTransfer 1571 #define MAYBE_CrossSiteTransfer CrossSiteTransfer
1584 #endif 1572 #endif
1585 IN_PROC_BROWSER_TEST_P(ServiceWorkerBrowserTest, MAYBE_CrossSiteTransfer) { 1573 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, MAYBE_CrossSiteTransfer) {
1586 // The first page registers a service worker. 1574 // The first page registers a service worker.
1587 const char kRegisterPageUrl[] = "/service_worker/cross_site_xfer.html"; 1575 const char kRegisterPageUrl[] = "/service_worker/cross_site_xfer.html";
1588 const base::string16 kOKTitle1(base::ASCIIToUTF16("OK_1")); 1576 const base::string16 kOKTitle1(base::ASCIIToUTF16("OK_1"));
1589 const base::string16 kFailTitle1(base::ASCIIToUTF16("FAIL_1")); 1577 const base::string16 kFailTitle1(base::ASCIIToUTF16("FAIL_1"));
1590 content::TitleWatcher title_watcher1(shell()->web_contents(), kOKTitle1); 1578 content::TitleWatcher title_watcher1(shell()->web_contents(), kOKTitle1);
1591 title_watcher1.AlsoWaitForTitle(kFailTitle1); 1579 title_watcher1.AlsoWaitForTitle(kFailTitle1);
1592 1580
1593 NavigateToURL(shell(), embedded_test_server()->GetURL(kRegisterPageUrl)); 1581 NavigateToURL(shell(), embedded_test_server()->GetURL(kRegisterPageUrl));
1594 ASSERT_EQ(kOKTitle1, title_watcher1.WaitAndGetTitle()); 1582 ASSERT_EQ(kOKTitle1, title_watcher1.WaitAndGetTitle());
1595 1583
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1629 protected: 1617 protected:
1630 // ServiceWorkerVersion::Listener overrides 1618 // ServiceWorkerVersion::Listener overrides
1631 void OnCachedMetadataUpdated(ServiceWorkerVersion* version) override { 1619 void OnCachedMetadataUpdated(ServiceWorkerVersion* version) override {
1632 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 1620 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
1633 cache_updated_closure_); 1621 cache_updated_closure_);
1634 } 1622 }
1635 1623
1636 base::Closure cache_updated_closure_; 1624 base::Closure cache_updated_closure_;
1637 }; 1625 };
1638 1626
1639 IN_PROC_BROWSER_TEST_P(ServiceWorkerVersionBrowserV8CacheTest, Restart) { 1627 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserV8CacheTest, Restart) {
1640 RunOnIOThread(base::Bind(&self::SetUpRegistrationAndListenerOnIOThread, 1628 RunOnIOThread(base::Bind(&self::SetUpRegistrationAndListenerOnIOThread,
1641 base::Unretained(this), 1629 base::Unretained(this),
1642 "/service_worker/worker.js")); 1630 "/service_worker/worker.js"));
1643 1631
1644 base::RunLoop cached_metadata_run_loop; 1632 base::RunLoop cached_metadata_run_loop;
1645 cache_updated_closure_ = cached_metadata_run_loop.QuitClosure(); 1633 cache_updated_closure_ = cached_metadata_run_loop.QuitClosure();
1646 1634
1647 // Start a worker. 1635 // Start a worker.
1648 StartWorker(SERVICE_WORKER_OK); 1636 StartWorker(SERVICE_WORKER_OK);
1649 1637
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
1896 const std::string ServiceWorkerV8CacheStrategiesTest::kPageUrl = 1884 const std::string ServiceWorkerV8CacheStrategiesTest::kPageUrl =
1897 "/service_worker/v8_cache_test.html"; 1885 "/service_worker/v8_cache_test.html";
1898 const std::string ServiceWorkerV8CacheStrategiesTest::kWorkerUrl = 1886 const std::string ServiceWorkerV8CacheStrategiesTest::kWorkerUrl =
1899 "/service_worker/fetch_event_response_via_cache.js"; 1887 "/service_worker/fetch_event_response_via_cache.js";
1900 const std::string ServiceWorkerV8CacheStrategiesTest::kScriptUrl = 1888 const std::string ServiceWorkerV8CacheStrategiesTest::kScriptUrl =
1901 "/service_worker/v8_cache_test.js"; 1889 "/service_worker/v8_cache_test.js";
1902 // V8ScriptRunner::setCacheTimeStamp() stores 12 byte data (tag + timestamp). 1890 // V8ScriptRunner::setCacheTimeStamp() stores 12 byte data (tag + timestamp).
1903 const int ServiceWorkerV8CacheStrategiesTest::kV8CacheTimeStampDataSize = 1891 const int ServiceWorkerV8CacheStrategiesTest::kV8CacheTimeStampDataSize =
1904 sizeof(unsigned) + sizeof(double); 1892 sizeof(unsigned) + sizeof(double);
1905 1893
1906 IN_PROC_BROWSER_TEST_P(ServiceWorkerV8CacheStrategiesTest, 1894 IN_PROC_BROWSER_TEST_F(ServiceWorkerV8CacheStrategiesTest,
1907 V8CacheOnCacheStorage) { 1895 V8CacheOnCacheStorage) {
1908 // The strategy is "aggressive" on default. 1896 // The strategy is "aggressive" on default.
1909 CheckStrategyIsAggressive(); 1897 CheckStrategyIsAggressive();
1910 } 1898 }
1911 1899
1912 class ServiceWorkerV8CacheStrategiesNoneTest 1900 class ServiceWorkerV8CacheStrategiesNoneTest
1913 : public ServiceWorkerV8CacheStrategiesTest { 1901 : public ServiceWorkerV8CacheStrategiesTest {
1914 public: 1902 public:
1915 ServiceWorkerV8CacheStrategiesNoneTest() {} 1903 ServiceWorkerV8CacheStrategiesNoneTest() {}
1916 ~ServiceWorkerV8CacheStrategiesNoneTest() override {} 1904 ~ServiceWorkerV8CacheStrategiesNoneTest() override {}
1917 void SetUpCommandLine(base::CommandLine* command_line) override { 1905 void SetUpCommandLine(base::CommandLine* command_line) override {
1918 command_line->AppendSwitchASCII(switches::kV8CacheStrategiesForCacheStorage, 1906 command_line->AppendSwitchASCII(switches::kV8CacheStrategiesForCacheStorage,
1919 "none"); 1907 "none");
1920 } 1908 }
1921 1909
1922 private: 1910 private:
1923 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerV8CacheStrategiesNoneTest); 1911 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerV8CacheStrategiesNoneTest);
1924 }; 1912 };
1925 1913
1926 IN_PROC_BROWSER_TEST_P(ServiceWorkerV8CacheStrategiesNoneTest, 1914 IN_PROC_BROWSER_TEST_F(ServiceWorkerV8CacheStrategiesNoneTest,
1927 V8CacheOnCacheStorage) { 1915 V8CacheOnCacheStorage) {
1928 CheckStrategyIsNone(); 1916 CheckStrategyIsNone();
1929 } 1917 }
1930 1918
1931 class ServiceWorkerV8CacheStrategiesNormalTest 1919 class ServiceWorkerV8CacheStrategiesNormalTest
1932 : public ServiceWorkerV8CacheStrategiesTest { 1920 : public ServiceWorkerV8CacheStrategiesTest {
1933 public: 1921 public:
1934 ServiceWorkerV8CacheStrategiesNormalTest() {} 1922 ServiceWorkerV8CacheStrategiesNormalTest() {}
1935 ~ServiceWorkerV8CacheStrategiesNormalTest() override {} 1923 ~ServiceWorkerV8CacheStrategiesNormalTest() override {}
1936 void SetUpCommandLine(base::CommandLine* command_line) override { 1924 void SetUpCommandLine(base::CommandLine* command_line) override {
1937 command_line->AppendSwitchASCII(switches::kV8CacheStrategiesForCacheStorage, 1925 command_line->AppendSwitchASCII(switches::kV8CacheStrategiesForCacheStorage,
1938 "normal"); 1926 "normal");
1939 } 1927 }
1940 1928
1941 private: 1929 private:
1942 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerV8CacheStrategiesNormalTest); 1930 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerV8CacheStrategiesNormalTest);
1943 }; 1931 };
1944 1932
1945 IN_PROC_BROWSER_TEST_P(ServiceWorkerV8CacheStrategiesNormalTest, 1933 IN_PROC_BROWSER_TEST_F(ServiceWorkerV8CacheStrategiesNormalTest,
1946 V8CacheOnCacheStorage) { 1934 V8CacheOnCacheStorage) {
1947 CheckStrategyIsNormal(); 1935 CheckStrategyIsNormal();
1948 } 1936 }
1949 1937
1950 class ServiceWorkerV8CacheStrategiesAggressiveTest 1938 class ServiceWorkerV8CacheStrategiesAggressiveTest
1951 : public ServiceWorkerV8CacheStrategiesTest { 1939 : public ServiceWorkerV8CacheStrategiesTest {
1952 public: 1940 public:
1953 ServiceWorkerV8CacheStrategiesAggressiveTest() {} 1941 ServiceWorkerV8CacheStrategiesAggressiveTest() {}
1954 ~ServiceWorkerV8CacheStrategiesAggressiveTest() override {} 1942 ~ServiceWorkerV8CacheStrategiesAggressiveTest() override {}
1955 void SetUpCommandLine(base::CommandLine* command_line) override { 1943 void SetUpCommandLine(base::CommandLine* command_line) override {
1956 command_line->AppendSwitchASCII(switches::kV8CacheStrategiesForCacheStorage, 1944 command_line->AppendSwitchASCII(switches::kV8CacheStrategiesForCacheStorage,
1957 "aggressive"); 1945 "aggressive");
1958 } 1946 }
1959 1947
1960 private: 1948 private:
1961 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerV8CacheStrategiesAggressiveTest); 1949 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerV8CacheStrategiesAggressiveTest);
1962 }; 1950 };
1963 1951
1964 IN_PROC_BROWSER_TEST_P(ServiceWorkerV8CacheStrategiesAggressiveTest, 1952 IN_PROC_BROWSER_TEST_F(ServiceWorkerV8CacheStrategiesAggressiveTest,
1965 V8CacheOnCacheStorage) { 1953 V8CacheOnCacheStorage) {
1966 CheckStrategyIsAggressive(); 1954 CheckStrategyIsAggressive();
1967 } 1955 }
1968 1956
1969 // ServiceWorkerDisableWebSecurityTests check the behavior when the web security 1957 // ServiceWorkerDisableWebSecurityTests check the behavior when the web security
1970 // is disabled. If '--disable-web-security' flag is set, we don't check the 1958 // is disabled. If '--disable-web-security' flag is set, we don't check the
1971 // origin equality in Blink. So the Service Worker related APIs should succeed 1959 // origin equality in Blink. So the Service Worker related APIs should succeed
1972 // even if it is thouching other origin Service Workers. 1960 // even if it is thouching other origin Service Workers.
1973 class ServiceWorkerDisableWebSecurityTest : public ServiceWorkerBrowserTest { 1961 class ServiceWorkerDisableWebSecurityTest : public ServiceWorkerBrowserTest {
1974 public: 1962 public:
(...skipping 30 matching lines...) Expand all
2005 test_page + "?" + 1993 test_page + "?" +
2006 cross_origin_server_.GetURL(cross_origin_url).spec())); 1994 cross_origin_server_.GetURL(cross_origin_url).spec()));
2007 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); 1995 EXPECT_EQ(title, title_watcher.WaitAndGetTitle());
2008 } 1996 }
2009 1997
2010 private: 1998 private:
2011 net::EmbeddedTestServer cross_origin_server_; 1999 net::EmbeddedTestServer cross_origin_server_;
2012 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerDisableWebSecurityTest); 2000 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerDisableWebSecurityTest);
2013 }; 2001 };
2014 2002
2015 IN_PROC_BROWSER_TEST_P(ServiceWorkerDisableWebSecurityTest, 2003 IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest,
2016 GetRegistrationNoCrash) { 2004 GetRegistrationNoCrash) {
2017 const char kPageUrl[] = 2005 const char kPageUrl[] =
2018 "/service_worker/disable_web_security_get_registration.html"; 2006 "/service_worker/disable_web_security_get_registration.html";
2019 const char kScopeUrl[] = "/service_worker/"; 2007 const char kScopeUrl[] = "/service_worker/";
2020 RunTestWithCrossOriginURL(kPageUrl, kScopeUrl); 2008 RunTestWithCrossOriginURL(kPageUrl, kScopeUrl);
2021 } 2009 }
2022 2010
2023 IN_PROC_BROWSER_TEST_P(ServiceWorkerDisableWebSecurityTest, RegisterNoCrash) { 2011 IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, RegisterNoCrash) {
2024 const char kPageUrl[] = "/service_worker/disable_web_security_register.html"; 2012 const char kPageUrl[] = "/service_worker/disable_web_security_register.html";
2025 const char kScopeUrl[] = "/service_worker/"; 2013 const char kScopeUrl[] = "/service_worker/";
2026 RunTestWithCrossOriginURL(kPageUrl, kScopeUrl); 2014 RunTestWithCrossOriginURL(kPageUrl, kScopeUrl);
2027 } 2015 }
2028 2016
2029 IN_PROC_BROWSER_TEST_P(ServiceWorkerDisableWebSecurityTest, UnregisterNoCrash) { 2017 IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, UnregisterNoCrash) {
2030 const char kPageUrl[] = 2018 const char kPageUrl[] =
2031 "/service_worker/disable_web_security_unregister.html"; 2019 "/service_worker/disable_web_security_unregister.html";
2032 const char kScopeUrl[] = "/service_worker/scope/"; 2020 const char kScopeUrl[] = "/service_worker/scope/";
2033 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; 2021 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js";
2034 RegisterServiceWorkerOnCrossOriginServer(kScopeUrl, kWorkerUrl); 2022 RegisterServiceWorkerOnCrossOriginServer(kScopeUrl, kWorkerUrl);
2035 RunTestWithCrossOriginURL(kPageUrl, kScopeUrl); 2023 RunTestWithCrossOriginURL(kPageUrl, kScopeUrl);
2036 } 2024 }
2037 2025
2038 IN_PROC_BROWSER_TEST_P(ServiceWorkerDisableWebSecurityTest, UpdateNoCrash) { 2026 IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, UpdateNoCrash) {
2039 const char kPageUrl[] = "/service_worker/disable_web_security_update.html"; 2027 const char kPageUrl[] = "/service_worker/disable_web_security_update.html";
2040 const char kScopeUrl[] = "/service_worker/scope/"; 2028 const char kScopeUrl[] = "/service_worker/scope/";
2041 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; 2029 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js";
2042 RegisterServiceWorkerOnCrossOriginServer(kScopeUrl, kWorkerUrl); 2030 RegisterServiceWorkerOnCrossOriginServer(kScopeUrl, kWorkerUrl);
2043 RunTestWithCrossOriginURL(kPageUrl, kScopeUrl); 2031 RunTestWithCrossOriginURL(kPageUrl, kScopeUrl);
2044 } 2032 }
2045 2033
2046 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2047 ServiceWorkerBrowserTest,
2048 ::testing::Values(true, false));
2049 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2050 ServiceWorkerVersionBrowserV8CacheTest,
2051 ::testing::Values(true, false));
2052 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2053 ServiceWorkerVersionBrowserTest,
2054 ::testing::Values(true, false));
2055 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2056 ServiceWorkerBlackBoxBrowserTest,
2057 ::testing::Values(true, false));
2058 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2059 ServiceWorkerV8CacheStrategiesTest,
2060 ::testing::Values(true, false));
2061 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2062 ServiceWorkerV8CacheStrategiesNoneTest,
2063 ::testing::Values(true, false));
2064 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2065 ServiceWorkerV8CacheStrategiesNormalTest,
2066 ::testing::Values(true, false));
2067 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2068 ServiceWorkerV8CacheStrategiesAggressiveTest,
2069 ::testing::Values(true, false));
2070 INSTANTIATE_TEST_CASE_P(ServiceWorkerBrowserTest,
2071 ServiceWorkerDisableWebSecurityTest,
2072 ::testing::Values(true, false));
2073
2074 } // namespace content 2034 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698