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

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, more comments. Created 7 years, 6 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 d52d18db3c646f6305935af9fffa31de1c1cdc30..99768c1e554ea47522c7277741728cfc6e0ab039 100644
--- a/chrome/browser/resources/google_now/background.js
+++ b/chrome/browser/resources/google_now/background.js
@@ -274,7 +274,8 @@ function showNotification(card, notificationsData, opt_previousVersion) {
notificationsData[card.notificationId] = {
actionUrls: card.actionUrls,
- version: card.version
+ version: card.version,
+ dismissalParameters: card.dismissal
};
}
@@ -405,7 +406,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);
@@ -466,18 +468,16 @@ 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 request = buildServerRequest('dismiss');
+ var request = buildServerRequest('dismiss', 'application/json');
request.onloadend = function(event) {
console.log('requestDismissingCard-onloadend ' + request.status);
if (request.status == HTTP_OK)
@@ -489,7 +489,13 @@ function requestCardDismissal(
setAuthorization(request, function(success) {
if (success) {
tasks.debugSetStepName('requestCardDismissal-send-request');
- request.send(requestParameters);
+
+ var dismissalObject = {
+ id: notificationId,
+ age: Date.now() - dismissalTimeMs,
+ dismissal: dismissalParameters
+ };
+ request.send(JSON.stringify(dismissalObject));
} else {
callbackBoolean(false);
}
@@ -531,8 +537,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) {
arv (Not doing code reviews) 2013/07/10 22:19:57 strange indentation
vadimt 2013/07/10 22:47:18 Done.
if (success) {
dismissalsChanged = true;
items.pendingDismissals.splice(0, 1);
@@ -645,13 +653,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