| Index: chrome/browser/ui/views/accessibility/accessibility_event_router_views.cc
|
| diff --git a/chrome/browser/ui/views/accessibility/accessibility_event_router_views.cc b/chrome/browser/ui/views/accessibility/accessibility_event_router_views.cc
|
| index 931cf0d61e9e63b6d4eb941e833b9ed5cd4e1295..25b0feff746b5acf26b8c30aa039d72fa4cf8b99 100644
|
| --- a/chrome/browser/ui/views/accessibility/accessibility_event_router_views.cc
|
| +++ b/chrome/browser/ui/views/accessibility/accessibility_event_router_views.cc
|
| @@ -165,6 +165,13 @@ void AccessibilityEventRouterViews::DispatchAccessibilityEvent(
|
| ui::AccessibleViewState state;
|
| view->GetAccessibleState(&state);
|
|
|
| + if (type == ui::AccessibilityTypes::EVENT_ALERT &&
|
| + !(state.role == ui::AccessibilityTypes::ROLE_ALERT ||
|
| + state.role == ui::AccessibilityTypes::ROLE_WINDOW)) {
|
| + SendAlertControlNotification(view, type, profile);
|
| + return;
|
| + }
|
| +
|
| switch (state.role) {
|
| case ui::AccessibilityTypes::ROLE_ALERT:
|
| case ui::AccessibilityTypes::ROLE_WINDOW:
|
| @@ -356,6 +363,21 @@ void AccessibilityEventRouterViews::SendSliderNotification(
|
| }
|
|
|
| // static
|
| +void AccessibilityEventRouterViews::SendAlertControlNotification(
|
| + views::View* view,
|
| + ui::AccessibilityTypes::Event event,
|
| + Profile* profile) {
|
| + ui::AccessibleViewState state;
|
| + view->GetAccessibleState(&state);
|
| +
|
| + std::string name = UTF16ToUTF8(state.name);
|
| + AccessibilityAlertInfo info(
|
| + profile,
|
| + name);
|
| + SendControlAccessibilityNotification(event, &info);
|
| +}
|
| +
|
| +// static
|
| std::string AccessibilityEventRouterViews::GetViewName(views::View* view) {
|
| ui::AccessibleViewState state;
|
| view->GetAccessibleState(&state);
|
|
|