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 ed5eb6ef92ad362413ff2ff715a0d012e03955a1..04ba9d64744b13cbd1b732be06d02f0a8145d9c0 100644 |
| --- a/chrome/browser/resources/google_now/background.js |
| +++ b/chrome/browser/resources/google_now/background.js |
| @@ -272,7 +272,8 @@ function showNotification(card, notificationsData, opt_previousVersion) { |
| notificationsData[card.notificationId] = { |
| actionUrls: card.actionUrls, |
| - version: card.version |
| + version: card.version, |
| + dismissalParameters: card.dismissal |
| }; |
| } |
| @@ -464,17 +465,20 @@ function updateNotificationsCards(position) { |
| * @param {string} notificationId Unique identifier of the card. |
| * @param {number} dismissalTimeMs Time of the user's dismissal of the card in |
| * milliseconds since epoch. |
| + * @param {Object} dismissalParameters Dismissal parameters. |
| * @param {function(boolean)} callbackBoolean Completion callback with 'success' |
| * parameter. |
| */ |
| function requestCardDismissal( |
| - notificationId, dismissalTimeMs, callbackBoolean) { |
| + notificationId, dismissalTimeMs, dismissalParameters, callbackBoolean) { |
| console.log('requestDismissingCard ' + notificationId + ' from ' + |
| NOTIFICATION_CARDS_URL); |
| recordEvent(DiagnosticEvent.DISMISS_REQUEST_TOTAL); |
| // Send a dismiss request to the server. |
| - var requestParameters = 'id=' + notificationId + |
| - '&dismissalAge=' + (Date.now() - dismissalTimeMs); |
| + var requestParameters = |
|
rgustafson
2013/06/27 02:32:40
I wanted to just send a json object in the post bo
vadimt
2013/06/27 19:52:56
Done.
|
| + 'id=' + notificationId + |
| + '&age=' + (Date.now() - dismissalTimeMs) + |
| + '&dismissal=' + escape(JSON.stringify(dismissalParameters)); |
| var request = buildServerRequest('dismiss'); |
| request.onloadend = function(event) { |
| console.log('requestDismissingCard-onloadend ' + request.status); |
| @@ -529,8 +533,10 @@ function processPendingDismissals(callbackBoolean) { |
| // Send dismissal for the first card, and if successful, repeat |
| // recursively with the rest. |
| var dismissal = items.pendingDismissals[0]; |
| - requestCardDismissal( |
| - dismissal.notificationId, dismissal.time, function(success) { |
| + requestCardDismissal(dismissal.notificationId, |
| + dismissal.time, |
| + dismissal.parameters, |
| + function(success) { |
| if (success) { |
| dismissalsChanged = true; |
| items.pendingDismissals.splice(0, 1); |
| @@ -643,13 +649,17 @@ function onNotificationClosed(notificationId, byUser) { |
| notificationId, |
| function() {}); |
| - tasks.debugSetStepName('onNotificationClosed-get-pendingDismissals'); |
| - storage.get('pendingDismissals', function(items) { |
| + tasks.debugSetStepName('onNotificationClosed-storage-get'); |
| + storage.get(['pendingDismissals', 'notificationsData'], function(items) { |
| items.pendingDismissals = items.pendingDismissals || []; |
| + items.notificationsData = items.notificationsData || {}; |
| + |
| + var notificationData = items.notificationsData[notificationId]; |
| var dismissal = { |
| notificationId: notificationId, |
| - time: Date.now() |
| + time: Date.now(), |
| + parameters: notificationData && notificationData.dismissalParameters |
| }; |
| items.pendingDismissals.push(dismissal); |
| storage.set({pendingDismissals: items.pendingDismissals}); |