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

Unified Diff: content/browser/service_worker/service_worker_storage.h

Issue 633873002: Service Worker: Respect the "clear on exit" content setting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@contentsettings
Patch Set: just clear in dtor Created 6 years, 2 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_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_;

Powered by Google App Engine
This is Rietveld 408576698