OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 'use strict'; | 5 'use strict'; |
6 | 6 |
7 // TODO(vadimt): Remove alerts. | 7 // TODO(vadimt): Remove alerts. |
8 | 8 |
9 /** | 9 /** |
10 * @fileoverview Utility objects and functions for Google Now extension. | 10 * @fileoverview Utility objects and functions for Google Now extension. |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 * Builds an object to manage retrying activities with exponential backoff. | 265 * Builds an object to manage retrying activities with exponential backoff. |
266 * @param {string} name Name of this attempt manager. | 266 * @param {string} name Name of this attempt manager. |
267 * @param {function()} attempt Activity that the manager retries until it | 267 * @param {function()} attempt Activity that the manager retries until it |
268 * calls 'stop' method. | 268 * calls 'stop' method. |
269 * @param {number} initialDelaySeconds Default first delay until first retry. | 269 * @param {number} initialDelaySeconds Default first delay until first retry. |
270 * @param {number} maximumDelaySeconds Maximum delay between retries. | 270 * @param {number} maximumDelaySeconds Maximum delay between retries. |
271 * @return {Object} Attempt manager interface. | 271 * @return {Object} Attempt manager interface. |
272 */ | 272 */ |
273 function buildAttemptManager( | 273 function buildAttemptManager( |
274 name, attempt, initialDelaySeconds, maximumDelaySeconds) { | 274 name, attempt, initialDelaySeconds, maximumDelaySeconds) { |
275 var alarmName = name + '-scheduler'; | 275 var alarmName = 'attempt-scheduler-' + name; |
276 var currentDelayStorageKey = name + '-current-delay'; | 276 var currentDelayStorageKey = 'current-delay-' + name; |
277 | 277 |
278 /** | 278 /** |
279 * Creates an alarm for the next attempt. The alarm is repeating for the case | 279 * Creates an alarm for the next attempt. The alarm is repeating for the case |
280 * when the next attempt crashes before registering next alarm. | 280 * when the next attempt crashes before registering next alarm. |
281 * @param {number} delaySeconds Delay until next retry. | 281 * @param {number} delaySeconds Delay until next retry. |
282 */ | 282 */ |
283 function createAlarm(delaySeconds) { | 283 function createAlarm(delaySeconds) { |
284 var alarmInfo = { | 284 var alarmInfo = { |
285 delayInMinutes: delaySeconds / 60, | 285 delayInMinutes: delaySeconds / 60, |
286 periodInMinutes: maximumDelaySeconds / 60 | 286 periodInMinutes: maximumDelaySeconds / 60 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 if (alarm.name == alarmName) | 348 if (alarm.name == alarmName) |
349 attempt(); | 349 attempt(); |
350 }); | 350 }); |
351 | 351 |
352 return { | 352 return { |
353 start: start, | 353 start: start, |
354 planForNext: planForNext, | 354 planForNext: planForNext, |
355 stop: stop | 355 stop: stop |
356 }; | 356 }; |
357 } | 357 } |
OLD | NEW |