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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/network_screen_handler.cc

Issue 2649873009: cros: Fold NetworkModel into NetworkScreen (Closed)
Patch Set: Address comments Created 3 years, 10 months 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
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/network_screen_handler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h" 5 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/bind_helpers.h" 12 #include "base/bind_helpers.h"
13 #include "base/command_line.h" 13 #include "base/command_line.h"
14 #include "base/strings/string16.h" 14 #include "base/strings/string16.h"
15 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
16 #include "base/task_runner_util.h" 16 #include "base/task_runner_util.h"
17 #include "base/threading/worker_pool.h" 17 #include "base/threading/worker_pool.h"
18 #include "base/values.h" 18 #include "base/values.h"
19 #include "chrome/browser/browser_process.h" 19 #include "chrome/browser/browser_process.h"
20 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" 20 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
21 #include "chrome/browser/chromeos/customization/customization_document.h" 21 #include "chrome/browser/chromeos/customization/customization_document.h"
22 #include "chrome/browser/chromeos/idle_detector.h" 22 #include "chrome/browser/chromeos/idle_detector.h"
23 #include "chrome/browser/chromeos/login/screens/core_oobe_actor.h" 23 #include "chrome/browser/chromeos/login/screens/core_oobe_actor.h"
24 #include "chrome/browser/chromeos/login/screens/network_model.h" 24 #include "chrome/browser/chromeos/login/screens/network_screen.h"
25 #include "chrome/browser/chromeos/login/ui/input_events_blocker.h" 25 #include "chrome/browser/chromeos/login/ui/input_events_blocker.h"
26 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 26 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
27 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" 27 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
28 #include "chrome/browser/chromeos/system/input_device_settings.h" 28 #include "chrome/browser/chromeos/system/input_device_settings.h"
29 #include "chrome/browser/chromeos/system/timezone_util.h" 29 #include "chrome/browser/chromeos/system/timezone_util.h"
30 #include "chrome/browser/ui/webui/chromeos/login/l10n_util.h" 30 #include "chrome/browser/ui/webui/chromeos/login/l10n_util.h"
31 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" 31 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
32 #include "chrome/common/pref_names.h" 32 #include "chrome/common/pref_names.h"
33 #include "chrome/grit/generated_resources.h" 33 #include "chrome/grit/generated_resources.h"
34 #include "chromeos/chromeos_switches.h" 34 #include "chromeos/chromeos_switches.h"
(...skipping 13 matching lines...) Expand all
48 48
49 const char kJsScreenPath[] = "login.NetworkScreen"; 49 const char kJsScreenPath[] = "login.NetworkScreen";
50 50
51 } // namespace 51 } // namespace
52 52
53 namespace chromeos { 53 namespace chromeos {
54 54
55 // NetworkScreenHandler, public: ----------------------------------------------- 55 // NetworkScreenHandler, public: -----------------------------------------------
56 56
57 NetworkScreenHandler::NetworkScreenHandler(CoreOobeActor* core_oobe_actor) 57 NetworkScreenHandler::NetworkScreenHandler(CoreOobeActor* core_oobe_actor)
58 : BaseScreenHandler(kJsScreenPath), 58 : BaseScreenHandler(kJsScreenPath), core_oobe_actor_(core_oobe_actor) {
59 core_oobe_actor_(core_oobe_actor),
60 model_(nullptr),
61 show_on_init_(false) {
62 DCHECK(core_oobe_actor_); 59 DCHECK(core_oobe_actor_);
63 } 60 }
64 61
65 NetworkScreenHandler::~NetworkScreenHandler() { 62 NetworkScreenHandler::~NetworkScreenHandler() {
66 if (model_) 63 if (screen_)
67 model_->OnViewDestroyed(this); 64 screen_->OnViewDestroyed(this);
68 } 65 }
69 66
70 // NetworkScreenHandler, NetworkScreenActor implementation: -------------------- 67 // NetworkScreenHandler, NetworkScreenActor implementation: --------------------
71 68
72 void NetworkScreenHandler::Show() { 69 void NetworkScreenHandler::Show() {
73 if (!page_is_ready()) { 70 if (!page_is_ready()) {
74 show_on_init_ = true; 71 show_on_init_ = true;
75 return; 72 return;
76 } 73 }
77 74
(...skipping 21 matching lines...) Expand all
99 network_screen_params.SetBoolean("isDeveloperMode", 96 network_screen_params.SetBoolean("isDeveloperMode",
100 base::CommandLine::ForCurrentProcess()->HasSwitch( 97 base::CommandLine::ForCurrentProcess()->HasSwitch(
101 chromeos::switches::kSystemDevMode)); 98 chromeos::switches::kSystemDevMode));
102 ShowScreenWithData(OobeScreen::SCREEN_OOBE_NETWORK, &network_screen_params); 99 ShowScreenWithData(OobeScreen::SCREEN_OOBE_NETWORK, &network_screen_params);
103 core_oobe_actor_->InitDemoModeDetection(); 100 core_oobe_actor_->InitDemoModeDetection();
104 } 101 }
105 102
106 void NetworkScreenHandler::Hide() { 103 void NetworkScreenHandler::Hide() {
107 } 104 }
108 105
109 void NetworkScreenHandler::Bind(NetworkModel& model) { 106 void NetworkScreenHandler::Bind(NetworkScreen* screen) {
110 model_ = &model; 107 screen_ = screen;
111 BaseScreenHandler::SetBaseScreen(model_); 108 BaseScreenHandler::SetBaseScreen(screen_);
112 } 109 }
113 110
114 void NetworkScreenHandler::Unbind() { 111 void NetworkScreenHandler::Unbind() {
115 model_ = nullptr; 112 screen_ = nullptr;
116 BaseScreenHandler::SetBaseScreen(nullptr); 113 BaseScreenHandler::SetBaseScreen(nullptr);
117 } 114 }
118 115
119 void NetworkScreenHandler::ShowError(const base::string16& message) { 116 void NetworkScreenHandler::ShowError(const base::string16& message) {
120 CallJS("showError", message); 117 CallJS("showError", message);
121 } 118 }
122 119
123 void NetworkScreenHandler::ClearErrors() { 120 void NetworkScreenHandler::ClearErrors() {
124 if (page_is_ready()) 121 if (page_is_ready())
125 core_oobe_actor_->ClearErrors(); 122 core_oobe_actor_->ClearErrors();
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 base::DictionaryValue* dict) { 192 base::DictionaryValue* dict) {
196 const std::string application_locale = 193 const std::string application_locale =
197 g_browser_process->GetApplicationLocale(); 194 g_browser_process->GetApplicationLocale();
198 const std::string selected_input_method = 195 const std::string selected_input_method =
199 input_method::InputMethodManager::Get() 196 input_method::InputMethodManager::Get()
200 ->GetActiveIMEState() 197 ->GetActiveIMEState()
201 ->GetCurrentInputMethod() 198 ->GetCurrentInputMethod()
202 .id(); 199 .id();
203 200
204 std::unique_ptr<base::ListValue> language_list; 201 std::unique_ptr<base::ListValue> language_list;
205 if (model_) { 202 if (screen_) {
206 if (model_->GetLanguageList() && 203 if (screen_->language_list() &&
207 model_->GetLanguageListLocale() == application_locale) { 204 screen_->language_list_locale() == application_locale) {
208 language_list.reset(model_->GetLanguageList()->DeepCopy()); 205 language_list.reset(screen_->language_list()->DeepCopy());
209 } else { 206 } else {
210 model_->UpdateLanguageList(); 207 screen_->UpdateLanguageList();
211 } 208 }
212 } 209 }
213 210
214 if (!language_list) 211 if (!language_list)
215 language_list = GetMinimalUILanguageList(); 212 language_list = GetMinimalUILanguageList();
216 213
217 // GetAdditionalParameters() is called when OOBE language is updated. 214 // GetAdditionalParameters() is called when OOBE language is updated.
218 // This happens in three different cases: 215 // This happens in three different cases:
219 // 216 //
220 // 1) User selects new locale on OOBE screen. We need to sync active input 217 // 1) User selects new locale on OOBE screen. We need to sync active input
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 dict->Set("timezoneList", GetTimezoneList()); 249 dict->Set("timezoneList", GetTimezoneList());
253 } 250 }
254 251
255 void NetworkScreenHandler::Initialize() { 252 void NetworkScreenHandler::Initialize() {
256 if (show_on_init_) { 253 if (show_on_init_) {
257 show_on_init_ = false; 254 show_on_init_ = false;
258 Show(); 255 Show();
259 } 256 }
260 257
261 // Reload localized strings if they are already resolved. 258 // Reload localized strings if they are already resolved.
262 if (model_ && model_->GetLanguageList()) 259 if (screen_ && screen_->language_list())
263 ReloadLocalizedContent(); 260 ReloadLocalizedContent();
264 } 261 }
265 262
266 // NetworkScreenHandler, private: ---------------------------------------------- 263 // NetworkScreenHandler, private: ----------------------------------------------
267 264
268 // static 265 // static
269 base::ListValue* NetworkScreenHandler::GetTimezoneList() { 266 base::ListValue* NetworkScreenHandler::GetTimezoneList() {
270 std::string current_timezone_id; 267 std::string current_timezone_id;
271 CrosSettings::Get()->GetString(kSystemTimezone, &current_timezone_id); 268 CrosSettings::Get()->GetString(kSystemTimezone, &current_timezone_id);
272 269
(...skipping 14 matching lines...) Expand all
287 timezone_option->SetString("value", timezone_id); 284 timezone_option->SetString("value", timezone_id);
288 timezone_option->SetString("title", timezone_name); 285 timezone_option->SetString("title", timezone_name);
289 timezone_option->SetBoolean("selected", timezone_id == current_timezone_id); 286 timezone_option->SetBoolean("selected", timezone_id == current_timezone_id);
290 timezone_list->Append(std::move(timezone_option)); 287 timezone_list->Append(std::move(timezone_option));
291 } 288 }
292 289
293 return timezone_list.release(); 290 return timezone_list.release();
294 } 291 }
295 292
296 } // namespace chromeos 293 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/network_screen_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698