Index: storage/browser/quota/quota_temporary_storage_evictor.h |
diff --git a/storage/browser/quota/quota_temporary_storage_evictor.h b/storage/browser/quota/quota_temporary_storage_evictor.h |
index 187d3396e6a1671309c17017aa028afc529f1408..8039426bca6df6ed895e48a36fc9a6484169ebf5 100644 |
--- a/storage/browser/quota/quota_temporary_storage_evictor.h |
+++ b/storage/browser/quota/quota_temporary_storage_evictor.h |
@@ -27,7 +27,7 @@ class QuotaTemporaryStorageEvictorTest; |
namespace storage { |
class QuotaEvictionHandler; |
-struct QuotaSettings; |
+struct UsageAndQuota; |
class STORAGE_EXPORT QuotaTemporaryStorageEvictor : public base::NonThreadSafe { |
public: |
@@ -78,23 +78,41 @@ class STORAGE_EXPORT QuotaTemporaryStorageEvictor : public base::NonThreadSafe { |
void ReportPerHourHistogram(); |
void Start(); |
+ void reset_min_available_disk_space_to_start_eviction() { |
+ min_available_to_start_eviction_ = |
+ kMinAvailableToStartEvictionNotSpecified; |
+ } |
+ void set_min_available_disk_space_to_start_eviction(int64_t value) { |
+ min_available_to_start_eviction_ = value; |
+ } |
+ |
private: |
friend class content::QuotaTemporaryStorageEvictorTest; |
void StartEvictionTimerWithDelay(int delay_ms); |
void ConsiderEviction(); |
- void OnGotEvictionRoundInfo(QuotaStatusCode status, |
- const QuotaSettings& settings, |
- int64_t available_space, |
- int64_t total_space, |
- int64_t current_usage, |
- bool current_usage_is_complete); |
+ void OnGotVolumeInfo(bool success, |
+ uint64_t available_space, |
+ uint64_t total_size); |
+ void OnGotUsageAndQuotaForEviction( |
+ int64_t must_remain_available_space, |
+ QuotaStatusCode status, |
+ const UsageAndQuota& quota_and_usage); |
void OnGotEvictionOrigin(const GURL& origin); |
void OnEvictionComplete(QuotaStatusCode status); |
void OnEvictionRoundStarted(); |
void OnEvictionRoundFinished(); |
+ // This is only used for tests. |
+ void set_repeated_eviction(bool repeated_eviction) { |
+ repeated_eviction_ = repeated_eviction; |
+ } |
+ |
+ static const int kMinAvailableToStartEvictionNotSpecified; |
+ |
+ int64_t min_available_to_start_eviction_; |
+ |
// Not owned; quota_eviction_handler owns us. |
QuotaEvictionHandler* quota_eviction_handler_; |
@@ -106,7 +124,7 @@ class STORAGE_EXPORT QuotaTemporaryStorageEvictor : public base::NonThreadSafe { |
std::set<GURL> in_progress_eviction_origins_; |
int64_t interval_ms_; |
- bool timer_disabled_for_testing_; |
+ bool repeated_eviction_; |
base::OneShotTimer eviction_timer_; |
base::RepeatingTimer histogram_timer_; |