diff options
author | klink@chromium.org <klink@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-28 21:34:20 +0000 |
---|---|---|
committer | klink@chromium.org <klink@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-28 21:34:20 +0000 |
commit | 92a22704ea2f408ffc7917c1e96ca1f097a6ecb7 (patch) | |
tree | d4d1e69dd1c0a2fecada7ae6dee924b9d30dace3 /chrome | |
parent | 3eb73b83046e13cd7ed56fa863684d36fd7098b4 (diff) | |
download | chromium_src-92a22704ea2f408ffc7917c1e96ca1f097a6ecb7.zip chromium_src-92a22704ea2f408ffc7917c1e96ca1f097a6ecb7.tar.gz chromium_src-92a22704ea2f408ffc7917c1e96ca1f097a6ecb7.tar.bz2 |
Adds additional MSAA information to fill in a few gaps in the hierarchy.
TEST=None
BUG=None
Review URL: http://codereview.chromium.org/160239
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21896 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/views/frame/browser_view.cc | 21 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.h | 8 | ||||
-rw-r--r-- | chrome/browser/views/frame/opaque_browser_frame_view.cc | 8 |
3 files changed, 33 insertions, 4 deletions
diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc index 6d59587..b2f9da8 100644 --- a/chrome/browser/views/frame/browser_view.cc +++ b/chrome/browser/views/frame/browser_view.cc @@ -1422,6 +1422,27 @@ void BrowserView::ChildPreferredSizeChanged(View* child) { Layout(); } +bool BrowserView::GetAccessibleRole(AccessibilityTypes::Role* role) { + DCHECK(role); + + *role = AccessibilityTypes::ROLE_CLIENT; + return true; +} + +bool BrowserView::GetAccessibleName(std::wstring* name) { + DCHECK(name); + + if (!accessible_name_.empty()) { + *name = accessible_name_; + return true; + } + return false; +} + +void BrowserView::SetAccessibleName(const std::wstring& name) { + accessible_name_ = name; +} + /////////////////////////////////////////////////////////////////////////////// // BrowserView, private: diff --git a/chrome/browser/views/frame/browser_view.h b/chrome/browser/views/frame/browser_view.h index a202530..abccd5e 100644 --- a/chrome/browser/views/frame/browser_view.h +++ b/chrome/browser/views/frame/browser_view.h @@ -308,6 +308,11 @@ class BrowserView : public BrowserWindow, virtual gfx::Size GetMinimumSize(); virtual std::string GetClassName() const; + // Overridden from views::View: + virtual bool GetAccessibleRole(AccessibilityTypes::Role* role); + virtual bool GetAccessibleName(std::wstring* name); + virtual void SetAccessibleName(const std::wstring& name); + protected: // Overridden from views::View: virtual void Layout(); @@ -493,6 +498,9 @@ class BrowserView : public BrowserWindow, typedef std::set<BrowserBubble*> BubbleSet; BubbleSet browser_bubbles_; + // The accessible name of this view. + std::wstring accessible_name_; + DISALLOW_COPY_AND_ASSIGN(BrowserView); }; diff --git a/chrome/browser/views/frame/opaque_browser_frame_view.cc b/chrome/browser/views/frame/opaque_browser_frame_view.cc index 5a2f061..479954e 100644 --- a/chrome/browser/views/frame/opaque_browser_frame_view.cc +++ b/chrome/browser/views/frame/opaque_browser_frame_view.cc @@ -391,19 +391,19 @@ void OpaqueBrowserFrameView::ViewHierarchyChanged(bool is_add, // The Accessibility glue looks for the product name on these two views to // determine if this is in fact a Chrome window. GetRootView()->SetAccessibleName(l10n_util::GetString(IDS_PRODUCT_NAME)); - SetAccessibleName(l10n_util::GetString(IDS_PRODUCT_NAME)); } } bool OpaqueBrowserFrameView::GetAccessibleRole(AccessibilityTypes::Role* role) { DCHECK(role); - // We aren't actually the client area of the window, but we act like it as - // far as accessibility and the UI tests are concerned. - *role = AccessibilityTypes::ROLE_CLIENT; + + *role = AccessibilityTypes::ROLE_TITLEBAR; return true; } bool OpaqueBrowserFrameView::GetAccessibleName(std::wstring* name) { + DCHECK(name); + if (!accessible_name_.empty()) { *name = accessible_name_; return true; |