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 9fa3379e7c588df6554499c7e5edbd8decc78b39..bdb7a94387d5465e14912bc6bbb35a86c33f681c 100644 |
--- a/chrome/browser/chromeos/login/wizard_controller.cc |
+++ b/chrome/browser/chromeos/login/wizard_controller.cc |
@@ -80,13 +80,13 @@ class ContentView : public views::View { |
return false; |
if (accel == accel_account_screen_) { |
- controller->SetCurrentScreen(controller->GetAccountScreen()); |
+ controller->ShowAccountScreen(); |
} else if (accel == accel_login_screen_) { |
- controller->SetCurrentScreen(controller->GetLoginScreen()); |
+ controller->ShowLoginScreen(); |
} else if (accel == accel_network_screen_) { |
- controller->SetCurrentScreen(controller->GetNetworkScreen()); |
+ controller->ShowNetworkScreen(); |
} else if (accel == accel_update_screen_) { |
- controller->SetCurrentScreen(controller->GetUpdateScreen()); |
+ controller->ShowUpdateScreen(); |
} else { |
return false; |
} |
@@ -269,15 +269,24 @@ chromeos::UpdateScreen* WizardController::GetUpdateScreen() { |
return update_screen_.get(); |
} |
-void WizardController::SetCurrentScreen(WizardScreen* new_current) { |
- if (current_screen_) |
- current_screen_->Hide(); |
- current_screen_ = new_current; |
- if (current_screen_) { |
- current_screen_->Show(); |
- contents_->Layout(); |
- } |
- contents_->SchedulePaint(); |
+void WizardController::ShowNetworkScreen() { |
+ background_view_->SetStatusAreaVisible(false); |
+ SetCurrentScreen(GetNetworkScreen()); |
+} |
+ |
+void WizardController::ShowLoginScreen() { |
+ background_view_->SetStatusAreaVisible(true); |
+ SetCurrentScreen(GetLoginScreen()); |
+} |
+ |
+void WizardController::ShowAccountScreen() { |
+ background_view_->SetStatusAreaVisible(true); |
+ SetCurrentScreen(GetAccountScreen()); |
+} |
+ |
+void WizardController::ShowUpdateScreen() { |
+ background_view_->SetStatusAreaVisible(true); |
+ SetCurrentScreen(GetUpdateScreen()); |
} |
/////////////////////////////////////////////////////////////////////////////// |
@@ -288,31 +297,31 @@ void WizardController::OnLoginSignInSelected() { |
} |
void WizardController::OnLoginCreateAccount() { |
- SetCurrentScreen(GetAccountScreen()); |
+ ShowAccountScreen(); |
} |
void WizardController::OnNetworkConnected() { |
if (is_out_of_box_) { |
- SetCurrentScreen(GetUpdateScreen()); |
- update_screen_->StartUpdate(); |
+ ShowUpdateScreen(); |
+ GetUpdateScreen()->StartUpdate(); |
} else { |
- SetCurrentScreen(GetLoginScreen()); |
+ ShowLoginScreen(); |
} |
} |
void WizardController::OnNetworkOffline() { |
// TODO(dpolukhin): if(is_out_of_box_) we cannot work offline and |
// should report some error message here and stay on the same screen. |
- SetCurrentScreen(GetLoginScreen()); |
+ ShowLoginScreen(); |
} |
void WizardController::OnAccountCreateBack() { |
- SetCurrentScreen(GetLoginScreen()); |
+ ShowLoginScreen(); |
} |
void WizardController::OnAccountCreated() { |
+ ShowLoginScreen(); |
LoginScreen* login = GetLoginScreen(); |
- SetCurrentScreen(login); |
if (!username_.empty()) { |
login->view()->SetUsername(username_); |
if (!password_.empty()) { |
@@ -328,23 +337,34 @@ void WizardController::OnAccountCreated() { |
void WizardController::OnConnectionFailed() { |
// TODO(dpolukhin): show error message before going back to network screen. |
is_out_of_box_ = false; |
- SetCurrentScreen(GetNetworkScreen()); |
+ ShowNetworkScreen(); |
} |
void WizardController::OnUpdateCompleted() { |
- SetCurrentScreen(GetLoginScreen()); |
+ ShowLoginScreen(); |
} |
void WizardController::OnUpdateNetworkError() { |
// If network connection got interrupted while downloading the update, |
// return to network selection screen. |
// TODO(nkostylev): Show message to the user explaining update error. |
- SetCurrentScreen(GetNetworkScreen()); |
+ ShowNetworkScreen(); |
} |
/////////////////////////////////////////////////////////////////////////////// |
// WizardController, private: |
+void WizardController::SetCurrentScreen(WizardScreen* new_current) { |
+ if (current_screen_) |
+ current_screen_->Hide(); |
+ current_screen_ = new_current; |
+ if (current_screen_) { |
+ current_screen_->Show(); |
+ contents_->Layout(); |
+ } |
+ contents_->SchedulePaint(); |
+} |
+ |
void WizardController::OnSetUserNamePassword(const std::string& username, |
const std::string& password) { |
username_ = username; |
@@ -353,19 +373,19 @@ void WizardController::OnSetUserNamePassword(const std::string& username, |
void WizardController::ShowFirstScreen(const std::string& first_screen_name) { |
if (first_screen_name == kNetworkScreenName) { |
- SetCurrentScreen(GetNetworkScreen()); |
+ ShowNetworkScreen(); |
} else if (first_screen_name == kLoginScreenName) { |
- SetCurrentScreen(GetLoginScreen()); |
+ ShowLoginScreen(); |
} else if (first_screen_name == kAccountScreenName) { |
- SetCurrentScreen(GetAccountScreen()); |
+ ShowAccountScreen(); |
} else if (first_screen_name == kUpdateScreenName) { |
- SetCurrentScreen(GetUpdateScreen()); |
- update_screen_->StartUpdate(); |
+ ShowUpdateScreen(); |
+ GetUpdateScreen()->StartUpdate(); |
} else if (first_screen_name != kTestNoScreenName) { |
if (is_out_of_box_) { |
- SetCurrentScreen(GetNetworkScreen()); |
+ ShowNetworkScreen(); |
} else { |
- SetCurrentScreen(GetLoginScreen()); |
+ ShowLoginScreen(); |
} |
} |
} |