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..6069e06bda796a1e31ba454ea5b5ef4292da670b 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( |
@@ -225,7 +227,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 +305,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 +344,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 +387,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_; |