diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-14 06:56:33 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-14 06:56:33 +0000 |
commit | 79e549faf26611d5ac05bc4f7fefd4a71a23fcb2 (patch) | |
tree | e7c50ebe8d193233ce2b06bbf5751bb9e82115b7 /chrome | |
parent | 36096983abafe5aa7a1df56904db3c0c8fa9ee2e (diff) | |
download | chromium_src-79e549faf26611d5ac05bc4f7fefd4a71a23fcb2.zip chromium_src-79e549faf26611d5ac05bc4f7fefd4a71a23fcb2.tar.gz chromium_src-79e549faf26611d5ac05bc4f7fefd4a71a23fcb2.tar.bz2 |
Re-land: Refactor Views accessibility.
BUG=74988
TEST=none
Review URL: http://codereview.chromium.org/6581010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78006 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
64 files changed, 396 insertions, 362 deletions
diff --git a/chrome/browser/accessibility/browser_views_accessibility_browsertest.cc b/chrome/browser/accessibility/browser_views_accessibility_browsertest.cc index 9460d04..cc6dabb 100644 --- a/chrome/browser/accessibility/browser_views_accessibility_browsertest.cc +++ b/chrome/browser/accessibility/browser_views_accessibility_browsertest.cc @@ -17,8 +17,9 @@ #include "chrome/test/ui_test_utils.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" +#include "ui/base/accessibility/accessibility_types.h" #include "ui/base/l10n/l10n_util.h" -#include "views/accessibility/view_accessibility.h" +#include "views/accessibility/native_view_accessibility_win.h" #include "views/widget/root_view.h" #include "views/widget/widget_win.h" #include "views/window/window.h" @@ -28,7 +29,7 @@ namespace { VARIANT id_self = {VT_I4, CHILDID_SELF}; // Dummy class to force creation of ATL module, needed by COM to instantiate -// ViewAccessibility. +// NativeViewAccessibilityWin. class TestAtlModule : public CAtlDllModuleT<TestAtlModule> {}; TestAtlModule test_atl_module_; @@ -86,7 +87,9 @@ class BrowserViewsAccessibilityTest : public InProcessBrowserTest { ASSERT_TRUE(NULL != view); TestAccessibilityInfo( - ViewAccessibility::GetAccessibleForView(view), name, role); + views::NativeViewAccessibilityWin::GetAccessibleForView(view), + name, + role); } @@ -253,8 +256,8 @@ IN_PROC_BROWSER_TEST_F(BrowserViewsAccessibilityTest, EXPECT_STREQ( about_chrome_window->window_delegate()->GetWindowTitle().c_str(), UTF16ToWide(l10n_util::GetStringUTF16(IDS_ABOUT_CHROME_TITLE)).c_str()); - EXPECT_EQ(about_chrome_window->window_delegate()->accessible_role(), - AccessibilityTypes::ROLE_DIALOG); + EXPECT_EQ(about_chrome_window->window_delegate()->GetAccessibleRole(), + ui::AccessibilityTypes::ROLE_DIALOG); // Also test the accessibility object directly. IAccessible* acc_obj = NULL; diff --git a/chrome/browser/autocomplete/autocomplete_accessibility.cc b/chrome/browser/autocomplete/autocomplete_accessibility.cc index 05cc6c0..48b59bf 100644 --- a/chrome/browser/autocomplete/autocomplete_accessibility.cc +++ b/chrome/browser/autocomplete/autocomplete_accessibility.cc @@ -8,7 +8,7 @@ #include "chrome/browser/autocomplete/autocomplete_edit_view_win.h" #include "grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" -#include "views/accessibility/view_accessibility.h" +#include "views/accessibility/native_view_accessibility_win.h" #include "views/view.h" HRESULT AutocompleteAccessibility::Initialize( @@ -59,8 +59,8 @@ STDMETHODIMP AutocompleteAccessibility::get_accParent(IDispatch** disp_parent) { } // Retrieve the IDispatch interface for the parent view. - *disp_parent = - ViewAccessibility::GetAccessibleForView(edit_box_->parent_view()); + *disp_parent = views::NativeViewAccessibilityWin::GetAccessibleForView( + edit_box_->parent_view()); // Increment the reference count for the retrieved interface. (*disp_parent)->AddRef(); return S_OK; diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc index 10ee9e9..b7a6c0b 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc +++ b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc @@ -1222,8 +1222,8 @@ gboolean AutocompleteEditViewGtk::HandleKeyPress(GtkWidget* widget, } #if defined(TOOLKIT_VIEWS) - location_bar_view_->NotifyAccessibilityEvent( - AccessibilityTypes::EVENT_TEXT_CHANGED); + location_bar_view_->GetWidget()->NotifyAccessibilityEvent( + location_bar_view_, ui::AccessibilityTypes::EVENT_TEXT_CHANGED, true); #endif return result; diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_views.cc b/chrome/browser/autocomplete/autocomplete_edit_view_views.cc index 0600bde..184aa9d 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_views.cc +++ b/chrome/browser/autocomplete/autocomplete_edit_view_views.cc @@ -20,6 +20,7 @@ #include "googleurl/src/gurl.h" #include "grit/generated_resources.h" #include "net/base/escape.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/dragdrop/drag_drop_types.h" #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/font.h" @@ -272,6 +273,11 @@ void AutocompleteEditViewViews::Layout() { height() - insets.height()); } +void AutocompleteEditViewViews::GetAccessibleState( + ui::AccessibleViewState* state) { + state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_LOCATION); +} + //////////////////////////////////////////////////////////////////////////////// // AutocompleteEditViewViews, AutocopmleteEditView implementation: diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_views.h b/chrome/browser/autocomplete/autocomplete_edit_view_views.h index 931313d..e01ed05 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_views.h +++ b/chrome/browser/autocomplete/autocomplete_edit_view_views.h @@ -68,6 +68,7 @@ class AutocompleteEditViewViews : public views::View, // Implements views::View virtual bool OnMousePressed(const views::MouseEvent& event); virtual void Layout(); + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // Implement the AutocompleteEditView interface. virtual AutocompleteEditModel* model(); diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_win.cc b/chrome/browser/autocomplete/autocomplete_edit_view_win.cc index d4085e9..68211de 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_win.cc +++ b/chrome/browser/autocomplete/autocomplete_edit_view_win.cc @@ -736,8 +736,10 @@ void AutocompleteEditViewWin::ClosePopup() { void AutocompleteEditViewWin::SetFocus() { ::SetFocus(m_hWnd); - parent_view_-> - NotifyAccessibilityEvent(AccessibilityTypes::EVENT_FOCUS, false); + parent_view_->GetWidget()->NotifyAccessibilityEvent( + parent_view_, + ui::AccessibilityTypes::EVENT_FOCUS, + false); } IAccessible* AutocompleteEditViewWin::GetIAccessible() { @@ -907,12 +909,12 @@ bool AutocompleteEditViewWin::OnAfterPossibleChangeInternal( if (text_differs) { // Note that a TEXT_CHANGED event implies that the cursor/selection // probably changed too, so we don't need to send both. - parent_view_->NotifyAccessibilityEvent( - AccessibilityTypes::EVENT_TEXT_CHANGED); + parent_view_->GetWidget()->NotifyAccessibilityEvent( + parent_view_, ui::AccessibilityTypes::EVENT_TEXT_CHANGED, true); } else if (selection_differs) { // Notify assistive technology that the cursor or selection changed. - parent_view_->NotifyAccessibilityEvent( - AccessibilityTypes::EVENT_SELECTION_CHANGED); + parent_view_->GetWidget()->NotifyAccessibilityEvent( + parent_view_, ui::AccessibilityTypes::EVENT_SELECTION_CHANGED, true); } else if (delete_at_end_pressed_) { model_->OnChanged(); } diff --git a/chrome/browser/chromeos/login/eula_view.cc b/chrome/browser/chromeos/login/eula_view.cc index 7cea343..ce233d9 100644 --- a/chrome/browser/chromeos/login/eula_view.cc +++ b/chrome/browser/chromeos/login/eula_view.cc @@ -488,8 +488,6 @@ static bool PublishTitleIfReady(const TabContents* contents, if (contents != eula_view->tab_contents()) return false; eula_label->SetText(UTF16ToWide(eula_view->tab_contents()->GetTitle())); - eula_label->parent()->SetAccessibleName( - eula_view->tab_contents()->GetTitle()); return true; } diff --git a/chrome/browser/chromeos/login/network_selection_view.cc b/chrome/browser/chromeos/login/network_selection_view.cc index c1b4190..8f7eb35 100644 --- a/chrome/browser/chromeos/login/network_selection_view.cc +++ b/chrome/browser/chromeos/login/network_selection_view.cc @@ -130,7 +130,8 @@ class NotifyingMenuButton : public DropDownButton { // Overridden from View: virtual void OnFocus() OVERRIDE { delegate_->ClearErrors(); - NotifyAccessibilityEvent(AccessibilityTypes::EVENT_FOCUS); + GetWidget()->NotifyAccessibilityEvent( + this, ui::AccessibilityTypes::EVENT_FOCUS, true); } private: @@ -340,8 +341,6 @@ void NetworkSelectionView::UpdateLocalizedStrings() { UTF16ToWide(delegate_->keyboard_switch_menu()->GetCurrentKeyboardName())); welcome_label_->SetText( UTF16ToWide(l10n_util::GetStringUTF16(IDS_NETWORK_SELECTION_TITLE))); - this->SetAccessibleName( - l10n_util::GetStringUTF16(IDS_NETWORK_SELECTION_TITLE)); select_language_label_->SetText( UTF16ToWide(l10n_util::GetStringUTF16(IDS_LANGUAGE_SELECTION_SELECT))); languages_menubutton_->SetAccessibleName( diff --git a/chrome/browser/chromeos/login/new_user_view.cc b/chrome/browser/chromeos/login/new_user_view.cc index 3945cf6..95f19ca 100644 --- a/chrome/browser/chromeos/login/new_user_view.cc +++ b/chrome/browser/chromeos/login/new_user_view.cc @@ -288,7 +288,6 @@ void NewUserView::AddChildView(View* view) { void NewUserView::UpdateLocalizedStrings() { title_label_->SetText(UTF16ToWide( l10n_util::GetStringUTF16(IDS_LOGIN_TITLE))); - this->SetAccessibleName(l10n_util::GetStringUTF16(IDS_LOGIN_TITLE)); title_hint_label_->SetText(UTF16ToWide( l10n_util::GetStringUTF16(IDS_LOGIN_TITLE_HINT))); username_field_->set_text_to_display_when_empty( diff --git a/chrome/browser/chromeos/login/user_image_view.cc b/chrome/browser/chromeos/login/user_image_view.cc index 6f009ad..82de2b5 100644 --- a/chrome/browser/chromeos/login/user_image_view.cc +++ b/chrome/browser/chromeos/login/user_image_view.cc @@ -171,8 +171,6 @@ void UserImageView::Init() { title_label_ = new views::Label( UTF16ToWide(l10n_util::GetStringUTF16(IDS_USER_IMAGE_SCREEN_TITLE))); - this->SetAccessibleName( - l10n_util::GetStringUTF16(IDS_USER_IMAGE_SCREEN_TITLE)); title_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); title_label_->SetMultiLine(true); CorrectLabelFontSize(title_label_); diff --git a/chrome/browser/chromeos/options/network_config_view.cc b/chrome/browser/chromeos/options/network_config_view.cc index d13a1c6..3012a05 100644 --- a/chrome/browser/chromeos/options/network_config_view.cc +++ b/chrome/browser/chromeos/options/network_config_view.cc @@ -12,6 +12,7 @@ #include "grit/chromium_strings.h" #include "grit/generated_resources.h" #include "grit/locale_settings.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/l10n/l10n_util.h" #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" @@ -35,8 +36,6 @@ NetworkConfigView::NetworkConfigView() l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS))), wificonfig_view_(new WifiConfigView(this)), delegate_(NULL) { - SetAccessibleName( - l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS)); } gfx::NativeWindow NetworkConfigView::GetNativeWindow() const { @@ -77,6 +76,12 @@ std::wstring NetworkConfigView::GetWindowTitle() const { return title_; } +void NetworkConfigView::GetAccessibleState(ui::AccessibleViewState* state) { + state->name = + l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS); + state->role = ui::AccessibilityTypes::ROLE_DIALOG; +} + void NetworkConfigView::Layout() { wificonfig_view_->SetBounds(0, 0, width(), height()); } diff --git a/chrome/browser/chromeos/options/network_config_view.h b/chrome/browser/chromeos/options/network_config_view.h index 347143c..4a2daa8 100644 --- a/chrome/browser/chromeos/options/network_config_view.h +++ b/chrome/browser/chromeos/options/network_config_view.h @@ -58,7 +58,8 @@ class NetworkConfigView : public views::View, virtual views::View* GetContentsView() { return this; } // views::View overrides. - virtual std::wstring GetWindowTitle() const; + virtual std::wstring GetWindowTitle() const OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // Getter/setter for browser mode. void set_browser_mode(bool value) { diff --git a/chrome/browser/download/download_browsertest.cc b/chrome/browser/download/download_browsertest.cc index 5e522f7..c3f1ec6 100644 --- a/chrome/browser/download/download_browsertest.cc +++ b/chrome/browser/download/download_browsertest.cc @@ -388,8 +388,8 @@ class DownloadTest : public InProcessBrowserTest { // - Add a member function to the |DownloadShelf| interface class, that // indicates how many members it has. // - Add a member function to |DownloadShelf| to get the status text - // of a given member (for example, via |DownloadItemView|'s - // GetAccessibleName() member function), by index. + // of a given member (for example, via the name in |DownloadItemView|'s + // GetAccessibleState() member function), by index. // - Iterate over browser->window()->GetDownloadShelf()'s members // to see if any match the status text we want. Start with the last one. diff --git a/chrome/browser/renderer_host/render_widget_host_view_win.cc b/chrome/browser/renderer_host/render_widget_host_view_win.cc index 6a6a53a..65c4159 100644 --- a/chrome/browser/renderer_host/render_widget_host_view_win.cc +++ b/chrome/browser/renderer_host/render_widget_host_view_win.cc @@ -42,7 +42,7 @@ #include "ui/gfx/canvas_skia.h" #include "ui/gfx/gdi_util.h" #include "ui/gfx/rect.h" -#include "views/accessibility/view_accessibility.h" +#include "views/accessibility/native_view_accessibility_win.h" #include "views/focus/focus_manager.h" #include "views/focus/focus_util_win.h" // Included for views::kReflectedMessage - TODO(beng): move this to win_util.h! @@ -586,9 +586,10 @@ void RenderWidgetHostViewWin::Show() { // Save away our HWND in the parent window as a property so that the // accessibility code can find it. - accessibility_prop_.reset(new ViewProp(GetParent(), - kViewsNativeHostPropForAccessibility, - m_hWnd)); + accessibility_prop_.reset(new ViewProp( + GetParent(), + views::kViewsNativeHostPropForAccessibility, + m_hWnd)); DidBecomeSelected(); } @@ -863,9 +864,10 @@ LRESULT RenderWidgetHostViewWin::OnCreate(CREATESTRUCT* create_struct) { static_cast<RenderWidgetHostView*>(this))); // Save away our HWND in the parent window as a property so that the // accessibility code can find it. - accessibility_prop_.reset(new ViewProp(GetParent(), - kViewsNativeHostPropForAccessibility, - m_hWnd)); + accessibility_prop_.reset(new ViewProp( + GetParent(), + views::kViewsNativeHostPropForAccessibility, + m_hWnd)); return 0; } diff --git a/chrome/browser/ui/views/accessibility_event_router_views.cc b/chrome/browser/ui/views/accessibility_event_router_views.cc index c99022b..bfbd3ff 100644 --- a/chrome/browser/ui/views/accessibility_event_router_views.cc +++ b/chrome/browser/ui/views/accessibility_event_router_views.cc @@ -14,7 +14,7 @@ #include "chrome/browser/ui/views/location_bar/location_bar_view.h" #include "content/common/notification_type.h" #include "ui/base/models/combobox_model.h" -#include "views/accessibility/accessibility_types.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "views/controls/button/custom_button.h" #include "views/controls/button/menu_button.h" #include "views/controls/button/native_button.h" @@ -44,38 +44,38 @@ AccessibilityEventRouterViews* AccessibilityEventRouterViews::GetInstance() { } void AccessibilityEventRouterViews::HandleAccessibilityEvent( - views::View* view, AccessibilityTypes::Event event_type) { + views::View* view, ui::AccessibilityTypes::Event event_type) { if (!ExtensionAccessibilityEventRouter::GetInstance()-> IsAccessibilityEnabled()) { return; } switch (event_type) { - case AccessibilityTypes::EVENT_FOCUS: + case ui::AccessibilityTypes::EVENT_FOCUS: DispatchAccessibilityNotification( view, NotificationType::ACCESSIBILITY_CONTROL_FOCUSED); break; - case AccessibilityTypes::EVENT_MENUSTART: - case AccessibilityTypes::EVENT_MENUPOPUPSTART: + case ui::AccessibilityTypes::EVENT_MENUSTART: + case ui::AccessibilityTypes::EVENT_MENUPOPUPSTART: DispatchAccessibilityNotification( view, NotificationType::ACCESSIBILITY_MENU_OPENED); break; - case AccessibilityTypes::EVENT_MENUEND: - case AccessibilityTypes::EVENT_MENUPOPUPEND: + case ui::AccessibilityTypes::EVENT_MENUEND: + case ui::AccessibilityTypes::EVENT_MENUPOPUPEND: DispatchAccessibilityNotification( view, NotificationType::ACCESSIBILITY_MENU_CLOSED); break; - case AccessibilityTypes::EVENT_TEXT_CHANGED: - case AccessibilityTypes::EVENT_SELECTION_CHANGED: + case ui::AccessibilityTypes::EVENT_TEXT_CHANGED: + case ui::AccessibilityTypes::EVENT_SELECTION_CHANGED: DispatchAccessibilityNotification( view, NotificationType::ACCESSIBILITY_TEXT_CHANGED); break; - case AccessibilityTypes::EVENT_VALUE_CHANGED: + case ui::AccessibilityTypes::EVENT_VALUE_CHANGED: DispatchAccessibilityNotification( view, NotificationType::ACCESSIBILITY_CONTROL_ACTION); break; - case AccessibilityTypes::EVENT_ALERT: - case AccessibilityTypes::EVENT_NAME_CHANGED: + case ui::AccessibilityTypes::EVENT_ALERT: + case ui::AccessibilityTypes::EVENT_NAME_CHANGED: // TODO(dmazzoni): re-evaluate this list later and see // if supporting any of these would be useful feature requests or // they'd just be superfluous. @@ -113,9 +113,9 @@ void AccessibilityEventRouterViews::HandleMenuItemFocused( // std::string AccessibilityEventRouterViews::GetViewName(views::View* view) { - string16 wname; - view->GetAccessibleName(&wname); - return UTF16ToUTF8(wname); + ui::AccessibleViewState state; + view->GetAccessibleState(&state); + return UTF16ToUTF8(state.name); } void AccessibilityEventRouterViews::DispatchAccessibilityNotification( @@ -231,9 +231,11 @@ bool AccessibilityEventRouterViews::IsMenuEvent( return true; while (view) { - AccessibilityTypes::Role role = view->GetAccessibleRole(); - if (role == AccessibilityTypes::ROLE_MENUITEM || - role == AccessibilityTypes::ROLE_MENUPOPUP) { + ui::AccessibleViewState state; + view->GetAccessibleState(&state); + ui::AccessibilityTypes::Role role = state.role; + if (role == ui::AccessibilityTypes::ROLE_MENUITEM || + role == ui::AccessibilityTypes::ROLE_MENUPOPUP) { return true; } view = view->parent(); @@ -244,39 +246,35 @@ bool AccessibilityEventRouterViews::IsMenuEvent( void AccessibilityEventRouterViews::SendLocationBarNotification( views::View* view, NotificationType type, Profile* profile) { - std::string name = GetViewName(view); - LocationBarView* location_bar = static_cast<LocationBarView*>(view); - int start_index = -1; - int end_index = -1; - location_bar->GetSelectionBounds(&start_index, &end_index); + ui::AccessibleViewState state; + view->GetAccessibleState(&state); + std::string name = UTF16ToUTF8(state.name); AccessibilityTextBoxInfo info(profile, name, false); - std::string value = UTF16ToUTF8(location_bar->GetAccessibleValue()); - info.SetValue(value, start_index, end_index); + std::string value = UTF16ToUTF8(state.value); + info.SetValue(value, state.selection_start, state.selection_end); SendAccessibilityNotification(type, &info); } void AccessibilityEventRouterViews::SendTextfieldNotification( views::View* view, NotificationType type, Profile* profile) { - std::string name = GetViewName(view); + ui::AccessibleViewState state; + view->GetAccessibleState(&state); + std::string name = UTF16ToUTF8(state.name); views::Textfield* textfield = static_cast<views::Textfield*>(view); - int start_index = -1; - int end_index = -1; - textfield->GetSelectionBounds(&start_index, &end_index); bool password = textfield->IsPassword(); AccessibilityTextBoxInfo info(profile, name, password); - std::string value = UTF16ToUTF8(textfield->GetAccessibleValue()); - info.SetValue(value, start_index, end_index); + std::string value = UTF16ToUTF8(state.value); + info.SetValue(value, state.selection_start, state.selection_end); SendAccessibilityNotification(type, &info); } void AccessibilityEventRouterViews::SendComboboxNotification( views::View* view, NotificationType type, Profile* profile) { - std::string name = GetViewName(view); - views::Combobox* combobox = static_cast<views::Combobox*>(view); - std::string value = UTF16ToUTF8(combobox->GetAccessibleValue()); - int selected_item = combobox->selected_item(); - int item_count = combobox->model()->GetItemCount(); + ui::AccessibleViewState state; + view->GetAccessibleState(&state); + std::string name = UTF16ToUTF8(state.name); + std::string value = UTF16ToUTF8(state.value); AccessibilityComboBoxInfo info( - profile, name, value, selected_item, item_count); + profile, name, value, state.index, state.count); SendAccessibilityNotification(type, &info); } diff --git a/chrome/browser/ui/views/accessibility_event_router_views.h b/chrome/browser/ui/views/accessibility_event_router_views.h index 103e753..bdf4b34 100644 --- a/chrome/browser/ui/views/accessibility_event_router_views.h +++ b/chrome/browser/ui/views/accessibility_event_router_views.h @@ -13,7 +13,7 @@ #include "base/singleton.h" #include "base/task.h" #include "chrome/browser/accessibility_events.h" -#include "views/accessibility/accessibility_types.h" +#include "ui/base/accessibility/accessibility_types.h" class Profile; namespace views { @@ -54,7 +54,7 @@ class AccessibilityEventRouterViews { // Handle an accessibility event generated by a view. void HandleAccessibilityEvent( - views::View* view, AccessibilityTypes::Event event_type); + views::View* view, ui::AccessibilityTypes::Event event_type); // Handle a menu item being focused (separate because a menu item is // not necessarily its own view). diff --git a/chrome/browser/ui/views/accessibility_event_router_views_unittest.cc b/chrome/browser/ui/views/accessibility_event_router_views_unittest.cc index 6aae653..c288e91 100644 --- a/chrome/browser/ui/views/accessibility_event_router_views_unittest.cc +++ b/chrome/browser/ui/views/accessibility_event_router_views_unittest.cc @@ -47,7 +47,7 @@ class AccessibilityViewsDelegate : public views::ViewsDelegate { return false; } virtual void NotifyAccessibilityEvent( - views::View* view, AccessibilityTypes::Event event_type) { + views::View* view, ui::AccessibilityTypes::Event event_type) { AccessibilityEventRouterViews::GetInstance()->HandleAccessibilityEvent( view, event_type); } diff --git a/chrome/browser/ui/views/accessible_pane_view.cc b/chrome/browser/ui/views/accessible_pane_view.cc index 94782c7..8b9d680 100644 --- a/chrome/browser/ui/views/accessible_pane_view.cc +++ b/chrome/browser/ui/views/accessible_pane_view.cc @@ -7,6 +7,7 @@ #include "chrome/browser/ui/views/accessible_pane_view.h" #include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/location_bar/location_bar_view.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "views/controls/button/menu_button.h" #include "views/controls/native/native_view_host.h" #include "views/focus/focus_search.h" @@ -196,8 +197,8 @@ void AccessiblePaneView::SetVisible(bool flag) { View::SetVisible(flag); } -AccessibilityTypes::Role AccessiblePaneView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_PANE; +void AccessiblePaneView::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_PANE; } //////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/ui/views/accessible_pane_view.h b/chrome/browser/ui/views/accessible_pane_view.h index be08980..4c82b4d 100644 --- a/chrome/browser/ui/views/accessible_pane_view.h +++ b/chrome/browser/ui/views/accessible_pane_view.h @@ -41,19 +41,20 @@ class AccessiblePaneView : public views::View, virtual bool SetPaneFocusAndFocusDefault(int view_storage_id); // Overridden from views::View: - virtual FocusTraversable* GetPaneFocusTraversable(); - virtual bool AcceleratorPressed(const views::Accelerator& accelerator); - virtual void SetVisible(bool flag); - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual FocusTraversable* GetPaneFocusTraversable() OVERRIDE; + virtual bool AcceleratorPressed(const views::Accelerator& accelerator) + OVERRIDE; + virtual void SetVisible(bool flag) OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // Overridden from views::FocusChangeListener: virtual void FocusWillChange(View* focused_before, - View* focused_now); + View* focused_now) OVERRIDE; // Overridden from views::FocusTraversable: - virtual views::FocusSearch* GetFocusSearch(); - virtual FocusTraversable* GetFocusTraversableParent(); - virtual View* GetFocusTraversableParentView(); + virtual views::FocusSearch* GetFocusSearch() OVERRIDE; + virtual FocusTraversable* GetFocusTraversableParent() OVERRIDE; + virtual View* GetFocusTraversableParentView() OVERRIDE; protected: // A subclass can override this to provide a default focusable child diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.cc index 78f19ab..28c3a31 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.cc @@ -86,8 +86,9 @@ void BookmarkBarInstructionsView::ViewHierarchyChanged(bool is_add, UpdateColors(); } -AccessibilityTypes::Role BookmarkBarInstructionsView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_GROUPING; +void BookmarkBarInstructionsView::GetAccessibleState( + ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_GROUPING; } void BookmarkBarInstructionsView::LinkActivated(views::Link* source, diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.h b/chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.h index 3b6bf13..675df4a 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.h +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.h @@ -6,6 +6,7 @@ #define CHROME_BROWSER_UI_VIEWS_BOOKMARKS_BOOKMARK_BAR_INSTRUCTIONS_VIEW_H_ #pragma once +#include "ui/base/accessibility/accessible_view_state.h" #include "views/controls/link.h" #include "views/view.h" @@ -35,16 +36,16 @@ class BookmarkBarInstructionsView : public views::View, explicit BookmarkBarInstructionsView(Delegate* delegate); // View overrides. - virtual gfx::Size GetPreferredSize(); - virtual void Layout(); - virtual void OnThemeChanged(); + virtual gfx::Size GetPreferredSize() OVERRIDE; + virtual void Layout() OVERRIDE; + virtual void OnThemeChanged() OVERRIDE; virtual void ViewHierarchyChanged(bool is_add, views::View* parent, - views::View* child); - virtual AccessibilityTypes::Role GetAccessibleRole(); + views::View* child) OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // LinkController. - virtual void LinkActivated(views::Link* source, int event_flags); + virtual void LinkActivated(views::Link* source, int event_flags) OVERRIDE; private: void UpdateColors(); diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc index bc1aebc..d01370b 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc @@ -40,6 +40,7 @@ #include "grit/app_resources.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/animation/slide_animation.h" #include "ui/base/dragdrop/os_exchange_data.h" #include "ui/base/l10n/l10n_util.h" @@ -293,7 +294,7 @@ class BookmarkBarView::ButtonSeparatorView : public views::View { ButtonSeparatorView() {} virtual ~ButtonSeparatorView() {} - virtual void OnPaint(gfx::Canvas* canvas) { + virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE { DetachableToolbarView::PaintVerticalDivider( canvas, kSeparatorStartX, height(), 1, DetachableToolbarView::kEdgeDividerColor, @@ -301,14 +302,15 @@ class BookmarkBarView::ButtonSeparatorView : public views::View { GetThemeProvider()->GetColor(BrowserThemeProvider::COLOR_TOOLBAR)); } - virtual gfx::Size GetPreferredSize() { + virtual gfx::Size GetPreferredSize() OVERRIDE { // We get the full height of the bookmark bar, so that the height returned // here doesn't matter. return gfx::Size(kSeparatorWidth, 1); } - virtual AccessibilityTypes::Role GetAccessibleRole() { - return AccessibilityTypes::ROLE_SEPARATOR; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE { + state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_SEPARATOR); + state->role = ui::AccessibilityTypes::ROLE_SEPARATOR; } private: @@ -671,12 +673,9 @@ void BookmarkBarView::ShowContextMenu(const gfx::Point& p, ShowContextMenuForView(this, p, is_mouse_gesture); } -bool BookmarkBarView::IsAccessibleViewTraversable(views::View* view) { - return view != bookmarks_separator_view_ && view != instructions_; -} - -AccessibilityTypes::Role BookmarkBarView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_TOOLBAR; +void BookmarkBarView::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_TOOLBAR; + state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_BOOKMARKS); } void BookmarkBarView::OnStateChanged() { @@ -876,8 +875,6 @@ void BookmarkBarView::Init() { AddChildView(other_bookmarked_button_); bookmarks_separator_view_ = new ButtonSeparatorView(); - bookmarks_separator_view_->SetAccessibleName( - l10n_util::GetStringUTF16(IDS_ACCNAME_SEPARATOR)); AddChildView(bookmarks_separator_view_); instructions_ = new BookmarkBarInstructionsView(this); diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h index 9d8b346..8c49420 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h @@ -110,32 +110,34 @@ class BookmarkBarView : public DetachableToolbarView, infobar_visible_ = infobar_visible; } - // DetachableToolbarView methods: - virtual bool IsDetached() const; virtual bool IsOnTop() const; - virtual double GetAnimationValue() const; - virtual int GetToolbarOverlap() const; + + // DetachableToolbarView methods: + virtual bool IsDetached() const OVERRIDE; + virtual double GetAnimationValue() const OVERRIDE; + virtual int GetToolbarOverlap() const OVERRIDE; // View methods: - virtual gfx::Size GetPreferredSize(); - virtual gfx::Size GetMinimumSize(); - virtual void Layout(); - virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child); - virtual void PaintChildren(gfx::Canvas* canvas); + virtual gfx::Size GetPreferredSize() OVERRIDE; + virtual gfx::Size GetMinimumSize() OVERRIDE; + virtual void Layout() OVERRIDE; + virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child) + OVERRIDE; + virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE; virtual bool GetDropFormats( int* formats, - std::set<ui::OSExchangeData::CustomFormat>* custom_formats); - virtual bool AreDropTypesRequired(); - virtual bool CanDrop(const ui::OSExchangeData& data); - virtual void OnDragEntered(const views::DropTargetEvent& event); - virtual int OnDragUpdated(const views::DropTargetEvent& event); - virtual void OnDragExited(); - virtual int OnPerformDrop(const views::DropTargetEvent& event); - virtual void ShowContextMenu(const gfx::Point& p, bool is_mouse_gesture); + std::set<ui::OSExchangeData::CustomFormat>* custom_formats) OVERRIDE; + virtual bool AreDropTypesRequired() OVERRIDE; + virtual bool CanDrop(const ui::OSExchangeData& data) OVERRIDE; + virtual void OnDragEntered(const views::DropTargetEvent& event) OVERRIDE; + virtual int OnDragUpdated(const views::DropTargetEvent& event) OVERRIDE; + virtual void OnDragExited() OVERRIDE; + virtual int OnPerformDrop(const views::DropTargetEvent& event) OVERRIDE; + virtual void ShowContextMenu(const gfx::Point& p, bool is_mouse_gesture) + OVERRIDE; // AccessiblePaneView methods: - virtual bool IsAccessibleViewTraversable(views::View* view); - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // ProfileSyncServiceObserver method. virtual void OnStateChanged(); diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc index 949bd40..a693fe1 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc @@ -18,6 +18,7 @@ #include "content/browser/tab_contents/page_navigator.h" #include "content/common/notification_service.h" #include "grit/generated_resources.h" +#include "ui/base/accessibility/accessibility_types.h" #include "ui/base/clipboard/clipboard.h" #include "ui/base/keycodes/keyboard_codes.h" #include "views/controls/button/menu_button.h" @@ -84,7 +85,7 @@ class ViewsDelegateImpl : public views::ViewsDelegate { } virtual void NotifyAccessibilityEvent( - views::View* view, AccessibilityTypes::Event event_type) {} + views::View* view, ui::AccessibilityTypes::Event event_type) {} virtual void NotifyMenuItemFocused( const std::wstring& menu_name, const std::wstring& menu_item_name, diff --git a/chrome/browser/ui/views/browser_actions_container.cc b/chrome/browser/ui/views/browser_actions_container.cc index 1021b56..984590b 100644 --- a/chrome/browser/ui/views/browser_actions_container.cc +++ b/chrome/browser/ui/views/browser_actions_container.cc @@ -32,6 +32,7 @@ #include "grit/generated_resources.h" #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/effects/SkGradientShader.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/animation/slide_animation.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" @@ -169,7 +170,6 @@ void BrowserActionButton::UpdateState() { if (name.empty()) name = UTF8ToUTF16(extension()->name()); SetTooltipText(UTF16ToWideHack(name)); - SetAccessibleName(name); parent()->SchedulePaint(); } @@ -291,8 +291,6 @@ BrowserActionView::BrowserActionView(const Extension* extension, button_->SetDragController(panel_); AddChildView(button_); button_->UpdateState(); - SetAccessibleName( - l10n_util::GetStringUTF16(IDS_ACCNAME_EXTENSIONS_BROWSER_ACTION)); } BrowserActionView::~BrowserActionView() { @@ -318,8 +316,10 @@ gfx::Canvas* BrowserActionView::GetIconWithBadge() { return canvas; } -AccessibilityTypes::Role BrowserActionView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_GROUPING; +void BrowserActionView::GetAccessibleState(ui::AccessibleViewState* state) { + state->name = l10n_util::GetStringUTF16( + IDS_ACCNAME_EXTENSIONS_BROWSER_ACTION); + state->role = ui::AccessibilityTypes::ROLE_GROUPING; } void BrowserActionView::Layout() { @@ -371,8 +371,6 @@ BrowserActionsContainer::BrowserActionsContainer(Browser* browser, resize_animation_.reset(new ui::SlideAnimation(this)); resize_area_ = new views::ResizeArea(this); - resize_area_->SetAccessibleName( - l10n_util::GetStringUTF16(IDS_ACCNAME_SEPARATOR)); AddChildView(resize_area_); chevron_ = new views::MenuButton(NULL, std::wstring(), this, false); @@ -382,8 +380,6 @@ BrowserActionsContainer::BrowserActionsContainer(Browser* browser, l10n_util::GetStringUTF16(IDS_ACCNAME_EXTENSIONS_CHEVRON)); chevron_->SetVisible(false); AddChildView(chevron_); - - SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_EXTENSIONS)); } BrowserActionsContainer::~BrowserActionsContainer() { @@ -740,8 +736,10 @@ void BrowserActionsContainer::OnThemeChanged() { LoadImages(); } -AccessibilityTypes::Role BrowserActionsContainer::GetAccessibleRole() { - return AccessibilityTypes::ROLE_GROUPING; +void BrowserActionsContainer::GetAccessibleState( + ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_GROUPING; + state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_EXTENSIONS); } void BrowserActionsContainer::RunMenu(View* source, const gfx::Point& pt) { diff --git a/chrome/browser/ui/views/browser_actions_container.h b/chrome/browser/ui/views/browser_actions_container.h index 1fd6f75..e951ddb 100644 --- a/chrome/browser/ui/views/browser_actions_container.h +++ b/chrome/browser/ui/views/browser_actions_container.h @@ -28,7 +28,6 @@ #include "views/view.h" class Browser; -class BrowserActionsContainer; class BrowserActionOverflowMenuController; class BrowserActionsContainer; class Extension; @@ -164,7 +163,7 @@ class BrowserActionView : public views::View { gfx::Canvas* GetIconWithBadge(); // Accessibility accessors, overridden from View. - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; private: virtual void Layout(); @@ -332,7 +331,7 @@ class BrowserActionsContainer virtual void OnDragExited(); virtual int OnPerformDrop(const views::DropTargetEvent& event); virtual void OnThemeChanged(); - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // Overridden from views::ViewMenuDelegate: virtual void RunMenu(View* source, const gfx::Point& pt); diff --git a/chrome/browser/ui/views/chrome_views_delegate.cc b/chrome/browser/ui/views/chrome_views_delegate.cc index 9216388..b6d2b43 100644 --- a/chrome/browser/ui/views/chrome_views_delegate.cc +++ b/chrome/browser/ui/views/chrome_views_delegate.cc @@ -116,7 +116,7 @@ bool ChromeViewsDelegate::GetSavedMaximizedState( } void ChromeViewsDelegate::NotifyAccessibilityEvent( - views::View* view, AccessibilityTypes::Event event_type) { + views::View* view, ui::AccessibilityTypes::Event event_type) { AccessibilityEventRouterViews::GetInstance()->HandleAccessibilityEvent( view, event_type); } diff --git a/chrome/browser/ui/views/chrome_views_delegate.h b/chrome/browser/ui/views/chrome_views_delegate.h index 8c5112e..b115ce4 100644 --- a/chrome/browser/ui/views/chrome_views_delegate.h +++ b/chrome/browser/ui/views/chrome_views_delegate.h @@ -8,6 +8,7 @@ #include "base/basictypes.h" #include "build/build_config.h" +#include "ui/base/accessibility/accessibility_types.h" #include "views/views_delegate.h" namespace views { @@ -32,7 +33,7 @@ class ChromeViewsDelegate : public views::ViewsDelegate { const std::wstring& window_name, bool* maximized) const; virtual void NotifyAccessibilityEvent( - views::View* view, AccessibilityTypes::Event event_type); + views::View* view, ui::AccessibilityTypes::Event event_type); virtual void NotifyMenuItemFocused( const std::wstring& menu_name, const std::wstring& menu_item_name, diff --git a/chrome/browser/ui/views/download_item_view.cc b/chrome/browser/ui/views/download_item_view.cc index 1783b16..eaafa09 100644 --- a/chrome/browser/ui/views/download_item_view.cc +++ b/chrome/browser/ui/views/download_item_view.cc @@ -20,6 +20,7 @@ #include "chrome/browser/ui/views/download_shelf_view.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/animation/slide_animation.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" @@ -949,15 +950,13 @@ void DownloadItemView::ShowContextMenu(const gfx::Point& p, } } -AccessibilityTypes::Role DownloadItemView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_PUSHBUTTON; -} - -AccessibilityTypes::State DownloadItemView::GetAccessibleState() { +void DownloadItemView::GetAccessibleState(ui::AccessibleViewState* state) { + state->name = accessible_name_; + state->role = ui::AccessibilityTypes::ROLE_PUSHBUTTON; if (download_->safety_state() == DownloadItem::DANGEROUS) { - return AccessibilityTypes::STATE_UNAVAILABLE; + state->state = ui::AccessibilityTypes::STATE_UNAVAILABLE; } else { - return AccessibilityTypes::STATE_HASPOPUP; + state->state = ui::AccessibilityTypes::STATE_HASPOPUP; } } @@ -1079,9 +1078,6 @@ bool DownloadItemView::InDropDownButtonXCoordinateRange(int x) { } void DownloadItemView::UpdateAccessibleName() { - string16 current_name; - GetAccessibleName(¤t_name); - string16 new_name; if (download_->safety_state() == DownloadItem::DANGEROUS) { new_name = WideToUTF16Hack(dangerous_download_label_->GetText()); @@ -1090,12 +1086,13 @@ void DownloadItemView::UpdateAccessibleName() { download_->GetFileNameToReportUser().LossyDisplayName(); } - // If the name has changed, call SetAccessibleName and notify - // assistive technology that the name has changed so they can - // announce it immediately. - if (new_name != current_name) { - SetAccessibleName(new_name); - if (GetWidget()) - NotifyAccessibilityEvent(AccessibilityTypes::EVENT_NAME_CHANGED); + // If the name has changed, notify assistive technology that the name + // has changed so they can announce it immediately. + if (new_name != accessible_name_) { + accessible_name_ = new_name; + if (GetWidget()) { + GetWidget()->NotifyAccessibilityEvent( + this, ui::AccessibilityTypes::EVENT_NAME_CHANGED, true); + } } } diff --git a/chrome/browser/ui/views/download_item_view.h b/chrome/browser/ui/views/download_item_view.h index b92a74c..d244b66 100644 --- a/chrome/browser/ui/views/download_item_view.h +++ b/chrome/browser/ui/views/download_item_view.h @@ -79,8 +79,7 @@ class DownloadItemView : public views::ButtonListener, virtual bool OnKeyPressed(const views::KeyEvent& e) OVERRIDE; virtual void ShowContextMenu(const gfx::Point& p, bool is_mouse_gesture) OVERRIDE; - virtual AccessibilityTypes::Role GetAccessibleRole() OVERRIDE; - virtual AccessibilityTypes::State GetAccessibleState() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // ButtonListener implementation. virtual void ButtonPressed(views::Button* sender, @@ -282,6 +281,9 @@ class DownloadItemView : public views::ButtonListener, // might delete us). bool* deleted_; + // The name of this view as reported to assistive technology. + string16 accessible_name_; + DISALLOW_COPY_AND_ASSIGN(DownloadItemView); }; diff --git a/chrome/browser/ui/views/first_run_search_engine_view.cc b/chrome/browser/ui/views/first_run_search_engine_view.cc index 0e6dd44..d204d62c 100644 --- a/chrome/browser/ui/views/first_run_search_engine_view.cc +++ b/chrome/browser/ui/views/first_run_search_engine_view.cc @@ -18,10 +18,11 @@ #include "chrome/browser/search_engines/template_url_model.h" #include "chrome/browser/ui/options/options_window.h" #include "grit/chromium_strings.h" -#include "grit/google_chrome_strings.h" #include "grit/generated_resources.h" +#include "grit/google_chrome_strings.h" #include "grit/locale_settings.h" #include "grit/theme_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" #include "ui/gfx/canvas.h" @@ -265,7 +266,8 @@ void FirstRunSearchEngineView::OnTemplateURLModelChanged() { // This will tell screenreaders that they should read the full text // of this dialog to the user now (rather than waiting for the user // to explore it). - NotifyAccessibilityEvent(AccessibilityTypes::EVENT_ALERT); + GetWidget()->NotifyAccessibilityEvent( + this, ui::AccessibilityTypes::EVENT_ALERT, true); } gfx::Size FirstRunSearchEngineView::GetPreferredSize() { @@ -427,8 +429,9 @@ void FirstRunSearchEngineView::Layout() { } // if (search_engine_choices.size() > 0) } -AccessibilityTypes::Role FirstRunSearchEngineView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_ALERT; +void FirstRunSearchEngineView::GetAccessibleState( + ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_ALERT; } std::wstring FirstRunSearchEngineView::GetWindowTitle() const { diff --git a/chrome/browser/ui/views/first_run_search_engine_view.h b/chrome/browser/ui/views/first_run_search_engine_view.h index 5db011b..eee914c 100644 --- a/chrome/browser/ui/views/first_run_search_engine_view.h +++ b/chrome/browser/ui/views/first_run_search_engine_view.h @@ -88,29 +88,31 @@ class FirstRunSearchEngineView virtual ~FirstRunSearchEngineView(); + bool IsAlwaysOnTop() const { return true; } + bool HasAlwaysOnTopMenu() const { return false; } + // Overridden from views::View: - virtual gfx::Size GetPreferredSize(); - virtual void Layout(); - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual gfx::Size GetPreferredSize() OVERRIDE; + virtual void Layout() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // Overridden from views::WindowDelegate: - virtual std::wstring GetWindowTitle() const; - views::View* GetContentsView() { return this; } - bool CanResize() const { return false; } - bool CanMaximize() const { return false; } - bool IsAlwaysOnTop() const { return true; } - bool HasAlwaysOnTopMenu() const { return false; } + virtual std::wstring GetWindowTitle() const OVERRIDE; + views::View* GetContentsView() OVERRIDE { return this; } + bool CanResize() const OVERRIDE{ return false; } + bool CanMaximize() const OVERRIDE { return false; } // Overridden from views::ButtonListener: - virtual void ButtonPressed(views::Button* sender, const views::Event& event); + virtual void ButtonPressed(views::Button* sender, const views::Event& event) + OVERRIDE; // Override from View so we can draw the gray background at dialog top. - virtual void OnPaint(gfx::Canvas* canvas); + virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; // Overridden from TemplateURLModelObserver. When the search engines have // loaded from the profile, we can populate the logos in the dialog box // to present to the user. - virtual void OnTemplateURLModelChanged(); + virtual void OnTemplateURLModelChanged() OVERRIDE; private: // Initializes the labels and controls in the view. @@ -141,4 +143,3 @@ class FirstRunSearchEngineView }; #endif // CHROME_BROWSER_UI_VIEWS_FIRST_RUN_SEARCH_ENGINE_VIEW_H_ - diff --git a/chrome/browser/ui/views/frame/browser_root_view.cc b/chrome/browser/ui/views/frame/browser_root_view.cc index 42578ed..e50deb9 100644 --- a/chrome/browser/ui/views/frame/browser_root_view.cc +++ b/chrome/browser/ui/views/frame/browser_root_view.cc @@ -14,6 +14,7 @@ #include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/tabs/tab_strip.h" #include "grit/chromium_strings.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/dragdrop/drag_drop_types.h" #include "ui/base/dragdrop/os_exchange_data.h" #include "ui/base/l10n/l10n_util.h" @@ -22,9 +23,7 @@ BrowserRootView::BrowserRootView(BrowserView* browser_view, views::Widget* widget) : views::RootView(widget), browser_view_(browser_view), - forwarding_to_tab_strip_(false) { - SetAccessibleName(l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); -} + forwarding_to_tab_strip_(false) { } bool BrowserRootView::GetDropFormats( int* formats, @@ -109,6 +108,11 @@ int BrowserRootView::OnPerformDrop(const views::DropTargetEvent& event) { return tabstrip()->OnPerformDrop(*mapped_event); } +void BrowserRootView::GetAccessibleState(ui::AccessibleViewState* state) { + RootView::GetAccessibleState(state); + state->name = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME); +} + bool BrowserRootView::ShouldForwardToTabStrip( const views::DropTargetEvent& event) { if (!tabstrip()->IsVisible()) diff --git a/chrome/browser/ui/views/frame/browser_root_view.h b/chrome/browser/ui/views/frame/browser_root_view.h index 52f6f01..48b4d28 100644 --- a/chrome/browser/ui/views/frame/browser_root_view.h +++ b/chrome/browser/ui/views/frame/browser_root_view.h @@ -25,15 +25,17 @@ class BrowserRootView : public views::RootView { // You must call set_tabstrip before this class will accept drops. BrowserRootView(BrowserView* browser_view, views::Widget* widget); + // Overridden from views::View: virtual bool GetDropFormats( int* formats, - std::set<ui::OSExchangeData::CustomFormat>* custom_formats); - virtual bool AreDropTypesRequired(); - virtual bool CanDrop(const ui::OSExchangeData& data); - virtual void OnDragEntered(const views::DropTargetEvent& event); - virtual int OnDragUpdated(const views::DropTargetEvent& event); - virtual void OnDragExited(); - virtual int OnPerformDrop(const views::DropTargetEvent& event); + std::set<ui::OSExchangeData::CustomFormat>* custom_formats) OVERRIDE; + virtual bool AreDropTypesRequired() OVERRIDE; + virtual bool CanDrop(const ui::OSExchangeData& data) OVERRIDE; + virtual void OnDragEntered(const views::DropTargetEvent& event) OVERRIDE; + virtual int OnDragUpdated(const views::DropTargetEvent& event) OVERRIDE; + virtual void OnDragExited() OVERRIDE; + virtual int OnPerformDrop(const views::DropTargetEvent& event) OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; private: // Returns true if the event should be forwarded to the tabstrip. diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc index 63b2389..ec2bf14 100644 --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc @@ -74,6 +74,7 @@ #include "grit/locale_settings.h" #include "grit/theme_resources.h" #include "grit/webkit_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" #include "ui/gfx/canvas_skia.h" @@ -1788,8 +1789,9 @@ void BrowserView::ChildPreferredSizeChanged(View* child) { Layout(); } -AccessibilityTypes::Role BrowserView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_CLIENT; +void BrowserView::GetAccessibleState(ui::AccessibleViewState* state) { + state->name = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME); + state->role = ui::AccessibilityTypes::ROLE_CLIENT; } void BrowserView::InfoBarContainerSizeChanged(bool is_animating) { @@ -1815,8 +1817,6 @@ void BrowserView::InitTabStrip(TabStripModel* model) { tabstrip_->parent()->RemoveChildView(tabstrip_); tabstrip_ = CreateTabStrip(browser_.get(), model, UseVerticalTabs()); - - tabstrip_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_TABSTRIP)); AddChildView(tabstrip_); } @@ -1842,14 +1842,12 @@ void BrowserView::Init() { } LoadAccelerators(); - SetAccessibleName(l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); InitTabStrip(browser_->tabstrip_model()); toolbar_ = new ToolbarView(browser_.get()); AddChildView(toolbar_); toolbar_->Init(browser_->profile()); - toolbar_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_TOOLBAR)); infobar_container_ = new InfoBarContainer(this); AddChildView(infobar_container_); @@ -1980,8 +1978,6 @@ bool BrowserView::MaybeShowBookmarkBar(TabContentsWrapper* contents) { bookmark_bar_view_->SetProfile(contents->profile()); } bookmark_bar_view_->SetPageNavigator(contents->tab_contents()); - bookmark_bar_view_->SetAccessibleName( - l10n_util::GetStringUTF16(IDS_ACCNAME_BOOKMARKS)); new_bookmark_bar_view = bookmark_bar_view_.get(); } return UpdateChildViewAndLayout(new_bookmark_bar_view, &active_bookmark_bar_); diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h index aeda6b4..4ede546 100644 --- a/chrome/browser/ui/views/frame/browser_view.h +++ b/chrome/browser/ui/views/frame/browser_view.h @@ -407,7 +407,7 @@ class BrowserView : public BrowserBubbleHost, views::View* parent, views::View* child) OVERRIDE; virtual void ChildPreferredSizeChanged(View* child) OVERRIDE; - virtual AccessibilityTypes::Role GetAccessibleRole() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // Factory Methods. // Returns a new LayoutManager for this browser view. A subclass may diff --git a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc index f4c8832..b89ce63 100644 --- a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc +++ b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc @@ -16,6 +16,7 @@ #include "grit/chromium_strings.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" #include "ui/base/theme_provider.h" @@ -404,8 +405,9 @@ bool OpaqueBrowserFrameView::HitTest(const gfx::Point& l) const { return browser_view_->IsPositionInWindowCaption(browser_view_point); } -AccessibilityTypes::Role OpaqueBrowserFrameView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_TITLEBAR; +void OpaqueBrowserFrameView::GetAccessibleState( + ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_TITLEBAR; } /////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/ui/views/frame/opaque_browser_frame_view.h b/chrome/browser/ui/views/frame/opaque_browser_frame_view.h index 297c08f..8737534 100644 --- a/chrome/browser/ui/views/frame/opaque_browser_frame_view.h +++ b/chrome/browser/ui/views/frame/opaque_browser_frame_view.h @@ -61,7 +61,7 @@ class OpaqueBrowserFrameView : public BrowserNonClientFrameView, virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; virtual void Layout() OVERRIDE; virtual bool HitTest(const gfx::Point& l) const OVERRIDE; - virtual AccessibilityTypes::Role GetAccessibleRole() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // Overridden from views::ButtonListener: virtual void ButtonPressed(views::Button* sender, const views::Event& event) diff --git a/chrome/browser/ui/views/infobars/infobar_container.cc b/chrome/browser/ui/views/infobars/infobar_container.cc index 71e322b..beaabd7 100644 --- a/chrome/browser/ui/views/infobars/infobar_container.cc +++ b/chrome/browser/ui/views/infobars/infobar_container.cc @@ -12,6 +12,7 @@ #include "content/common/notification_details.h" #include "content/common/notification_source.h" #include "grit/generated_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/l10n/l10n_util.h" InfoBarContainer::Delegate::~Delegate() { @@ -21,7 +22,6 @@ InfoBarContainer::InfoBarContainer(Delegate* delegate) : delegate_(delegate), tab_contents_(NULL) { SetID(VIEW_ID_INFO_BAR_CONTAINER); - SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_INFOBAR_CONTAINER)); } InfoBarContainer::~InfoBarContainer() { @@ -104,8 +104,9 @@ void InfoBarContainer::Layout() { } } -AccessibilityTypes::Role InfoBarContainer::GetAccessibleRole() { - return AccessibilityTypes::ROLE_GROUPING; +void InfoBarContainer::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_GROUPING; + state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_INFOBAR_CONTAINER); } void InfoBarContainer::Observe(NotificationType type, diff --git a/chrome/browser/ui/views/infobars/infobar_container.h b/chrome/browser/ui/views/infobars/infobar_container.h index a71c536..ed75abf 100644 --- a/chrome/browser/ui/views/infobars/infobar_container.h +++ b/chrome/browser/ui/views/infobars/infobar_container.h @@ -66,14 +66,14 @@ class InfoBarContainer : public AccessiblePaneView, typedef std::set<InfoBarView*> InfoBars; // AccessiblePaneView: - virtual gfx::Size GetPreferredSize(); - virtual void Layout(); - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual gfx::Size GetPreferredSize() OVERRIDE; + virtual void Layout() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // NotificationObserver: virtual void Observe(NotificationType type, const NotificationSource& source, - const NotificationDetails& details); + const NotificationDetails& details) OVERRIDE; // Return the maximum vertical overlap of the InfoBarContainer's children, // and, when |total_height| is non-NULL, set the |*total_height| of the diff --git a/chrome/browser/ui/views/infobars/infobar_view.cc b/chrome/browser/ui/views/infobars/infobar_view.cc index 74db095..1e29694 100644 --- a/chrome/browser/ui/views/infobars/infobar_view.cc +++ b/chrome/browser/ui/views/infobars/infobar_view.cc @@ -13,6 +13,7 @@ #include "grit/generated_resources.h" #include "grit/theme_resources.h" #include "third_party/skia/include/effects/SkGradientShader.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/animation/slide_animation.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" @@ -64,9 +65,6 @@ InfoBarView::InfoBarView(InfoBarDelegate* delegate) InfoBarDelegate::Type infobar_type = delegate->GetInfoBarType(); set_background(new InfoBarBackground(infobar_type)); - SetAccessibleName(l10n_util::GetStringUTF16( - (infobar_type == InfoBarDelegate::WARNING_TYPE) ? - IDS_ACCNAME_INFOBAR_WARNING : IDS_ACCNAME_INFOBAR_PAGE_ACTION)); animation_->SetTweenType(ui::Tween::LINEAR); } @@ -224,7 +222,10 @@ void InfoBarView::ViewHierarchyChanged(bool is_add, View* parent, View* child) { #endif if (GetFocusManager()) GetFocusManager()->AddFocusChangeListener(this); - NotifyAccessibilityEvent(AccessibilityTypes::EVENT_ALERT); + if (GetWidget()) { + GetWidget()->NotifyAccessibilityEvent( + this, ui::AccessibilityTypes::EVENT_ALERT, true); + } if (close_button_ == NULL) { SkBitmap* image = delegate_->GetIcon(); @@ -335,6 +336,15 @@ int InfoBarView::OffsetY(const gfx::Size prefsize) const { (target_height_ - AnimatedBarHeight()); } +void InfoBarView::GetAccessibleState(ui::AccessibleViewState* state) { + if (delegate_) { + state->name = l10n_util::GetStringUTF16( + (delegate_->GetInfoBarType() == InfoBarDelegate::WARNING_TYPE) ? + IDS_ACCNAME_INFOBAR_WARNING : IDS_ACCNAME_INFOBAR_PAGE_ACTION); + } + state->role = ui::AccessibilityTypes::ROLE_ALERT; +} + int InfoBarView::AnimatedTabHeight() const { return static_cast<int>(kTabHeight * animation_->GetCurrentValue()); } @@ -343,10 +353,6 @@ int InfoBarView::AnimatedBarHeight() const { return static_cast<int>(target_height_ * animation_->GetCurrentValue()); } -AccessibilityTypes::Role InfoBarView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_ALERT; -} - gfx::Size InfoBarView::GetPreferredSize() { return gfx::Size(0, AnimatedTabHeight() + AnimatedBarHeight()); } @@ -407,8 +413,10 @@ void InfoBarView::FocusWillChange(View* focused_before, View* focused_now) { // This will trigger some screen readers to read the entire contents of this // infobar. if (focused_before && focused_now && !this->Contains(focused_before) && - this->Contains(focused_now)) - NotifyAccessibilityEvent(AccessibilityTypes::EVENT_ALERT); + this->Contains(focused_now) && GetWidget()) { + GetWidget()->NotifyAccessibilityEvent( + this, ui::AccessibilityTypes::EVENT_ALERT, true); + } } void InfoBarView::AnimationEnded(const ui::Animation* animation) { diff --git a/chrome/browser/ui/views/infobars/infobar_view.h b/chrome/browser/ui/views/infobars/infobar_view.h index 5729242..3fcda11 100644 --- a/chrome/browser/ui/views/infobars/infobar_view.h +++ b/chrome/browser/ui/views/infobars/infobar_view.h @@ -103,12 +103,12 @@ class InfoBarView : public InfoBar, // views::View: virtual void Layout() OVERRIDE; - virtual void ViewHierarchyChanged( - bool is_add, View* parent, View* child) OVERRIDE; + virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child) + OVERRIDE; // views::ButtonListener: - virtual void ButtonPressed( - views::Button* sender, const views::Event& event) OVERRIDE; + virtual void ButtonPressed(views::Button* sender, const views::Event& event) + OVERRIDE; // ui::AnimationDelegate: virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE; @@ -146,7 +146,7 @@ class InfoBarView : public InfoBar, static const int kTabWidth; // views::View: - virtual AccessibilityTypes::Role GetAccessibleRole() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; virtual gfx::Size GetPreferredSize() OVERRIDE; virtual void OnBoundsChanged(const gfx::Rect& previous_bounds) OVERRIDE; virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE; diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.cc b/chrome/browser/ui/views/location_bar/location_bar_view.cc index 5be1f9a..de96fef 100644 --- a/chrome/browser/ui/views/location_bar/location_bar_view.cc +++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc @@ -37,6 +37,7 @@ #include "content/common/notification_service.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/dragdrop/drag_drop_types.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" @@ -171,8 +172,6 @@ void LocationBarView::Init() { location_entry_view_ = location_entry_->AddToView(this); location_entry_view_->SetID(VIEW_ID_AUTOCOMPLETE); - location_entry_view_->SetAccessibleName( - l10n_util::GetStringUTF16(IDS_ACCNAME_LOCATION)); selected_keyword_view_ = new SelectedKeywordView( kSelectedKeywordBackgroundImages, IDR_KEYWORD_SEARCH_MAGNIFIER, @@ -204,8 +203,6 @@ void LocationBarView::Init() { star_view_->SetVisible(true); } - SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_LOCATION)); - // Initialize the location entry. We do this to avoid a black flash which is // visible when the location entry has just been initialized. Update(NULL); @@ -315,7 +312,8 @@ void LocationBarView::InvalidatePageActions() { void LocationBarView::OnFocus() { // Focus the location entry native view. location_entry_->SetFocus(); - NotifyAccessibilityEvent(AccessibilityTypes::EVENT_FOCUS); + GetWidget()->NotifyAccessibilityEvent( + this, ui::AccessibilityTypes::EVENT_FOCUS, true); } void LocationBarView::SetProfile(Profile* profile) { @@ -1002,20 +1000,16 @@ bool LocationBarView::SkipDefaultKeyEventProcessing(const views::KeyEvent& e) { #endif } -AccessibilityTypes::Role LocationBarView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_GROUPING; -} - -string16 LocationBarView::GetAccessibleValue() { - return location_entry_->GetText(); -} +void LocationBarView::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_GROUPING; + state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_LOCATION); + state->value = location_entry_->GetText(); -void LocationBarView::GetSelectionBounds(int* start_index, int* end_index) { string16::size_type entry_start; string16::size_type entry_end; location_entry_->GetSelectionBounds(&entry_start, &entry_end); - *start_index = entry_start; - *end_index = entry_end; + state->selection_start = entry_start; + state->selection_end = entry_end; } void LocationBarView::WriteDragDataForView(views::View* sender, diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.h b/chrome/browser/ui/views/location_bar/location_bar_view.h index a5e673a..ff3c7f8b 100644 --- a/chrome/browser/ui/views/location_bar/location_bar_view.h +++ b/chrome/browser/ui/views/location_bar/location_bar_view.h @@ -204,12 +204,7 @@ class LocationBarView : public LocationBar, // Overridden from views::View: virtual std::string GetClassName() const OVERRIDE; virtual bool SkipDefaultKeyEventProcessing(const views::KeyEvent& e) OVERRIDE; - virtual AccessibilityTypes::Role GetAccessibleRole() OVERRIDE; - virtual string16 GetAccessibleValue() OVERRIDE; - - // TODO(dmazzoni): Remove this when refactoring views accessibility code. - // http://crbug.com/74988 - void GetSelectionBounds(int* start_index, int* end_index); + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // Overridden from views::DragController: virtual void WriteDragDataForView(View* sender, diff --git a/chrome/browser/ui/views/location_bar/page_action_image_view.cc b/chrome/browser/ui/views/location_bar/page_action_image_view.cc index b47c1c1..376eddd 100644 --- a/chrome/browser/ui/views/location_bar/page_action_image_view.cc +++ b/chrome/browser/ui/views/location_bar/page_action_image_view.cc @@ -8,12 +8,13 @@ #include "chrome/browser/browser_list.h" #include "chrome/browser/extensions/extension_browser_event_router.h" #include "chrome/browser/extensions/extension_service.h" +#include "chrome/browser/platform_util.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/location_bar/location_bar_view.h" -#include "chrome/browser/platform_util.h" #include "chrome/common/extensions/extension_action.h" #include "chrome/common/extensions/extension_resource.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "views/controls/menu/menu_2.h" PageActionImageView::PageActionImageView(LocationBarView* owner, @@ -101,8 +102,8 @@ void PageActionImageView::ExecuteAction(int button, } } -AccessibilityTypes::Role PageActionImageView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_PUSHBUTTON; +void PageActionImageView::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_PUSHBUTTON; } bool PageActionImageView::OnMousePressed(const views::MouseEvent& event) { diff --git a/chrome/browser/ui/views/location_bar/page_action_image_view.h b/chrome/browser/ui/views/location_bar/page_action_image_view.h index cf91464..199efa7 100644 --- a/chrome/browser/ui/views/location_bar/page_action_image_view.h +++ b/chrome/browser/ui/views/location_bar/page_action_image_view.h @@ -41,21 +41,23 @@ class PageActionImageView : public views::ImageView, } // Overridden from view. - virtual AccessibilityTypes::Role GetAccessibleRole(); - virtual bool OnMousePressed(const views::MouseEvent& event); - virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled); - virtual bool OnKeyPressed(const views::KeyEvent& e); - virtual void ShowContextMenu(const gfx::Point& p, bool is_mouse_gesture); + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; + virtual bool OnMousePressed(const views::MouseEvent& event) OVERRIDE; + virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled) + OVERRIDE; + virtual bool OnKeyPressed(const views::KeyEvent& e) OVERRIDE; + virtual void ShowContextMenu(const gfx::Point& p, bool is_mouse_gesture) + OVERRIDE; // Overridden from ImageLoadingTracker. virtual void OnImageLoaded( SkBitmap* image, const ExtensionResource& resource, int index); // Overridden from ExtensionContextMenuModelModel::Delegate - virtual void InspectPopup(ExtensionAction* action); + virtual void InspectPopup(ExtensionAction* action) OVERRIDE; // Overridden from ExtensionPopup::Observer - virtual void ExtensionPopupIsClosing(ExtensionPopup* popup); + virtual void ExtensionPopupIsClosing(ExtensionPopup* popup) OVERRIDE; // Called to notify the PageAction that it should determine whether to be // visible or hidden. |contents| is the TabContents that is active, |url| is diff --git a/chrome/browser/ui/views/location_bar/page_action_with_badge_view.cc b/chrome/browser/ui/views/location_bar/page_action_with_badge_view.cc index 75cc136..fd6d717 100644 --- a/chrome/browser/ui/views/location_bar/page_action_with_badge_view.cc +++ b/chrome/browser/ui/views/location_bar/page_action_with_badge_view.cc @@ -6,6 +6,7 @@ #include "chrome/browser/ui/views/location_bar/page_action_image_view.h" #include "chrome/common/extensions/extension.h" +#include "ui/base/accessibility/accessible_view_state.h" PageActionWithBadgeView::PageActionWithBadgeView( PageActionImageView* image_view) { @@ -13,8 +14,9 @@ PageActionWithBadgeView::PageActionWithBadgeView( AddChildView(image_view_); } -AccessibilityTypes::Role PageActionWithBadgeView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_GROUPING; +void PageActionWithBadgeView::GetAccessibleState( + ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_GROUPING; } gfx::Size PageActionWithBadgeView::GetPreferredSize() { diff --git a/chrome/browser/ui/views/location_bar/page_action_with_badge_view.h b/chrome/browser/ui/views/location_bar/page_action_with_badge_view.h index 6071bad..06f145d 100644 --- a/chrome/browser/ui/views/location_bar/page_action_with_badge_view.h +++ b/chrome/browser/ui/views/location_bar/page_action_with_badge_view.h @@ -20,8 +20,9 @@ class PageActionWithBadgeView : public views::View { PageActionImageView* image_view() { return image_view_; } - virtual AccessibilityTypes::Role GetAccessibleRole(); - virtual gfx::Size GetPreferredSize(); + // View overrides: + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; + virtual gfx::Size GetPreferredSize() OVERRIDE; void UpdateVisibility(TabContents* contents, const GURL& url); diff --git a/chrome/browser/ui/views/location_bar/star_view.cc b/chrome/browser/ui/views/location_bar/star_view.cc index ad1a15f..6b499c5 100644 --- a/chrome/browser/ui/views/location_bar/star_view.cc +++ b/chrome/browser/ui/views/location_bar/star_view.cc @@ -11,6 +11,7 @@ #include "chrome/browser/ui/views/browser_dialogs.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" @@ -27,16 +28,13 @@ StarView::~StarView() { void StarView::SetToggled(bool on) { SetTooltipText(UTF16ToWide(l10n_util::GetStringUTF16( on ? IDS_TOOLTIP_STARRED : IDS_TOOLTIP_STAR))); - // Since StarView is an ImageView, the SetTooltipText changes the accessible - // name. To keep the accessible name unchanged, we need to set the accessible - // name right after we modify the tooltip text for this view. - SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_STAR)); SetImage(ResourceBundle::GetSharedInstance().GetBitmapNamed( on ? IDR_STAR_LIT : IDR_STAR)); } -AccessibilityTypes::Role StarView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_PUSHBUTTON; +void StarView::GetAccessibleState(ui::AccessibleViewState* state) { + state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_STAR); + state->role = ui::AccessibilityTypes::ROLE_PUSHBUTTON; } bool StarView::GetTooltipText(const gfx::Point& p, std::wstring* tooltip) { diff --git a/chrome/browser/ui/views/location_bar/star_view.h b/chrome/browser/ui/views/location_bar/star_view.h index cd80a00..6785336 100644 --- a/chrome/browser/ui/views/location_bar/star_view.h +++ b/chrome/browser/ui/views/location_bar/star_view.h @@ -27,17 +27,19 @@ class StarView : public views::ImageView, public InfoBubbleDelegate { private: // views::ImageView overrides: - virtual AccessibilityTypes::Role GetAccessibleRole(); - virtual bool GetTooltipText(const gfx::Point& p, std::wstring* tooltip); - virtual bool OnMousePressed(const views::MouseEvent& event); - virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled); - virtual bool OnKeyPressed(const views::KeyEvent& e); + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; + virtual bool GetTooltipText(const gfx::Point& p, std::wstring* tooltip) + OVERRIDE; + virtual bool OnMousePressed(const views::MouseEvent& event) OVERRIDE; + virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled) + OVERRIDE; + virtual bool OnKeyPressed(const views::KeyEvent& e) OVERRIDE; // InfoBubbleDelegate overrides: virtual void InfoBubbleClosing(InfoBubble* info_bubble, - bool closed_by_escape); - virtual bool CloseOnEscape(); - virtual bool FadeInOnShow(); + bool closed_by_escape) OVERRIDE; + virtual bool CloseOnEscape() OVERRIDE; + virtual bool FadeInOnShow() OVERRIDE; // The CommandUpdater for the Browser object that owns the location bar. CommandUpdater* command_updater_; diff --git a/chrome/browser/ui/views/tab_contents/native_tab_contents_container_gtk.cc b/chrome/browser/ui/views/tab_contents/native_tab_contents_container_gtk.cc index f99517c..6ac2a5b8 100644 --- a/chrome/browser/ui/views/tab_contents/native_tab_contents_container_gtk.cc +++ b/chrome/browser/ui/views/tab_contents/native_tab_contents_container_gtk.cc @@ -9,6 +9,7 @@ #include "content/browser/renderer_host/render_widget_host_view.h" #include "content/browser/tab_contents/interstitial_page.h" #include "content/browser/tab_contents/tab_contents.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "views/focus/focus_manager.h" //////////////////////////////////////////////////////////////////////////////// @@ -130,8 +131,9 @@ void NativeTabContentsContainerGtk::AboutToRequestFocusFromTabTraversal( container_->tab_contents()->FocusThroughTabTraversal(reverse); } -AccessibilityTypes::Role NativeTabContentsContainerGtk::GetAccessibleRole() { - return AccessibilityTypes::ROLE_GROUPING; +void NativeTabContentsContainerGtk::GetAccessibleState( + ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_GROUPING; } //////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/ui/views/tab_contents/native_tab_contents_container_gtk.h b/chrome/browser/ui/views/tab_contents/native_tab_contents_container_gtk.h index 004b689..469f11e 100644 --- a/chrome/browser/ui/views/tab_contents/native_tab_contents_container_gtk.h +++ b/chrome/browser/ui/views/tab_contents/native_tab_contents_container_gtk.h @@ -33,7 +33,7 @@ class NativeTabContentsContainerGtk : public NativeTabContentsContainer, virtual void OnFocus() OVERRIDE; virtual void RequestFocus() OVERRIDE; virtual void AboutToRequestFocusFromTabTraversal(bool reverse) OVERRIDE; - virtual AccessibilityTypes::Role GetAccessibleRole() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; private: TabContentsContainer* container_; diff --git a/chrome/browser/ui/views/tab_contents/native_tab_contents_container_win.cc b/chrome/browser/ui/views/tab_contents/native_tab_contents_container_win.cc index 08e4bf7..c38b262 100644 --- a/chrome/browser/ui/views/tab_contents/native_tab_contents_container_win.cc +++ b/chrome/browser/ui/views/tab_contents/native_tab_contents_container_win.cc @@ -10,7 +10,7 @@ #include "content/browser/renderer_host/render_widget_host_view.h" #include "content/browser/tab_contents/interstitial_page.h" #include "content/browser/tab_contents/tab_contents.h" - +#include "ui/base/accessibility/accessible_view_state.h" #include "views/focus/focus_manager.h" //////////////////////////////////////////////////////////////////////////////// @@ -130,8 +130,9 @@ void NativeTabContentsContainerWin::AboutToRequestFocusFromTabTraversal( container_->tab_contents()->FocusThroughTabTraversal(reverse); } -AccessibilityTypes::Role NativeTabContentsContainerWin::GetAccessibleRole() { - return AccessibilityTypes::ROLE_GROUPING; +void NativeTabContentsContainerWin::GetAccessibleState( + ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_GROUPING; } //////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/ui/views/tab_contents/native_tab_contents_container_win.h b/chrome/browser/ui/views/tab_contents/native_tab_contents_container_win.h index 1cfb5b5..4d60be22 100644 --- a/chrome/browser/ui/views/tab_contents/native_tab_contents_container_win.h +++ b/chrome/browser/ui/views/tab_contents/native_tab_contents_container_win.h @@ -30,7 +30,7 @@ class NativeTabContentsContainerWin : public NativeTabContentsContainer, virtual void OnFocus() OVERRIDE; virtual void RequestFocus() OVERRIDE; virtual void AboutToRequestFocusFromTabTraversal(bool reverse) OVERRIDE; - virtual AccessibilityTypes::Role GetAccessibleRole() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; private: TabContentsContainer* container_; diff --git a/chrome/browser/ui/views/tab_contents/tab_contents_container.cc b/chrome/browser/ui/views/tab_contents/tab_contents_container.cc index a4916c8..3f99810 100644 --- a/chrome/browser/ui/views/tab_contents/tab_contents_container.cc +++ b/chrome/browser/ui/views/tab_contents/tab_contents_container.cc @@ -12,6 +12,7 @@ #include "content/browser/tab_contents/tab_contents.h" #include "content/common/notification_details.h" #include "content/common/notification_source.h" +#include "ui/base/accessibility/accessible_view_state.h" //////////////////////////////////////////////////////////////////////////////// @@ -43,8 +44,8 @@ void TabContentsContainer::Observe(NotificationType type, //////////////////////////////////////////////////////////////////////////////// // TabContentsContainer, View overrides: -AccessibilityTypes::Role TabContentsContainer::GetAccessibleRole() { - return AccessibilityTypes::ROLE_WINDOW; +void TabContentsContainer::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_WINDOW; } //////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/ui/views/tab_contents/tab_contents_container_native.h b/chrome/browser/ui/views/tab_contents/tab_contents_container_native.h index abd2c6e..7bb0338 100644 --- a/chrome/browser/ui/views/tab_contents/tab_contents_container_native.h +++ b/chrome/browser/ui/views/tab_contents/tab_contents_container_native.h @@ -44,16 +44,16 @@ class TabContentsContainer : public views::View, // Overridden from NotificationObserver: virtual void Observe(NotificationType type, const NotificationSource& source, - const NotificationDetails& details); + const NotificationDetails& details) OVERRIDE; // Overridden from views::View: - virtual void Layout(); - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual void Layout() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; protected: // Overridden from views::View: virtual void ViewHierarchyChanged(bool is_add, views::View* parent, - views::View* child); + views::View* child) OVERRIDE; private: // Add or remove observers for events that we care about. diff --git a/chrome/browser/ui/views/tab_contents/tab_contents_container_views.h b/chrome/browser/ui/views/tab_contents/tab_contents_container_views.h index 3bd7744..5bbd473 100644 --- a/chrome/browser/ui/views/tab_contents/tab_contents_container_views.h +++ b/chrome/browser/ui/views/tab_contents/tab_contents_container_views.h @@ -43,9 +43,9 @@ class TabContentsContainer : public views::View, // Overridden from NotificationObserver: virtual void Observe(NotificationType type, const NotificationSource& source, - const NotificationDetails& details); + const NotificationDetails& details) OVERRIDE; - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; private: // Add or remove observers for events that we care about. diff --git a/chrome/browser/ui/views/tabs/base_tab.cc b/chrome/browser/ui/views/tabs/base_tab.cc index 4eb08b6..502869a 100644 --- a/chrome/browser/ui/views/tabs/base_tab.cc +++ b/chrome/browser/ui/views/tabs/base_tab.cc @@ -9,14 +9,15 @@ #include "base/command_line.h" #include "base/utf_string_conversions.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" #include "chrome/browser/ui/view_ids.h" #include "chrome/browser/ui/views/tabs/tab_controller.h" -#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" #include "chrome/common/chrome_switches.h" #include "content/browser/tab_contents/tab_contents.h" #include "grit/app_resources.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/animation/slide_animation.h" #include "ui/base/animation/throb_animation.h" #include "ui/base/l10n/l10n_util.h" @@ -213,9 +214,6 @@ void BaseTab::SetData(const TabRendererData& data) { ResetCrashedFavIcon(); } - // Sets the accessible name for the tab. - SetAccessibleName(data_.title); - DataChanged(old); Layout(); @@ -349,11 +347,12 @@ bool BaseTab::GetTooltipText(const gfx::Point& p, std::wstring* tooltip) { return false; } -AccessibilityTypes::Role BaseTab::GetAccessibleRole() { - return AccessibilityTypes::ROLE_PAGETAB; +void BaseTab::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_PAGETAB; + state->name = data_.title; } -ui::ThemeProvider* BaseTab::GetThemeProvider() { +ui::ThemeProvider* BaseTab::GetThemeProvider() const { ui::ThemeProvider* tp = View::GetThemeProvider(); return tp ? tp : theme_provider_; } diff --git a/chrome/browser/ui/views/tabs/base_tab.h b/chrome/browser/ui/views/tabs/base_tab.h index 7767df3e..c237bdb 100644 --- a/chrome/browser/ui/views/tabs/base_tab.h +++ b/chrome/browser/ui/views/tabs/base_tab.h @@ -83,15 +83,16 @@ class BaseTab : public ui::AnimationDelegate, bool IsCloseable() const; // views::View overrides: - virtual void OnMouseEntered(const views::MouseEvent& event); - virtual void OnMouseExited(const views::MouseEvent& event); - virtual bool OnMousePressed(const views::MouseEvent& event); - virtual bool OnMouseDragged(const views::MouseEvent& event); + virtual void OnMouseEntered(const views::MouseEvent& event) OVERRIDE; + virtual void OnMouseExited(const views::MouseEvent& event) OVERRIDE; + virtual bool OnMousePressed(const views::MouseEvent& event) OVERRIDE; + virtual bool OnMouseDragged(const views::MouseEvent& event) OVERRIDE; virtual void OnMouseReleased(const views::MouseEvent& event, - bool canceled); - virtual bool GetTooltipText(const gfx::Point& p, std::wstring* tooltip); - virtual AccessibilityTypes::Role GetAccessibleRole(); - virtual ThemeProvider* GetThemeProvider(); + bool canceled) OVERRIDE; + virtual bool GetTooltipText(const gfx::Point& p, std::wstring* tooltip) + OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; + virtual ThemeProvider* GetThemeProvider() const OVERRIDE; protected: // Invoked from SetData after |data_| has been updated to the new data. @@ -119,18 +120,18 @@ class BaseTab : public ui::AnimationDelegate, void PaintTitle(gfx::Canvas* canvas, SkColor title_color); // Overridden from AnimationDelegate: - virtual void AnimationProgressed(const ui::Animation* animation); - virtual void AnimationCanceled(const ui::Animation* animation); - virtual void AnimationEnded(const ui::Animation* animation); + virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE; + virtual void AnimationCanceled(const ui::Animation* animation) OVERRIDE; + virtual void AnimationEnded(const ui::Animation* animation) OVERRIDE; // views::ButtonListener overrides: virtual void ButtonPressed(views::Button* sender, - const views::Event& event); + const views::Event& event) OVERRIDE; // views::ContextMenuController overrides: virtual void ShowContextMenuForView(views::View* source, const gfx::Point& p, - bool is_mouse_gesture); + bool is_mouse_gesture) OVERRIDE; // Returns the bounds of the title and icon. virtual const gfx::Rect& GetTitleBounds() const = 0; diff --git a/chrome/browser/ui/views/tabs/tab_strip.cc b/chrome/browser/ui/views/tabs/tab_strip.cc index 6ef5930..9b95aaa 100644 --- a/chrome/browser/ui/views/tabs/tab_strip.cc +++ b/chrome/browser/ui/views/tabs/tab_strip.cc @@ -16,6 +16,7 @@ #include "chrome/browser/ui/views/tabs/tab_strip_controller.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/animation/animation_container.h" #include "ui/base/dragdrop/drag_drop_types.h" #include "ui/base/l10n/l10n_util.h" @@ -366,8 +367,8 @@ int TabStrip::OnPerformDrop(const DropTargetEvent& event) { return GetDropEffect(event); } -AccessibilityTypes::Role TabStrip::GetAccessibleRole() { - return AccessibilityTypes::ROLE_PAGETABLIST; +void TabStrip::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_PAGETABLIST; } views::View* TabStrip::GetEventHandlerForPoint(const gfx::Point& point) { diff --git a/chrome/browser/ui/views/tabs/tab_strip.h b/chrome/browser/ui/views/tabs/tab_strip.h index 65065b4..28eed83 100644 --- a/chrome/browser/ui/views/tabs/tab_strip.h +++ b/chrome/browser/ui/views/tabs/tab_strip.h @@ -60,46 +60,49 @@ class TabStrip : public BaseTabStrip, virtual void SetBackgroundOffset(const gfx::Point& offset); // BaseTabStrip implementation: - virtual void PrepareForCloseAt(int model_index); - virtual void RemoveTabAt(int model_index); - virtual void SelectTabAt(int old_model_index, int new_model_index); - virtual void TabTitleChangedNotLoading(int model_index); - virtual void StartHighlight(int model_index); - virtual void StopAllHighlighting(); - virtual BaseTab* CreateTabForDragging(); + virtual void PrepareForCloseAt(int model_index) OVERRIDE; + virtual void RemoveTabAt(int model_index) OVERRIDE; + virtual void SelectTabAt(int old_model_index, int new_model_index) OVERRIDE; + virtual void TabTitleChangedNotLoading(int model_index) OVERRIDE; + virtual void StartHighlight(int model_index) OVERRIDE; + virtual void StopAllHighlighting() OVERRIDE; + virtual BaseTab* CreateTabForDragging() OVERRIDE; // views::View overrides: - virtual void PaintChildren(gfx::Canvas* canvas); - virtual const views::View* GetViewByID(int id) const; - virtual gfx::Size GetPreferredSize(); - // NOTE: the drag and drop methods are invoked from FrameView. This is done to - // allow for a drop region that extends outside the bounds of the TabStrip. - virtual void OnDragEntered(const views::DropTargetEvent& event); - virtual int OnDragUpdated(const views::DropTargetEvent& event); - virtual void OnDragExited(); - virtual int OnPerformDrop(const views::DropTargetEvent& event); - virtual AccessibilityTypes::Role GetAccessibleRole(); - virtual views::View* GetEventHandlerForPoint(const gfx::Point& point); - virtual void OnThemeChanged(); + virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE; + virtual const views::View* GetViewByID(int id) const OVERRIDE; + virtual gfx::Size GetPreferredSize() OVERRIDE; + // NOTE: the drag and drop methods are invoked from FrameView. This is done + // to allow for a drop region that extends outside the bounds of the TabStrip. + virtual void OnDragEntered(const views::DropTargetEvent& event) OVERRIDE; + virtual int OnDragUpdated(const views::DropTargetEvent& event) OVERRIDE; + virtual void OnDragExited() OVERRIDE; + virtual int OnPerformDrop(const views::DropTargetEvent& event) OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; + virtual views::View* GetEventHandlerForPoint(const gfx::Point& point) + OVERRIDE; + virtual void OnThemeChanged() OVERRIDE; protected: // BaseTabStrip overrides: - virtual BaseTab* CreateTab(); - virtual void StartInsertTabAnimation(int model_index, bool foreground); - virtual void AnimateToIdealBounds(); - virtual bool ShouldHighlightCloseButtonAfterRemove(); - virtual void DoLayout(); + virtual BaseTab* CreateTab() OVERRIDE; + virtual void StartInsertTabAnimation(int model_index, bool foreground) + OVERRIDE; + virtual void AnimateToIdealBounds() OVERRIDE; + virtual bool ShouldHighlightCloseButtonAfterRemove() OVERRIDE; + virtual void DoLayout() OVERRIDE; // views::View implementation: virtual void ViewHierarchyChanged(bool is_add, views::View* parent, - views::View* child); + views::View* child) OVERRIDE; // TabController overrides. - virtual bool IsTabSelected(const BaseTab* btr) const; + virtual bool IsTabSelected(const BaseTab* btr) const OVERRIDE; // views::ButtonListener implementation: - virtual void ButtonPressed(views::Button* sender, const views::Event& event); + virtual void ButtonPressed(views::Button* sender, const views::Event& event) + OVERRIDE; // Horizontal gap between mini and non-mini-tabs. static const int mini_to_non_mini_gap_; diff --git a/chrome/browser/ui/views/toolbar_view.cc b/chrome/browser/ui/views/toolbar_view.cc index f83d3a6..3f2c204 100644 --- a/chrome/browser/ui/views/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar_view.cc @@ -25,6 +25,7 @@ #include "grit/chromium_strings.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" #include "ui/gfx/canvas.h" @@ -306,8 +307,9 @@ bool ToolbarView::SetPaneFocus( return true; } -AccessibilityTypes::Role ToolbarView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_TOOLBAR; +void ToolbarView::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_TOOLBAR; + state->name = l10n_util::GetStringUTF16(IDS_ACCNAME_TOOLBAR); } //////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/ui/views/toolbar_view.h b/chrome/browser/ui/views/toolbar_view.h index 1aa143c..42d803a 100644 --- a/chrome/browser/ui/views/toolbar_view.h +++ b/chrome/browser/ui/views/toolbar_view.h @@ -78,6 +78,8 @@ class ToolbarView : public AccessiblePaneView, // Remove a menu listener. void RemoveMenuListener(views::MenuListener* listener); + virtual bool GetAcceleratorInfo(int id, ui::Accelerator* accel); + // Accessors... Browser* browser() const { return browser_; } BrowserActionsContainer* browser_actions() const { return browser_actions_; } @@ -86,46 +88,44 @@ class ToolbarView : public AccessiblePaneView, views::MenuButton* app_menu() const { return app_menu_; } // Overridden from AccessiblePaneView - virtual bool SetPaneFocus(int view_storage_id, View* initial_focus); - virtual AccessibilityTypes::Role GetAccessibleRole(); - - // Overridden from Menu::Delegate: - virtual bool GetAcceleratorInfo(int id, ui::Accelerator* accel); + virtual bool SetPaneFocus(int view_storage_id, View* initial_focus) OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // Overridden from views::MenuDelegate: - virtual void RunMenu(views::View* source, const gfx::Point& pt); + virtual void RunMenu(views::View* source, const gfx::Point& pt) OVERRIDE; // Overridden from LocationBarView::Delegate: - virtual TabContentsWrapper* GetTabContentsWrapper(); - virtual InstantController* GetInstant(); - virtual void OnInputInProgress(bool in_progress); + virtual TabContentsWrapper* GetTabContentsWrapper() OVERRIDE; + virtual InstantController* GetInstant() OVERRIDE; + virtual void OnInputInProgress(bool in_progress) OVERRIDE; // Overridden from CommandUpdater::CommandObserver: - virtual void EnabledStateChangedForCommand(int id, bool enabled); + virtual void EnabledStateChangedForCommand(int id, bool enabled) OVERRIDE; // Overridden from views::BaseButton::ButtonListener: - virtual void ButtonPressed(views::Button* sender, const views::Event& event); + virtual void ButtonPressed(views::Button* sender, const views::Event& event) + OVERRIDE; // Overridden from NotificationObserver: virtual void Observe(NotificationType type, const NotificationSource& source, - const NotificationDetails& details); + const NotificationDetails& details) OVERRIDE; // Overridden from ui::AcceleratorProvider: - virtual bool GetAcceleratorForCommandId(int command_id, - ui::Accelerator* accelerator); + virtual bool GetAcceleratorForCommandId( + int command_id, ui::Accelerator* accelerator) OVERRIDE; // Overridden from views::View: - virtual gfx::Size GetPreferredSize(); - virtual void Layout(); - virtual void OnPaint(gfx::Canvas* canvas); + virtual gfx::Size GetPreferredSize() OVERRIDE; + virtual void Layout() OVERRIDE; + virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; virtual bool GetDropFormats( int* formats, - std::set<OSExchangeData::CustomFormat>* custom_formats); - virtual bool CanDrop(const ui::OSExchangeData& data); - virtual int OnDragUpdated(const views::DropTargetEvent& event); - virtual int OnPerformDrop(const views::DropTargetEvent& event); - virtual void OnThemeChanged(); + std::set<OSExchangeData::CustomFormat>* custom_formats) OVERRIDE; + virtual bool CanDrop(const ui::OSExchangeData& data) OVERRIDE; + virtual int OnDragUpdated(const views::DropTargetEvent& event) OVERRIDE; + virtual int OnPerformDrop(const views::DropTargetEvent& event) OVERRIDE; + virtual void OnThemeChanged() OVERRIDE; // The apparent horizontal space between most items, and the vertical padding // above and below them. @@ -137,8 +137,8 @@ class ToolbarView : public AccessiblePaneView, protected: // Overridden from AccessiblePaneView - virtual views::View* GetDefaultFocusableChild(); - virtual void RemovePaneFocus(); + virtual views::View* GetDefaultFocusableChild() OVERRIDE; + virtual void RemovePaneFocus() OVERRIDE; private: // Returns true if we should show the upgrade recommended dot. diff --git a/chrome/browser/ui/views/wrench_menu.cc b/chrome/browser/ui/views/wrench_menu.cc index 283984d..9b2a2b9 100644 --- a/chrome/browser/ui/views/wrench_menu.cc +++ b/chrome/browser/ui/views/wrench_menu.cc @@ -570,7 +570,6 @@ WrenchMenu::WrenchMenu(Browser* browser) void WrenchMenu::Init(ui::MenuModel* model) { DCHECK(!root_.get()); root_.reset(new MenuItemView(this)); - root_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_APP)); root_->set_has_icons(true); // We have checks, radios and icons, set this // so we get the taller menu style. int next_id = 1; |