summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/api/notifications/notifications_api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/api/notifications/notifications_api.cc')
-rw-r--r--chrome/browser/extensions/api/notifications/notifications_api.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/chrome/browser/extensions/api/notifications/notifications_api.cc b/chrome/browser/extensions/api/notifications/notifications_api.cc
index de01be5..8bd5aee 100644
--- a/chrome/browser/extensions/api/notifications/notifications_api.cc
+++ b/chrome/browser/extensions/api/notifications/notifications_api.cc
@@ -285,6 +285,16 @@ bool NotificationsApiFunction::CreateNotification(
// Then, handle any optional data that's been provided.
message_center::RichNotificationData optional_fields;
+ if (options->app_icon_mask_url.get()) {
+ if (!NotificationBitmapToGfxImage(image_scale,
+ bitmap_sizes.app_icon_mask_size,
+ options->app_icon_mask_bitmap.get(),
+ &optional_fields.small_image)) {
+ SetError(kUnableToDecodeIconError);
+ return false;
+ }
+ }
+
if (options->priority.get())
optional_fields.priority = *options->priority;
@@ -402,6 +412,14 @@ bool NotificationsApiFunction::UpdateNotification(
notification->set_icon(icon);
}
+ gfx::Image app_icon_mask;
+ if (NotificationBitmapToGfxImage(image_scale,
+ bitmap_sizes.app_icon_mask_size,
+ options->app_icon_mask_bitmap.get(),
+ &app_icon_mask)) {
+ notification->set_small_image(app_icon_mask);
+ }
+
if (options->priority)
notification->set_priority(*options->priority);