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

Side by Side Diff: chrome/browser/chromeos/login/ui/webui_login_display.cc

Issue 298193002: Revert of ChromeOS login webui refactoring: split user selection/gaia login screens. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/ui/webui_login_display.h" 5 #include "chrome/browser/chromeos/login/ui/webui_login_display.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" 8 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
9 #include "chrome/browser/chromeos/login/lock/screen_locker.h" 9 #include "chrome/browser/chromeos/login/lock/screen_locker.h"
10 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 10 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
(...skipping 28 matching lines...) Expand all
39 if (activity_detector->HasObserver(this)) 39 if (activity_detector->HasObserver(this))
40 activity_detector->RemoveObserver(this); 40 activity_detector->RemoveObserver(this);
41 } 41 }
42 42
43 // LoginDisplay implementation: ------------------------------------------------ 43 // LoginDisplay implementation: ------------------------------------------------
44 44
45 WebUILoginDisplay::WebUILoginDisplay(LoginDisplay::Delegate* delegate) 45 WebUILoginDisplay::WebUILoginDisplay(LoginDisplay::Delegate* delegate)
46 : LoginDisplay(delegate, gfx::Rect()), 46 : LoginDisplay(delegate, gfx::Rect()),
47 show_guest_(false), 47 show_guest_(false),
48 show_new_user_(false), 48 show_new_user_(false),
49 webui_handler_(NULL), 49 webui_handler_(NULL) {
50 gaia_screen_(new GaiaScreen()),
51 user_selection_screen_(new UserSelectionScreen()) {
52 } 50 }
53 51
54 void WebUILoginDisplay::ClearAndEnablePassword() { 52 void WebUILoginDisplay::ClearAndEnablePassword() {
55 if (webui_handler_) 53 if (webui_handler_)
56 webui_handler_->ClearAndEnablePassword(); 54 webui_handler_->ClearAndEnablePassword();
57 } 55 }
58 56
59 void WebUILoginDisplay::Init(const UserList& users, 57 void WebUILoginDisplay::Init(const UserList& users,
60 bool show_guest, 58 bool show_guest,
61 bool show_users, 59 bool show_users,
62 bool show_new_user) { 60 bool show_new_user) {
63 // Testing that the delegate has been set. 61 // Testing that the delegate has been set.
64 DCHECK(delegate_); 62 DCHECK(delegate_);
65 63
66 user_selection_screen_->Init(users); 64 users_ = users;
67 show_guest_ = show_guest; 65 show_guest_ = show_guest;
68 show_users_ = show_users; 66 show_users_ = show_users;
69 show_new_user_ = show_new_user; 67 show_new_user_ = show_new_user;
70 68
71 wm::UserActivityDetector* activity_detector = ash::Shell::GetInstance()-> 69 wm::UserActivityDetector* activity_detector = ash::Shell::GetInstance()->
72 user_activity_detector(); 70 user_activity_detector();
73 if (!activity_detector->HasObserver(this)) 71 if (!activity_detector->HasObserver(this))
74 activity_detector->AddObserver(this); 72 activity_detector->AddObserver(this);
75 } 73 }
76 74
77 // ---- Common methods
78
79 // ---- User selection screen methods
80
81 void WebUILoginDisplay::OnBeforeUserRemoved(const std::string& username) {
82 user_selection_screen_->OnBeforeUserRemoved(username);
83 }
84
85 void WebUILoginDisplay::OnUserRemoved(const std::string& username) {
86 user_selection_screen_->OnUserRemoved(username);
87 }
88
89 void WebUILoginDisplay::OnUserImageChanged(const User& user) {
90 user_selection_screen_->OnUserImageChanged(user);
91 }
92
93 // User selection screen, screen lock API
94
95 const UserList& WebUILoginDisplay::GetUsers() const {
96 return user_selection_screen_->GetUsers();
97 }
98
99 // ---- Gaia screen methods
100
101 // ---- Not yet classified methods
102
103 void WebUILoginDisplay::OnPreferencesChanged() { 75 void WebUILoginDisplay::OnPreferencesChanged() {
104 if (webui_handler_) 76 if (webui_handler_)
105 webui_handler_->OnPreferencesChanged(); 77 webui_handler_->OnPreferencesChanged();
106 } 78 }
107 79
80 void WebUILoginDisplay::OnBeforeUserRemoved(const std::string& username) {
81 for (UserList::iterator it = users_.begin(); it != users_.end(); ++it) {
82 if ((*it)->email() == username) {
83 users_.erase(it);
84 break;
85 }
86 }
87 }
88
89 void WebUILoginDisplay::OnUserImageChanged(const User& user) {
90 if (webui_handler_)
91 webui_handler_->OnUserImageChanged(user);
92 }
93
94 void WebUILoginDisplay::OnUserRemoved(const std::string& username) {
95 if (webui_handler_)
96 webui_handler_->OnUserRemoved(username);
97 }
98
99 void WebUILoginDisplay::OnFadeOut() {
100 }
101
102 void WebUILoginDisplay::OnLoginSuccess(const std::string& username) {
103 if (webui_handler_)
104 webui_handler_->OnLoginSuccess(username);
105 }
106
108 void WebUILoginDisplay::SetUIEnabled(bool is_enabled) { 107 void WebUILoginDisplay::SetUIEnabled(bool is_enabled) {
109 // TODO(nkostylev): Cleanup this condition, 108 // TODO(nkostylev): Cleanup this condition,
110 // see http://crbug.com/157885 and http://crbug.com/158255. 109 // see http://crbug.com/157885 and http://crbug.com/158255.
111 // Allow this call only before user sign in or at lock screen. 110 // Allow this call only before user sign in or at lock screen.
112 // If this call is made after new user signs in but login screen is still 111 // If this call is made after new user signs in but login screen is still
113 // around that would trigger a sign in extension refresh. 112 // around that would trigger a sign in extension refresh.
114 if (is_enabled && (!UserManager::Get()->IsUserLoggedIn() || 113 if (is_enabled &&
115 ScreenLocker::default_screen_locker())) { 114 (!UserManager::Get()->IsUserLoggedIn() ||
115 ScreenLocker::default_screen_locker())) {
116 ClearAndEnablePassword(); 116 ClearAndEnablePassword();
117 } 117 }
118 118
119 if (chromeos::LoginDisplayHost* host = 119 if (chromeos::LoginDisplayHost* host =
120 chromeos::LoginDisplayHostImpl::default_host()) { 120 chromeos::LoginDisplayHostImpl::default_host()) {
121 if (chromeos::WebUILoginView* login_view = host->GetWebUILoginView()) 121 if (chromeos::WebUILoginView* login_view = host->GetWebUILoginView())
122 login_view->SetUIEnabled(is_enabled); 122 login_view->SetUIEnabled(is_enabled);
123 } 123 }
124 } 124 }
125 125
126 void WebUILoginDisplay::SelectPod(int index) {
127 }
128
126 void WebUILoginDisplay::ShowError(int error_msg_id, 129 void WebUILoginDisplay::ShowError(int error_msg_id,
127 int login_attempts, 130 int login_attempts,
128 HelpAppLauncher::HelpTopic help_topic_id) { 131 HelpAppLauncher::HelpTopic help_topic_id) {
129 VLOG(1) << "Show error, error_id: " << error_msg_id 132 VLOG(1) << "Show error, error_id: " << error_msg_id
130 << ", attempts:" << login_attempts 133 << ", attempts:" << login_attempts
131 << ", help_topic_id: " << help_topic_id; 134 << ", help_topic_id: " << help_topic_id;
132 if (!webui_handler_) 135 if (!webui_handler_)
133 return; 136 return;
134 137
135 std::string error_text; 138 std::string error_text;
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 } 315 }
313 316
314 void WebUILoginDisplay::ShowWrongHWIDScreen() { 317 void WebUILoginDisplay::ShowWrongHWIDScreen() {
315 if (delegate_) 318 if (delegate_)
316 delegate_->ShowWrongHWIDScreen(); 319 delegate_->ShowWrongHWIDScreen();
317 } 320 }
318 321
319 void WebUILoginDisplay::SetWebUIHandler( 322 void WebUILoginDisplay::SetWebUIHandler(
320 LoginDisplayWebUIHandler* webui_handler) { 323 LoginDisplayWebUIHandler* webui_handler) {
321 webui_handler_ = webui_handler; 324 webui_handler_ = webui_handler;
322 gaia_screen_->SetHandler(webui_handler_);
323 user_selection_screen_->SetHandler(webui_handler_);
324 } 325 }
325 326
326 void WebUILoginDisplay::ShowSigninScreenForCreds( 327 void WebUILoginDisplay::ShowSigninScreenForCreds(
327 const std::string& username, 328 const std::string& username,
328 const std::string& password) { 329 const std::string& password) {
329 if (webui_handler_) 330 if (webui_handler_)
330 webui_handler_->ShowSigninScreenForCreds(username, password); 331 webui_handler_->ShowSigninScreenForCreds(username, password);
331 } 332 }
332 333
334 const UserList& WebUILoginDisplay::GetUsers() const {
335 return users_;
336 }
337
333 bool WebUILoginDisplay::IsShowGuest() const { 338 bool WebUILoginDisplay::IsShowGuest() const {
334 return show_guest_; 339 return show_guest_;
335 } 340 }
336 341
337 bool WebUILoginDisplay::IsShowUsers() const { 342 bool WebUILoginDisplay::IsShowUsers() const {
338 return show_users_; 343 return show_users_;
339 } 344 }
340 345
341 bool WebUILoginDisplay::IsShowNewUser() const { 346 bool WebUILoginDisplay::IsShowNewUser() const {
342 return show_new_user_; 347 return show_new_user_;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 base::TimeDelta::FromSeconds(kPasswordClearTimeoutSec), this, 383 base::TimeDelta::FromSeconds(kPasswordClearTimeoutSec), this,
379 &WebUILoginDisplay::OnPasswordClearTimerExpired); 384 &WebUILoginDisplay::OnPasswordClearTimerExpired);
380 } 385 }
381 386
382 void WebUILoginDisplay::OnPasswordClearTimerExpired() { 387 void WebUILoginDisplay::OnPasswordClearTimerExpired() {
383 if (webui_handler_) 388 if (webui_handler_)
384 webui_handler_->ClearUserPodPassword(); 389 webui_handler_->ClearUserPodPassword();
385 } 390 }
386 391
387 } // namespace chromeos 392 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/ui/webui_login_display.h ('k') | chrome/browser/resources/chromeos/login/login_common.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698