diff options
author | zork@chromium.org <zork@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-23 11:52:28 +0000 |
---|---|---|
committer | zork@chromium.org <zork@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-23 11:52:28 +0000 |
commit | cf56efa3809c541ee2d186dcbfb1444866f14c14 (patch) | |
tree | b2fd0c165ff4aba448aa4641367b86a0b87dc726 /ash | |
parent | 3025d64bad0437fec647586031aa22ac8fdab714 (diff) | |
download | chromium_src-cf56efa3809c541ee2d186dcbfb1444866f14c14.zip chromium_src-cf56efa3809c541ee2d186dcbfb1444866f14c14.tar.gz chromium_src-cf56efa3809c541ee2d186dcbfb1444866f14c14.tar.bz2 |
Reland http://codereview.chromium.org/9985005 with fix for clang
Add accessibility info to app list items and allow them to be focused.
TBR=sky@chromium.org
BUG=120496
TEST=See Bug
Review URL: http://codereview.chromium.org/10139028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133424 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/app_list/app_list_item_view.cc | 8 | ||||
-rw-r--r-- | ash/app_list/app_list_item_view.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/ash/app_list/app_list_item_view.cc b/ash/app_list/app_list_item_view.cc index c9e7492..dc6d247 100644 --- a/ash/app_list/app_list_item_view.cc +++ b/ash/app_list/app_list_item_view.cc @@ -13,6 +13,7 @@ #include "base/synchronization/cancellation_flag.h" #include "base/threading/worker_pool.h" #include "base/utf_string_conversions.h" +#include "ui/base/accessibility/accessible_view_state.h" #include "ui/base/animation/throb_animation.h" #include "ui/base/resource/resource_bundle.h" #include "ui/gfx/canvas.h" @@ -203,6 +204,7 @@ AppListItemView::AppListItemView(AppListModelView* list_model_view, set_context_menu_controller(this); set_request_focus_on_press(false); + set_focusable(true); } AppListItemView::~AppListItemView() { @@ -251,6 +253,7 @@ void AppListItemView::SetSelected(bool selected) { if (selected == selected_) return; + RequestFocus(); selected_ = selected; SchedulePaint(); } @@ -360,6 +363,11 @@ void AppListItemView::OnPaint(gfx::Canvas* canvas) { } } +void AppListItemView::GetAccessibleState(ui::AccessibleViewState* state) { + state->role = ui::AccessibilityTypes::ROLE_PUSHBUTTON; + state->name = UTF8ToUTF16(model_->title()); +} + void AppListItemView::ShowContextMenuForView(views::View* source, const gfx::Point& point) { ui::MenuModel* menu_model = model_->GetContextMenuModel(); diff --git a/ash/app_list/app_list_item_view.h b/ash/app_list/app_list_item_view.h index e085b42..da377e8 100644 --- a/ash/app_list/app_list_item_view.h +++ b/ash/app_list/app_list_item_view.h @@ -79,6 +79,7 @@ class ASH_EXPORT AppListItemView : public views::CustomButton, virtual gfx::Size GetPreferredSize() OVERRIDE; virtual void Layout() OVERRIDE; virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; + virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; // views::ContextMenuController overrides: virtual void ShowContextMenuForView(views::View* source, |