Index: trunk/src/chrome/renderer/resources/extensions/notifications_custom_bindings.js |
=================================================================== |
--- trunk/src/chrome/renderer/resources/extensions/notifications_custom_bindings.js (revision 272269) |
+++ trunk/src/chrome/renderer/resources/extensions/notifications_custom_bindings.js (working copy) |
@@ -3,75 +3,66 @@ |
// found in the LICENSE file. |
// Custom bindings for the notifications API. |
-// |
var binding = require('binding').Binding.create('notifications'); |
var sendRequest = require('sendRequest').sendRequest; |
var imageUtil = require('imageUtil'); |
var lastError = require('lastError'); |
-var notificationsPrivate = requireNative('notifications_private'); |
-function imageDataSetter(context, key) { |
+function image_data_setter(context, key) { |
var f = function(val) { |
this[key] = val; |
}; |
return $Function.bind(f, context); |
} |
-// A URL Spec is an object with the following keys: |
-// path: The resource to be downloaded. |
-// width: (optional) The maximum width of the image to be downloaded in device |
-// pixels. |
-// height: (optional) The maximum height of the image to be downloaded in |
-// device pixels. |
-// callback: A function to be called when the URL is complete. It |
-// should accept an ImageData object and set the appropriate |
-// field in |notificationDetails|. |
-function getUrlSpecs(imageSizes, notificationDetails) { |
- var urlSpecs = []; |
+function replaceNotificationOptionURLs(notification_details, callback) { |
+ // A URL Spec is an object with the following keys: |
+ // path: The resource to be downloaded. |
+ // width: (optional) The maximum width of the image to be downloaded. |
+ // height: (optional) The maximum height of the image to be downloaded. |
+ // callback: A function to be called when the URL is complete. It |
+ // should accept an ImageData object and set the appropriate |
+ // field in the output of create. |
+ // TODO(dewittj): Try to remove hard-coding of image sizes. |
// |iconUrl| might be optional for notification updates. |
- if (notificationDetails.iconUrl) { |
- $Array.push(urlSpecs, { |
- path: notificationDetails.iconUrl, |
- width: imageSizes.icon.width * imageSizes.scaleFactor, |
- height: imageSizes.icon.height * imageSizes.scaleFactor, |
- callback: imageDataSetter(notificationDetails, 'iconBitmap') |
+ var url_specs = []; |
+ if (notification_details.iconUrl) { |
+ $Array.push(url_specs, { |
+ path: notification_details.iconUrl, |
+ width: 80, |
+ height: 80, |
+ callback: image_data_setter(notification_details, 'iconBitmap') |
}); |
} |
// |imageUrl| is optional. |
- if (notificationDetails.imageUrl) { |
- $Array.push(urlSpecs, { |
- path: notificationDetails.imageUrl, |
- width: imageSizes.image.width * imageSizes.scaleFactor, |
- height: imageSizes.image.height * imageSizes.scaleFactor, |
- callback: imageDataSetter(notificationDetails, 'imageBitmap') |
+ if (notification_details.imageUrl) { |
+ $Array.push(url_specs, { |
+ path: notification_details.imageUrl, |
+ width: 360, |
+ height: 240, |
+ callback: image_data_setter(notification_details, 'imageBitmap') |
}); |
} |
// Each button has an optional icon. |
- var buttonList = notificationDetails.buttons; |
- if (buttonList && typeof buttonList.length === 'number') { |
- var numButtons = buttonList.length; |
- for (var i = 0; i < numButtons; i++) { |
- if (buttonList[i].iconUrl) { |
- $Array.push(urlSpecs, { |
- path: buttonList[i].iconUrl, |
- width: imageSizes.buttonIcon.width * imageSizes.scaleFactor, |
- height: imageSizes.buttonIcon.height * imageSizes.scaleFactor, |
- callback: imageDataSetter(buttonList[i], 'iconBitmap') |
+ var button_list = notification_details.buttons; |
+ if (button_list && typeof button_list.length === 'number') { |
+ var num_buttons = button_list.length; |
+ for (var i = 0; i < num_buttons; i++) { |
+ if (button_list[i].iconUrl) { |
+ $Array.push(url_specs, { |
+ path: button_list[i].iconUrl, |
+ width: 16, |
+ height: 16, |
+ callback: image_data_setter(button_list[i], 'iconBitmap') |
}); |
} |
} |
} |
- return urlSpecs; |
-} |
- |
-function replaceNotificationOptionURLs(notification_details, callback) { |
- var imageSizes = notificationsPrivate.GetNotificationImageSizes(); |
- var url_specs = getUrlSpecs(imageSizes, notification_details); |
if (!url_specs.length) { |
callback(true); |
return; |