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

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

Issue 22912021: Handling errors from chrome APIs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 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
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 787c3329dc3cd645d454dbfd2a013156656c31f4..d32d5da3588da801b63ec77b937adc6dda6d7062 100644
--- a/chrome/browser/resources/google_now/background.js
+++ b/chrome/browser/resources/google_now/background.js
@@ -23,8 +23,7 @@
// TODO(vadimt): Honor the flag the enables Google Now integration.
// TODO(vadimt): Figure out the final values of the constants.
// TODO(vadimt): Remove 'console' calls.
-// TODO(vadimt): Consider sending JS stacks for chrome.* API errors and
-// malformed server responses.
+// TODO(vadimt): Consider sending JS stacks for malformed server responses.
/**
* Standard response code for successful HTTP requests. This is the only success
@@ -346,6 +345,7 @@ function removeAllCards() {
// notifications center and bug 260376 is fixed, the below clearing
// code is no longer necessary.
instrumented.notifications.getAll(function(notifications) {
+ notifications = notifications || {};
for (var notificationId in notifications) {
chrome.notifications.clear(notificationId, function() {});
}
@@ -405,7 +405,7 @@ function requestLocation() {
console.log('requestLocation');
recordEvent(GoogleNowEvent.LOCATION_REQUEST);
// TODO(vadimt): Figure out location request options.
- chrome.metricsPrivate.getVariationParams('GoogleNow', function(params) {
+ instrumented.metricsPrivate.getVariationParams('GoogleNow', function(params) {
var minDistanceInMeters =
parseInt(params && params.minDistanceInMeters, 10) ||
100;
@@ -582,7 +582,8 @@ function retryPendingDismissals() {
*/
function onNotificationClicked(notificationId, selector) {
instrumented.storage.local.get('notificationsData', function(items) {
- items.notificationsData = items.notificationsData || {};
+ if (!items || !items.notificationsData)
+ return;
var notificationData = items.notificationsData[notificationId];
skare_ 2013/08/21 23:12:32 no action required but consider var nd = items &&
rgustafson 2013/08/22 00:46:14 +1, will return below anyways.
vadimt 2013/08/22 01:24:28 Done.
@@ -598,8 +599,7 @@ function onNotificationClicked(notificationId, selector) {
}
var url = selector(actionUrls);
-
- if (typeof url != 'string')
+ if (!url)
rgustafson 2013/08/22 00:46:14 This is verified already in the selector. if state
vadimt 2013/08/22 01:24:28 Not in selector in 'instrumented.notifications.onC
return;
instrumented.tabs.create({url: url}, function(tab) {
@@ -886,7 +886,8 @@ function onStateChange() {
instrumented.storage.local.get(
'userRespondedToToast',
function(items) {
- var userRespondedToToast = !!items.userRespondedToToast;
+ var userRespondedToToast =
+ !items || !!items.userRespondedToToast;
rgustafson 2013/08/22 00:46:14 Could this get the user in a weird state if there
vadimt 2013/08/22 01:24:28 Deep comment again. If we are polling, the final s
rgustafson 2013/08/22 19:07:32 We'll hide the toast and disable ourselves for jus
vadimt 2013/08/22 19:34:55 https://code.google.com/p/chromium/issues/detail?i
updateRunningState(
signedIn,
geolocationEnabled,
@@ -974,9 +975,8 @@ instrumented.notifications.onButtonClicked.addListener(
chrome.metricsPrivate.recordUserAction(
'GoogleNow.ButtonClicked' + buttonIndex);
onNotificationClicked(notificationId, function(actionUrls) {
- if (!Array.isArray(actionUrls.buttonUrls))
- return undefined;
-
+ verify(actionUrls.buttonUrls[buttonIndex],
rgustafson 2013/08/22 00:46:14 pull actionUrls.buttonUrls[buttonIndex] out into u
vadimt 2013/08/22 01:24:28 Done.
+ 'onButtonClicked: no url for a button');
return actionUrls.buttonUrls[buttonIndex];
});
}

Powered by Google App Engine
This is Rietveld 408576698