Index: chrome/browser/notifications/notification_ui_manager_android.cc |
diff --git a/chrome/browser/notifications/notification_ui_manager_android.cc b/chrome/browser/notifications/notification_ui_manager_android.cc |
index f2aefc966768f4a0eae16d669239a0c46ed83cea..f36f5303466b347996bacdb04ad7e97404dd1b46 100644 |
--- a/chrome/browser/notifications/notification_ui_manager_android.cc |
+++ b/chrome/browser/notifications/notification_ui_manager_android.cc |
@@ -131,11 +131,10 @@ void NotificationUIManagerAndroid::Add(const Notification& notification, |
ScopedJavaLocalRef<jstring> body = ConvertUTF16ToJavaString( |
env, notification.message()); |
- ScopedJavaLocalRef<jobject> icon; |
- |
- SkBitmap icon_bitmap = notification.icon().AsBitmap(); |
- if (!icon_bitmap.isNull()) |
- icon = gfx::ConvertToJavaBitmap(&icon_bitmap); |
+ ScopedJavaLocalRef<jobject> notification_icon; |
+ SkBitmap notification_icon_bitmap = notification.icon().AsBitmap(); |
+ if (!notification_icon_bitmap.isNull()) |
+ notification_icon = gfx::ConvertToJavaBitmap(¬ification_icon_bitmap); |
std::vector<base::string16> action_titles_vector; |
for (const message_center::ButtonInfo& button : notification.buttons()) |
@@ -143,6 +142,12 @@ void NotificationUIManagerAndroid::Add(const Notification& notification, |
ScopedJavaLocalRef<jobjectArray> action_titles = |
base::android::ToJavaArrayOfStrings(env, action_titles_vector); |
+ std::vector<SkBitmap> action_icons_vector; |
+ for (const message_center::ButtonInfo& button : notification.buttons()) |
+ action_icons_vector.push_back(button.icon.AsBitmap()); |
+ ScopedJavaLocalRef<jobjectArray> action_icons = |
+ gfx::ConvertToJavaBitmaps(action_icons_vector); |
+ |
ScopedJavaLocalRef<jintArray> vibration_pattern = |
base::android::ToJavaIntArray(env, notification.vibration_pattern()); |
@@ -152,8 +157,8 @@ void NotificationUIManagerAndroid::Add(const Notification& notification, |
Java_NotificationUIManager_displayNotification( |
env, java_object_.obj(), persistent_notification_id, origin.obj(), |
profile_id.obj(), profile->IsOffTheRecord(), tag.obj(), title.obj(), |
- body.obj(), icon.obj(), vibration_pattern.obj(), notification.silent(), |
- action_titles.obj()); |
+ body.obj(), notification_icon.obj(), vibration_pattern.obj(), |
+ notification.silent(), action_titles.obj(), action_icons.obj()); |
regenerated_notification_infos_[persistent_notification_id] = |
std::make_pair(origin_url.spec(), notification.tag()); |