Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Unified Diff: chrome/browser/chromeos/login/login_display_host_impl.cc

Issue 22914008: Refactor kiosk app launch to be part of login screen UI flow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.
« no previous file with comments | « chrome/browser/chromeos/login/login_display_host_impl.h ('k') | chrome/browser/chromeos/login/mock_login_display_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698