| Index: chrome/browser/chromeos/login/session/chrome_session_manager.cc
|
| diff --git a/chrome/browser/chromeos/login/session/chrome_session_manager.cc b/chrome/browser/chromeos/login/session/chrome_session_manager.cc
|
| index 26fde418705d60e3e7ebb7241cb03b33e5c79d7a..12883514499592429aab5041db8c429c733a5aa6 100644
|
| --- a/chrome/browser/chromeos/login/session/chrome_session_manager.cc
|
| +++ b/chrome/browser/chromeos/login/session/chrome_session_manager.cc
|
| @@ -12,10 +12,10 @@
|
| #include "chrome/browser/chrome_notification_types.h"
|
| #include "chrome/browser/chromeos/app_mode/kiosk_app_launch_error.h"
|
| #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
|
| -#include "chrome/browser/chromeos/login/session/kiosk_auto_launcher_session_manager_delegate.h"
|
| -#include "chrome/browser/chromeos/login/session/login_oobe_session_manager_delegate.h"
|
| -#include "chrome/browser/chromeos/login/session/restore_after_crash_session_manager_delegate.h"
|
| -#include "chrome/browser/chromeos/login/session/stub_login_session_manager_delegate.h"
|
| +#include "chrome/browser/chromeos/login/session/kiosk_auto_launcher_session_initializer.h"
|
| +#include "chrome/browser/chromeos/login/session/login_oobe_session_initializer.h"
|
| +#include "chrome/browser/chromeos/login/session/restore_after_crash_session_initializer.h"
|
| +#include "chrome/browser/chromeos/login/session/stub_session_initializer.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chromeos/chromeos_switches.h"
|
| #include "chromeos/cryptohome/cryptohome_parameters.h"
|
| @@ -38,9 +38,10 @@ bool ShouldAutoLaunchKioskApp(const base::CommandLine& command_line) {
|
|
|
| } // namespace
|
|
|
| -// static
|
| -std::unique_ptr<session_manager::SessionManager>
|
| -ChromeSessionManager::CreateSessionManager(
|
| +ChromeSessionManager::ChromeSessionManager() {}
|
| +ChromeSessionManager::~ChromeSessionManager() {}
|
| +
|
| +void ChromeSessionManager::Initialize(
|
| const base::CommandLine& parsed_command_line,
|
| Profile* profile,
|
| bool is_running_test) {
|
| @@ -58,42 +59,35 @@ ChromeSessionManager::CreateSessionManager(
|
| KioskAppManager::RemoveObsoleteCryptohomes();
|
|
|
| if (ShouldAutoLaunchKioskApp(parsed_command_line)) {
|
| - VLOG(1) << "Starting Chrome with KioskAutoLauncherSessionManagerDelegate";
|
| - return std::unique_ptr<session_manager::SessionManager>(
|
| - new ChromeSessionManager(
|
| - new KioskAutoLauncherSessionManagerDelegate()));
|
| - } else if (parsed_command_line.HasSwitch(switches::kLoginManager) &&
|
| - (!is_running_test || force_login_screen_in_test)) {
|
| - VLOG(1) << "Starting Chrome with LoginOobeSessionManagerDelegate";
|
| - return std::unique_ptr<session_manager::SessionManager>(
|
| - new ChromeSessionManager(new LoginOobeSessionManagerDelegate()));
|
| - } else if (!base::SysInfo::IsRunningOnChromeOS() &&
|
| - login_account_id == login::StubAccountId()) {
|
| - VLOG(1) << "Starting Chrome with StubLoginSessionManagerDelegate";
|
| - return std::unique_ptr<session_manager::SessionManager>(
|
| - new ChromeSessionManager(new StubLoginSessionManagerDelegate(
|
| - profile, login_account_id.GetUserEmail())));
|
| - } else {
|
| - VLOG(1) << "Starting Chrome with RestoreAfterCrashSessionManagerDelegate";
|
| - // Restarting Chrome inside existing user session. Possible cases:
|
| - // 1. Chrome is restarted after crash.
|
| - // 2. Chrome is restarted for Guest session.
|
| - // 3. Chrome is started in browser_tests skipping the login flow.
|
| - // 4. Chrome is started on dev machine i.e. not on Chrome OS device w/o
|
| - // login flow. In that case --login-user=[chromeos::login::kStubUser] is
|
| - // added. See PreEarlyInitialization().
|
| - return std::unique_ptr<session_manager::SessionManager>(
|
| - new ChromeSessionManager(new RestoreAfterCrashSessionManagerDelegate(
|
| - profile, login_account_id.GetUserEmail())));
|
| + VLOG(1) << "Starting Chrome with KioskAutoLauncherSessionInitializer";
|
| + KioskAutoLauncherSessionInitializer().Start();
|
| + return;
|
| }
|
| -}
|
|
|
| -ChromeSessionManager::ChromeSessionManager(
|
| - session_manager::SessionManagerDelegate* delegate) {
|
| - Initialize(delegate);
|
| -}
|
| + if (parsed_command_line.HasSwitch(switches::kLoginManager) &&
|
| + (!is_running_test || force_login_screen_in_test)) {
|
| + VLOG(1) << "Starting Chrome with LoginOobeSessionInitializer";
|
| + LoginOobeSessionInitializer().Start();
|
| + return;
|
| + }
|
| +
|
| + if (!base::SysInfo::IsRunningOnChromeOS() &&
|
| + login_account_id == login::StubAccountId()) {
|
| + VLOG(1) << "Starting Chrome with StubSessionInitializer";
|
| + StubSessionInitializer(profile, login_account_id.GetUserEmail()).Start();
|
| + return;
|
| + }
|
|
|
| -ChromeSessionManager::~ChromeSessionManager() {
|
| + VLOG(1) << "Starting Chrome with RestoreAfterCrashSessionInitializer";
|
| + // Restarting Chrome inside existing user session. Possible cases:
|
| + // 1. Chrome is restarted after crash.
|
| + // 2. Chrome is restarted for Guest session.
|
| + // 3. Chrome is started in browser_tests skipping the login flow.
|
| + // 4. Chrome is started on dev machine i.e. not on Chrome OS device w/o
|
| + // login flow. In that case --login-user=[chromeos::login::kStubUser] is
|
| + // added. See PreEarlyInitialization().
|
| + RestoreAfterCrashSessionInitializer(profile, login_account_id.GetUserEmail())
|
| + .Start();
|
| }
|
|
|
| void ChromeSessionManager::SessionStarted() {
|
|
|