Index: extensions/browser/quota_service.cc |
diff --git a/extensions/browser/quota_service.cc b/extensions/browser/quota_service.cc |
index 70ac66280e1087dc3e1e7dff6e822a205a08fca8..98e4b75959ad36e19998df401d92a641a12bcf4e 100644 |
--- a/extensions/browser/quota_service.cc |
+++ b/extensions/browser/quota_service.cc |
@@ -137,15 +137,6 @@ std::string QuotaLimitHeuristic::GetError() const { |
return extensions::ErrorUtils::FormatErrorMessage(kOverQuotaError, name_); |
} |
-QuotaService::SustainedLimit::SustainedLimit(const base::TimeDelta& sustain, |
- const Config& config, |
- BucketMapper* map, |
- const std::string& name) |
- : QuotaLimitHeuristic(config, map, name), |
- repeat_exhaustion_allowance_(sustain.InSeconds() / |
- config.refill_interval.InSeconds()), |
- num_available_repeat_exhaustions_(repeat_exhaustion_allowance_) {} |
- |
bool QuotaService::TimedLimit::Apply(Bucket* bucket, |
const base::TimeTicks& event_time) { |
if (event_time > bucket->expiration()) |
@@ -154,39 +145,4 @@ bool QuotaService::TimedLimit::Apply(Bucket* bucket, |
return bucket->DeductToken(); |
} |
-bool QuotaService::SustainedLimit::Apply(Bucket* bucket, |
- const base::TimeTicks& event_time) { |
- if (event_time > bucket->expiration()) { |
- // We reset state for this item and start over again if this request breaks |
- // the bad cycle that was previously being tracked. This occurs if the |
- // state in the bucket expired recently (it has been long enough since the |
- // event that we don't care about the last event), but the bucket still has |
- // tokens (so pressure was not sustained over that time), OR we are more |
- // than 1 full refill interval away from the last event (so even if we used |
- // up all the tokens in the last bucket, nothing happened in the entire |
- // next refill interval, so it doesn't matter). |
- if (bucket->has_tokens() || |
- event_time > bucket->expiration() + config().refill_interval) { |
- bucket->Reset(config(), event_time); |
- num_available_repeat_exhaustions_ = repeat_exhaustion_allowance_; |
- } else if (--num_available_repeat_exhaustions_ > 0) { |
- // The last interval was saturated with requests, and this is the first |
- // event in the next interval. If this happens |
- // repeat_exhaustion_allowance_ times, it's a violation. Reset the bucket |
- // state to start timing from the end of the last interval (and we'll |
- // deduct the token below) so we can detect this each time it happens. |
- bucket->Reset(config(), bucket->expiration()); |
- } else { |
- // No allowances left; this request is a violation. |
- return false; |
- } |
- } |
- |
- // We can go negative since we check has_tokens when we get to *next* bucket, |
- // and for the small interval all that matters is whether we used up all the |
- // tokens (which is true if num_tokens_ <= 0). |
- bucket->DeductToken(); |
- return true; |
-} |
- |
} // namespace extensions |