diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-03 23:13:49 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-03 23:13:49 +0000 |
commit | c45dde3c15cddbca7795cab1c28fa472148b01b1 (patch) | |
tree | 74f32f6537b87946703839e7e2dfde2f2a2f9063 /views/window | |
parent | 7c8f18ab4383e497f0ba3663156abf81ea5af3e6 (diff) | |
download | chromium_src-c45dde3c15cddbca7795cab1c28fa472148b01b1.zip chromium_src-c45dde3c15cddbca7795cab1c28fa472148b01b1.tar.gz chromium_src-c45dde3c15cddbca7795cab1c28fa472148b01b1.tar.bz2 |
Refactor Views accessibility.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6581010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76825 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/window')
-rw-r--r-- | views/window/client_view.cc | 5 | ||||
-rw-r--r-- | views/window/client_view.h | 7 | ||||
-rw-r--r-- | views/window/dialog_delegate.h | 8 | ||||
-rw-r--r-- | views/window/non_client_view.cc | 14 | ||||
-rw-r--r-- | views/window/non_client_view.h | 24 | ||||
-rw-r--r-- | views/window/window_delegate.h | 8 | ||||
-rw-r--r-- | views/window/window_win.cc | 12 |
7 files changed, 48 insertions, 30 deletions
diff --git a/views/window/client_view.cc b/views/window/client_view.cc index de198ed..92dd06d 100644 --- a/views/window/client_view.cc +++ b/views/window/client_view.cc @@ -3,6 +3,7 @@ // found in the LICENSE file. #include "base/logging.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "views/window/client_view.h" #if defined(OS_LINUX) #include "views/window/hit_test.h" @@ -62,8 +63,8 @@ void ClientView::OnBoundsChanged() { // NonClientView::Layout. } -AccessibilityTypes::Role ClientView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_CLIENT; +void ClientView::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_CLIENT; } } // namespace views diff --git a/views/window/client_view.h b/views/window/client_view.h index 08ddcd4..6dd39fe 100644 --- a/views/window/client_view.h +++ b/views/window/client_view.h @@ -60,9 +60,10 @@ class ClientView : public View { protected: // Overridden from View: - virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child); - virtual void OnBoundsChanged(); - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child) + OVERRIDE; + virtual void OnBoundsChanged() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // Accessors for private data members. Window* window() const { return window_; } diff --git a/views/window/dialog_delegate.h b/views/window/dialog_delegate.h index ac6d4e9..36090ca 100644 --- a/views/window/dialog_delegate.h +++ b/views/window/dialog_delegate.h @@ -6,8 +6,8 @@ #define VIEWS_WINDOW_DIALOG_DELEGATE_H_ #pragma once +#include "ui/base/accessibility/accessibility_types.h" #include "ui/base/message_box_flags.h" -#include "views/accessibility/accessibility_types.h" #include "views/window/dialog_client_view.h" #include "views/window/window_delegate.h" @@ -122,10 +122,10 @@ class DialogDelegate : public WindowDelegate { // delegate's Window. DialogClientView* GetDialogClientView() const; - private: + protected: // Overridden from WindowDelegate: - AccessibilityTypes::Role accessible_role() const { - return AccessibilityTypes::ROLE_DIALOG; + virtual ui::AccessibilityTypes::Role GetAccessibleRole() const { + return ui::AccessibilityTypes::ROLE_DIALOG; } }; diff --git a/views/window/non_client_view.cc b/views/window/non_client_view.cc index 210bd10..bb09fa3 100644 --- a/views/window/non_client_view.cc +++ b/views/window/non_client_view.cc @@ -4,6 +4,7 @@ #include "views/window/non_client_view.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "views/widget/root_view.h" #include "views/widget/widget.h" #include "views/window/window.h" @@ -121,6 +122,10 @@ void NonClientView::LayoutFrameView() { frame_view_->Layout(); } +void NonClientView::SetAccessibleName(const string16& name) { + accessible_name_ = name; +} + //////////////////////////////////////////////////////////////////////////////// // NonClientView, View overrides: @@ -174,8 +179,9 @@ views::View* NonClientView::GetEventHandlerForPoint(const gfx::Point& point) { return View::GetEventHandlerForPoint(point); } -AccessibilityTypes::Role NonClientView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_WINDOW; +void NonClientView::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_WINDOW; + state->name = accessible_name_; } //////////////////////////////////////////////////////////////////////////////// @@ -248,8 +254,8 @@ bool NonClientFrameView::ShouldPaintAsActive() const { return GetWindow()->IsActive() || paint_as_active_; } -AccessibilityTypes::Role NonClientFrameView::GetAccessibleRole() { - return AccessibilityTypes::ROLE_WINDOW; +void NonClientFrameView::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_WINDOW; } } // namespace views diff --git a/views/window/non_client_view.h b/views/window/non_client_view.h index db1daff..10c652c 100644 --- a/views/window/non_client_view.h +++ b/views/window/non_client_view.h @@ -69,8 +69,8 @@ class NonClientFrameView : public View { virtual void ResetWindowControls() = 0; // Overridden from View: - virtual bool HitTest(const gfx::Point& l) const; - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual bool HitTest(const gfx::Point& l) const OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; protected: virtual void OnBoundsChanged(); @@ -205,16 +205,21 @@ class NonClientView : public View { // of a window resize message. void LayoutFrameView(); + // Set the accessible name of this view. + void SetAccessibleName(const string16& name); + // NonClientView, View overrides: - virtual gfx::Size GetPreferredSize(); - virtual gfx::Size GetMinimumSize(); - virtual void Layout(); - virtual AccessibilityTypes::Role GetAccessibleRole(); + virtual gfx::Size GetPreferredSize() OVERRIDE; + virtual gfx::Size GetMinimumSize() OVERRIDE; + virtual void Layout() OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; protected: // NonClientView, View overrides: - virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child); - virtual views::View* GetEventHandlerForPoint(const gfx::Point& point); + virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child) + OVERRIDE; + virtual views::View* GetEventHandlerForPoint(const gfx::Point& point) + OVERRIDE; private: // The frame that hosts this NonClientView. @@ -230,6 +235,9 @@ class NonClientView : public View { // dynamically as the system settings change. scoped_ptr<NonClientFrameView> frame_view_; + // The accessible name of this view. + string16 accessible_name_; + DISALLOW_COPY_AND_ASSIGN(NonClientView); }; diff --git a/views/window/window_delegate.h b/views/window/window_delegate.h index 04ac6b3..6ef75cc 100644 --- a/views/window/window_delegate.h +++ b/views/window/window_delegate.h @@ -9,7 +9,7 @@ #include <string> #include "base/scoped_ptr.h" -#include "views/accessibility/accessibility_types.h" +#include "ui/base/accessibility/accessibility_types.h" class SkBitmap; @@ -56,11 +56,11 @@ class WindowDelegate { return false; } - virtual AccessibilityTypes::Role accessible_role() const { - return AccessibilityTypes::ROLE_WINDOW; + virtual ui::AccessibilityTypes::Role GetAccessibleRole() const { + return ui::AccessibilityTypes::ROLE_WINDOW; } - virtual AccessibilityTypes::State accessible_state() const { + virtual ui::AccessibilityTypes::State GetAccessibleState() const { return 0; } diff --git a/views/window/window_win.cc b/views/window/window_win.cc index 7776bea..49c9b2a 100644 --- a/views/window/window_win.cc +++ b/views/window/window_win.cc @@ -11,6 +11,7 @@ #include "base/win/scoped_gdi_object.h" #include "base/win/win_util.h" #include "base/win/windows_version.h" +#include "ui/base/accessibility/accessibility_types.h" #include "ui/base/keycodes/keyboard_code_conversion_win.h" #include "ui/base/l10n/l10n_util_win.h" #include "ui/base/theme_provider.h" @@ -19,7 +20,7 @@ #include "ui/gfx/font.h" #include "ui/gfx/icon_util.h" #include "ui/gfx/path.h" -#include "views/accessibility/view_accessibility.h" +#include "views/accessibility/native_view_accessibility_win.h" #include "views/widget/root_view.h" #include "views/window/client_view.h" #include "views/window/custom_frame_view.h" @@ -1448,10 +1449,10 @@ void WindowWin::UpdateAccessibleRole() { IID_IAccPropServices, reinterpret_cast<void**>(&pAccPropServices)); if (SUCCEEDED(hr)) { VARIANT var; - AccessibilityTypes::Role role = window_delegate_->accessible_role(); + ui::AccessibilityTypes::Role role = window_delegate_->GetAccessibleRole(); if (role) { var.vt = VT_I4; - var.lVal = ViewAccessibility::MSAARole(role); + var.lVal = NativeViewAccessibilityWin::MSAARole(role); hr = pAccPropServices->SetHwndProp(GetNativeView(), OBJID_CLIENT, CHILDID_SELF, PROPID_ACC_ROLE, var); } @@ -1464,9 +1465,10 @@ void WindowWin::UpdateAccessibleState() { IID_IAccPropServices, reinterpret_cast<void**>(&pAccPropServices)); if (SUCCEEDED(hr)) { VARIANT var; - AccessibilityTypes::State state = window_delegate_->accessible_state(); + ui::AccessibilityTypes::State state = + window_delegate_->GetAccessibleState(); if (state) { - var.lVal = ViewAccessibility::MSAAState(state); + var.lVal = NativeViewAccessibilityWin::MSAAState(state); hr = pAccPropServices->SetHwndProp(GetNativeView(), OBJID_CLIENT, CHILDID_SELF, PROPID_ACC_STATE, var); } |