namespace quota {
class ClientUsageTracker;
+class StorageMonitor;
// A helper class that gathers and tracks the amount of data stored in
// all quota clients.
class WEBKIT_STORAGE_BROWSER_EXPORT UsageTracker : public QuotaTaskObserver {
public:
UsageTracker(const QuotaClientList& clients, StorageType type,
- SpecialStoragePolicy* special_storage_policy);
+ SpecialStoragePolicy* special_storage_policy,
+ StorageMonitor* storage_monitor);
virtual ~UsageTracker();
StorageType type() const { return type_; }
GlobalUsageCallbackQueue global_usage_callbacks_;
HostUsageCallbackMap host_usage_callbacks_;
+ StorageMonitor* storage_monitor_;
+
base::WeakPtrFactory<UsageTracker> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(UsageTracker);
};
ClientUsageTracker(UsageTracker* tracker,
QuotaClient* client,
StorageType type,
- SpecialStoragePolicy* special_storage_policy);
+ SpecialStoragePolicy* special_storage_policy,
+ StorageMonitor* storage_monitor);
virtual ~ClientUsageTracker();
void GetGlobalLimitedUsage(const UsageCallback& callback);
const GURL& origin,
int64 usage);
+ void DidGetHostUsageAfterUpdate(const GURL& origin, int64 usage);
+
// Methods used by our GatherUsage tasks, as a task makes progress
// origins and hosts are added incrementally to the cache.
void AddCachedOrigin(const GURL& origin, int64 usage);
UsageTracker* tracker_;
QuotaClient* client_;
const StorageType type_;
+ StorageMonitor* storage_monitor_;
int64 global_limited_usage_;
int64 global_unlimited_usage_;