| Index: chrome/browser/resources/google_now/cards.js
|
| diff --git a/chrome/browser/resources/google_now/cards.js b/chrome/browser/resources/google_now/cards.js
|
| index 547730f4a9c8d6139bef75c6f7d122933c1df26f..98ff5f56405d930c98a46d280021a90b18ea23c9 100644
|
| --- a/chrome/browser/resources/google_now/cards.js
|
| +++ b/chrome/browser/resources/google_now/cards.js
|
| @@ -183,12 +183,14 @@ function buildCardSet() {
|
| * based on the current time and show-hide intervals in the combined card.
|
| * @param {ChromeNotificationId} cardId Card ID.
|
| * @param {CombinedCard} combinedCard Combined cards with |cardId|.
|
| + * @param {Object.<string, StoredNotificationGroup>} notificationGroups
|
| + * Map from group name to group information.
|
| * @param {function(ReceivedNotification)=} onCardShown Optional parameter
|
| * called when each card is shown.
|
| * @return {(NotificationDataEntry|undefined)} Notification data entry for
|
| * this card. It's 'undefined' if the card's life is over.
|
| */
|
| - function update(cardId, combinedCard, onCardShown) {
|
| + function update(cardId, combinedCard, notificationGroups, onCardShown) {
|
| console.log('cardManager.update ' + JSON.stringify(combinedCard));
|
|
|
| chrome.alarms.clear(alarmPrefix + cardId);
|
| @@ -254,7 +256,7 @@ function buildCardSet() {
|
| // If there are no more events, we are done with this card. Note that all
|
| // received notifications have hideTime.
|
| verify(!winningCard, 'No events left, but card is shown.');
|
| - clearCardFromGroups(cardId);
|
| + clearCardFromGroups(cardId, notificationGroups);
|
| return undefined;
|
| }
|
| }
|
| @@ -298,29 +300,22 @@ function buildCardSet() {
|
| }
|
|
|
| /**
|
| - * Removes card information from 'notificationGroups'.
|
| + * Removes card information from |notificationGroups|.
|
| * @param {ChromeNotificationId} cardId Card ID.
|
| + * @param {Object.<string, StoredNotificationGroup>} notificationGroups
|
| + * Map from group name to group information.
|
| */
|
| - function clearCardFromGroups(cardId) {
|
| + function clearCardFromGroups(cardId, notificationGroups) {
|
| console.log('cardManager.clearCardFromGroups ' + cardId);
|
| -
|
| - instrumented.storage.local.get('notificationGroups', function(items) {
|
| - items = items || {};
|
| - /** @type {Object.<string, StoredNotificationGroup>} */
|
| - items.notificationGroups = items.notificationGroups || {};
|
| -
|
| - for (var groupName in items.notificationGroups) {
|
| - var group = items.notificationGroups[groupName];
|
| - for (var i = 0; i != group.cards.length; ++i) {
|
| - if (group.cards[i].chromeNotificationId == cardId) {
|
| - group.cards.splice(i, 1);
|
| - break;
|
| - }
|
| + for (var groupName in notificationGroups) {
|
| + var group = notificationGroups[groupName];
|
| + for (var i = 0; i != group.cards.length; ++i) {
|
| + if (group.cards[i].chromeNotificationId == cardId) {
|
| + group.cards.splice(i, 1);
|
| + break;
|
| }
|
| }
|
| -
|
| - chrome.storage.local.set(items);
|
| - });
|
| + }
|
| }
|
|
|
| instrumented.alarms.onAlarm.addListener(function(alarm) {
|
|
|