Index: chrome/browser/chromeos/login/wizard_controller.cc |
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc |
index a3b7efdb3d0e76d8177fec4b082f4dddd572eba1..26c33e647905c99f4498065e1d0b69ed488df63a 100644 |
--- a/chrome/browser/chromeos/login/wizard_controller.cc |
+++ b/chrome/browser/chromeos/login/wizard_controller.cc |
@@ -32,7 +32,6 @@ |
#include "chrome/browser/chromeos/login/helper.h" |
#include "chrome/browser/chromeos/login/html_page_screen.h" |
#include "chrome/browser/chromeos/login/language_switch_menu.h" |
-#include "chrome/browser/chromeos/login/login_screen.h" |
#include "chrome/browser/chromeos/login/login_utils.h" |
#include "chrome/browser/chromeos/login/network_screen.h" |
#include "chrome/browser/chromeos/login/registration_screen.h" |
@@ -260,7 +259,6 @@ WizardController::WizardController() |
is_official_build_(false), |
#endif |
is_out_of_box_(false), |
- is_test_mode_(false), |
observer_(NULL) { |
DCHECK(default_controller_ == NULL); |
default_controller_ = this; |
@@ -346,12 +344,6 @@ chromeos::NetworkScreen* WizardController::GetNetworkScreen() { |
return network_screen_.get(); |
} |
-chromeos::LoginScreen* WizardController::GetLoginScreen() { |
- if (!login_screen_.get()) |
- login_screen_.reset(new chromeos::LoginScreen(this)); |
- return login_screen_.get(); |
-} |
- |
chromeos::AccountScreen* WizardController::GetAccountScreen() { |
if (!account_screen_.get()) |
account_screen_.reset(new chromeos::AccountScreen(this)); |
@@ -414,30 +406,23 @@ chromeos::ExistingUserController* WizardController::ShowLoginScreen() { |
// Initiate services customization. |
chromeos::ApplyServicesCustomization::StartIfNeeded(); |
- // When run under automation test show plain login screen. |
- if (!is_test_mode_ && |
- chromeos::CrosLibrary::Get()->EnsureLoaded() && |
- CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kEnableLoginImages)) { |
- std::vector<chromeos::UserManager::User> users = |
- chromeos::UserManager::Get()->GetUsers(); |
- // ExistingUserController deletes itself. |
- gfx::Rect screen_bounds; |
- background_widget_->GetBounds(&screen_bounds, true); |
- chromeos::ExistingUserController* controller = |
- new chromeos::ExistingUserController(users, screen_bounds); |
- controller->OwnBackground(background_widget_, background_view_); |
- controller->Init(); |
- background_widget_ = NULL; |
- background_view_ = NULL; |
- |
- MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
- |
- return controller; |
- } |
+ std::vector<chromeos::UserManager::User> users; |
+ if (chromeos::CrosLibrary::Get()->EnsureLoaded()) |
+ users = chromeos::UserManager::Get()->GetUsers(); |
+ |
+ // ExistingUserController deletes itself. |
+ gfx::Rect screen_bounds; |
+ background_widget_->GetBounds(&screen_bounds, true); |
+ chromeos::ExistingUserController* controller = |
+ new chromeos::ExistingUserController(users, screen_bounds); |
+ controller->OwnBackground(background_widget_, background_view_); |
+ controller->Init(); |
+ background_widget_ = NULL; |
+ background_view_ = NULL; |
- SetCurrentScreen(GetLoginScreen()); |
- return NULL; |
+ MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
+ |
+ return controller; |
} |
void WizardController::ShowAccountScreen() { |
@@ -539,26 +524,6 @@ void WizardController::RegisterPrefs(PrefService* local_state) { |
/////////////////////////////////////////////////////////////////////////////// |
// WizardController, ExitHandlers: |
-void WizardController::OnLoginSignInSelected() { |
- // Don't show user image screen in case of automated testing. |
- if (is_test_mode_) { |
- MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
- return; |
- } |
- // Don't launch browser until we pass image screen. |
- chromeos::LoginUtils::Get()->EnableBrowserLaunch(false); |
- ShowUserImageScreen(); |
-} |
- |
-void WizardController::OnLoginGuestUser() { |
- // We're on the stack, so don't try and delete us now. |
- MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
-} |
- |
-void WizardController::OnLoginCreateAccount() { |
- ShowAccountScreen(); |
-} |
- |
void WizardController::OnNetworkConnected() { |
if (is_official_build_) { |
if (!IsEulaAccepted()) { |
@@ -583,16 +548,14 @@ void WizardController::OnNetworkOffline() { |
void WizardController::OnAccountCreateBack() { |
chromeos::ExistingUserController* controller = ShowLoginScreen(); |
- if (controller) |
- controller->SelectNewUser(); |
+ DCHECK(controller); |
+ controller->SelectNewUser(); |
} |
void WizardController::OnAccountCreated() { |
chromeos::ExistingUserController* controller = ShowLoginScreen(); |
- if (controller) |
- controller->LoginNewUser(username_, password_); |
- else |
- Login(username_, password_); |
+ DCHECK(controller); |
+ controller->LoginNewUser(username_, password_); |
// TODO(dpolukhin): clear password memory for real. Now it is not |
// a problem because we can't extract password from the form. |
password_.clear(); |
@@ -762,8 +725,6 @@ void WizardController::ShowFirstScreen(const std::string& first_screen_name) { |
if (first_screen_name == kNetworkScreenName) { |
ShowNetworkScreen(); |
} else if (first_screen_name == kLoginScreenName) { |
- // This flag is passed if we're running under automation test. |
- is_test_mode_ = true; |
ShowLoginScreen(); |
} else if (first_screen_name == kAccountScreenName) { |
ShowAccountScreen(); |
@@ -791,19 +752,6 @@ void WizardController::ShowFirstScreen(const std::string& first_screen_name) { |
} |
} |
-void WizardController::Login(const std::string& username, |
- const std::string& password) { |
- chromeos::LoginScreen* login = GetLoginScreen(); |
- if (username.empty()) |
- return; |
- login->view()->SetUsername(username); |
- |
- if (password.empty()) |
- return; |
- login->view()->SetPassword(password); |
- login->view()->Login(); |
-} |
- |
// static |
bool WizardController::IsEulaAccepted() { |
return g_browser_process->local_state()->GetBoolean(kEulaAccepted); |
@@ -847,8 +795,9 @@ void WizardController::MarkDeviceRegistered() { |
// Create flag file for boot-time init scripts. |
FilePath oobe_complete_path(kOobeCompleteFlagFilePath); |
FILE* oobe_flag_file = file_util::OpenFile(oobe_complete_path, "w+b"); |
- DCHECK(oobe_flag_file != NULL) << kOobeCompleteFlagFilePath; |
- if (oobe_flag_file != NULL) |
+ if (oobe_flag_file == NULL) |
+ DLOG(WARNING) << kOobeCompleteFlagFilePath << " doesn't exist."; |
+ else |
file_util::CloseFile(oobe_flag_file); |
} |
@@ -857,15 +806,6 @@ void WizardController::MarkDeviceRegistered() { |
void WizardController::OnExit(ExitCodes exit_code) { |
LOG(INFO) << "Wizard screen exit code: " << exit_code; |
switch (exit_code) { |
- case LOGIN_SIGN_IN_SELECTED: |
- OnLoginSignInSelected(); |
- break; |
- case LOGIN_GUEST_SELECTED: |
- OnLoginGuestUser(); |
- break; |
- case LOGIN_CREATE_ACCOUNT: |
- OnLoginCreateAccount(); |
- break; |
case NETWORK_CONNECTED: |
OnNetworkConnected(); |
break; |
@@ -960,18 +900,17 @@ void ShowLoginWizard(const std::string& first_screen_name, |
// Check whether we need to execute OOBE process. |
bool oobe_complete = WizardController::IsOobeCompleted(); |
+ bool show_login_screen = |
+ (first_screen_name.empty() && oobe_complete) || |
+ first_screen_name == WizardController::kLoginScreenName; |
- if (first_screen_name.empty() && |
- oobe_complete && |
- chromeos::CrosLibrary::Get()->EnsureLoaded() && |
- CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kEnableLoginImages)) { |
+ if (show_login_screen && chromeos::CrosLibrary::Get()->EnsureLoaded()) { |
std::vector<chromeos::UserManager::User> users = |
chromeos::UserManager::Get()->GetUsers(); |
// Fix for users who updated device and thus never passed register screen. |
- // If we already have user we assume that it is not a second part of OOBE. |
- // See http://crosbug.com/6289 |
+ // If we already have users, we assume that it is not a second part of |
+ // OOBE. See http://crosbug.com/6289 |
if (!WizardController::IsDeviceRegistered() && !users.empty()) { |
VLOG(1) << "Mark device registered because there are remembered users: " |
<< users.size(); |