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

Unified Diff: chrome/browser/extensions/api/alarms/alarm_manager.h

Issue 23205008: Fix a bug where the minimum granular time for Alarms was not calculated properly. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Unit tests. Created 7 years, 4 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
Index: chrome/browser/extensions/api/alarms/alarm_manager.h
diff --git a/chrome/browser/extensions/api/alarms/alarm_manager.h b/chrome/browser/extensions/api/alarms/alarm_manager.h
index 3f92db8dcef53cd1e293a87a9030ad62dcf5ae98..b68fe5651eda1037fbc3aba9198882383835399c 100644
--- a/chrome/browser/extensions/api/alarms/alarm_manager.h
+++ b/chrome/browser/extensions/api/alarms/alarm_manager.h
@@ -44,6 +44,9 @@ struct Alarm {
// time. This will always be at least as large as the min_granularity
// constructor argument.
base::TimeDelta granularity;
+ // The minimum granularity is the minimum allowed polling rate. This stops
+ // alarms from polling too often.
+ base::TimeDelta minimum_granularity;
};
// Manages the currently pending alarms for every extension in a profile.
@@ -118,6 +121,7 @@ class AlarmManager
FRIEND_TEST_ALL_PREFIXES(ExtensionAlarmsSchedulingTest,
ReleasedExtensionPollsInfrequently);
FRIEND_TEST_ALL_PREFIXES(ExtensionAlarmsSchedulingTest, TimerRunning);
+ FRIEND_TEST_ALL_PREFIXES(ExtensionAlarmsSchedulingTest, MinimumGranularity);
friend class ProfileKeyedAPIFactory<AlarmManager>;
typedef std::string ExtensionId;

Powered by Google App Engine
This is Rietveld 408576698