Commit 761d80b8 authored by Mohamed Amir Yosef's avatar Mohamed Amir Yosef Committed by Commit Bot

Revert "Add ServiceWorkerStorageControl::ApplyPolicyUpdates()"

This reverts commit 830cf2c5.

Reason for revert: I guess this is the reason for crbug.com/1072348
Sorry if I am mistaken!

Original change's description:
> Add ServiceWorkerStorageControl::ApplyPolicyUpdates()
> 
> This is a wrapper of ServiceWorkerStorage::ApplyPolicyUpdates().
> 
> Bug: 1055677
> Change-Id: I85329c4651dc53851c77183b889b2abb76d2f9ad
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2154638
> Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#760402}

TBR=kinuko@chromium.org,bashi@chromium.org,shimazu@chromium.org

Change-Id: Ic2008979c432164a3296b7bfb2b0fe860b2ad147
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1055677
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2154795Reviewed-by: default avatarMohamed Amir Yosef <mamir@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#760437}
parent 4ffb4486
......@@ -4,7 +4,6 @@
module storage.mojom;
import "components/services/storage/public/mojom/local_storage_control.mojom";
import "components/services/storage/public/mojom/service_worker_database.mojom";
import "mojo/public/mojom/base/big_buffer.mojom";
import "mojo/public/mojom/base/time.mojom";
......@@ -188,8 +187,4 @@ interface ServiceWorkerStorageControl {
// of keys.
ClearUserDataForAllRegistrationsByKeyPrefix(string key_prefix) =>
(ServiceWorkerDatabaseStatus status);
// Applies changes to data retention policy which are relevant at shutdown.
// This is analogous to LocalStorageControl::ApplyPolicyUpdates.
ApplyPolicyUpdates(array<LocalStoragePolicyUpdate> policy_updates);
};
......@@ -56,7 +56,8 @@ void MaybeNotifyWriteFailed(
}
}
const base::FilePath::CharType kDatabaseName[] = FILE_PATH_LITERAL("Database");
const base::FilePath::CharType kDatabaseName[] =
FILE_PATH_LITERAL("Database");
const base::FilePath::CharType kDiskCacheName[] =
FILE_PATH_LITERAL("ScriptCache");
......@@ -67,7 +68,8 @@ ServiceWorkerStorage::InitialData::InitialData()
next_version_id(blink::mojom::kInvalidServiceWorkerVersionId),
next_resource_id(blink::mojom::kInvalidServiceWorkerResourceId) {}
ServiceWorkerStorage::InitialData::~InitialData() = default;
ServiceWorkerStorage::InitialData::~InitialData() {
}
ServiceWorkerStorage::DidDeleteRegistrationParams::DidDeleteRegistrationParams(
int64_t registration_id,
......@@ -894,8 +896,7 @@ void ServiceWorkerStorage::PurgeResources(
}
void ServiceWorkerStorage::ApplyPolicyUpdates(
const std::vector<storage::mojom::LocalStoragePolicyUpdatePtr>&
policy_updates) {
std::vector<storage::mojom::LocalStoragePolicyUpdatePtr> policy_updates) {
for (const auto& update : policy_updates) {
GURL url = update->origin.GetURL();
if (!update->purge_on_shutdown)
......@@ -1302,9 +1303,10 @@ void ServiceWorkerStorage::ReadInitialDataFromDB(
std::unique_ptr<ServiceWorkerStorage::InitialData> data(
new ServiceWorkerStorage::InitialData());
ServiceWorkerDatabase::Status status = database->GetNextAvailableIds(
&data->next_registration_id, &data->next_version_id,
&data->next_resource_id);
ServiceWorkerDatabase::Status status =
database->GetNextAvailableIds(&data->next_registration_id,
&data->next_version_id,
&data->next_resource_id);
if (status != ServiceWorkerDatabase::Status::kOk) {
original_task_runner->PostTask(
FROM_HERE,
......
......@@ -295,8 +295,7 @@ class CONTENT_EXPORT ServiceWorkerStorage {
// Applies |policy_updates|.
void ApplyPolicyUpdates(
const std::vector<storage::mojom::LocalStoragePolicyUpdatePtr>&
policy_updates);
std::vector<storage::mojom::LocalStoragePolicyUpdatePtr> policy_updates);
void LazyInitializeForTest();
......@@ -501,8 +500,9 @@ class CONTENT_EXPORT ServiceWorkerStorage {
scoped_refptr<base::SequencedTaskRunner> original_task_runner,
const std::string& key_prefix,
GetUserDataForAllRegistrationsInDBCallback callback);
static void DeleteAllDataForOriginsFromDB(ServiceWorkerDatabase* database,
const std::set<GURL>& origins);
static void DeleteAllDataForOriginsFromDB(
ServiceWorkerDatabase* database,
const std::set<GURL>& origins);
static void PerformStorageCleanupInDB(ServiceWorkerDatabase* database);
// Posted by the underlying cache implementation after it finishes making
......
......@@ -310,10 +310,4 @@ void ServiceWorkerStorageControlImpl::
std::move(callback));
}
void ServiceWorkerStorageControlImpl::ApplyPolicyUpdates(
const std::vector<storage::mojom::LocalStoragePolicyUpdatePtr>
policy_updates) {
storage_->ApplyPolicyUpdates(std::move(policy_updates));
}
} // namespace content
......@@ -109,9 +109,6 @@ class CONTENT_EXPORT ServiceWorkerStorageControlImpl
void ClearUserDataForAllRegistrationsByKeyPrefix(
const std::string& key_prefix,
ClearUserDataForAllRegistrationsByKeyPrefixCallback callback) override;
void ApplyPolicyUpdates(
const std::vector<storage::mojom::LocalStoragePolicyUpdatePtr>
policy_updates) override;
const std::unique_ptr<ServiceWorkerStorage> storage_;
};
......
......@@ -152,12 +152,7 @@ class ServiceWorkerStorageControlImplTest : public testing::Test {
void SetUp() override {
ASSERT_TRUE(user_data_directory_.CreateUniqueTempDir());
SetUpStorage();
}
void TearDown() override { DestroyStorage(); }
void SetUpStorage() {
auto storage = ServiceWorkerStorage::Create(
user_data_directory_.GetPath(),
/*database_task_runner=*/base::ThreadTaskRunnerHandle::Get(),
......@@ -166,18 +161,12 @@ class ServiceWorkerStorageControlImplTest : public testing::Test {
std::make_unique<ServiceWorkerStorageControlImpl>(std::move(storage));
}
void DestroyStorage() {
void TearDown() override {
storage_impl_.reset();
disk_cache::FlushCacheThreadForTesting();
content::RunAllTasksUntilIdle();
}
void RestartStorage() {
DestroyStorage();
SetUpStorage();
LazyInitializeForTest();
}
storage::mojom::ServiceWorkerStorageControl* storage() {
return storage_impl_.get();
}
......@@ -1110,46 +1099,4 @@ TEST_F(ServiceWorkerStorageControlImplTest,
EXPECT_EQ(result.values.size(), 0UL);
}
// Tests that apply policy updates work.
TEST_F(ServiceWorkerStorageControlImplTest, ApplyPolicyUpdates) {
const GURL kScope1("https://foo.example.com/");
const GURL kScriptUrl1("https://foo.example.com/sw.js");
const GURL kScope2("https://bar.example.com/");
const GURL kScriptUrl2("https://bar.example.com/sw.js");
const int64_t kScriptSize = 10;
LazyInitializeForTest();
// Preparation: Create and store two registrations.
DatabaseStatus status;
const int64_t registration_id1 = GetNewRegistrationId();
const int64_t version_id1 = GetNewVersionId();
status = CreateAndStoreRegistration(registration_id1, version_id1, kScope1,
kScriptUrl1, kScriptSize);
ASSERT_EQ(status, DatabaseStatus::kOk);
const int64_t registration_id2 = GetNewRegistrationId();
const int64_t version_id2 = GetNewVersionId();
status = CreateAndStoreRegistration(registration_id2, version_id2, kScope2,
kScriptUrl2, kScriptSize);
ASSERT_EQ(status, DatabaseStatus::kOk);
// Update policies to purge the registration for |kScope2| on shutdown.
std::vector<storage::mojom::LocalStoragePolicyUpdatePtr> updates;
updates.push_back(storage::mojom::LocalStoragePolicyUpdate::New(
url::Origin::Create(kScope2.GetOrigin()), /*purge_on_shutdown=*/true));
storage()->ApplyPolicyUpdates(std::move(updates));
// Restart the storage and check the registration for |kScope1| exists
// but not for |kScope2|.
RestartStorage();
{
FindRegistrationResult result = FindRegistrationForScope(kScope1);
ASSERT_EQ(result->status, DatabaseStatus::kOk);
}
{
FindRegistrationResult result = FindRegistrationForScope(kScope2);
ASSERT_EQ(result->status, DatabaseStatus::kErrorNotFound);
}
}
} // 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