Chromium Code Reviews| Index: chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
| diff --git a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
| index b8af080d9695ef9fc214f227832bee6448916d8f..cfecb722ddb03ce4853aa1b9f126f435755d5e25 100644 |
| --- a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
| +++ b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
| @@ -177,7 +177,7 @@ void KioskModeScreensaver::SetupScreensaver( |
| extension_base_path_ = extension_base_path; |
| // If the user is already logged in, don't need to display the screensaver. |
| - if (chromeos::UserManager::Get()->IsUserLoggedIn()) |
| + if (chromeos::UserManager::Get()->IsSessionStarted()) |
|
Nikita (slow)
2012/11/07 10:51:37
Difference between these two is that IsSessionStar
rkc
2012/11/07 20:25:02
IsSessionStarted seemed more appropriate (since it
|
| return; |
| ash::Shell::GetInstance()->user_activity_detector()->AddObserver(this); |
| @@ -199,15 +199,16 @@ void KioskModeScreensaver::OnUserActivity() { |
| ash::Shell::GetInstance()->user_activity_detector()->RemoveObserver(this); |
| // Find the retail mode login page. |
| - CHECK(WebUILoginDisplayHost::default_host()); |
| - WebUILoginDisplayHost* webui_host = |
| - static_cast<WebUILoginDisplayHost*>( |
| - WebUILoginDisplayHost::default_host()); |
| - OobeUI* oobe_ui = webui_host->GetOobeUI(); |
| - |
| - // Show the login spinner. |
| - CHECK(oobe_ui); |
| - oobe_ui->ShowRetailModeLoginSpinner(); |
| + if (WebUILoginDisplayHost::default_host()) { |
|
Nikita (slow)
2012/11/07 10:51:37
If default_host is gone now I believe login alread
rkc
2012/11/07 20:25:02
If you're certain that is the only case that the d
|
| + WebUILoginDisplayHost* webui_host = |
| + static_cast<WebUILoginDisplayHost*>( |
| + WebUILoginDisplayHost::default_host()); |
| + OobeUI* oobe_ui = webui_host->GetOobeUI(); |
| + |
| + // Show the login spinner. |
| + if (oobe_ui) |
| + oobe_ui->ShowRetailModeLoginSpinner(); |
| + } |
| // Close the screensaver, our login spinner is already showing. |
| ash::CloseScreensaver(); |
| @@ -215,8 +216,8 @@ void KioskModeScreensaver::OnUserActivity() { |
| // Log us in. |
| ExistingUserController* controller = |
| ExistingUserController::current_controller(); |
| - CHECK(controller); |
| - controller->LoginAsDemoUser(); |
| + if (controller && !chromeos::UserManager::Get()->IsSessionStarted()) |
| + controller->LoginAsDemoUser(); |
| ShutdownKioskModeScreensaver(); |
| } |