[cros] Define session_manager component with SessionManager base class
SessionManager is responsible for performing Chrome OS-specific steps to re-launch user session (after crash/stub or in tests) or pre-session UI such as out-of-box or login. ChromeSessionManager is chrome/browser implementation of SessionManager. SessionManager is initialized with specific delegate that is reponsible for initial behavior. These delegates are introduced, see ChromeSessionManager::CreateSessionManager(): * LoginOobeSessionManagerDelegate - launches either out-of-box or login UI, actual branching still happens in ShowLoginWizard() * RestoreAfterCrashSessionManagerDelegate - responsible for re-launching Chrome into existing user session, happens after browser process crash or in "stub user" session. * StubLoginSessionManagerDelegate - starts "stub user" session, when executed on non-CrOS machine w/o parameters or in tests. Extends RestoreAfterCrashSessionManagerDelegate. * KioskAutoLauncherSessionManagerDelegate - automatically starts kiosk app session. Code move in ChromeBrowserMainPartsChromeos: * OptionallyRunChromeOSLoginManager() -> ChromeSessionManager::CreateSessionManager() * RunAutoLaunchKioskApp() -> KioskAutoLauncherSessionManagerDelegate * Session restore code in PostProfileInit() -> RestoreAfterCrashSessionManagerDelegate * Blocks in OptionallyRunChromeOSLoginManager -> to delegates. BUG=387610 Review URL: https://codereview.chromium.org/363613004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283437 0039d316-1c4b-4281-b951-d872f2087c98
Showing
Please register or sign in to comment