Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h

Issue 2498613003: Add ARC++ kiosk menu items and ability to start kiosk session. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing comments + unit test build fix. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_KIOSK_APP_MENU_HANDLER_H_ 5 #ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_KIOSK_APP_MENU_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_KIOSK_APP_MENU_HANDLER_H_ 6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_KIOSK_APP_MENU_HANDLER_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 10
11 #include "base/compiler_specific.h" 11 #include "base/compiler_specific.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/memory/weak_ptr.h" 13 #include "base/memory/weak_ptr.h"
14 #include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h"
14 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" 15 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
15 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager_observer.h" 16 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager_observer.h"
16 #include "chrome/browser/chromeos/login/screens/network_error.h" 17 #include "chrome/browser/chromeos/login/screens/network_error.h"
17 #include "chrome/browser/ui/webui/chromeos/login/network_state_informer.h" 18 #include "chrome/browser/ui/webui/chromeos/login/network_state_informer.h"
18 #include "content/public/browser/web_ui_message_handler.h" 19 #include "content/public/browser/web_ui_message_handler.h"
19 20
20 namespace chromeos { 21 namespace chromeos {
21 22
22 // KioskAppMenuHandler supplies kiosk apps data to apps menu on sign-in 23 // KioskAppMenuHandler supplies kiosk apps data to apps menu on sign-in
23 // screen when app mode is enabled and handles "launchKioskApp" request 24 // screen when app mode is enabled and handles "launchKioskApp" request
24 // from the apps menu. 25 // from the apps menu.
25 class KioskAppMenuHandler 26 class KioskAppMenuHandler
26 : public content::WebUIMessageHandler, 27 : public content::WebUIMessageHandler,
27 public KioskAppManagerObserver, 28 public KioskAppManagerObserver,
28 public NetworkStateInformer::NetworkStateInformerObserver { 29 public NetworkStateInformer::NetworkStateInformerObserver,
30 public ArcKioskAppManager::ArcKioskAppManagerObserver {
29 public: 31 public:
30 explicit KioskAppMenuHandler( 32 explicit KioskAppMenuHandler(
31 const scoped_refptr<NetworkStateInformer>& network_state_informer); 33 const scoped_refptr<NetworkStateInformer>& network_state_informer);
32 ~KioskAppMenuHandler() override; 34 ~KioskAppMenuHandler() override;
33 35
34 void GetLocalizedStrings(base::DictionaryValue* localized_strings); 36 void GetLocalizedStrings(base::DictionaryValue* localized_strings);
35 37
36 // content::WebUIMessageHandler overrides: 38 // content::WebUIMessageHandler overrides:
37 void RegisterMessages() override; 39 void RegisterMessages() override;
38 40
(...skipping 10 matching lines...) Expand all
49 void HandleCheckKioskAppLaunchError(const base::ListValue* args); 51 void HandleCheckKioskAppLaunchError(const base::ListValue* args);
50 52
51 // KioskAppManagerObserver overrides: 53 // KioskAppManagerObserver overrides:
52 void OnKioskAppsSettingsChanged() override; 54 void OnKioskAppsSettingsChanged() override;
53 void OnKioskAppDataChanged(const std::string& app_id) override; 55 void OnKioskAppDataChanged(const std::string& app_id) override;
54 void OnKioskAppDataLoadFailure(const std::string& app_id) override; 56 void OnKioskAppDataLoadFailure(const std::string& app_id) override;
55 57
56 // NetworkStateInformer::NetworkStateInformerObserver overrides: 58 // NetworkStateInformer::NetworkStateInformerObserver overrides:
57 void UpdateState(NetworkError::ErrorReason reason) override; 59 void UpdateState(NetworkError::ErrorReason reason) override;
58 60
61 // ArcKioskAppManager::ArcKioskAppManagerObserver overrides:
62 void OnArcKioskAppsChanged() override;
63
59 // True when WebUI is initialized. Otherwise don't allow calling JS functions. 64 // True when WebUI is initialized. Otherwise don't allow calling JS functions.
60 bool is_webui_initialized_; 65 bool is_webui_initialized_;
61 66
62 scoped_refptr<NetworkStateInformer> network_state_informer_; 67 scoped_refptr<NetworkStateInformer> network_state_informer_;
63 68
64 base::WeakPtrFactory<KioskAppMenuHandler> weak_ptr_factory_; 69 base::WeakPtrFactory<KioskAppMenuHandler> weak_ptr_factory_;
65 70
66 DISALLOW_COPY_AND_ASSIGN(KioskAppMenuHandler); 71 DISALLOW_COPY_AND_ASSIGN(KioskAppMenuHandler);
67 }; 72 };
68 73
69 } // namespace chromeos 74 } // namespace chromeos
70 75
71 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_KIOSK_APP_MENU_HANDLER_H_ 76 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_KIOSK_APP_MENU_HANDLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698