summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/accessible_pane_view.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/views/accessible_pane_view.h')
-rw-r--r--chrome/browser/views/accessible_pane_view.h93
1 files changed, 3 insertions, 90 deletions
diff --git a/chrome/browser/views/accessible_pane_view.h b/chrome/browser/views/accessible_pane_view.h
index f31f59b..8a2ebb1 100644
--- a/chrome/browser/views/accessible_pane_view.h
+++ b/chrome/browser/views/accessible_pane_view.h
@@ -6,95 +6,8 @@
#define CHROME_BROWSER_VIEWS_ACCESSIBLE_PANE_VIEW_H_
#pragma once
-#include "base/hash_tables.h"
-#include "base/scoped_ptr.h"
-#include "base/task.h"
-#include "views/focus/focus_manager.h"
-#include "views/view.h"
-
-namespace views {
-class FocusSearch;
-}
-
-// This class provides keyboard access to any view that extends it, typically
-// a toolbar. The user sets focus to a control in this view by pressing
-// F6 to traverse all panes, or by pressing a shortcut that jumps directly
-// to this pane.
-class AccessiblePaneView : public views::View,
- public views::FocusChangeListener,
- public views::FocusTraversable {
- public:
- AccessiblePaneView();
- virtual ~AccessiblePaneView();
-
- // Set focus to the pane with complete keyboard access.
- // Focus will be restored to the ViewStorage with id |view_storage_id|
- // if the user escapes. If |initial_focus| is not NULL, that control will get
- // the initial focus, if it's enabled and focusable. Returns true if
- // the pane was able to receive focus.
- virtual bool SetPaneFocus(int view_storage_id, View* initial_focus);
-
- // Set focus to the pane with complete keyboard access, with the
- // focus initially set to the default child. Focus will be restored
- // to the ViewStorage with id |view_storage_id| if the user escapes.
- // Returns true if the pane was able to receive focus.
- virtual bool SetPaneFocusAndFocusDefault(int view_storage_id);
-
- // Overridden from views::View:
- virtual FocusTraversable* GetPaneFocusTraversable();
- virtual bool AcceleratorPressed(const views::Accelerator& accelerator);
- virtual void SetVisible(bool flag);
- virtual AccessibilityTypes::Role GetAccessibleRole();
-
- // Overridden from views::FocusChangeListener:
- virtual void FocusWillChange(View* focused_before,
- View* focused_now);
-
- // Overridden from views::FocusTraversable:
- virtual views::FocusSearch* GetFocusSearch();
- virtual FocusTraversable* GetFocusTraversableParent();
- virtual View* GetFocusTraversableParentView();
-
- protected:
- // A subclass can override this to provide a default focusable child
- // other than the first focusable child.
- virtual views::View* GetDefaultFocusableChild() { return NULL; }
-
- // Remove pane focus.
- virtual void RemovePaneFocus();
-
- // Select all text in the location bar
- virtual void LocationBarSelectAll();
-
- void RestoreLastFocusedView();
-
- View* GetFirstFocusableChild();
- View* GetLastFocusableChild();
-
- bool pane_has_focus_;
-
- ScopedRunnableMethodFactory<AccessiblePaneView> method_factory_;
-
- // Save the focus manager rather than calling GetFocusManager(),
- // so that we can remove focus listeners in the destructor.
- views::FocusManager* focus_manager_;
-
- // Our custom focus search implementation that traps focus in this
- // pane and traverses all views that are focusable for accessibility,
- // not just those that are normally focusable.
- scoped_ptr<views::FocusSearch> focus_search_;
-
- // Registered accelerators
- views::Accelerator home_key_;
- views::Accelerator end_key_;
- views::Accelerator escape_key_;
- views::Accelerator left_key_;
- views::Accelerator right_key_;
-
- // Last focused view that issued this traversal.
- int last_focused_view_storage_id_;
-
- DISALLOW_COPY_AND_ASSIGN(AccessiblePaneView);
-};
+#include "chrome/browser/ui/views/accessible_pane_view.h"
+// TODO(beng): remove this file once all includes have been updated.
#endif // CHROME_BROWSER_VIEWS_ACCESSIBLE_PANE_VIEW_H_
+