Commit 2f984c5c authored by Nidhi Jaju's avatar Nidhi Jaju Committed by Commit Bot

Change |registered_origins_| to use url::Origin

While changing GURL callsites to url::Origin for origins in
https://chromium-review.googlesource.com/c/chromium/src/+/2389201,
we realised that we should change |registered_origins_| to use
url::Origin instead of GURL. This CL makes that change. The relevant
callsites have also been modified.

Bug: 1095896
Change-Id: I76f8bc42634b8cb34b0fca79fd55d0509034b713
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2401033Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Commit-Queue: Nidhi Jaju <nidhijaju127@gmail.com>
Cr-Commit-Position: refs/heads/master@{#806093}
parent 86330663
...@@ -335,7 +335,8 @@ ServiceWorkerDatabase::Status ServiceWorkerDatabase::GetNextAvailableIds( ...@@ -335,7 +335,8 @@ ServiceWorkerDatabase::Status ServiceWorkerDatabase::GetNextAvailableIds(
} }
ServiceWorkerDatabase::Status ServiceWorkerDatabase::Status
ServiceWorkerDatabase::GetOriginsWithRegistrations(std::set<GURL>* origins) { ServiceWorkerDatabase::GetOriginsWithRegistrations(
std::set<url::Origin>* origins) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(origins->empty()); DCHECK(origins->empty());
...@@ -369,7 +370,7 @@ ServiceWorkerDatabase::GetOriginsWithRegistrations(std::set<GURL>* origins) { ...@@ -369,7 +370,7 @@ ServiceWorkerDatabase::GetOriginsWithRegistrations(std::set<GURL>* origins) {
break; break;
} }
origins->insert(origin); origins->insert(url::Origin::Create(origin));
} }
} }
......
...@@ -85,7 +85,7 @@ class CONTENT_EXPORT ServiceWorkerDatabase { ...@@ -85,7 +85,7 @@ class CONTENT_EXPORT ServiceWorkerDatabase {
// Reads origins that have one or more than one registration from the // Reads origins that have one or more than one registration from the
// database. Returns OK if they are successfully read or not found. // database. Returns OK if they are successfully read or not found.
// Otherwise, returns an error. // Otherwise, returns an error.
Status GetOriginsWithRegistrations(std::set<GURL>* origins); Status GetOriginsWithRegistrations(std::set<url::Origin>* origins);
// Reads registrations for |origin| from the database. Returns OK if they are // Reads registrations for |origin| from the database. Returns OK if they are
// successfully read or not found. Otherwise, returns an error. // successfully read or not found. Otherwise, returns an error.
......
...@@ -352,18 +352,18 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) { ...@@ -352,18 +352,18 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
std::set<GURL> origins; std::set<url::Origin> origins;
EXPECT_EQ(ServiceWorkerDatabase::Status::kOk, EXPECT_EQ(ServiceWorkerDatabase::Status::kOk,
database->GetOriginsWithRegistrations(&origins)); database->GetOriginsWithRegistrations(&origins));
EXPECT_TRUE(origins.empty()); EXPECT_TRUE(origins.empty());
ServiceWorkerDatabase::DeletedVersion deleted_version; ServiceWorkerDatabase::DeletedVersion deleted_version;
GURL origin1("https://example.com"); url::Origin origin1 = url::Origin::Create(GURL("https://example.com"));
RegistrationData data1; RegistrationData data1;
data1.registration_id = 123; data1.registration_id = 123;
data1.scope = URL(origin1, "/foo"); data1.scope = URL(origin1.GetURL(), "/foo");
data1.script = URL(origin1, "/script1.js"); data1.script = URL(origin1.GetURL(), "/script1.js");
data1.version_id = 456; data1.version_id = 456;
data1.resources_total_size_bytes = 100; data1.resources_total_size_bytes = 100;
std::vector<ResourceRecordPtr> resources1; std::vector<ResourceRecordPtr> resources1;
...@@ -371,11 +371,11 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { ...@@ -371,11 +371,11 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
ASSERT_EQ(ServiceWorkerDatabase::Status::kOk, ASSERT_EQ(ServiceWorkerDatabase::Status::kOk,
database->WriteRegistration(data1, resources1, &deleted_version)); database->WriteRegistration(data1, resources1, &deleted_version));
GURL origin2("https://www.example.com"); url::Origin origin2 = url::Origin::Create(GURL("https://www.example.com"));
RegistrationData data2; RegistrationData data2;
data2.registration_id = 234; data2.registration_id = 234;
data2.scope = URL(origin2, "/bar"); data2.scope = URL(origin2.GetURL(), "/bar");
data2.script = URL(origin2, "/script2.js"); data2.script = URL(origin2.GetURL(), "/script2.js");
data2.version_id = 567; data2.version_id = 567;
data2.resources_total_size_bytes = 200; data2.resources_total_size_bytes = 200;
std::vector<ResourceRecordPtr> resources2; std::vector<ResourceRecordPtr> resources2;
...@@ -383,11 +383,11 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { ...@@ -383,11 +383,11 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
ASSERT_EQ(ServiceWorkerDatabase::Status::kOk, ASSERT_EQ(ServiceWorkerDatabase::Status::kOk,
database->WriteRegistration(data2, resources2, &deleted_version)); database->WriteRegistration(data2, resources2, &deleted_version));
GURL origin3("https://example.org"); url::Origin origin3 = url::Origin::Create(GURL("https://example.org"));
RegistrationData data3; RegistrationData data3;
data3.registration_id = 345; data3.registration_id = 345;
data3.scope = URL(origin3, "/hoge"); data3.scope = URL(origin3.GetURL(), "/hoge");
data3.script = URL(origin3, "/script3.js"); data3.script = URL(origin3.GetURL(), "/script3.js");
data3.version_id = 678; data3.version_id = 678;
data3.resources_total_size_bytes = 300; data3.resources_total_size_bytes = 300;
std::vector<ResourceRecordPtr> resources3; std::vector<ResourceRecordPtr> resources3;
...@@ -398,8 +398,8 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { ...@@ -398,8 +398,8 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
// |origin3| has two registrations. // |origin3| has two registrations.
RegistrationData data4; RegistrationData data4;
data4.registration_id = 456; data4.registration_id = 456;
data4.scope = URL(origin3, "/fuga"); data4.scope = URL(origin3.GetURL(), "/fuga");
data4.script = URL(origin3, "/script4.js"); data4.script = URL(origin3.GetURL(), "/script4.js");
data4.version_id = 789; data4.version_id = 789;
data4.resources_total_size_bytes = 400; data4.resources_total_size_bytes = 400;
std::vector<ResourceRecordPtr> resources4; std::vector<ResourceRecordPtr> resources4;
...@@ -418,8 +418,8 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { ...@@ -418,8 +418,8 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
// |origin3| has another registration, so should not remove it from the // |origin3| has another registration, so should not remove it from the
// unique origin list. // unique origin list.
ASSERT_EQ(ServiceWorkerDatabase::Status::kOk, ASSERT_EQ(ServiceWorkerDatabase::Status::kOk,
database->DeleteRegistration(data4.registration_id, origin3, database->DeleteRegistration(data4.registration_id,
&deleted_version)); origin3.GetURL(), &deleted_version));
EXPECT_EQ(data4.registration_id, deleted_version.registration_id); EXPECT_EQ(data4.registration_id, deleted_version.registration_id);
origins.clear(); origins.clear();
...@@ -432,8 +432,8 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { ...@@ -432,8 +432,8 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
// |origin3| should be removed from the unique origin list. // |origin3| should be removed from the unique origin list.
ASSERT_EQ(ServiceWorkerDatabase::Status::kOk, ASSERT_EQ(ServiceWorkerDatabase::Status::kOk,
database->DeleteRegistration(data3.registration_id, origin3, database->DeleteRegistration(data3.registration_id,
&deleted_version)); origin3.GetURL(), &deleted_version));
EXPECT_EQ(data3.registration_id, deleted_version.registration_id); EXPECT_EQ(data3.registration_id, deleted_version.registration_id);
origins.clear(); origins.clear();
...@@ -2028,11 +2028,11 @@ TEST(ServiceWorkerDatabaseTest, DeleteAllDataForOrigin) { ...@@ -2028,11 +2028,11 @@ TEST(ServiceWorkerDatabaseTest, DeleteAllDataForOrigin) {
&newly_purgeable_resources)); &newly_purgeable_resources));
// |origin1| should be removed from the unique origin list. // |origin1| should be removed from the unique origin list.
std::set<GURL> unique_origins; std::set<url::Origin> unique_origins;
EXPECT_EQ(ServiceWorkerDatabase::Status::kOk, EXPECT_EQ(ServiceWorkerDatabase::Status::kOk,
database->GetOriginsWithRegistrations(&unique_origins)); database->GetOriginsWithRegistrations(&unique_origins));
EXPECT_EQ(1u, unique_origins.size()); EXPECT_EQ(1u, unique_origins.size());
EXPECT_TRUE(base::Contains(unique_origins, url2)); EXPECT_TRUE(base::Contains(unique_origins, origin2));
// The registrations for |origin1| should be removed. // The registrations for |origin1| should be removed.
std::vector<storage::mojom::ServiceWorkerRegistrationDataPtr> registrations; std::vector<storage::mojom::ServiceWorkerRegistrationDataPtr> registrations;
......
...@@ -136,7 +136,7 @@ void ServiceWorkerStorage::GetRegisteredOrigins( ...@@ -136,7 +136,7 @@ void ServiceWorkerStorage::GetRegisteredOrigins(
std::vector<url::Origin> origins; std::vector<url::Origin> origins;
for (const auto& origin : registered_origins_) for (const auto& origin : registered_origins_)
origins.push_back(url::Origin::Create(origin)); origins.push_back(origin);
std::move(callback).Run(std::move(origins)); std::move(callback).Run(std::move(origins));
} }
...@@ -165,7 +165,7 @@ void ServiceWorkerStorage::FindRegistrationForClientUrl( ...@@ -165,7 +165,7 @@ void ServiceWorkerStorage::FindRegistrationForClientUrl(
} }
// Bypass database lookup when there is no stored registration. // Bypass database lookup when there is no stored registration.
if (!base::Contains(registered_origins_, client_url.GetOrigin())) { if (!base::Contains(registered_origins_, url::Origin::Create(client_url))) {
std::move(callback).Run( std::move(callback).Run(
/*data=*/nullptr, /*resources=*/nullptr, /*data=*/nullptr, /*resources=*/nullptr,
ServiceWorkerDatabase::Status::kErrorNotFound); ServiceWorkerDatabase::Status::kErrorNotFound);
...@@ -199,7 +199,7 @@ void ServiceWorkerStorage::FindRegistrationForScope( ...@@ -199,7 +199,7 @@ void ServiceWorkerStorage::FindRegistrationForScope(
} }
// Bypass database lookup when there is no stored registration. // Bypass database lookup when there is no stored registration.
if (!base::Contains(registered_origins_, scope.GetOrigin())) { if (!base::Contains(registered_origins_, url::Origin::Create(scope))) {
RunSoon(FROM_HERE, RunSoon(FROM_HERE,
base::BindOnce(std::move(callback), base::BindOnce(std::move(callback),
/*data=*/nullptr, /*resources=*/nullptr, /*data=*/nullptr, /*resources=*/nullptr,
...@@ -235,7 +235,7 @@ void ServiceWorkerStorage::FindRegistrationForId( ...@@ -235,7 +235,7 @@ void ServiceWorkerStorage::FindRegistrationForId(
} }
// Bypass database lookup when there is no stored registration. // Bypass database lookup when there is no stored registration.
if (!base::Contains(registered_origins_, origin.GetURL())) { if (!base::Contains(registered_origins_, origin)) {
std::move(callback).Run( std::move(callback).Run(
/*data=*/nullptr, /*resources=*/nullptr, /*data=*/nullptr, /*resources=*/nullptr,
ServiceWorkerDatabase::Status::kErrorNotFound); ServiceWorkerDatabase::Status::kErrorNotFound);
...@@ -1124,7 +1124,7 @@ void ServiceWorkerStorage::DidStoreRegistrationData( ...@@ -1124,7 +1124,7 @@ void ServiceWorkerStorage::DidStoreRegistrationData(
deleted_version.newly_purgeable_resources); deleted_version.newly_purgeable_resources);
return; return;
} }
registered_origins_.insert(origin); registered_origins_.insert(url::Origin::Create(origin));
if (quota_manager_proxy_) { if (quota_manager_proxy_) {
// Can be nullptr in tests. // Can be nullptr in tests.
...@@ -1170,7 +1170,7 @@ void ServiceWorkerStorage::DidDeleteRegistration( ...@@ -1170,7 +1170,7 @@ void ServiceWorkerStorage::DidDeleteRegistration(
} }
if (origin_state == OriginState::kDelete) if (origin_state == OriginState::kDelete)
registered_origins_.erase(params->origin); registered_origins_.erase(url::Origin::Create(params->origin));
std::move(params->callback) std::move(params->callback)
.Run(ServiceWorkerDatabase::Status::kOk, origin_state, .Run(ServiceWorkerDatabase::Status::kOk, origin_state,
......
...@@ -320,7 +320,7 @@ class CONTENT_EXPORT ServiceWorkerStorage { ...@@ -320,7 +320,7 @@ class CONTENT_EXPORT ServiceWorkerStorage {
int64_t next_registration_id; int64_t next_registration_id;
int64_t next_version_id; int64_t next_version_id;
int64_t next_resource_id; int64_t next_resource_id;
std::set<GURL> origins; std::set<url::Origin> origins;
InitialData(); InitialData();
~InitialData(); ~InitialData();
...@@ -511,7 +511,7 @@ class CONTENT_EXPORT ServiceWorkerStorage { ...@@ -511,7 +511,7 @@ class CONTENT_EXPORT ServiceWorkerStorage {
void DidDeleteDiskCache(DatabaseStatusCallback callback, bool result); void DidDeleteDiskCache(DatabaseStatusCallback callback, bool result);
// Origins having registations. // Origins having registations.
std::set<GURL> registered_origins_; std::set<url::Origin> registered_origins_;
// The set of origins whose storage should be cleaned on shutdown. // The set of origins whose storage should be cleaned on shutdown.
std::set<GURL> origins_to_purge_on_shutdown_; std::set<GURL> origins_to_purge_on_shutdown_;
......
...@@ -315,7 +315,7 @@ class ServiceWorkerStorageTest : public testing::Test { ...@@ -315,7 +315,7 @@ class ServiceWorkerStorageTest : public testing::Test {
ServiceWorkerDatabase* database() { return storage()->database_.get(); } ServiceWorkerDatabase* database() { return storage()->database_.get(); }
protected: protected:
const std::set<GURL>& registered_origins() { const std::set<url::Origin>& registered_origins() {
return storage()->registered_origins_; return storage()->registered_origins_;
} }
......
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