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

Unified Diff: webkit/quota/quota_manager.h

Issue 7029007: Implement EvictOriginData in QuotaManager. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Updated. Created 9 years, 7 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
« no previous file with comments | « no previous file | webkit/quota/quota_manager.cc » ('j') | webkit/quota/quota_manager.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/quota/quota_manager.h
diff --git a/webkit/quota/quota_manager.h b/webkit/quota/quota_manager.h
index e50a58f75e07d22843ad9709a3a42e7d9d1207ab..8e569cd585a67cc536d73970a2a924d646dc91dc 100644
--- a/webkit/quota/quota_manager.h
+++ b/webkit/quota/quota_manager.h
@@ -29,6 +29,7 @@ class FilePath;
namespace quota {
class QuotaDatabase;
+class QuotaTemporaryStorageEvictor;
class UsageTracker;
struct QuotaManagerDeleter;
@@ -60,6 +61,7 @@ class QuotaEvictionHandler {
// held by the profile. With the exception of the constructor and the
// proxy() method, all methods should only be called on the IO thread.
class QuotaManager : public QuotaTaskObserver,
+ public QuotaEvictionHandler,
public base::RefCountedThreadSafe<
QuotaManager, QuotaManagerDeleter> {
public:
@@ -68,7 +70,6 @@ class QuotaManager : public QuotaTaskObserver,
int64 /* quota */>::Type GetUsageAndQuotaCallback;
typedef Callback2<QuotaStatusCode,
int64 /* granted_quota */>::Type RequestQuotaCallback;
- typedef Callback1<GURL>::Type GetLRUOriginCallback;
QuotaManager(bool is_incognito,
const FilePath& profile_path,
@@ -129,6 +130,10 @@ class QuotaManager : public QuotaTaskObserver,
void GetHostUsage(const std::string& host, StorageType type,
HostUsageCallback* callback);
+ // TODO(dmikurube): Make it a friend?
+ void RegisterTemporaryStorageEvictor(
+ scoped_refptr<QuotaTemporaryStorageEvictor> temporary_storage_evictor);
+
static const int64 kTemporaryStorageQuotaDefaultSize;
static const int64 kTemporaryStorageQuotaMaxSize;
static const char kDatabaseName[];
@@ -152,6 +157,7 @@ class QuotaManager : public QuotaTaskObserver,
friend struct QuotaManagerDeleter;
friend class QuotaManagerProxy;
+ friend class QuotaTemporaryStorageEvictor;
// This initialization method is lazily called on the IO thread
// when the first quota manager API is called.
@@ -164,10 +170,23 @@ class QuotaManager : public QuotaTaskObserver,
// The client must remain valid until OnQuotaManagerDestored is called.
void RegisterClient(QuotaClient* client);
- // TODO(dmikurube): Add a test for this method.
virtual void GetLRUOrigin(
StorageType type,
- GetLRUOriginCallback* callback);
+ GetLRUOriginCallback* callback) OVERRIDE;
+
+ void StartEviction();
+
+ virtual void GetUsageAndQuotaForEviction(
+ DeleteOriginDataCallback* callback) OVERRIDE;
+
+ void OnOriginDataDeleted(
+ QuotaStatusCode status,
+ DeleteOriginDataCallback* callback);
+
+ virtual void DeleteOriginData(
+ const GURL& origin,
+ StorageType type,
+ DeleteOriginDataCallback* callback) OVERRIDE;
kinuko 2011/05/16 13:48:01 style-nit: Can you put derived methods together wi
Dai Mikurube (NOT FULLTIME) 2011/05/17 09:18:40 Done.
UsageTracker* GetUsageTracker(StorageType type) const;
@@ -189,9 +208,13 @@ class QuotaManager : public QuotaTaskObserver,
scoped_ptr<UsageTracker> temporary_usage_tracker_;
scoped_ptr<UsageTracker> persistent_usage_tracker_;
+ scoped_refptr<QuotaTemporaryStorageEvictor> temporary_storage_evictor_;
UsageAndQuotaDispatcherTaskMap usage_and_quota_dispatchers_;
+ int num_deletion_requested_clients_;
+ int num_deleted_clients_;
+
int64 temporary_global_quota_;
QuotaCallbackQueue temporary_global_quota_callbacks_;
« no previous file with comments | « no previous file | webkit/quota/quota_manager.cc » ('j') | webkit/quota/quota_manager.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698