summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/frame/browser_view.h
diff options
context:
space:
mode:
authormhm@chromium.org <mhm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-04 05:32:25 +0000
committermhm@chromium.org <mhm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-04 05:32:25 +0000
commitb9376951e95e4cb1dda5a21f6f698a359ad51da0 (patch)
tree0f9e7fd4990cf431578bf15222ac2d5e4299d008 /chrome/browser/views/frame/browser_view.h
parent6371bf471df4ae89446c22b924909f09ad034fae (diff)
downloadchromium_src-b9376951e95e4cb1dda5a21f6f698a359ad51da0.zip
chromium_src-b9376951e95e4cb1dda5a21f6f698a359ad51da0.tar.gz
chromium_src-b9376951e95e4cb1dda5a21f6f698a359ad51da0.tar.bz2
Implement keyboard access between bookmarks and main toolbar.
Allow ALT+SHIFT+T and TAB to traverse between bookmarks bar and main toolbar, same thing goes for SHIFT+TAB. Once any toolbar is focused, the arrow keys are used to traverse its children views. Any toolbar that needs to be traversable needs to extend "AccessibleToolbarView", that class will deal with all the toolbar accessibility needs such as handling ESC, Left/Right arrows, Enter, Drop downs, and traversals with Tab/Shift+Tab. There is one abstract method that the views who are extending this would need to implement if needed which allows the toolbar to skip views that are being traversed: bool IsAccessibleViewTraversable(views::View* view) BUG=25625 TEST=Test to see if the main toolbar and bookmarks bar is traversable. Review URL: http://codereview.chromium.org/333010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33793 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/frame/browser_view.h')
-rw-r--r--chrome/browser/views/frame/browser_view.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/chrome/browser/views/frame/browser_view.h b/chrome/browser/views/frame/browser_view.h
index 8354226..4ec827e 100644
--- a/chrome/browser/views/frame/browser_view.h
+++ b/chrome/browser/views/frame/browser_view.h
@@ -70,6 +70,9 @@ class BrowserView : public BrowserWindow,
public views::WindowDelegate,
public views::ClientView {
public:
+ // The browser view's class name.
+ static const char kViewClassName[];
+
// Explicitly sets how windows are shown. Use a value of -1 to give the
// default behavior. This is used during testing and not generally useful
// otherwise.
@@ -180,6 +183,10 @@ class BrowserView : public BrowserWindow,
void PrepareToRunSystemMenu(HMENU menu);
#endif
+ // Traverses to the next toolbar. |forward| when true, will navigate from left
+ // to right and vice versa when false.
+ void TraverseNextAccessibleToolbar(bool forward);
+
// Returns true if the Browser object associated with this BrowserView is a
// normal-type window (i.e. a browser window, not an app or popup).
bool IsBrowserTypeNormal() const {
@@ -533,6 +540,9 @@ class BrowserView : public BrowserWindow,
scoped_ptr<BrowserExtender> browser_extender_;
+ // Last focused view that issued a tab traversal.
+ int last_focused_view_storage_id_;
+
DISALLOW_COPY_AND_ASSIGN(BrowserView);
};