OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_OOBE_UI_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_UI_H_ |
6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_UI_H_ | 6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_UI_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 namespace ash { | 22 namespace ash { |
23 class ScreenDimmer; | 23 class ScreenDimmer; |
24 } | 24 } |
25 | 25 |
26 namespace base { | 26 namespace base { |
27 class DictionaryValue; | 27 class DictionaryValue; |
28 } // namespace base | 28 } // namespace base |
29 | 29 |
30 namespace chromeos { | 30 namespace chromeos { |
31 class AppLaunchSplashScreenActor; | 31 class AppLaunchSplashScreenView; |
32 class ArcKioskSplashScreenActor; | 32 class ArcKioskSplashScreenView; |
33 class ArcTermsOfServiceScreenActor; | 33 class ArcTermsOfServiceScreenView; |
34 class AutoEnrollmentCheckScreenActor; | 34 class AutoEnrollmentCheckScreenView; |
35 class BaseScreenHandler; | 35 class BaseScreenHandler; |
36 class ControllerPairingScreenActor; | 36 class ControllerPairingScreenView; |
37 class CoreOobeActor; | 37 class CoreOobeView; |
38 class DeviceDisabledScreenActor; | 38 class DeviceDisabledScreenView; |
39 class EnableDebuggingScreenActor; | 39 class EnableDebuggingScreenView; |
40 class EnrollmentScreenActor; | 40 class EnrollmentScreenView; |
41 class EulaView; | 41 class EulaView; |
42 class ErrorScreen; | 42 class ErrorScreen; |
43 class ErrorScreenHandler; | 43 class ErrorScreenHandler; |
44 class GaiaScreenHandler; | 44 class GaiaScreenHandler; |
45 class HIDDetectionView; | 45 class HIDDetectionView; |
46 class HostPairingScreenActor; | 46 class HostPairingScreenView; |
47 class KioskAppMenuHandler; | 47 class KioskAppMenuHandler; |
48 class KioskAutolaunchScreenActor; | 48 class KioskAutolaunchScreenView; |
49 class KioskEnableScreenActor; | 49 class KioskEnableScreenView; |
50 class LoginScreenContext; | 50 class LoginScreenContext; |
51 class NativeWindowDelegate; | 51 class NativeWindowDelegate; |
52 class NetworkDropdownHandler; | 52 class NetworkDropdownHandler; |
53 class NetworkStateInformer; | 53 class NetworkStateInformer; |
54 class NetworkView; | 54 class NetworkView; |
55 class SigninScreenHandler; | 55 class SigninScreenHandler; |
56 class SigninScreenHandlerDelegate; | 56 class SigninScreenHandlerDelegate; |
57 class SupervisedUserCreationScreenHandler; | 57 class SupervisedUserCreationScreenHandler; |
58 class ResetView; | 58 class ResetView; |
59 class TermsOfServiceScreenActor; | 59 class TermsOfServiceScreenView; |
60 class UserBoardScreenHandler; | 60 class UserBoardScreenHandler; |
61 class UserBoardView; | 61 class UserBoardView; |
62 class UserImageView; | 62 class UserImageView; |
63 class UpdateView; | 63 class UpdateView; |
64 class WrongHWIDScreenActor; | 64 class WrongHWIDScreenView; |
65 | 65 |
66 // A custom WebUI that defines datasource for out-of-box-experience (OOBE) UI: | 66 // A custom WebUI that defines datasource for out-of-box-experience (OOBE) UI: |
67 // - welcome screen (setup language/keyboard/network). | 67 // - welcome screen (setup language/keyboard/network). |
68 // - eula screen (CrOS (+ OEM) EULA content/TPM password/crash reporting). | 68 // - eula screen (CrOS (+ OEM) EULA content/TPM password/crash reporting). |
69 // - update screen. | 69 // - update screen. |
70 class OobeUI : public content::WebUIController, | 70 class OobeUI : public content::WebUIController, |
71 public CoreOobeHandler::Delegate, | 71 public CoreOobeHandler::Delegate, |
72 public ShutdownPolicyHandler::Delegate { | 72 public ShutdownPolicyHandler::Delegate { |
73 public: | 73 public: |
74 // List of known types of OobeUI. Type added as path in chrome://oobe url, for | 74 // List of known types of OobeUI. Type added as path in chrome://oobe url, for |
(...skipping 12 matching lines...) Expand all Loading... |
87 OobeScreen new_screen) = 0; | 87 OobeScreen new_screen) = 0; |
88 | 88 |
89 protected: | 89 protected: |
90 virtual ~Observer() {} | 90 virtual ~Observer() {} |
91 DISALLOW_COPY(Observer); | 91 DISALLOW_COPY(Observer); |
92 }; | 92 }; |
93 | 93 |
94 OobeUI(content::WebUI* web_ui, const GURL& url); | 94 OobeUI(content::WebUI* web_ui, const GURL& url); |
95 ~OobeUI() override; | 95 ~OobeUI() override; |
96 | 96 |
97 CoreOobeActor* GetCoreOobeActor(); | 97 CoreOobeView* GetCoreOobeView(); |
98 NetworkView* GetNetworkView(); | 98 NetworkView* GetNetworkView(); |
99 EulaView* GetEulaView(); | 99 EulaView* GetEulaView(); |
100 UpdateView* GetUpdateView(); | 100 UpdateView* GetUpdateView(); |
101 EnableDebuggingScreenActor* GetEnableDebuggingScreenActor(); | 101 EnableDebuggingScreenView* GetEnableDebuggingScreenView(); |
102 EnrollmentScreenActor* GetEnrollmentScreenActor(); | 102 EnrollmentScreenView* GetEnrollmentScreenView(); |
103 ResetView* GetResetView(); | 103 ResetView* GetResetView(); |
104 KioskAutolaunchScreenActor* GetKioskAutolaunchScreenActor(); | 104 KioskAutolaunchScreenView* GetKioskAutolaunchScreenView(); |
105 KioskEnableScreenActor* GetKioskEnableScreenActor(); | 105 KioskEnableScreenView* GetKioskEnableScreenView(); |
106 TermsOfServiceScreenActor* GetTermsOfServiceScreenActor(); | 106 TermsOfServiceScreenView* GetTermsOfServiceScreenView(); |
107 ArcTermsOfServiceScreenActor* GetArcTermsOfServiceScreenActor(); | 107 ArcTermsOfServiceScreenView* GetArcTermsOfServiceScreenView(); |
108 UserImageView* GetUserImageView(); | 108 UserImageView* GetUserImageView(); |
109 ErrorScreen* GetErrorScreen(); | 109 ErrorScreen* GetErrorScreen(); |
110 WrongHWIDScreenActor* GetWrongHWIDScreenActor(); | 110 WrongHWIDScreenView* GetWrongHWIDScreenView(); |
111 AutoEnrollmentCheckScreenActor* GetAutoEnrollmentCheckScreenActor(); | 111 AutoEnrollmentCheckScreenView* GetAutoEnrollmentCheckScreenView(); |
112 SupervisedUserCreationScreenHandler* GetSupervisedUserCreationScreenActor(); | 112 SupervisedUserCreationScreenHandler* GetSupervisedUserCreationScreenView(); |
113 AppLaunchSplashScreenActor* GetAppLaunchSplashScreenActor(); | 113 AppLaunchSplashScreenView* GetAppLaunchSplashScreenView(); |
114 ArcKioskSplashScreenActor* GetArcKioskSplashScreenActor(); | 114 ArcKioskSplashScreenView* GetArcKioskSplashScreenView(); |
115 bool IsJSReady(const base::Closure& display_is_ready_callback); | |
116 HIDDetectionView* GetHIDDetectionView(); | 115 HIDDetectionView* GetHIDDetectionView(); |
117 ControllerPairingScreenActor* GetControllerPairingScreenActor(); | 116 ControllerPairingScreenView* GetControllerPairingScreenView(); |
118 HostPairingScreenActor* GetHostPairingScreenActor(); | 117 HostPairingScreenView* GetHostPairingScreenView(); |
119 DeviceDisabledScreenActor* GetDeviceDisabledScreenActor(); | 118 DeviceDisabledScreenView* GetDeviceDisabledScreenView(); |
120 GaiaScreenHandler* GetGaiaScreenActor(); | 119 GaiaScreenHandler* GetGaiaScreenView(); |
121 UserBoardView* GetUserBoardScreenActor(); | 120 UserBoardView* GetUserBoardView(); |
122 | 121 |
123 // ShutdownPolicyHandler::Delegate | 122 // ShutdownPolicyHandler::Delegate |
124 void OnShutdownPolicyChanged(bool reboot_on_shutdown) override; | 123 void OnShutdownPolicyChanged(bool reboot_on_shutdown) override; |
125 | 124 |
126 // Collects localized strings from the owned handlers. | 125 // Collects localized strings from the owned handlers. |
127 void GetLocalizedStrings(base::DictionaryValue* localized_strings); | 126 void GetLocalizedStrings(base::DictionaryValue* localized_strings); |
128 | 127 |
129 // Initializes the handlers. | 128 // Initializes the handlers. |
130 void InitializeHandlers(); | 129 void InitializeHandlers(); |
131 | 130 |
132 // Invoked after the async assets load. The screen handler that has the same | 131 // Invoked after the async assets load. The screen handler that has the same |
133 // async assets load id will be initialized. | 132 // async assets load id will be initialized. |
134 void OnScreenAssetsLoaded(const std::string& async_assets_load_id); | 133 void OnScreenAssetsLoaded(const std::string& async_assets_load_id); |
135 | 134 |
| 135 bool IsJSReady(const base::Closure& display_is_ready_callback); |
| 136 |
136 // Shows or hides OOBE UI elements. | 137 // Shows or hides OOBE UI elements. |
137 void ShowOobeUI(bool show); | 138 void ShowOobeUI(bool show); |
138 | 139 |
139 // Shows the signin screen. | 140 // Shows the signin screen. |
140 void ShowSigninScreen(const LoginScreenContext& context, | 141 void ShowSigninScreen(const LoginScreenContext& context, |
141 SigninScreenHandlerDelegate* delegate, | 142 SigninScreenHandlerDelegate* delegate, |
142 NativeWindowDelegate* native_window_delegate); | 143 NativeWindowDelegate* native_window_delegate); |
143 | 144 |
144 // Resets the delegate set in ShowSigninScreen. | 145 // Resets the delegate set in ShowSigninScreen. |
145 void ResetSigninScreenHandlerDelegate(); | 146 void ResetSigninScreenHandlerDelegate(); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 // state. | 180 // state. |
180 scoped_refptr<NetworkStateInformer> network_state_informer_; | 181 scoped_refptr<NetworkStateInformer> network_state_informer_; |
181 | 182 |
182 // Reference to CoreOobeHandler that handles common requests of Oobe page. | 183 // Reference to CoreOobeHandler that handles common requests of Oobe page. |
183 CoreOobeHandler* core_handler_ = nullptr; | 184 CoreOobeHandler* core_handler_ = nullptr; |
184 | 185 |
185 // Reference to NetworkDropdownHandler that handles interaction with | 186 // Reference to NetworkDropdownHandler that handles interaction with |
186 // network dropdown. | 187 // network dropdown. |
187 NetworkDropdownHandler* network_dropdown_handler_ = nullptr; | 188 NetworkDropdownHandler* network_dropdown_handler_ = nullptr; |
188 | 189 |
189 // Screens actors. Note, OobeUI owns them via |handlers_|, not directly here. | 190 // Screens views. Note, OobeUI owns them via |handlers_|, not directly here. |
190 UpdateView* update_view_ = nullptr; | 191 UpdateView* update_view_ = nullptr; |
191 NetworkView* network_view_ = nullptr; | 192 NetworkView* network_view_ = nullptr; |
192 EnableDebuggingScreenActor* debugging_screen_actor_ = nullptr; | 193 EnableDebuggingScreenView* debugging_screen_view_ = nullptr; |
193 EulaView* eula_view_ = nullptr; | 194 EulaView* eula_view_ = nullptr; |
194 EnrollmentScreenActor* enrollment_screen_actor_ = nullptr; | 195 EnrollmentScreenView* enrollment_screen_view_ = nullptr; |
195 ResetView* reset_view_ = nullptr; | 196 ResetView* reset_view_ = nullptr; |
196 HIDDetectionView* hid_detection_view_ = nullptr; | 197 HIDDetectionView* hid_detection_view_ = nullptr; |
197 KioskAutolaunchScreenActor* autolaunch_screen_actor_ = nullptr; | 198 KioskAutolaunchScreenView* autolaunch_screen_view_ = nullptr; |
198 KioskEnableScreenActor* kiosk_enable_screen_actor_ = nullptr; | 199 KioskEnableScreenView* kiosk_enable_screen_view_ = nullptr; |
199 WrongHWIDScreenActor* wrong_hwid_screen_actor_ = nullptr; | 200 WrongHWIDScreenView* wrong_hwid_screen_view_ = nullptr; |
200 AutoEnrollmentCheckScreenActor* auto_enrollment_check_screen_actor_ = nullptr; | 201 AutoEnrollmentCheckScreenView* auto_enrollment_check_screen_view_ = nullptr; |
201 SupervisedUserCreationScreenHandler* supervised_user_creation_screen_actor_ = | 202 SupervisedUserCreationScreenHandler* supervised_user_creation_screen_view_ = |
202 nullptr; | 203 nullptr; |
203 AppLaunchSplashScreenActor* app_launch_splash_screen_actor_ = nullptr; | 204 AppLaunchSplashScreenView* app_launch_splash_screen_view_ = nullptr; |
204 ArcKioskSplashScreenActor* arc_kiosk_splash_screen_actor_ = nullptr; | 205 ArcKioskSplashScreenView* arc_kiosk_splash_screen_view_ = nullptr; |
205 ControllerPairingScreenActor* controller_pairing_screen_actor_ = nullptr; | 206 ControllerPairingScreenView* controller_pairing_screen_view_ = nullptr; |
206 HostPairingScreenActor* host_pairing_screen_actor_ = nullptr; | 207 HostPairingScreenView* host_pairing_screen_view_ = nullptr; |
207 DeviceDisabledScreenActor* device_disabled_screen_actor_ = nullptr; | 208 DeviceDisabledScreenView* device_disabled_screen_view_ = nullptr; |
208 | 209 |
209 // Reference to ErrorScreenHandler that handles error screen | 210 // Reference to ErrorScreenHandler that handles error screen |
210 // requests and forward calls from native code to JS side. | 211 // requests and forward calls from native code to JS side. |
211 ErrorScreenHandler* error_screen_handler_ = nullptr; | 212 ErrorScreenHandler* error_screen_handler_ = nullptr; |
212 | 213 |
213 // Reference to GaiaScreenHandler that handles gaia screen requests and | 214 // Reference to GaiaScreenHandler that handles gaia screen requests and |
214 // forwards calls from native code to JS side. | 215 // forwards calls from native code to JS side. |
215 GaiaScreenHandler* gaia_screen_handler_ = nullptr; | 216 GaiaScreenHandler* gaia_screen_handler_ = nullptr; |
216 | 217 |
217 // Reference to UserBoardScreenHandler, that allows to pick user on device | 218 // Reference to UserBoardScreenHandler, that allows to pick user on device |
218 // and attempt authentication. | 219 // and attempt authentication. |
219 UserBoardScreenHandler* user_board_screen_handler_ = nullptr; | 220 UserBoardScreenHandler* user_board_screen_handler_ = nullptr; |
220 | 221 |
221 // Reference to SigninScreenHandler that handles sign-in screen requests and | 222 // Reference to SigninScreenHandler that handles sign-in screen requests and |
222 // forwards calls from native code to JS side. | 223 // forwards calls from native code to JS side. |
223 SigninScreenHandler* signin_screen_handler_ = nullptr; | 224 SigninScreenHandler* signin_screen_handler_ = nullptr; |
224 | 225 |
225 TermsOfServiceScreenActor* terms_of_service_screen_actor_ = nullptr; | 226 TermsOfServiceScreenView* terms_of_service_screen_view_ = nullptr; |
226 ArcTermsOfServiceScreenActor* arc_terms_of_service_screen_actor_ = nullptr; | 227 ArcTermsOfServiceScreenView* arc_terms_of_service_screen_view_ = nullptr; |
227 UserImageView* user_image_view_ = nullptr; | 228 UserImageView* user_image_view_ = nullptr; |
228 | 229 |
229 std::vector<BaseScreenHandler*> handlers_; // Non-owning pointers. | 230 std::vector<BaseScreenHandler*> handlers_; // Non-owning pointers. |
230 | 231 |
231 KioskAppMenuHandler* kiosk_app_menu_handler_ = | 232 KioskAppMenuHandler* kiosk_app_menu_handler_ = |
232 nullptr; // Non-owning pointers. | 233 nullptr; // Non-owning pointers. |
233 | 234 |
234 std::unique_ptr<ErrorScreen> error_screen_; | 235 std::unique_ptr<ErrorScreen> error_screen_; |
235 | 236 |
236 // Id of the current oobe/login screen. | 237 // Id of the current oobe/login screen. |
(...skipping 20 matching lines...) Expand all Loading... |
257 std::unique_ptr<ShutdownPolicyHandler> shutdown_policy_handler_; | 258 std::unique_ptr<ShutdownPolicyHandler> shutdown_policy_handler_; |
258 | 259 |
259 std::unique_ptr<ash::ScreenDimmer> screen_dimmer_; | 260 std::unique_ptr<ash::ScreenDimmer> screen_dimmer_; |
260 | 261 |
261 DISALLOW_COPY_AND_ASSIGN(OobeUI); | 262 DISALLOW_COPY_AND_ASSIGN(OobeUI); |
262 }; | 263 }; |
263 | 264 |
264 } // namespace chromeos | 265 } // namespace chromeos |
265 | 266 |
266 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_UI_H_ | 267 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_UI_H_ |
OLD | NEW |