Chromium Code Reviews| Index: views/controls/menu/menu_item_view.cc |
| diff --git a/views/controls/menu/menu_item_view.cc b/views/controls/menu/menu_item_view.cc |
| index 78fcb95c98326a1193e9713670752f9abce0a417..e578f34364b1ac1735830b429862ce12ea491a58 100644 |
| --- a/views/controls/menu/menu_item_view.cc |
| +++ b/views/controls/menu/menu_item_view.cc |
| @@ -139,7 +139,18 @@ bool MenuItemView::GetTooltipText(const gfx::Point& p, |
| void MenuItemView::GetAccessibleState(ui::AccessibleViewState* state) { |
| state->role = ui::AccessibilityTypes::ROLE_MENUITEM; |
| - state->name = accessible_name_; |
| + |
| + string16 item_text; |
|
dmazzoni
2011/11/09 14:43:20
If we do this, add a comment like "One case to dea
|
| + if (child_count() == 1 && title_.empty()) { |
|
sky
2011/11/09 15:11:37
This seems weird. Why do we want the accessible ti
dmazzoni
2011/11/09 15:50:21
The motivating example is the status bar menus on
hashimoto
2011/11/10 05:22:51
I don't know examples other than ChromeOS status a
|
| + View* child = child_at(0); |
| + ui::AccessibleViewState state; |
| + child->GetAccessibleState(&state); |
| + item_text = state.name; |
| + } else { |
| + item_text = title_; |
| + } |
| + state->name = GetAccessibleNameForMenuItem(item_text, GetAcceleratorText()); |
| + |
| switch (GetType()) { |
| case SUBMENU: |
| state->state |= ui::AccessibilityTypes::STATE_HASPOPUP; |
| @@ -330,7 +341,6 @@ SubmenuView* MenuItemView::GetSubmenu() const { |
| void MenuItemView::SetTitle(const string16& title) { |
| title_ = title; |
| - accessible_name_ = GetAccessibleNameForMenuItem(title_, GetAcceleratorText()); |
| pref_size_.SetSize(0, 0); // Triggers preferred size recalculation. |
| } |