Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / ui / webui / chromeos / login / kiosk_enable_screen_handler.h
blob4d8b6f44f459dc276d52e63ca17454213625f287
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"
14 namespace chromeos {
16 // WebUI implementation of KioskEnableScreenActor.
17 class KioskEnableScreenHandler : public KioskEnableScreenActor,
18 public BaseScreenHandler {
19 public:
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;
34 private:
35 // JS messages handlers.
36 void HandleOnClose();
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);
46 Delegate* delegate_;
48 // Keeps whether screen should be shown right after initialization.
49 bool show_on_init_;
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_