Chromium Code Reviews| Index: chrome/browser/extensions/api/alarms/alarm_manager.cc |
| diff --git a/chrome/browser/extensions/api/alarms/alarm_manager.cc b/chrome/browser/extensions/api/alarms/alarm_manager.cc |
| index aa483ee9363e160ee2011a141b2f97e8ac6f8d22..38a772405fe8800d13fdf1a7a9634aa040ed5f85 100644 |
| --- a/chrome/browser/extensions/api/alarms/alarm_manager.cc |
| +++ b/chrome/browser/extensions/api/alarms/alarm_manager.cc |
| @@ -299,7 +299,7 @@ void AlarmManager::ReadFromStorage(const std::string& extension_id, |
| } |
| void AlarmManager::ScheduleNextPoll() { |
| - // 0. If there are no alarms, stop the timer. |
| + // If there are no alarms, stop the timer. |
| if (alarms_.empty()) { |
| timer_.Stop(); |
| return; |
| @@ -324,6 +324,11 @@ void AlarmManager::ScheduleNextPoll() { |
| soonest_alarm_time = cur_alarm_time; |
| if (l_it->granularity < min_granularity) |
| min_granularity = l_it->granularity; |
| + base::TimeDelta cur_alarm_delta = cur_alarm_time - clock_->Now(); |
| + if (cur_alarm_delta < min_granularity) |
| + min_granularity = cur_alarm_delta; |
| + if (min_granularity < l_it->minimum_granularity) |
|
Matt Perry
2014/01/16 22:58:34
I think these 2 ifs are reversed. The idea here is
Yoyo Zhou
2014/01/16 23:34:32
This lg to me.
iclelland
2014/01/17 14:54:32
I don't think it's reversed -- it should _increase
Matt Perry
2014/01/17 18:43:52
That's not the intended calculation. Each alarm's
|
| + min_granularity = l_it->minimum_granularity; |
| } |
| } |
| @@ -426,6 +431,7 @@ Alarm::Alarm(const std::string& name, |
| base::Time now) |
| : js_alarm(new api::alarms::Alarm()) { |
| js_alarm->name = name; |
| + minimum_granularity = min_granularity; |
| if (create_info.when.get()) { |
| // Absolute scheduling. |