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

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

Issue 355163003: Don't prematurely delete script resources when registration is deleted (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 55238a45f76b9f4555a49a35ace39a1dea82e663..6310cc157393a5e592005d947447f26e9de17875 100644
--- a/content/browser/service_worker/service_worker_storage.h
+++ b/content/browser/service_worker/service_worker_storage.h
@@ -110,6 +110,7 @@ class CONTENT_EXPORT ServiceWorkerStorage {
void DeleteRegistration(int64 registration_id,
const GURL& origin,
const StatusCallback& callback);
+ void DeleteVersionResources(int64 version_id, const StatusCallback& callback);
scoped_ptr<ServiceWorkerResponseReader> CreateResponseReader(
int64 response_id);
@@ -170,12 +171,14 @@ class CONTENT_EXPORT ServiceWorkerStorage {
ServiceWorkerDatabase::Status status)> WriteRegistrationCallback;
typedef base::Callback<void(
bool origin_is_deletable,
- const std::vector<int64>& newly_purgeable_resources,
ServiceWorkerDatabase::Status status)> DeleteRegistrationCallback;
typedef base::Callback<void(
- const ServiceWorkerDatabase::RegistrationData& data,
- const ResourceList& resources,
- ServiceWorkerDatabase::Status status)> FindInDBCallback;
+ const std::vector<int64>& newly_purgeable_resources,
+ ServiceWorkerDatabase::Status status)> DeleteVersionResourcesCallback;
+ typedef base::Callback<
+ void(const ServiceWorkerDatabase::RegistrationData& data,
+ const ResourceList& resources,
+ ServiceWorkerDatabase::Status status)> FindInDBCallback;
ServiceWorkerStorage(const base::FilePath& path,
base::WeakPtr<ServiceWorkerContextCore> context,
@@ -220,10 +223,12 @@ class CONTENT_EXPORT ServiceWorkerStorage {
void DidUpdateToActiveState(
const StatusCallback& callback,
ServiceWorkerDatabase::Status status);
- void DidDeleteRegistration(
- const GURL& origin,
+ void DidDeleteRegistration(const GURL& origin,
+ const StatusCallback& callback,
+ bool origin_is_deletable,
+ ServiceWorkerDatabase::Status status);
+ void DidDeleteVersionResources(
const StatusCallback& callback,
- bool origin_is_deletable,
const std::vector<int64>& newly_purgeable_resources,
ServiceWorkerDatabase::Status status);
@@ -258,6 +263,11 @@ class CONTENT_EXPORT ServiceWorkerStorage {
int64 registration_id,
const GURL& origin,
const DeleteRegistrationCallback& callback);
+ static void DeleteVersionResourcesFromDB(
+ ServiceWorkerDatabase* database,
+ scoped_refptr<base::SequencedTaskRunner> original_task_runner,
+ int64 version_id,
+ const DeleteVersionResourcesCallback& callback);
static void WriteRegistrationInDB(
ServiceWorkerDatabase* database,
scoped_refptr<base::SequencedTaskRunner> original_task_runner,
@@ -320,7 +330,7 @@ class CONTENT_EXPORT ServiceWorkerStorage {
scoped_refptr<base::MessageLoopProxy> disk_cache_thread_;
scoped_refptr<quota::QuotaManagerProxy> quota_manager_proxy_;
scoped_ptr<ServiceWorkerDiskCache> disk_cache_;
- std::deque<int64> purgeable_reource_ids_;
+ std::deque<int64> purgeable_resource_ids_;
bool is_purge_pending_;
base::WeakPtrFactory<ServiceWorkerStorage> weak_factory_;

Powered by Google App Engine
This is Rietveld 408576698