Chromium Code Reviews| Index: ui/message_center/views/message_view.cc |
| diff --git a/ui/message_center/views/message_view.cc b/ui/message_center/views/message_view.cc |
| index 622b18a5899f2be6e03ecc3d3168b8e240be02a2..eb38b640f0576c3eab749d4cfd926147da400d9d 100644 |
| --- a/ui/message_center/views/message_view.cc |
| +++ b/ui/message_center/views/message_view.cc |
| @@ -4,6 +4,7 @@ |
| #include "ui/message_center/views/message_view.h" |
| +#include "base/strings/utf_string_conversions.h" |
| #include "ui/accessibility/ax_view_state.h" |
| #include "ui/base/l10n/l10n_util.h" |
| #include "ui/base/models/simple_menu_model.h" |
| @@ -60,6 +61,8 @@ MessageView::MessageView(MessageCenterController* controller, |
| focus_painter_ = views::Painter::CreateSolidFocusPainter( |
| kFocusBorderColor, gfx::Insets(0, 1, 3, 2)); |
| + |
| + accessible_name_ = CreateAccessibleName(notification); |
| } |
| MessageView::~MessageView() { |
| @@ -69,6 +72,7 @@ void MessageView::UpdateWithNotification(const Notification& notification) { |
| small_image_view_->SetImage(notification.small_image().AsImageSkia()); |
| display_source_ = notification.display_source(); |
| CreateOrUpdateCloseButtonView(notification); |
| + accessible_name_ = CreateAccessibleName(notification); |
| } |
| // static |
| @@ -260,4 +264,23 @@ void MessageView::CreateOrUpdateCloseButtonView( |
| } |
| } |
| +base::string16 MessageView::CreateAccessibleName( |
|
yoshiki
2016/09/07 08:29:34
Could you make this method non-member of the Messa
yhanada
2016/09/07 08:52:26
Done.
|
| + const Notification& notification) { |
| + if (!notification.accessible_name().empty()) { |
|
yoshiki
2016/09/07 08:29:34
nit: no need of the braces for one line body.
yhanada
2016/09/07 08:52:26
Done.
|
| + return notification.accessible_name(); |
| + } |
| + |
| + // Fall back to a text constructed from the notification. |
| + std::vector<base::string16> accessible_lines; |
| + accessible_lines.push_back(notification.title()); |
| + accessible_lines.push_back(notification.message()); |
| + accessible_lines.push_back(notification.context_message()); |
| + std::vector<NotificationItem> items = notification.items(); |
| + for (size_t i = 0; i < items.size() && i < kNotificationMaximumItems; ++i) { |
| + accessible_lines.push_back(items[i].title + base::ASCIIToUTF16(" ") + |
| + items[i].message); |
| + } |
| + return base::JoinString(accessible_lines, base::ASCIIToUTF16("\n")); |
| +} |
| + |
| } // namespace message_center |