| OLD | NEW |
| 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_view.h" |
| 24 #include "chrome/browser/chromeos/login/screens/network_screen.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" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 47 namespace { | 47 namespace { |
| 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(CoreOobeView* core_oobe_view) |
| 58 : core_oobe_actor_(core_oobe_actor) { | 58 : core_oobe_view_(core_oobe_view) { |
| 59 set_call_js_prefix(kJsScreenPath); | 59 set_call_js_prefix(kJsScreenPath); |
| 60 DCHECK(core_oobe_actor_); | 60 DCHECK(core_oobe_view_); |
| 61 } | 61 } |
| 62 | 62 |
| 63 NetworkScreenHandler::~NetworkScreenHandler() { | 63 NetworkScreenHandler::~NetworkScreenHandler() { |
| 64 if (screen_) | 64 if (screen_) |
| 65 screen_->OnViewDestroyed(this); | 65 screen_->OnViewDestroyed(this); |
| 66 } | 66 } |
| 67 | 67 |
| 68 // NetworkScreenHandler, NetworkScreenActor implementation: -------------------- | 68 // NetworkScreenHandler, NetworkScreenView implementation: --------------------- |
| 69 | 69 |
| 70 void NetworkScreenHandler::Show() { | 70 void NetworkScreenHandler::Show() { |
| 71 if (!page_is_ready()) { | 71 if (!page_is_ready()) { |
| 72 show_on_init_ = true; | 72 show_on_init_ = true; |
| 73 return; | 73 return; |
| 74 } | 74 } |
| 75 | 75 |
| 76 PrefService* prefs = g_browser_process->local_state(); | 76 PrefService* prefs = g_browser_process->local_state(); |
| 77 if (prefs->GetBoolean(prefs::kFactoryResetRequested)) { | 77 if (prefs->GetBoolean(prefs::kFactoryResetRequested)) { |
| 78 if (core_oobe_actor_) | 78 if (core_oobe_view_) |
| 79 core_oobe_actor_->ShowDeviceResetScreen(); | 79 core_oobe_view_->ShowDeviceResetScreen(); |
| 80 | 80 |
| 81 return; | 81 return; |
| 82 } else if (prefs->GetBoolean(prefs::kDebuggingFeaturesRequested)) { | 82 } else if (prefs->GetBoolean(prefs::kDebuggingFeaturesRequested)) { |
| 83 if (core_oobe_actor_) | 83 if (core_oobe_view_) |
| 84 core_oobe_actor_->ShowEnableDebuggingScreen(); | 84 core_oobe_view_->ShowEnableDebuggingScreen(); |
| 85 | 85 |
| 86 return; | 86 return; |
| 87 } | 87 } |
| 88 | 88 |
| 89 // Make sure all our network technologies are turned on. On OOBE, the user | 89 // Make sure all our network technologies are turned on. On OOBE, the user |
| 90 // should be able to select any of the available networks on the device. | 90 // should be able to select any of the available networks on the device. |
| 91 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); | 91 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); |
| 92 handler->SetTechnologyEnabled(NetworkTypePattern::NonVirtual(), | 92 handler->SetTechnologyEnabled(NetworkTypePattern::NonVirtual(), |
| 93 true, | 93 true, |
| 94 chromeos::network_handler::ErrorCallback()); | 94 chromeos::network_handler::ErrorCallback()); |
| 95 | 95 |
| 96 base::DictionaryValue network_screen_params; | 96 base::DictionaryValue network_screen_params; |
| 97 network_screen_params.SetBoolean("isDeveloperMode", | 97 network_screen_params.SetBoolean("isDeveloperMode", |
| 98 base::CommandLine::ForCurrentProcess()->HasSwitch( | 98 base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 99 chromeos::switches::kSystemDevMode)); | 99 chromeos::switches::kSystemDevMode)); |
| 100 ShowScreenWithData(OobeScreen::SCREEN_OOBE_NETWORK, &network_screen_params); | 100 ShowScreenWithData(OobeScreen::SCREEN_OOBE_NETWORK, &network_screen_params); |
| 101 core_oobe_actor_->InitDemoModeDetection(); | 101 core_oobe_view_->InitDemoModeDetection(); |
| 102 } | 102 } |
| 103 | 103 |
| 104 void NetworkScreenHandler::Hide() { | 104 void NetworkScreenHandler::Hide() { |
| 105 } | 105 } |
| 106 | 106 |
| 107 void NetworkScreenHandler::Bind(NetworkScreen* screen) { | 107 void NetworkScreenHandler::Bind(NetworkScreen* screen) { |
| 108 screen_ = screen; | 108 screen_ = screen; |
| 109 BaseScreenHandler::SetBaseScreen(screen_); | 109 BaseScreenHandler::SetBaseScreen(screen_); |
| 110 } | 110 } |
| 111 | 111 |
| 112 void NetworkScreenHandler::Unbind() { | 112 void NetworkScreenHandler::Unbind() { |
| 113 screen_ = nullptr; | 113 screen_ = nullptr; |
| 114 BaseScreenHandler::SetBaseScreen(nullptr); | 114 BaseScreenHandler::SetBaseScreen(nullptr); |
| 115 } | 115 } |
| 116 | 116 |
| 117 void NetworkScreenHandler::ShowError(const base::string16& message) { | 117 void NetworkScreenHandler::ShowError(const base::string16& message) { |
| 118 CallJS("showError", message); | 118 CallJS("showError", message); |
| 119 } | 119 } |
| 120 | 120 |
| 121 void NetworkScreenHandler::ClearErrors() { | 121 void NetworkScreenHandler::ClearErrors() { |
| 122 if (page_is_ready()) | 122 if (page_is_ready()) |
| 123 core_oobe_actor_->ClearErrors(); | 123 core_oobe_view_->ClearErrors(); |
| 124 } | 124 } |
| 125 | 125 |
| 126 void NetworkScreenHandler::StopDemoModeDetection() { | 126 void NetworkScreenHandler::StopDemoModeDetection() { |
| 127 core_oobe_actor_->StopDemoModeDetection(); | 127 core_oobe_view_->StopDemoModeDetection(); |
| 128 } | 128 } |
| 129 | 129 |
| 130 void NetworkScreenHandler::ShowConnectingStatus( | 130 void NetworkScreenHandler::ShowConnectingStatus( |
| 131 bool connecting, | 131 bool connecting, |
| 132 const base::string16& network_id) { | 132 const base::string16& network_id) { |
| 133 } | 133 } |
| 134 | 134 |
| 135 void NetworkScreenHandler::ReloadLocalizedContent() { | 135 void NetworkScreenHandler::ReloadLocalizedContent() { |
| 136 base::DictionaryValue localized_strings; | 136 base::DictionaryValue localized_strings; |
| 137 GetOobeUI()->GetLocalizedStrings(&localized_strings); | 137 GetOobeUI()->GetLocalizedStrings(&localized_strings); |
| 138 core_oobe_actor_->ReloadContent(localized_strings); | 138 core_oobe_view_->ReloadContent(localized_strings); |
| 139 } | 139 } |
| 140 | 140 |
| 141 // NetworkScreenHandler, BaseScreenHandler implementation: -------------------- | 141 // NetworkScreenHandler, BaseScreenHandler implementation: -------------------- |
| 142 | 142 |
| 143 void NetworkScreenHandler::DeclareLocalizedValues( | 143 void NetworkScreenHandler::DeclareLocalizedValues( |
| 144 ::login::LocalizedValuesBuilder* builder) { | 144 ::login::LocalizedValuesBuilder* builder) { |
| 145 if (system::InputDeviceSettings::Get()->ForceKeyboardDrivenUINavigation()) | 145 if (system::InputDeviceSettings::Get()->ForceKeyboardDrivenUINavigation()) |
| 146 builder->Add("networkScreenGreeting", IDS_REMORA_CONFIRM_MESSAGE); | 146 builder->Add("networkScreenGreeting", IDS_REMORA_CONFIRM_MESSAGE); |
| 147 else | 147 else |
| 148 builder->Add("networkScreenGreeting", IDS_WELCOME_SCREEN_GREETING); | 148 builder->Add("networkScreenGreeting", IDS_WELCOME_SCREEN_GREETING); |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 timezone_option->SetString("value", timezone_id); | 288 timezone_option->SetString("value", timezone_id); |
| 289 timezone_option->SetString("title", timezone_name); | 289 timezone_option->SetString("title", timezone_name); |
| 290 timezone_option->SetBoolean("selected", timezone_id == current_timezone_id); | 290 timezone_option->SetBoolean("selected", timezone_id == current_timezone_id); |
| 291 timezone_list->Append(std::move(timezone_option)); | 291 timezone_list->Append(std::move(timezone_option)); |
| 292 } | 292 } |
| 293 | 293 |
| 294 return timezone_list.release(); | 294 return timezone_list.release(); |
| 295 } | 295 } |
| 296 | 296 |
| 297 } // namespace chromeos | 297 } // namespace chromeos |
| OLD | NEW |