Chromium Code Reviews| Index: chrome/browser/resources/google_now/background.js |
| diff --git a/chrome/browser/resources/google_now/background.js b/chrome/browser/resources/google_now/background.js |
| index e651a18c5676448240c59511113df7ba9a95070e..64e74ebaf84c9b17e88e93d5caf7c8d41c4edd6d 100644 |
| --- a/chrome/browser/resources/google_now/background.js |
| +++ b/chrome/browser/resources/google_now/background.js |
| @@ -115,6 +115,7 @@ function areTasksConflicting(newTaskName, scheduledTaskName) { |
| var tasks = buildTaskManager(areTasksConflicting); |
| // Add error processing to API calls. |
| +tasks.instrumentApiFunction(chrome.alarms, 'getAll', 0); |
|
rgustafson
2013/07/19 23:37:12
Where is alarms.getAll used?
vadimt
2013/07/22 19:22:52
Done.
|
| tasks.instrumentApiFunction(chrome.identity, 'getAuthToken', 1); |
| tasks.instrumentApiFunction(chrome.identity, 'removeCachedAuthToken', 1); |
| tasks.instrumentApiFunction(chrome.location.onLocationUpdate, 'addListener', 0); |
| @@ -140,6 +141,7 @@ var dismissalAttempts = buildAttemptManager( |
| retryPendingDismissals, |
| INITIAL_RETRY_DISMISS_PERIOD_SECONDS, |
| MAXIMUM_RETRY_DISMISS_PERIOD_SECONDS); |
| +var cardSet = buildCardManager(); |
| /** |
| * Diagnostic event identifier. |
| @@ -217,68 +219,6 @@ function setAuthorization(request, callbackBoolean) { |
| } |
| /** |
| - * Shows a notification and remembers information associated with it. |
| - * @param {Object} card Google Now card represented as a set of parameters for |
| - * showing a Chrome notification. |
| - * @param {Object} notificationsData Map from notification id to the data |
| - * associated with a notification. |
| - * @param {number=} opt_previousVersion The version of the shown card with this |
| - * id, if it exists, undefined otherwise. |
| - */ |
| -function showNotification(card, notificationsData, opt_previousVersion) { |
| - console.log('showNotification ' + JSON.stringify(card) + ' ' + |
| - opt_previousVersion); |
| - |
| - if (typeof card.version != 'number') { |
| - console.error('card.version is not a number'); |
| - // Fix card version. |
| - card.version = opt_previousVersion !== undefined ? opt_previousVersion : 0; |
| - } |
| - |
| - if (opt_previousVersion !== card.version) { |
| - try { |
| - // Delete a notification with the specified id if it already exists, and |
| - // then create a notification. |
| - chrome.notifications.create( |
| - card.notificationId, |
| - card.notification, |
| - function(notificationId) { |
| - if (!notificationId || chrome.runtime.lastError) { |
| - var errorMessage = |
| - chrome.runtime.lastError && chrome.runtime.lastError.message; |
| - console.error('notifications.create: ID=' + notificationId + |
| - ', ERROR=' + errorMessage); |
| - } |
| - }); |
| - } catch (error) { |
| - console.error('Error in notifications.create: ' + error); |
| - } |
| - } else { |
| - try { |
| - // Update existing notification. |
| - chrome.notifications.update( |
| - card.notificationId, |
| - card.notification, |
| - function(wasUpdated) { |
| - if (!wasUpdated || chrome.runtime.lastError) { |
| - var errorMessage = |
| - chrome.runtime.lastError && chrome.runtime.lastError.message; |
| - console.error('notifications.update: UPDATED=' + wasUpdated + |
| - ', ERROR=' + errorMessage); |
| - } |
| - }); |
| - } catch (error) { |
| - console.error('Error in notifications.update: ' + error); |
| - } |
| - } |
| - |
| - notificationsData[card.notificationId] = { |
| - actionUrls: card.actionUrls, |
| - version: card.version |
| - }; |
| -} |
| - |
| -/** |
| * Parses JSON response from the notification server, show notifications and |
| * schedule next update. |
| * @param {string} response Server response. |
| @@ -317,9 +257,9 @@ function parseAndShowNotificationCards(response, callback) { |
| chrome.notifications.getAll(function(notifications) { |
| console.log('parseAndShowNotificationCards-getAll ' + |
| JSON.stringify(notifications)); |
| - // TODO(vadimt): Figure out what to do when notifications are disabled for |
| - // our extension. |
| - notifications = notifications || {}; |
| + // TODO(vadimt): Figure out what to do when notifications are disabled for |
|
rgustafson
2013/07/19 23:37:12
Why was this un-tabbed? It should be on the level
vadimt
2013/07/22 19:22:52
Done. I probably need to see my doctor.
|
| + // our extension. |
| + notifications = notifications || {}; |
| // Build a set of non-expired recent dismissals. It will be used for |
| // client-side filtering of cards. |
| @@ -351,9 +291,7 @@ function parseAndShowNotificationCards(response, callback) { |
| notificationId); |
| if (!(notificationId in updatedNotifications)) { |
| console.log('parseAndShowNotificationCards-delete ' + notificationId); |
| - chrome.notifications.clear( |
| - notificationId, |
| - function() {}); |
| + cardSet.clear(notificationId); |
| } |
| } |
| @@ -367,8 +305,10 @@ function parseAndShowNotificationCards(response, callback) { |
| var notificationData = items.notificationsData[card.notificationId]; |
| var previousVersion = notifications[card.notificationId] && |
| notificationData && |
| - notificationData.previousVersion; |
| - showNotification(card, newNotificationsData, previousVersion); |
| + notificationData.cardCreateInfo && |
| + notificationData.cardCreateInfo.version; |
| + newNotificationsData[card.notificationId] = |
| + cardSet.update(card, previousVersion); |
| } |
| } |
| @@ -641,9 +581,7 @@ function onNotificationClosed(notificationId, byUser) { |
| // Deleting the notification in case it was re-added while this task was |
| // scheduled, waiting for execution. |
| - chrome.notifications.clear( |
| - notificationId, |
| - function() {}); |
| + cardSet.clear(notificationId); |
| tasks.debugSetStepName('onNotificationClosed-get-pendingDismissals'); |
| storage.get('pendingDismissals', function(items) { |