| 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 72cf58859dde570aa0e69b328b9ac2d76475d2ba..df3c123f92ee65149cf5cb31eb680d00b431eca2 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/oobe";
|
| // URL which corresponds to the user adding WebUI.
|
| const char kUserAddingURL[] = "chrome://oobe/user-adding";
|
|
|
| +// URL which corresponds to the app launch splash WebUI.
|
| +const char kAppLaunchSplashURL[] = "chrome://oobe/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
|
|
|
| @@ -875,13 +893,23 @@ void ShowLoginWizard(const std::string& first_screen_name) {
|
| LoginState::Get()->SetLoggedInState(
|
| LoginState::LOGGED_IN_NONE, LoginState::LOGGED_IN_USER_NONE);
|
| }
|
| +
|
| + LoginDisplayHost* display_host = new LoginDisplayHostImpl(screen_bounds);
|
| +
|
| + 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;
|
|
|
| - chromeos::LoginDisplayHost* display_host =
|
| - new chromeos::LoginDisplayHostImpl(screen_bounds);
|
| -
|
| 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.
|
|
|