| Index: content/browser/service_worker/service_worker_storage.h
|
| diff --git a/content/browser/service_worker/service_worker_storage.h b/content/browser/service_worker/service_worker_storage.h
|
| index 34836f3e28ca462d7c556947f1f3fe9e6f33ab30..708384256b55911f7529edcd2bb11fdfc0747c32 100644
|
| --- a/content/browser/service_worker/service_worker_storage.h
|
| +++ b/content/browser/service_worker/service_worker_storage.h
|
| @@ -28,6 +28,7 @@ class SingleThreadTaskRunner;
|
|
|
| namespace storage {
|
| class QuotaManagerProxy;
|
| +class SpecialStoragePolicy;
|
| }
|
|
|
| namespace content {
|
| @@ -63,7 +64,8 @@ class CONTENT_EXPORT ServiceWorkerStorage
|
| base::WeakPtr<ServiceWorkerContextCore> context,
|
| const scoped_refptr<base::SequencedTaskRunner>& database_task_runner,
|
| const scoped_refptr<base::SingleThreadTaskRunner>& disk_cache_thread,
|
| - storage::QuotaManagerProxy* quota_manager_proxy);
|
| + storage::QuotaManagerProxy* quota_manager_proxy,
|
| + storage::SpecialStoragePolicy* special_storage_policy);
|
|
|
| // Used for DeleteAndStartOver. Creates new storage based on |old_storage|.
|
| static scoped_ptr<ServiceWorkerStorage> Create(
|
| @@ -175,6 +177,8 @@ class CONTENT_EXPORT ServiceWorkerStorage
|
| UpdateRegistration);
|
| FRIEND_TEST_ALL_PREFIXES(ServiceWorkerResourceStorageDiskTest,
|
| CleanupOnRestart);
|
| + FRIEND_TEST_ALL_PREFIXES(ServiceWorkerResourceStorageDiskTest,
|
| + ClearOnExit);
|
|
|
| struct InitialData {
|
| int64 next_registration_id;
|
| @@ -225,7 +229,8 @@ class CONTENT_EXPORT ServiceWorkerStorage
|
| base::WeakPtr<ServiceWorkerContextCore> context,
|
| const scoped_refptr<base::SequencedTaskRunner>& database_task_runner,
|
| const scoped_refptr<base::SingleThreadTaskRunner>& disk_cache_thread,
|
| - storage::QuotaManagerProxy* quota_manager_proxy);
|
| + storage::QuotaManagerProxy* quota_manager_proxy,
|
| + storage::SpecialStoragePolicy* special_storage_policy);
|
|
|
| base::FilePath GetDatabasePath();
|
| base::FilePath GetDiskCachePath();
|
| @@ -302,6 +307,8 @@ class CONTENT_EXPORT ServiceWorkerStorage
|
| void DidCollectStaleResources(const std::vector<int64>& stale_resource_ids,
|
| ServiceWorkerDatabase::Status status);
|
|
|
| + void ClearSessionOnlyOrigins();
|
| +
|
| // Static cross-thread helpers.
|
| static void CollectStaleResourcesFromDB(
|
| ServiceWorkerDatabase* database,
|
| @@ -339,6 +346,9 @@ class CONTENT_EXPORT ServiceWorkerStorage
|
| int64 registration_id,
|
| const GURL& origin,
|
| const FindInDBCallback& callback);
|
| + static void DeleteAllDataForOriginsFromDB(
|
| + ServiceWorkerDatabase* database,
|
| + const std::set<GURL>& origins);
|
|
|
| void ScheduleDeleteAndStartOver();
|
| void DidDeleteDatabase(
|
| @@ -379,6 +389,7 @@ class CONTENT_EXPORT ServiceWorkerStorage
|
| scoped_refptr<base::SequencedTaskRunner> database_task_runner_;
|
| scoped_refptr<base::SingleThreadTaskRunner> disk_cache_thread_;
|
| scoped_refptr<storage::QuotaManagerProxy> quota_manager_proxy_;
|
| + scoped_refptr<storage::SpecialStoragePolicy> special_storage_policy_;
|
| scoped_ptr<ServiceWorkerDiskCache> disk_cache_;
|
| std::deque<int64> purgeable_resource_ids_;
|
| bool is_purge_pending_;
|
|
|