Index: content/browser/storage_partition_impl_map.h |
diff --git a/content/browser/storage_partition_impl_map.h b/content/browser/storage_partition_impl_map.h |
index 5c25e027f21edbcd66e51b511ced567293cb8180..3c875575988c2966cd2df7c80ceb5e0ac0cbffeb 100644 |
--- a/content/browser/storage_partition_impl_map.h |
+++ b/content/browser/storage_partition_impl_map.h |
@@ -10,6 +10,7 @@ |
#include "base/callback_forward.h" |
#include "base/gtest_prod_util.h" |
+#include "base/hash_tables.h" |
#include "base/supports_user_data.h" |
#include "content/browser/storage_partition_impl.h" |
#include "content/public/browser/browser_context.h" |
@@ -34,7 +35,16 @@ class StoragePartitionImplMap : public base::SupportsUserData::Data { |
// Starts an asynchronous best-effort attempt to delete all on-disk storage |
// related to |site|, avoiding any directories that are known to be in use. |
- void AsyncObliterate(const GURL& site); |
+ // |
+ // |on_gc_required| is called if the AsyncObliterate() call was unable to |
+ // fully clean the on-disk storage requiring a call to GarbageCollect() on |
+ // the next browser start. |
+ void AsyncObliterate(const GURL& site, const base::Closure& on_gc_required); |
+ |
+ // Examines the on disk storage and removes any entires that are not listed in |
+ // the active_paths, or in use by current entires in the storage partition. |
+ void GarbageCollect(scoped_ptr<base::hash_set<FilePath> > active_paths, |
+ const base::Closure& done); |
void ForEach(const BrowserContext::StoragePartitionCallback& callback); |