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.
5 #ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_KIOSK_ENABLE_SCREEN_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_KIOSK_ENABLE_SCREEN_HANDLER_H_
8 #include "base/compiler_specific.h"
9 #include "base/memory/weak_ptr.h"
10 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
11 #include "chrome/browser/chromeos/login/screens/kiosk_enable_screen_actor.h"
12 #include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
16 // WebUI implementation of KioskEnableScreenActor.
17 class KioskEnableScreenHandler
: public KioskEnableScreenActor
,
18 public BaseScreenHandler
{
20 KioskEnableScreenHandler();
21 virtual ~KioskEnableScreenHandler();
23 // KioskEnableScreenActor implementation:
24 virtual void Show() OVERRIDE
;
25 virtual void SetDelegate(Delegate
* delegate
) OVERRIDE
;
27 // BaseScreenHandler implementation:
28 virtual void DeclareLocalizedValues(LocalizedValuesBuilder
* builder
) OVERRIDE
;
29 virtual void Initialize() OVERRIDE
;
31 // WebUIMessageHandler implementation:
32 virtual void RegisterMessages() OVERRIDE
;
35 // JS messages handlers.
37 void HandleOnEnable();
39 // Callback for KioskAppManager::EnableConsumerModeKiosk().
40 void OnEnableConsumerModeKiosk(bool success
);
42 // Callback for KioskAppManager::GetConsumerKioskModeStatus().
43 void OnGetConsumerKioskModeStatus(
44 KioskAppManager::ConsumerKioskModeStatus status
);
48 // Keeps whether screen should be shown right after initialization.
51 // True if machine's consumer kiosk mode is in a configurable state.
52 bool is_configurable_
;
54 base::WeakPtrFactory
<KioskEnableScreenHandler
> weak_ptr_factory_
;
56 DISALLOW_COPY_AND_ASSIGN(KioskEnableScreenHandler
);
59 } // namespace chromeos
61 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_KIOSK_ENABLE_SCREEN_HANDLER_H_