summaryrefslogtreecommitdiffstats
path: root/views/window
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-14 06:56:33 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-14 06:56:33 +0000
commit79e549faf26611d5ac05bc4f7fefd4a71a23fcb2 (patch)
treee7c50ebe8d193233ce2b06bbf5751bb9e82115b7 /views/window
parent36096983abafe5aa7a1df56904db3c0c8fa9ee2e (diff)
downloadchromium_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 'views/window')
-rw-r--r--views/window/client_view.cc5
-rw-r--r--views/window/client_view.h2
-rw-r--r--views/window/dialog_delegate.cc4
-rw-r--r--views/window/dialog_delegate.h6
-rw-r--r--views/window/native_window.h6
-rw-r--r--views/window/non_client_view.cc14
-rw-r--r--views/window/non_client_view.h22
-rw-r--r--views/window/window.cc4
-rw-r--r--views/window/window_delegate.cc6
-rw-r--r--views/window/window_delegate.h6
-rw-r--r--views/window/window_gtk.cc4
-rw-r--r--views/window/window_gtk.h4
-rw-r--r--views/window/window_win.cc11
-rw-r--r--views/window/window_win.h4
14 files changed, 57 insertions, 41 deletions
diff --git a/views/window/client_view.cc b/views/window/client_view.cc
index 6ec3f90..cb52607 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"
@@ -69,8 +70,8 @@ void ClientView::OnBoundsChanged(const gfx::Rect& previous_bounds) {
// 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 b50eafa..052037f 100644
--- a/views/window/client_view.h
+++ b/views/window/client_view.h
@@ -63,7 +63,7 @@ class ClientView : public View {
virtual void ViewHierarchyChanged(
bool is_add, View* parent, View* child) OVERRIDE;
virtual void OnBoundsChanged(const gfx::Rect& previous_bounds) OVERRIDE;
- virtual AccessibilityTypes::Role GetAccessibleRole() 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.cc b/views/window/dialog_delegate.cc
index 84feb9b..d815a67 100644
--- a/views/window/dialog_delegate.cc
+++ b/views/window/dialog_delegate.cc
@@ -98,8 +98,8 @@ DialogClientView* DialogDelegate::GetDialogClientView() const {
return window()->client_view()->AsDialogClientView();
}
-AccessibilityTypes::Role DialogDelegate::accessible_role() const {
- return AccessibilityTypes::ROLE_DIALOG;
+ui::AccessibilityTypes::Role DialogDelegate::GetAccessibleRole() const {
+ return ui::AccessibilityTypes::ROLE_DIALOG;
}
} // namespace views
diff --git a/views/window/dialog_delegate.h b/views/window/dialog_delegate.h
index 1b8e8a4..f28ea03 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"
@@ -108,9 +108,9 @@ class DialogDelegate : public WindowDelegate {
// delegate's Window.
DialogClientView* GetDialogClientView() const;
- private:
+ protected:
// Overridden from WindowDelegate:
- virtual AccessibilityTypes::Role accessible_role() const;
+ virtual ui::AccessibilityTypes::Role GetAccessibleRole() const OVERRIDE;
};
} // namespace views
diff --git a/views/window/native_window.h b/views/window/native_window.h
index 9236689..7e4bd6a 100644
--- a/views/window/native_window.h
+++ b/views/window/native_window.h
@@ -6,8 +6,8 @@
#define VIEWS_WIDGET_NATIVE_WINDOW_H_
#pragma once
+#include "ui/base/accessibility/accessibility_types.h"
#include "ui/gfx/native_widget_types.h"
-#include "views/accessibility/accessibility_types.h"
class SkBitmap;
@@ -72,8 +72,8 @@ class NativeWindow {
// Update native accessibility properties on the native window.
virtual void SetAccessibleName(const std::wstring& name) = 0;
- virtual void SetAccessibleRole(AccessibilityTypes::Role role) = 0;
- virtual void SetAccessibleState(AccessibilityTypes::State state) = 0;
+ virtual void SetAccessibleRole(ui::AccessibilityTypes::Role role) = 0;
+ virtual void SetAccessibleState(ui::AccessibilityTypes::State state) = 0;
virtual NativeWidget* AsNativeWidget() = 0;
virtual const NativeWidget* AsNativeWidget() const = 0;
diff --git a/views/window/non_client_view.cc b/views/window/non_client_view.cc
index 387a431..021914f 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/client_view.h"
@@ -126,6 +127,10 @@ void NonClientView::LayoutFrameView() {
frame_view_->Layout();
}
+void NonClientView::SetAccessibleName(const string16& name) {
+ accessible_name_ = name;
+}
+
////////////////////////////////////////////////////////////////////////////////
// NonClientView, View overrides:
@@ -179,8 +184,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_;
}
////////////////////////////////////////////////////////////////////////////////
@@ -256,8 +262,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;
}
void NonClientFrameView::OnBoundsChanged(const gfx::Rect& previous_bounds) {
diff --git a/views/window/non_client_view.h b/views/window/non_client_view.h
index f1420a1..b0b9137 100644
--- a/views/window/non_client_view.h
+++ b/views/window/non_client_view.h
@@ -71,7 +71,7 @@ class NonClientFrameView : public View {
// Overridden from View:
virtual bool HitTest(const gfx::Point& l) const OVERRIDE;
- virtual AccessibilityTypes::Role GetAccessibleRole() OVERRIDE;
+ virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE;
protected:
virtual void OnBoundsChanged(const gfx::Rect& previous_bounds) OVERRIDE;
@@ -209,16 +209,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.
@@ -234,6 +239,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.cc b/views/window/window.cc
index 6ac43f6..f2313ed 100644
--- a/views/window/window.cc
+++ b/views/window/window.cc
@@ -287,8 +287,8 @@ void Window::OnNativeWindowCreated(const gfx::Rect& bounds) {
non_client_view_);
UpdateWindowTitle();
- native_window_->SetAccessibleRole(window_delegate_->accessible_role());
- native_window_->SetAccessibleState(window_delegate_->accessible_state());
+ native_window_->SetAccessibleRole(window_delegate_->GetAccessibleRole());
+ native_window_->SetAccessibleState(window_delegate_->GetAccessibleState());
SetInitialBounds(bounds);
}
diff --git a/views/window/window_delegate.cc b/views/window/window_delegate.cc
index 843fc70..b29b052 100644
--- a/views/window/window_delegate.cc
+++ b/views/window/window_delegate.cc
@@ -36,11 +36,11 @@ bool WindowDelegate::IsModal() const {
return false;
}
-AccessibilityTypes::Role WindowDelegate::accessible_role() const {
- return AccessibilityTypes::ROLE_WINDOW;
+ui::AccessibilityTypes::Role WindowDelegate::GetAccessibleRole() const {
+ return ui::AccessibilityTypes::ROLE_WINDOW;
}
-AccessibilityTypes::State WindowDelegate::accessible_state() const {
+ui::AccessibilityTypes::State WindowDelegate::GetAccessibleState() const {
return 0;
}
diff --git a/views/window/window_delegate.h b/views/window/window_delegate.h
index 0e69e30..9888317a 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;
@@ -53,9 +53,9 @@ class WindowDelegate {
// opened it. Only windows with WindowType == DIALOG can be modal.
virtual bool IsModal() const;
- virtual AccessibilityTypes::Role accessible_role() const;
+ virtual ui::AccessibilityTypes::Role GetAccessibleRole() const;
- virtual AccessibilityTypes::State accessible_state() const;
+ virtual ui::AccessibilityTypes::State GetAccessibleState() const;
// Returns the title to be read with screen readers.
virtual std::wstring GetAccessibleWindowTitle() const;
diff --git a/views/window/window_gtk.cc b/views/window/window_gtk.cc
index cfd393d..28bbd6c 100644
--- a/views/window/window_gtk.cc
+++ b/views/window/window_gtk.cc
@@ -291,10 +291,10 @@ void WindowGtk::SetWindowIcons(const SkBitmap& window_icon,
void WindowGtk::SetAccessibleName(const std::wstring& name) {
}
-void WindowGtk::SetAccessibleRole(AccessibilityTypes::Role role) {
+void WindowGtk::SetAccessibleRole(ui::AccessibilityTypes::Role role) {
}
-void WindowGtk::SetAccessibleState(AccessibilityTypes::State state) {
+void WindowGtk::SetAccessibleState(ui::AccessibilityTypes::State state) {
}
NativeWidget* WindowGtk::AsNativeWidget() {
diff --git a/views/window/window_gtk.h b/views/window/window_gtk.h
index 60c9b4b..23d0bce 100644
--- a/views/window/window_gtk.h
+++ b/views/window/window_gtk.h
@@ -57,8 +57,8 @@ class WindowGtk : public WidgetGtk, public NativeWindow, public Window {
virtual void SetWindowIcons(const SkBitmap& window_icon,
const SkBitmap& app_icon) OVERRIDE;
virtual void SetAccessibleName(const std::wstring& name) OVERRIDE;
- virtual void SetAccessibleRole(AccessibilityTypes::Role role) OVERRIDE;
- virtual void SetAccessibleState(AccessibilityTypes::State state) OVERRIDE;
+ virtual void SetAccessibleRole(ui::AccessibilityTypes::Role role) OVERRIDE;
+ virtual void SetAccessibleState(ui::AccessibilityTypes::State state) OVERRIDE;
virtual NativeWidget* AsNativeWidget() OVERRIDE;
virtual const NativeWidget* AsNativeWidget() const OVERRIDE;
virtual Window* GetWindow() OVERRIDE;
diff --git a/views/window/window_win.cc b/views/window/window_win.cc
index 863c56a..32583e3 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"
@@ -954,7 +955,7 @@ void WindowWin::SetAccessibleName(const std::wstring& name) {
}
}
-void WindowWin::SetAccessibleRole(AccessibilityTypes::Role role) {
+void WindowWin::SetAccessibleRole(ui::AccessibilityTypes::Role role) {
base::win::ScopedComPtr<IAccPropServices> pAccPropServices;
HRESULT hr = CoCreateInstance(CLSID_AccPropServices, NULL, CLSCTX_SERVER,
IID_IAccPropServices, reinterpret_cast<void**>(&pAccPropServices));
@@ -962,21 +963,21 @@ void WindowWin::SetAccessibleRole(AccessibilityTypes::Role role) {
VARIANT var;
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);
}
}
}
-void WindowWin::SetAccessibleState(AccessibilityTypes::State state) {
+void WindowWin::SetAccessibleState(ui::AccessibilityTypes::State state) {
base::win::ScopedComPtr<IAccPropServices> pAccPropServices;
HRESULT hr = CoCreateInstance(CLSID_AccPropServices, NULL, CLSCTX_SERVER,
IID_IAccPropServices, reinterpret_cast<void**>(&pAccPropServices));
if (SUCCEEDED(hr)) {
VARIANT var;
if (state) {
- var.lVal = ViewAccessibility::MSAAState(state);
+ var.lVal = NativeViewAccessibilityWin::MSAAState(state);
hr = pAccPropServices->SetHwndProp(GetNativeView(), OBJID_CLIENT,
CHILDID_SELF, PROPID_ACC_STATE, var);
}
diff --git a/views/window/window_win.h b/views/window/window_win.h
index dbe8ad2..222608a 100644
--- a/views/window/window_win.h
+++ b/views/window/window_win.h
@@ -146,8 +146,8 @@ class WindowWin : public WidgetWin,
virtual void SetWindowIcons(const SkBitmap& window_icon,
const SkBitmap& app_icon) OVERRIDE;
virtual void SetAccessibleName(const std::wstring& name) OVERRIDE;
- virtual void SetAccessibleRole(AccessibilityTypes::Role role) OVERRIDE;
- virtual void SetAccessibleState(AccessibilityTypes::State state) OVERRIDE;
+ virtual void SetAccessibleRole(ui::AccessibilityTypes::Role role) OVERRIDE;
+ virtual void SetAccessibleState(ui::AccessibilityTypes::State state) OVERRIDE;
virtual NativeWidget* AsNativeWidget() OVERRIDE;
virtual const NativeWidget* AsNativeWidget() const OVERRIDE;
virtual void SetWindowBounds(const gfx::Rect& bounds,