1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/chromeos/login/session/kiosk_auto_launcher_session_manager_delegate.h"
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/logging.h"
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/chromeos/login/login_wizard.h"
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/chromeos/login/wizard_controller.h"
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chromeos/dbus/dbus_thread_manager.h"
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chromeos/dbus/session_manager_client.h"
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace chromeos {
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
15116680a4aac90f2aa7413d9095a592090648e557Ben MurdochKioskAutoLauncherSessionManagerDelegate::
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    KioskAutoLauncherSessionManagerDelegate() {
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
19116680a4aac90f2aa7413d9095a592090648e557Ben MurdochKioskAutoLauncherSessionManagerDelegate::
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    ~KioskAutoLauncherSessionManagerDelegate() {
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid KioskAutoLauncherSessionManagerDelegate::Start() {
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  // Kiosk app launcher starts with login state.
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  session_manager_->SetSessionState(
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      session_manager::SESSION_STATE_LOGIN_PRIMARY);
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  ShowLoginWizard(chromeos::WizardController::kAppLaunchSplashScreenName);
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  // Login screen is skipped but 'login-prompt-visible' signal is still needed.
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  VLOG(1) << "Kiosk app auto launch >> login-prompt-visible";
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  DBusThreadManager::Get()->GetSessionManagerClient()->EmitLoginPromptVisible();
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace chromeos
36