1// Copyright 2013 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/screens/kiosk_autolaunch_screen.h"
6
7#include "base/logging.h"
8#include "chrome/browser/chromeos/customization_document.h"
9#include "chrome/browser/chromeos/login/screens/screen_observer.h"
10#include "chrome/browser/chromeos/login/wizard_controller.h"
11
12namespace chromeos {
13
14KioskAutolaunchScreen::KioskAutolaunchScreen(ScreenObserver* observer,
15                                             KioskAutolaunchScreenActor* actor)
16    : WizardScreen(observer), actor_(actor) {
17  DCHECK(actor_);
18  if (actor_)
19    actor_->SetDelegate(this);
20}
21
22KioskAutolaunchScreen::~KioskAutolaunchScreen() {
23  if (actor_)
24    actor_->SetDelegate(NULL);
25}
26
27void KioskAutolaunchScreen::Show() {
28  if (actor_)
29    actor_->Show();
30}
31
32std::string KioskAutolaunchScreen::GetName() const {
33  return WizardController::kKioskAutolaunchScreenName;
34}
35
36void KioskAutolaunchScreen::OnExit(bool confirmed) {
37  get_screen_observer()->OnExit(
38      confirmed ? ScreenObserver::KIOSK_AUTOLAUNCH_CONFIRMED :
39                  ScreenObserver::KIOSK_AUTOLAUNCH_CANCELED);
40}
41
42void KioskAutolaunchScreen::OnActorDestroyed(
43    KioskAutolaunchScreenActor* actor) {
44  if (actor_ == actor)
45    actor_ = NULL;
46}
47
48}  // namespace chromeos
49