1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/chromeos/login/session/login_oobe_session_manager_delegate.h"
6
7#include "base/prefs/pref_service.h"
8#include "chrome/browser/browser_process.h"
9#include "chrome/browser/browser_process_platform_part_chromeos.h"
10#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.h"
11#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
12#include "chrome/browser/chromeos/login/login_wizard.h"
13#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
14#include "chrome/common/pref_names.h"
15
16namespace chromeos {
17
18LoginOobeSessionManagerDelegate::LoginOobeSessionManagerDelegate() {
19}
20
21LoginOobeSessionManagerDelegate::~LoginOobeSessionManagerDelegate() {
22}
23
24void LoginOobeSessionManagerDelegate::Start() {
25  // State will be defined once out-of-box/login branching is complete.
26  ShowLoginWizard(std::string());
27
28  if (KioskModeSettings::Get()->IsKioskModeEnabled())
29    InitializeKioskModeScreensaver();
30
31  // Reset reboot after update flag when login screen is shown.
32  policy::BrowserPolicyConnectorChromeOS* connector =
33      g_browser_process->platform_part()->browser_policy_connector_chromeos();
34  if (!connector->IsEnterpriseManaged()) {
35    PrefService* local_state = g_browser_process->local_state();
36    local_state->ClearPref(prefs::kRebootAfterUpdate);
37  }
38}
39
40}  // namespace chromeos
41