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

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

Issue 1656933003: Add origins argument to registerForeignFetchScopes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add url::Origin::operator== to make tests simpler Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/service_worker/service_worker_version_unittest.cc
diff --git a/content/browser/service_worker/service_worker_version_unittest.cc b/content/browser/service_worker/service_worker_version_unittest.cc
index 3247312aeae996a5a17fcef011e35e2f891753e6..30ddab872e81e83d5d656ae0ce3b1c2a71ec6fe6 100644
--- a/content/browser/service_worker/service_worker_version_unittest.cc
+++ b/content/browser/service_worker/service_worker_version_unittest.cc
@@ -1062,43 +1062,69 @@ TEST_F(ServiceWorkerVersionTest, RegisterForeignFetchScopes) {
EXPECT_EQ(ServiceWorkerVersion::RUNNING, version_->running_status());
EXPECT_EQ(0, helper_->mock_render_process_host()->bad_msg_count());
- // Invalid URL, should kill worker (but in tests will only increase bad
+ GURL valid_scope_1("http://www.example.com/test/subscope");
+ GURL valid_scope_2("http://www.example.com/test/othersubscope");
+ std::vector<GURL> valid_scopes;
+ valid_scopes.push_back(valid_scope_1);
+ valid_scopes.push_back(valid_scope_2);
+
+ std::vector<url::Origin> all_origins;
+ url::Origin valid_origin(GURL("https://chromium.org/"));
+ std::vector<url::Origin> valid_origin_list(1, valid_origin);
+
+ // Invalid subscope, should kill worker (but in tests will only increase bad
// message count).
- version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, GURL()));
+ version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, GURL()),
+ valid_origin_list);
base::RunLoop().RunUntilIdle();
EXPECT_EQ(1, helper_->mock_render_process_host()->bad_msg_count());
EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size());
+ EXPECT_EQ(0u, version_->foreign_fetch_origins_.size());
- // URL outside the scope of the worker.
+ // Subscope outside the scope of the worker.
version_->OnRegisterForeignFetchScopes(
- std::vector<GURL>(1, GURL("http://www.example.com/wrong")));
+ std::vector<GURL>(1, GURL("http://www.example.com/wrong")),
+ valid_origin_list);
base::RunLoop().RunUntilIdle();
EXPECT_EQ(2, helper_->mock_render_process_host()->bad_msg_count());
EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size());
+ EXPECT_EQ(0u, version_->foreign_fetch_origins_.size());
- // URL on wrong origin.
+ // Subscope on wrong origin.
version_->OnRegisterForeignFetchScopes(
- std::vector<GURL>(1, GURL("http://example.com/test/")));
+ std::vector<GURL>(1, GURL("http://example.com/test/")),
+ valid_origin_list);
base::RunLoop().RunUntilIdle();
EXPECT_EQ(3, helper_->mock_render_process_host()->bad_msg_count());
EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size());
+ EXPECT_EQ(0u, version_->foreign_fetch_origins_.size());
- // Valid URL 1.
- GURL valid_scope_1("http://www.example.com/test/subscope");
- version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, valid_scope_1));
+ // Invalid origin.
+ version_->OnRegisterForeignFetchScopes(
+ valid_scopes, std::vector<url::Origin>(1, url::Origin()));
base::RunLoop().RunUntilIdle();
- EXPECT_EQ(3, helper_->mock_render_process_host()->bad_msg_count());
+ EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count());
+ EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size());
+ EXPECT_EQ(0u, version_->foreign_fetch_origins_.size());
+
+ // Valid subscope, no origins.
+ version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, valid_scope_1),
+ all_origins);
+ base::RunLoop().RunUntilIdle();
+ EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count());
EXPECT_EQ(1u, version_->foreign_fetch_scopes_.size());
EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]);
+ EXPECT_EQ(0u, version_->foreign_fetch_origins_.size());
- // Valid URL 2.
- GURL valid_scope_2("http://www.example.com/test/subscope");
- version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, valid_scope_2));
+ // Valid subscope, explicit origins.
+ version_->OnRegisterForeignFetchScopes(valid_scopes, valid_origin_list);
base::RunLoop().RunUntilIdle();
- EXPECT_EQ(3, helper_->mock_render_process_host()->bad_msg_count());
+ EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count());
EXPECT_EQ(2u, version_->foreign_fetch_scopes_.size());
EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]);
EXPECT_EQ(valid_scope_2, version_->foreign_fetch_scopes_[1]);
+ EXPECT_EQ(1u, version_->foreign_fetch_origins_.size());
+ EXPECT_EQ(valid_origin, version_->foreign_fetch_origins_[0]);
}
TEST_F(ServiceWorkerVersionTest, RendererCrashDuringEvent) {
« no previous file with comments | « content/browser/service_worker/service_worker_version.cc ('k') | content/common/service_worker/service_worker_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698