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

Unified Diff: chrome/browser/chromeos/login/ui/webui_login_view.cc

Issue 2709593002: Revert of 'Signin screen and locked screen status area focus advancing' (Closed)
Patch Set: revert 2295843006 Created 3 years, 10 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 | « chrome/browser/chromeos/login/ui/webui_login_view.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/login/ui/webui_login_view.cc
diff --git a/chrome/browser/chromeos/login/ui/webui_login_view.cc b/chrome/browser/chromeos/login/ui/webui_login_view.cc
index 172bd19d8e15d36c1a9a46d82d756bc011a578a8..83d3f3022d7919a18f973b8264b73c5a8c1635dd 100644
--- a/chrome/browser/chromeos/login/ui/webui_login_view.cc
+++ b/chrome/browser/chromeos/login/ui/webui_login_view.cc
@@ -5,7 +5,6 @@
#include "chrome/browser/chromeos/login/ui/webui_login_view.h"
#include "ash/common/focus_cycler.h"
-#include "ash/common/system/status_area_widget_delegate.h"
#include "ash/common/system/tray/system_tray.h"
#include "ash/common/wm_shell.h"
#include "ash/shell.h"
@@ -60,8 +59,6 @@
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/size.h"
#include "ui/views/controls/webview/webview.h"
-#include "ui/views/focus/focus_manager.h"
-#include "ui/views/focus/focus_search.h"
#include "ui/views/widget/widget.h"
using content::NativeWebKeyboardEvent;
@@ -108,15 +105,6 @@ class ScopedArrowKeyTraversal {
DISALLOW_COPY_AND_ASSIGN(ScopedArrowKeyTraversal);
};
-// A helper method returns status area widget delegate if exists,
-// otherwise nullptr.
-ash::StatusAreaWidgetDelegate* GetStatusAreaWidgetDelegate() {
- ash::SystemTray* tray = ash::Shell::GetInstance()->GetPrimarySystemTray();
- return tray ? static_cast<ash::StatusAreaWidgetDelegate*>(
- tray->GetWidget()->GetContentsView())
- : nullptr;
-}
-
} // namespace
namespace chromeos {
@@ -125,59 +113,6 @@ namespace chromeos {
const char WebUILoginView::kViewClassName[] =
"browser/chromeos/login/WebUILoginView";
-// WebUILoginView::CycleFocusTraversable ---------------------------------------
-class WebUILoginView::CycleFocusTraversable : public views::FocusTraversable {
- public:
- explicit CycleFocusTraversable(WebUILoginView* webui_login_view)
- : cycle_focus_search_(webui_login_view, true, false) {}
- ~CycleFocusTraversable() override {}
-
- // views::FocusTraversable
- views::FocusSearch* GetFocusSearch() override { return &cycle_focus_search_; }
-
- views::FocusTraversable* GetFocusTraversableParent() override {
- return nullptr;
- }
-
- views::View* GetFocusTraversableParentView() override { return nullptr; }
-
- private:
- views::FocusSearch cycle_focus_search_;
-
- DISALLOW_COPY_AND_ASSIGN(CycleFocusTraversable);
-};
-
-// WebUILoginView::StatusAreaFocusTraversable ----------------------------------
-class WebUILoginView::StatusAreaFocusTraversable
- : public views::FocusTraversable {
- public:
- StatusAreaFocusTraversable(
- ash::StatusAreaWidgetDelegate* status_area_widget_delegate,
- WebUILoginView* webui_login_view)
- : webui_login_view_(webui_login_view),
- status_area_focus_search_(status_area_widget_delegate, false, false) {}
- ~StatusAreaFocusTraversable() override {}
-
- // views::FocusTraversable
- views::FocusSearch* GetFocusSearch() override {
- return &status_area_focus_search_;
- }
-
- views::FocusTraversable* GetFocusTraversableParent() override {
- return webui_login_view_->cycle_focus_traversable_.get();
- }
-
- views::View* GetFocusTraversableParentView() override {
- return webui_login_view_->status_area_widget_host_;
- }
-
- private:
- WebUILoginView* const webui_login_view_;
- views::FocusSearch status_area_focus_search_;
-
- DISALLOW_COPY_AND_ASSIGN(StatusAreaFocusTraversable);
-};
-
// WebUILoginView public: ------------------------------------------------------
WebUILoginView::WebUILoginView(const WebViewSettings& settings)
@@ -247,13 +182,8 @@ WebUILoginView::~WebUILoginView() {
if (!chrome::IsRunningInMash() &&
ash::Shell::GetInstance()->HasPrimaryStatusArea()) {
- views::Widget* tray_widget =
- ash::Shell::GetInstance()->GetPrimarySystemTray()->GetWidget();
- ash::StatusAreaWidgetDelegate* status_area_widget_delegate =
- static_cast<ash::StatusAreaWidgetDelegate*>(
- tray_widget->GetContentsView());
- status_area_widget_delegate->set_custom_focus_traversable(nullptr);
- status_area_widget_delegate->set_default_last_focusable_child(false);
+ ash::Shell::GetInstance()->GetPrimarySystemTray()->SetNextFocusableView(
+ nullptr);
} else {
NOTIMPLEMENTED();
}
@@ -325,9 +255,6 @@ void WebUILoginView::Init() {
WebContentsModalDialogManager::FromWebContents(web_contents)
->SetDelegate(this);
web_contents->SetDelegate(this);
-
- status_area_widget_host_ = new views::View;
- AddChildView(status_area_widget_host_);
}
const char* WebUILoginView::GetClassName() const {
@@ -400,15 +327,6 @@ void WebUILoginView::LoadURL(const GURL& url) {
// There is no Shell instance while running in mash.
if (chrome::IsRunningInMash())
return;
-
- ash::StatusAreaWidgetDelegate* status_area_widget_delegate =
- GetStatusAreaWidgetDelegate();
- DCHECK(status_area_widget_delegate);
- cycle_focus_traversable_.reset(new CycleFocusTraversable(this));
- status_area_focus_traversable_.reset(
- new StatusAreaFocusTraversable(status_area_widget_delegate, this));
- status_area_widget_delegate->set_custom_focus_traversable(
- status_area_focus_traversable_.get());
}
content::WebUI* WebUILoginView::GetWebUI() {
@@ -546,11 +464,9 @@ bool WebUILoginView::TakeFocus(content::WebContents* source, bool reverse) {
if (chrome::IsRunningInMash())
return true;
- ash::StatusAreaWidgetDelegate* status_area_widget_delegate =
- GetStatusAreaWidgetDelegate();
- if (status_area_widget_delegate &&
- status_area_widget_delegate->GetWidget()->IsVisible()) {
- status_area_widget_delegate->set_default_last_focusable_child(reverse);
+ ash::SystemTray* tray = ash::Shell::GetInstance()->GetPrimarySystemTray();
+ if (tray && tray->GetWidget()->IsVisible()) {
+ tray->SetNextFocusableView(this);
ash::WmShell::Get()->focus_cycler()->RotateFocus(
reverse ? ash::FocusCycler::BACKWARD : ash::FocusCycler::FORWARD);
}
« no previous file with comments | « chrome/browser/chromeos/login/ui/webui_login_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698