summaryrefslogtreecommitdiffstats
path: root/views/window
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-03 23:13:49 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-03 23:13:49 +0000
commitc45dde3c15cddbca7795cab1c28fa472148b01b1 (patch)
tree74f32f6537b87946703839e7e2dfde2f2a2f9063 /views/window
parent7c8f18ab4383e497f0ba3663156abf81ea5af3e6 (diff)
downloadchromium_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.cc5
-rw-r--r--views/window/client_view.h7
-rw-r--r--views/window/dialog_delegate.h8
-rw-r--r--views/window/non_client_view.cc14
-rw-r--r--views/window/non_client_view.h24
-rw-r--r--views/window/window_delegate.h8
-rw-r--r--views/window/window_win.cc12
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);
}