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}); |