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

Side by Side Diff: chrome/browser/resources/google_now/background.js

Issue 25097002: Cleaning data associated with the card upon deletion. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing missing argument. Created 7 years, 2 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/resources/google_now/cards.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 /** 7 /**
8 * @fileoverview The event page for Google Now for Chrome implementation. 8 * @fileoverview The event page for Google Now for Chrome implementation.
9 * The Google Now event page gets Google Now cards from the server and shows 9 * The Google Now event page gets Google Now cards from the server and shows
10 * them as Chrome notifications. 10 * them as Chrome notifications.
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 } 292 }
293 } 293 }
294 294
295 // Delete notifications that didn't receive an update. 295 // Delete notifications that didn't receive an update.
296 for (var chromeNotificationId in notifications) { 296 for (var chromeNotificationId in notifications) {
297 console.log('showNotificationCards-delete-check ' + 297 console.log('showNotificationCards-delete-check ' +
298 chromeNotificationId); 298 chromeNotificationId);
299 if (!(chromeNotificationId in cards)) { 299 if (!(chromeNotificationId in cards)) {
300 console.log( 300 console.log(
301 'showNotificationCards-delete ' + chromeNotificationId); 301 'showNotificationCards-delete ' + chromeNotificationId);
302 cardSet.clear(chromeNotificationId); 302 cardSet.clear(chromeNotificationId, false);
303 } 303 }
304 } 304 }
305 305
306 // Create/update notifications and store their new properties. 306 // Create/update notifications and store their new properties.
307 var newNotificationsData = {}; 307 var newNotificationsData = {};
308 for (var chromeNotificationId in cards) { 308 for (var chromeNotificationId in cards) {
309 var notificationData = 309 var notificationData =
310 items.notificationsData[chromeNotificationId]; 310 items.notificationsData[chromeNotificationId];
311 var previousVersion = notifications[chromeNotificationId] && 311 var previousVersion = notifications[chromeNotificationId] &&
312 notificationData && 312 notificationData &&
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after
808 chrome.storage.local.set({userRespondedToToast: true}); 808 chrome.storage.local.set({userRespondedToToast: true});
809 return; 809 return;
810 } 810 }
811 811
812 // At this point we are guaranteed that the notification is a now card. 812 // At this point we are guaranteed that the notification is a now card.
813 chrome.metricsPrivate.recordUserAction('GoogleNow.Dismissed'); 813 chrome.metricsPrivate.recordUserAction('GoogleNow.Dismissed');
814 814
815 tasks.add(DISMISS_CARD_TASK_NAME, function() { 815 tasks.add(DISMISS_CARD_TASK_NAME, function() {
816 dismissalAttempts.start(); 816 dismissalAttempts.start();
817 817
818 // Deleting the notification in case it was re-added while this task was
819 // scheduled, waiting for execution.
820 cardSet.clear(chromeNotificationId);
821
822 instrumented.storage.local.get( 818 instrumented.storage.local.get(
823 ['pendingDismissals', 'notificationsData'], function(items) { 819 ['pendingDismissals', 'notificationsData'], function(items) {
824 items.pendingDismissals = items.pendingDismissals || []; 820 items.pendingDismissals = items.pendingDismissals || [];
825 items.notificationsData = items.notificationsData || {}; 821 items.notificationsData = items.notificationsData || {};
826 822
823 // Deleting the notification in case it was re-added while this task was
824 // scheduled, waiting for execution; also cleaning notification's data
825 // from storage.
826 cardSet.clear(chromeNotificationId, true);
827
827 var notificationData = items.notificationsData[chromeNotificationId]; 828 var notificationData = items.notificationsData[chromeNotificationId];
828 829
829 if (notificationData && notificationData.dismissals) { 830 if (notificationData && notificationData.dismissals) {
830 for (var i = 0; i < notificationData.dismissals.length; i++) { 831 for (var i = 0; i < notificationData.dismissals.length; i++) {
831 var dismissal = { 832 var dismissal = {
832 chromeNotificationId: chromeNotificationId, 833 chromeNotificationId: chromeNotificationId,
833 time: Date.now(), 834 time: Date.now(),
834 dismissalData: notificationData.dismissals[i] 835 dismissalData: notificationData.dismissals[i]
835 }; 836 };
836 items.pendingDismissals.push(dismissal); 837 items.pendingDismissals.push(dismissal);
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
1155 1156
1156 instrumented.location.onLocationUpdate.addListener(function(position) { 1157 instrumented.location.onLocationUpdate.addListener(function(position) {
1157 recordEvent(GoogleNowEvent.LOCATION_UPDATE); 1158 recordEvent(GoogleNowEvent.LOCATION_UPDATE);
1158 updateNotificationsCards(position); 1159 updateNotificationsCards(position);
1159 }); 1160 });
1160 1161
1161 instrumented.omnibox.onInputEntered.addListener(function(text) { 1162 instrumented.omnibox.onInputEntered.addListener(function(text) {
1162 localStorage['server_url'] = NOTIFICATION_CARDS_URL = text; 1163 localStorage['server_url'] = NOTIFICATION_CARDS_URL = text;
1163 initialize(); 1164 initialize();
1164 }); 1165 });
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/resources/google_now/cards.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698