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

Unified Diff: chrome/browser/resources/google_now/background.js

Issue 17894010: Receiving and sending dismissal parameters (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/resources/google_now/utility.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 6c3b516bc44ea577ee7512e3175b5271a14427f6..534ff651b1b81b3c267085967a7630fc0b3692e2 100644
--- a/chrome/browser/resources/google_now/background.js
+++ b/chrome/browser/resources/google_now/background.js
@@ -281,7 +281,8 @@ function showNotification(card, notificationsData, opt_previousVersion) {
notificationsData[card.notificationId] = {
actionUrls: card.actionUrls,
- version: card.version
+ version: card.version,
+ dismissalParameters: card.dismissal
};
}
@@ -412,7 +413,8 @@ function requestNotificationCards(position, callback) {
',' + position.coords.longitude +
',' + position.coords.accuracy;
- var request = buildServerRequest('notifications');
+ var request = buildServerRequest('notifications',
+ 'application/x-www-form-urlencoded');
request.onloadend = function(event) {
console.log('requestNotificationCards-onloadend ' + request.status);
@@ -473,11 +475,12 @@ 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 'done'
* parameter.
*/
function requestCardDismissal(
- notificationId, dismissalTimeMs, callbackBoolean) {
+ notificationId, dismissalTimeMs, dismissalParameters, callbackBoolean) {
console.log('requestDismissingCard ' + notificationId + ' from ' +
NOTIFICATION_CARDS_URL);
@@ -489,10 +492,7 @@ function requestCardDismissal(
}
recordEvent(DiagnosticEvent.DISMISS_REQUEST_TOTAL);
- // Send a dismiss request to the server.
- var requestParameters = 'id=' + notificationId +
- '&dismissalAge=' + dismissalAge;
- var request = buildServerRequest('dismiss');
+ var request = buildServerRequest('dismiss', 'application/json');
request.onloadend = function(event) {
console.log('requestDismissingCard-onloadend ' + request.status);
if (request.status == HTTP_OK)
@@ -509,7 +509,13 @@ function requestCardDismissal(
setAuthorization(request, function(success) {
if (success) {
tasks.debugSetStepName('requestCardDismissal-send-request');
- request.send(requestParameters);
+
+ var dismissalObject = {
+ id: notificationId,
+ age: dismissalAge,
+ dismissal: dismissalParameters
+ };
+ request.send(JSON.stringify(dismissalObject));
} else {
callbackBoolean(false);
}
@@ -552,16 +558,19 @@ function processPendingDismissals(callbackBoolean) {
// recursively with the rest.
var dismissal = items.pendingDismissals[0];
requestCardDismissal(
- dismissal.notificationId, dismissal.time, function(done) {
- if (done) {
- dismissalsChanged = true;
- items.pendingDismissals.splice(0, 1);
- items.recentDismissals[dismissal.notificationId] = Date.now();
- doProcessDismissals();
- } else {
- onFinish(false);
- }
- });
+ dismissal.notificationId,
+ dismissal.time,
+ dismissal.parameters,
+ function(done) {
+ if (done) {
+ dismissalsChanged = true;
+ items.pendingDismissals.splice(0, 1);
+ items.recentDismissals[dismissal.notificationId] = Date.now();
+ doProcessDismissals();
+ } else {
+ onFinish(false);
+ }
+ });
}
doProcessDismissals();
@@ -665,13 +674,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});
« no previous file with comments | « no previous file | chrome/browser/resources/google_now/utility.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698