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 <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
14 #include "chrome/browser/chromeos/login/oobe_display.h" | 14 #include "chrome/browser/chromeos/login/oobe_display.h" |
15 #include "chrome/browser/ui/webui/chromeos/login/core_oobe_handler.h" | 15 #include "chrome/browser/ui/webui/chromeos/login/core_oobe_handler.h" |
16 #include "content/public/browser/web_ui_controller.h" | 16 #include "content/public/browser/web_ui_controller.h" |
17 | 17 |
18 namespace base { | 18 namespace base { |
19 class DictionaryValue; | 19 class DictionaryValue; |
20 } | 20 } // namespace base |
21 | 21 |
22 namespace chromeos { | 22 namespace chromeos { |
23 class BaseScreenHandler; | 23 class BaseScreenHandler; |
24 class CoreOobeHandler; | 24 class CoreOobeHandler; |
25 class ErrorScreenHandler; | 25 class ErrorScreenHandler; |
26 class KioskAppMenuHandler; | 26 class KioskAppMenuHandler; |
27 class KioskEnableScreenActor; | 27 class KioskEnableScreenActor; |
28 class NativeWindowDelegate; | 28 class NativeWindowDelegate; |
29 class NetworkStateInformer; | 29 class NetworkStateInformer; |
30 class SigninScreenHandler; | 30 class SigninScreenHandler; |
31 class SigninScreenHandlerDelegate; | 31 class SigninScreenHandlerDelegate; |
32 class UpdateScreenHandler; | 32 class UpdateScreenHandler; |
33 } | 33 } // namespace chromeos |
34 | 34 |
35 namespace chromeos { | 35 namespace chromeos { |
36 | 36 |
37 // A custom WebUI that defines datasource for out-of-box-experience (OOBE) UI: | 37 // A custom WebUI that defines datasource for out-of-box-experience (OOBE) UI: |
38 // - welcome screen (setup language/keyboard/network). | 38 // - welcome screen (setup language/keyboard/network). |
39 // - eula screen (CrOS (+ OEM) EULA content/TPM password/crash reporting). | 39 // - eula screen (CrOS (+ OEM) EULA content/TPM password/crash reporting). |
40 // - update screen. | 40 // - update screen. |
41 class OobeUI : public OobeDisplay, | 41 class OobeUI : public OobeDisplay, |
42 public content::WebUIController, | 42 public content::WebUIController, |
43 public CoreOobeHandler::Delegate { | 43 public CoreOobeHandler::Delegate { |
44 public: | 44 public: |
45 // JS oobe/login screens names. | 45 // JS oobe/login screens names. |
46 static const char kScreenOobeNetwork[]; | 46 static const char kScreenOobeNetwork[]; |
47 static const char kScreenOobeEula[]; | 47 static const char kScreenOobeEula[]; |
48 static const char kScreenOobeUpdate[]; | 48 static const char kScreenOobeUpdate[]; |
49 static const char kScreenOobeEnrollment[]; | 49 static const char kScreenOobeEnrollment[]; |
50 static const char kScreenGaiaSignin[]; | 50 static const char kScreenGaiaSignin[]; |
51 static const char kScreenAccountPicker[]; | 51 static const char kScreenAccountPicker[]; |
52 static const char kScreenKioskAutolaunch[]; | 52 static const char kScreenKioskAutolaunch[]; |
53 static const char kScreenKioskEnable[]; | 53 static const char kScreenKioskEnable[]; |
54 static const char kScreenErrorMessage[]; | 54 static const char kScreenErrorMessage[]; |
55 static const char kScreenUserImagePicker[]; | 55 static const char kScreenUserImagePicker[]; |
56 static const char kScreenTpmError[]; | 56 static const char kScreenTpmError[]; |
57 static const char kScreenPasswordChanged[]; | 57 static const char kScreenPasswordChanged[]; |
58 static const char kScreenManagedUserCreationFlow[]; | 58 static const char kScreenManagedUserCreationFlow[]; |
59 static const char kScreenTermsOfService[]; | 59 static const char kScreenTermsOfService[]; |
60 static const char kScreenWrongHWID[]; | 60 static const char kScreenWrongHWID[]; |
61 | 61 |
62 explicit OobeUI(content::WebUI* web_ui); | 62 OobeUI(content::WebUI* web_ui, const GURL& url); |
63 virtual ~OobeUI(); | 63 virtual ~OobeUI(); |
64 | 64 |
65 // OobeDisplay implementation: | 65 // OobeDisplay implementation: |
66 virtual void ShowScreen(WizardScreen* screen) OVERRIDE; | 66 virtual void ShowScreen(WizardScreen* screen) OVERRIDE; |
67 virtual void HideScreen(WizardScreen* screen) OVERRIDE; | 67 virtual void HideScreen(WizardScreen* screen) OVERRIDE; |
68 virtual UpdateScreenActor* GetUpdateScreenActor() OVERRIDE; | 68 virtual UpdateScreenActor* GetUpdateScreenActor() OVERRIDE; |
69 virtual NetworkScreenActor* GetNetworkScreenActor() OVERRIDE; | 69 virtual NetworkScreenActor* GetNetworkScreenActor() OVERRIDE; |
70 virtual EulaScreenActor* GetEulaScreenActor() OVERRIDE; | 70 virtual EulaScreenActor* GetEulaScreenActor() OVERRIDE; |
71 virtual EnrollmentScreenActor* GetEnrollmentScreenActor() OVERRIDE; | 71 virtual EnrollmentScreenActor* GetEnrollmentScreenActor() OVERRIDE; |
72 virtual ResetScreenActor* GetResetScreenActor() OVERRIDE; | 72 virtual ResetScreenActor* GetResetScreenActor() OVERRIDE; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 | 109 |
110 private: | 110 private: |
111 // Initializes |screen_ids_| and |screen_names_| structures. | 111 // Initializes |screen_ids_| and |screen_names_| structures. |
112 void InitializeScreenMaps(); | 112 void InitializeScreenMaps(); |
113 | 113 |
114 void AddScreenHandler(BaseScreenHandler* handler); | 114 void AddScreenHandler(BaseScreenHandler* handler); |
115 | 115 |
116 // CoreOobeHandler::Delegate implementation: | 116 // CoreOobeHandler::Delegate implementation: |
117 virtual void OnCurrentScreenChanged(const std::string& screen) OVERRIDE; | 117 virtual void OnCurrentScreenChanged(const std::string& screen) OVERRIDE; |
118 | 118 |
| 119 // Type of UI. |
| 120 std::string display_type_; |
| 121 |
119 // Reference to NetworkStateInformer that handles changes in network | 122 // Reference to NetworkStateInformer that handles changes in network |
120 // state. | 123 // state. |
121 scoped_refptr<NetworkStateInformer> network_state_informer_; | 124 scoped_refptr<NetworkStateInformer> network_state_informer_; |
122 | 125 |
123 // Reference to CoreOobeHandler that handles common requests of Oobe page. | 126 // Reference to CoreOobeHandler that handles common requests of Oobe page. |
124 CoreOobeHandler* core_handler_; | 127 CoreOobeHandler* core_handler_; |
125 | 128 |
126 // Screens actors. Note, OobeUI owns them via |handlers_|, not directly here. | 129 // Screens actors. Note, OobeUI owns them via |handlers_|, not directly here. |
127 UpdateScreenHandler* update_screen_handler_; | 130 UpdateScreenHandler* update_screen_handler_; |
128 NetworkScreenActor* network_screen_actor_; | 131 NetworkScreenActor* network_screen_actor_; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 | 168 |
166 // Callbacks to notify when JS part is fully loaded and ready to accept calls. | 169 // Callbacks to notify when JS part is fully loaded and ready to accept calls. |
167 std::vector<base::Closure> ready_callbacks_; | 170 std::vector<base::Closure> ready_callbacks_; |
168 | 171 |
169 DISALLOW_COPY_AND_ASSIGN(OobeUI); | 172 DISALLOW_COPY_AND_ASSIGN(OobeUI); |
170 }; | 173 }; |
171 | 174 |
172 } // namespace chromeos | 175 } // namespace chromeos |
173 | 176 |
174 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_UI_H_ | 177 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_UI_H_ |
OLD | NEW |