Index: chrome/browser/extensions/updater/extension_updater.cc |
diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/browser/extensions/updater/extension_updater.cc |
index 45f1ab807d8fcdc3e882513abdbe4377730afd95..4afe45c2fc97acfa1fe3125634f6d3a3cb597b2b 100644 |
--- a/chrome/browser/extensions/updater/extension_updater.cc |
+++ b/chrome/browser/extensions/updater/extension_updater.cc |
@@ -193,12 +193,13 @@ TimeDelta ExtensionUpdater::DetermineFirstCheckDelay() { |
kStartupWaitSeconds * 8)); |
} |
- // Read the persisted next check time, and use that if it isn't too soon. |
- // Otherwise pick something random. |
+ // Read the persisted next check time, and use that if it isn't too soon |
+ // or too late. Otherwise pick something random. |
Time saved_next = Time::FromInternalValue(prefs_->GetInt64( |
pref_names::kNextUpdateCheck)); |
Time earliest = now + TimeDelta::FromSeconds(kStartupWaitSeconds); |
- if (saved_next >= earliest) { |
+ Time latest = now + TimeDelta::FromSeconds(frequency_seconds_); |
+ if (saved_next >= earliest && saved_next <= latest) { |
return saved_next - now; |
} else { |
return TimeDelta::FromSeconds(RandInt(kStartupWaitSeconds, |