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/login_oobe_session_manager_delegate.h"
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/prefs/pref_service.h"
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/browser_process.h"
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/browser_process_platform_part_chromeos.h"
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.h"
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/chromeos/login/login_wizard.h"
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/common/pref_names.h"
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace chromeos {
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
18116680a4aac90f2aa7413d9095a592090648e557Ben MurdochLoginOobeSessionManagerDelegate::LoginOobeSessionManagerDelegate() {
19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
21116680a4aac90f2aa7413d9095a592090648e557Ben MurdochLoginOobeSessionManagerDelegate::~LoginOobeSessionManagerDelegate() {
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid LoginOobeSessionManagerDelegate::Start() {
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  // State will be defined once out-of-box/login branching is complete.
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  ShowLoginWizard(std::string());
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  if (KioskModeSettings::Get()->IsKioskModeEnabled())
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    InitializeKioskModeScreensaver();
30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  // Reset reboot after update flag when login screen is shown.
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  policy::BrowserPolicyConnectorChromeOS* connector =
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      g_browser_process->platform_part()->browser_policy_connector_chromeos();
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  if (!connector->IsEnterpriseManaged()) {
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    PrefService* local_state = g_browser_process->local_state();
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    local_state->ClearPref(prefs::kRebootAfterUpdate);
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  }
38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace chromeos
41