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

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

Issue 24924002: Switching getting/dismissing cards to new protocol (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Making actionUrls optional 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
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 Utility objects and functions for Google Now extension. 8 * @fileoverview Utility objects and functions for Google Now extension.
9 * Most important entities here: 9 * Most important entities here:
10 * (1) 'wrapper' is a module used to add error handling and other services to 10 * (1) 'wrapper' is a module used to add error handling and other services to
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 * @param {string} message Diagnostic message for the case when the condition is 51 * @param {string} message Diagnostic message for the case when the condition is
52 * false. 52 * false.
53 */ 53 */
54 function verify(condition, message) { 54 function verify(condition, message) {
55 if (!condition) 55 if (!condition)
56 throw buildErrorWithMessageForServer('ASSERT: ' + message); 56 throw buildErrorWithMessageForServer('ASSERT: ' + message);
57 } 57 }
58 58
59 /** 59 /**
60 * Builds a request to the notification server. 60 * Builds a request to the notification server.
61 * @param {string} method Request method.
61 * @param {string} handlerName Server handler to send the request to. 62 * @param {string} handlerName Server handler to send the request to.
62 * @param {string} contentType Value for the Content-type header. 63 * @param {string=} contentType Value for the Content-type header.
63 * @return {XMLHttpRequest} Server request. 64 * @return {XMLHttpRequest} Server request.
64 */ 65 */
65 function buildServerRequest(handlerName, contentType) { 66 function buildServerRequest(method, handlerName, contentType) {
66 var request = new XMLHttpRequest(); 67 var request = new XMLHttpRequest();
67 68
68 request.responseType = 'text'; 69 request.responseType = 'text';
69 request.open('POST', NOTIFICATION_CARDS_URL + '/' + handlerName, true); 70 request.open(method, NOTIFICATION_CARDS_URL + '/' + handlerName, true);
70 request.setRequestHeader('Content-type', contentType); 71 if (contentType)
robliao 2013/10/01 21:52:43 We should assert that the content type is allowed
vadimt 2013/10/01 22:02:46 Such asserts could make sense in libraries that ha
72 request.setRequestHeader('Content-type', contentType);
71 73
72 return request; 74 return request;
73 } 75 }
74 76
75 /** 77 /**
76 * Sends an error report to the server. 78 * Sends an error report to the server.
77 * @param {Error} error Error to send. 79 * @param {Error} error Error to send.
78 */ 80 */
79 function sendErrorReport(error) { 81 function sendErrorReport(error) {
80 // Don't remove 'error.stack.replace' below! 82 // Don't remove 'error.stack.replace' below!
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 if (error.canSendMessageToServer) 120 if (error.canSendMessageToServer)
119 errorText = errorText + ': ' + error.message; 121 errorText = errorText + ': ' + error.message;
120 122
121 var errorObject = { 123 var errorObject = {
122 message: errorText, 124 message: errorText,
123 file: file, 125 file: file,
124 line: line, 126 line: line,
125 trace: filteredStack 127 trace: filteredStack
126 }; 128 };
127 129
128 var request = buildServerRequest('jserrors', 'application/json'); 130 var request = buildServerRequest('POST', 'jserrors', 'application/json');
129 request.onloadend = function(event) { 131 request.onloadend = function(event) {
130 console.log('sendErrorReport status: ' + request.status); 132 console.log('sendErrorReport status: ' + request.status);
131 }; 133 };
132 request.send(JSON.stringify(errorObject)); 134 request.send(JSON.stringify(errorObject));
133 } 135 }
134 136
135 // Limiting 1 error report per background page load. 137 // Limiting 1 error report per background page load.
136 var errorReported = false; 138 var errorReported = false;
137 139
138 /** 140 /**
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after
732 // Poll for the sign in state every hour. 734 // Poll for the sign in state every hour.
733 // One hour is just an arbitrary amount of time chosen. 735 // One hour is just an arbitrary amount of time chosen.
734 chrome.alarms.create(alarmName, {periodInMinutes: 60}); 736 chrome.alarms.create(alarmName, {periodInMinutes: 60});
735 737
736 return { 738 return {
737 addListener: addListener, 739 addListener: addListener,
738 isSignedIn: isSignedIn, 740 isSignedIn: isSignedIn,
739 removeToken: removeToken 741 removeToken: removeToken
740 }; 742 };
741 } 743 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698