Chromium Code Reviews| Index: chrome/browser/chromeos/login/login_display_host_impl.cc |
| diff --git a/chrome/browser/chromeos/login/login_display_host_impl.cc b/chrome/browser/chromeos/login/login_display_host_impl.cc |
| index 4148d9c9e16969b4f100ebbc34dd9e19abb63323..f9db777da4555c21a352323f54d8d931e298d027 100644 |
| --- a/chrome/browser/chromeos/login/login_display_host_impl.cc |
| +++ b/chrome/browser/chromeos/login/login_display_host_impl.cc |
| @@ -23,6 +23,7 @@ |
| #include "chrome/browser/browser_process.h" |
| #include "chrome/browser/browser_shutdown.h" |
| #include "chrome/browser/chrome_notification_types.h" |
| +#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" |
| #include "chrome/browser/chromeos/customization_document.h" |
| #include "chrome/browser/chromeos/input_method/input_method_util.h" |
| #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h" |
| @@ -85,6 +86,9 @@ const char kOobeURL[] = "chrome://oobe#login"; |
| // URL which corresponds to the user adding WebUI. |
| const char kUserAddingURL[] = "chrome://oobe/login#user-adding"; |
| +// URL which corresponds to the app launch splash WebUI. |
| +const char kAppLaunchSplashURL[] = "chrome://oobe/login#app-launch-splash"; |
| + |
| // Duration of sign-in transition animation. |
| const int kLoginFadeoutTransitionDurationMs = 700; |
| @@ -509,6 +513,20 @@ void LoginDisplayHostImpl::PrewarmAuthentication() { |
| pointer_factory_.GetWeakPtr())); |
| } |
| +void LoginDisplayHostImpl::StartAppLaunch(const std::string& app_id) { |
| + LOG(WARNING) << "Login WebUI >> start app launch"; |
| + SetStatusAreaVisible(false); |
| + if (!login_window_) |
| + LoadURL(GURL(kAppLaunchSplashURL)); |
| + |
| + login_view_->set_should_emit_login_prompt_visible(false); |
| + |
| + app_launch_controller_.reset(new AppLaunchController( |
| + app_id, this, GetOobeUI())); |
| + |
| + app_launch_controller_->StartAppLaunch(); |
| +} |
| + |
| //////////////////////////////////////////////////////////////////////////////// |
| // LoginDisplayHostImpl, public |
| @@ -868,13 +886,24 @@ void ShowLoginWizard(const std::string& first_screen_name) { |
| LoginState::Get()->SetLoggedInState( |
| LoginState::LOGGED_IN_NONE, LoginState::LOGGED_IN_USER_NONE); |
| } |
| - bool show_login_screen = |
| - (first_screen_name.empty() && oobe_complete) || |
| - first_screen_name == chromeos::WizardController::kLoginScreenName; |
| chromeos::LoginDisplayHost* display_host = |
| new chromeos::LoginDisplayHostImpl(screen_bounds); |
|
xiyuan
2013/08/15 18:19:42
nit: chromeos:: is not needed.
Tim Song
2013/08/16 19:07:59
Done.
|
| + bool show_app_launch_splash_screen = (first_screen_name == |
| + chromeos::WizardController::kAppLaunchSplashScreenName); |
| + |
| + if (show_app_launch_splash_screen) { |
| + const std::string& auto_launch_app_id = |
| + chromeos::KioskAppManager::Get()->GetAutoLaunchApp(); |
| + display_host->StartAppLaunch(auto_launch_app_id); |
| + return; |
| + } |
| + |
| + bool show_login_screen = |
| + (first_screen_name.empty() && oobe_complete) || |
| + first_screen_name == chromeos::WizardController::kLoginScreenName; |
| + |
| if (show_login_screen) { |
| // R11 > R12 migration fix. See http://crosbug.com/p/4898. |
| // If user has manually changed locale during R11 OOBE, locale will be set. |