Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(196)

Unified Diff: ash/common/system/status_area_widget_delegate.h

Issue 2295843006: Signin screen and locked screen status area focus advancing (Closed)
Patch Set: GetWidget->IsVisible() Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ash/common/system/status_area_widget_delegate.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/common/system/status_area_widget_delegate.h
diff --git a/ash/common/system/status_area_widget_delegate.h b/ash/common/system/status_area_widget_delegate.h
index 915bff9017d27677aafc2ac72b666216e9ad6782..d7b7fe86b4b4d027e6177561110eb5749f2fb5ea 100644
--- a/ash/common/system/status_area_widget_delegate.h
+++ b/ash/common/system/status_area_widget_delegate.h
@@ -33,8 +33,20 @@ class ASH_EXPORT StatusAreaWidgetDelegate : public views::AccessiblePaneView,
void set_alignment(ShelfAlignment alignment) { alignment_ = alignment; }
+ void set_custom_focus_traversable(
+ views::FocusTraversable* custom_focus_traversable) {
+ custom_focus_traversable_ = custom_focus_traversable;
+ }
+
+ void set_default_last_focusable_child(bool default_last_focusable_child) {
+ default_last_focusable_child_ = default_last_focusable_child;
+ }
+
// Overridden from views::AccessiblePaneView.
View* GetDefaultFocusableChild() override;
+ views::FocusSearch* GetFocusSearch() override;
+ views::FocusTraversable* GetFocusTraversableParent() override;
+ views::View* GetFocusTraversableParentView() override;
// Overridden from views::View:
views::Widget* GetWidget() override;
@@ -60,6 +72,12 @@ class ASH_EXPORT StatusAreaWidgetDelegate : public views::AccessiblePaneView,
// screen.
void SetBorderOnChild(views::View* child, bool extend_border_to_edge);
+ views::FocusTraversable* custom_focus_traversable_ = nullptr;
+
+ // When true, the default focus of the status area widget is the last
+ // focusable child.
+ bool default_last_focusable_child_ = false;
+
const FocusCycler* focus_cycler_for_testing_;
// TODO(jamescook): Get this from WmShelf.
« no previous file with comments | « no previous file | ash/common/system/status_area_widget_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698