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

Side by Side Diff: chrome/browser/chromeos/login/signin_screen_controller.cc

Issue 2429033003: cros: Cleanup lock screen and OOBE C++ backing code. (Closed)
Patch Set: Address comments Created 4 years, 2 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/signin_screen_controller.h" 5 #include "chrome/browser/chromeos/login/signin_screen_controller.h"
6 6
7 #include "chrome/browser/chrome_notification_types.h" 7 #include "chrome/browser/chrome_notification_types.h"
8 #include "chrome/browser/chromeos/login/lock/screen_locker.h" 8 #include "chrome/browser/chromeos/login/lock/screen_locker.h"
9 #include "chrome/browser/chromeos/login/lock/webui_screen_locker.h"
9 #include "chrome/browser/chromeos/login/screens/chrome_user_selection_screen.h" 10 #include "chrome/browser/chromeos/login/screens/chrome_user_selection_screen.h"
10 #include "chrome/browser/chromeos/login/ui/views/user_board_view.h" 11 #include "chrome/browser/chromeos/login/ui/views/user_board_view.h"
11 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" 12 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
12 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" 13 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
13 14
14 namespace chromeos { 15 namespace chromeos {
15 16
16 SignInScreenController* SignInScreenController::instance_ = nullptr; 17 SignInScreenController* SignInScreenController::instance_ = nullptr;
17 18
18 SignInScreenController::SignInScreenController( 19 SignInScreenController::SignInScreenController(
19 OobeUI* oobe_ui, 20 OobeUI* oobe_ui,
20 LoginDisplay::Delegate* login_display_delegate) 21 LoginDisplay::Delegate* login_display_delegate)
21 : oobe_ui_(oobe_ui), gaia_screen_(new GaiaScreen()) { 22 : oobe_ui_(oobe_ui), gaia_screen_(new GaiaScreen()) {
22 DCHECK(!instance_); 23 DCHECK(!instance_);
23 instance_ = this; 24 instance_ = this;
24 25
25 gaia_screen_->SetScreenHandler(oobe_ui_->GetGaiaScreenActor()); 26 gaia_screen_->SetScreenHandler(oobe_ui_->GetGaiaScreenActor());
26 std::string display_type = static_cast<OobeUI*>(oobe_ui)->display_type(); 27 std::string display_type = oobe_ui->display_type();
27 user_selection_screen_.reset(new ChromeUserSelectionScreen(display_type)); 28 user_selection_screen_.reset(new ChromeUserSelectionScreen(display_type));
28 user_selection_screen_->SetLoginDisplayDelegate(login_display_delegate); 29 user_selection_screen_->SetLoginDisplayDelegate(login_display_delegate);
29 30
30 UserBoardView* user_board_view = oobe_ui_->GetUserBoardScreenActor(); 31 UserBoardView* user_board_view = oobe_ui_->GetUserBoardScreenActor();
31 user_selection_screen_->SetView(user_board_view); 32 user_selection_screen_->SetView(user_board_view);
32 user_board_view->Bind(*user_selection_screen_.get()); 33 user_board_view->Bind(*user_selection_screen_.get());
33 34
34 registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, 35 registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
35 content::NotificationService::AllSources()); 36 content::NotificationService::AllSources());
36 registrar_.Add(this, chrome::NOTIFICATION_SESSION_STARTED, 37 registrar_.Add(this, chrome::NOTIFICATION_SESSION_STARTED,
37 content::NotificationService::AllSources()); 38 content::NotificationService::AllSources());
38 } 39 }
39 40
40 SignInScreenController::~SignInScreenController() { 41 SignInScreenController::~SignInScreenController() {
41 instance_ = nullptr; 42 instance_ = nullptr;
42 } 43 }
43 44
44 void SignInScreenController::Init(const user_manager::UserList& users, 45 void SignInScreenController::Init(const user_manager::UserList& users,
45 bool show_guest) { 46 bool show_guest) {
46 // TODO(antrim) : This dependency should be inverted, screen should ask about 47 // TODO(antrim) : This dependency should be inverted, screen should ask about
47 // users. 48 // users.
48 user_selection_screen_->Init(users, show_guest); 49 user_selection_screen_->Init(users, show_guest);
49 } 50 }
50 51
51 void SignInScreenController::OnSigninScreenReady() { 52 void SignInScreenController::OnSigninScreenReady() {
52 gaia_screen_->MaybePreloadAuthExtension(); 53 gaia_screen_->MaybePreloadAuthExtension();
53 user_selection_screen_->InitEasyUnlock(); 54 user_selection_screen_->InitEasyUnlock();
54 if (ScreenLocker::default_screen_locker()) { 55 if (ScreenLocker::default_screen_locker())
55 ScreenLocker::default_screen_locker()->delegate()->OnLockWebUIReady(); 56 ScreenLocker::default_screen_locker()->web_ui()->OnLockWebUIReady();
56 }
57 } 57 }
58 58
59 void SignInScreenController::RemoveUser(const AccountId& account_id) { 59 void SignInScreenController::RemoveUser(const AccountId& account_id) {
60 user_manager::UserManager::Get()->RemoveUser(account_id, this); 60 user_manager::UserManager::Get()->RemoveUser(account_id, this);
61 } 61 }
62 62
63 void SignInScreenController::OnBeforeUserRemoved(const AccountId& account_id) { 63 void SignInScreenController::OnBeforeUserRemoved(const AccountId& account_id) {
64 user_selection_screen_->OnBeforeUserRemoved(account_id); 64 user_selection_screen_->OnBeforeUserRemoved(account_id);
65 } 65 }
66 66
(...skipping 29 matching lines...) Expand all
96 return; 96 return;
97 } 97 }
98 if (type == chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED) { 98 if (type == chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED) {
99 user_selection_screen_->OnUserImageChanged( 99 user_selection_screen_->OnUserImageChanged(
100 *content::Details<user_manager::User>(details).ptr()); 100 *content::Details<user_manager::User>(details).ptr());
101 return; 101 return;
102 } 102 }
103 } 103 }
104 104
105 } // namespace chromeos 105 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/proxy_auth_dialog_browsertest.cc ('k') | chrome/browser/chromeos/login/ui/lock_window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698