| 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/options/chromeos/internet_options_handler.h" | 5 #include "chrome/browser/ui/webui/options/chromeos/internet_options_handler.h" |
| 6 | 6 |
| 7 #include <ctype.h> | 7 #include <ctype.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "chrome/browser/chromeos/ui/choose_mobile_network_dialog.h" | 27 #include "chrome/browser/chromeos/ui/choose_mobile_network_dialog.h" |
| 28 #include "chrome/browser/chromeos/ui/mobile_config_ui.h" | 28 #include "chrome/browser/chromeos/ui/mobile_config_ui.h" |
| 29 #include "chrome/browser/chromeos/ui_proxy_config_service.h" | 29 #include "chrome/browser/chromeos/ui_proxy_config_service.h" |
| 30 #include "chrome/browser/profiles/profile.h" | 30 #include "chrome/browser/profiles/profile.h" |
| 31 #include "chrome/browser/ui/webui/chromeos/mobile_setup_dialog.h" | 31 #include "chrome/browser/ui/webui/chromeos/mobile_setup_dialog.h" |
| 32 #include "chrome/browser/ui/webui/options/chromeos/internet_options_handler_stri
ngs.h" | 32 #include "chrome/browser/ui/webui/options/chromeos/internet_options_handler_stri
ngs.h" |
| 33 #include "chromeos/chromeos_switches.h" | 33 #include "chromeos/chromeos_switches.h" |
| 34 #include "chromeos/login/login_state.h" | 34 #include "chromeos/login/login_state.h" |
| 35 #include "chromeos/network/device_state.h" | 35 #include "chromeos/network/device_state.h" |
| 36 #include "chromeos/network/managed_network_configuration_handler.h" | 36 #include "chromeos/network/managed_network_configuration_handler.h" |
| 37 #include "chromeos/network/network_configuration_handler.h" | |
| 38 #include "chromeos/network/network_connection_handler.h" | 37 #include "chromeos/network/network_connection_handler.h" |
| 39 #include "chromeos/network/network_device_handler.h" | 38 #include "chromeos/network/network_device_handler.h" |
| 40 #include "chromeos/network/network_event_log.h" | 39 #include "chromeos/network/network_event_log.h" |
| 41 #include "chromeos/network/network_ip_config.h" | 40 #include "chromeos/network/network_ip_config.h" |
| 42 #include "chromeos/network/network_profile.h" | 41 #include "chromeos/network/network_profile.h" |
| 43 #include "chromeos/network/network_profile_handler.h" | 42 #include "chromeos/network/network_profile_handler.h" |
| 44 #include "chromeos/network/network_state.h" | 43 #include "chromeos/network/network_state.h" |
| 45 #include "chromeos/network/network_state_handler.h" | 44 #include "chromeos/network/network_state_handler.h" |
| 46 #include "chromeos/network/network_util.h" | 45 #include "chromeos/network/network_util.h" |
| 47 #include "chromeos/network/onc/onc_signature.h" | 46 #include "chromeos/network/onc/onc_signature.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 "options.network.NetworkList.setDefaultNetworkIcons"; | 80 "options.network.NetworkList.setDefaultNetworkIcons"; |
| 82 const char kGetManagedPropertiesResultFunction[] = | 81 const char kGetManagedPropertiesResultFunction[] = |
| 83 "options.internet.DetailsInternetPage.getManagedPropertiesResult"; | 82 "options.internet.DetailsInternetPage.getManagedPropertiesResult"; |
| 84 const char kUpdateConnectionDataFunction[] = | 83 const char kUpdateConnectionDataFunction[] = |
| 85 "options.internet.DetailsInternetPage.updateConnectionData"; | 84 "options.internet.DetailsInternetPage.updateConnectionData"; |
| 86 const char kUpdateCarrierFunction[] = | 85 const char kUpdateCarrierFunction[] = |
| 87 "options.internet.DetailsInternetPage.updateCarrier"; | 86 "options.internet.DetailsInternetPage.updateCarrier"; |
| 88 | 87 |
| 89 // Setter methods called from JS that still need to be converted to match | 88 // Setter methods called from JS that still need to be converted to match |
| 90 // networkingPrivate methods. | 89 // networkingPrivate methods. |
| 91 const char kSetApnMessage[] = "setApn"; | |
| 92 const char kSetCarrierMessage[] = "setCarrier"; | 90 const char kSetCarrierMessage[] = "setCarrier"; |
| 93 const char kShowMorePlanInfoMessage[] = "showMorePlanInfo"; | 91 const char kShowMorePlanInfoMessage[] = "showMorePlanInfo"; |
| 94 const char kSimOperationMessage[] = "simOperation"; | 92 const char kSimOperationMessage[] = "simOperation"; |
| 95 | 93 |
| 96 // TODO(stevenjb): Replace these with the matching networkingPrivate methods. | 94 // TODO(stevenjb): Replace these with the matching networkingPrivate methods. |
| 97 // crbug.com/279351. | 95 // crbug.com/279351. |
| 98 const char kDisableNetworkTypeMessage[] = "disableNetworkType"; | 96 const char kDisableNetworkTypeMessage[] = "disableNetworkType"; |
| 99 const char kEnableNetworkTypeMessage[] = "enableNetworkType"; | 97 const char kEnableNetworkTypeMessage[] = "enableNetworkType"; |
| 100 const char kGetManagedPropertiesMessage[] = "getManagedProperties"; | 98 const char kGetManagedPropertiesMessage[] = "getManagedProperties"; |
| 101 const char kRequestNetworkScanMessage[] = "requestNetworkScan"; | 99 const char kRequestNetworkScanMessage[] = "requestNetworkScan"; |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 base::Unretained(this))); | 274 base::Unretained(this))); |
| 277 web_ui()->RegisterMessageCallback(kConfigureNetworkMessage, | 275 web_ui()->RegisterMessageCallback(kConfigureNetworkMessage, |
| 278 base::Bind(&InternetOptionsHandler::ConfigureNetwork, | 276 base::Bind(&InternetOptionsHandler::ConfigureNetwork, |
| 279 base::Unretained(this))); | 277 base::Unretained(this))); |
| 280 web_ui()->RegisterMessageCallback(kActivateNetworkMessage, | 278 web_ui()->RegisterMessageCallback(kActivateNetworkMessage, |
| 281 base::Bind(&InternetOptionsHandler::ActivateNetwork, | 279 base::Bind(&InternetOptionsHandler::ActivateNetwork, |
| 282 base::Unretained(this))); | 280 base::Unretained(this))); |
| 283 web_ui()->RegisterMessageCallback(kShowMorePlanInfoMessage, | 281 web_ui()->RegisterMessageCallback(kShowMorePlanInfoMessage, |
| 284 base::Bind(&InternetOptionsHandler::ShowMorePlanInfoCallback, | 282 base::Bind(&InternetOptionsHandler::ShowMorePlanInfoCallback, |
| 285 base::Unretained(this))); | 283 base::Unretained(this))); |
| 286 web_ui()->RegisterMessageCallback(kSetApnMessage, | |
| 287 base::Bind(&InternetOptionsHandler::SetApnCallback, | |
| 288 base::Unretained(this))); | |
| 289 web_ui()->RegisterMessageCallback(kSetCarrierMessage, | 284 web_ui()->RegisterMessageCallback(kSetCarrierMessage, |
| 290 base::Bind(&InternetOptionsHandler::SetCarrierCallback, | 285 base::Bind(&InternetOptionsHandler::SetCarrierCallback, |
| 291 base::Unretained(this))); | 286 base::Unretained(this))); |
| 292 web_ui()->RegisterMessageCallback(kSimOperationMessage, | 287 web_ui()->RegisterMessageCallback(kSimOperationMessage, |
| 293 base::Bind(&InternetOptionsHandler::SimOperationCallback, | 288 base::Bind(&InternetOptionsHandler::SimOperationCallback, |
| 294 base::Unretained(this))); | 289 base::Unretained(this))); |
| 295 | 290 |
| 296 // networkingPrivate methods | 291 // networkingPrivate methods |
| 297 web_ui()->RegisterMessageCallback(kDisableNetworkTypeMessage, | 292 web_ui()->RegisterMessageCallback(kDisableNetworkTypeMessage, |
| 298 base::Bind(&InternetOptionsHandler::DisableNetworkTypeCallback, | 293 base::Bind(&InternetOptionsHandler::DisableNetworkTypeCallback, |
| (...skipping 23 matching lines...) Expand all Loading... |
| 322 if (!web_ui()) | 317 if (!web_ui()) |
| 323 return; | 318 return; |
| 324 std::string service_path; | 319 std::string service_path; |
| 325 if (args->GetSize() != 1 || !args->GetString(0, &service_path)) { | 320 if (args->GetSize() != 1 || !args->GetString(0, &service_path)) { |
| 326 NOTREACHED(); | 321 NOTREACHED(); |
| 327 return; | 322 return; |
| 328 } | 323 } |
| 329 ui::NetworkConnect::Get()->ShowMobileSetup(service_path); | 324 ui::NetworkConnect::Get()->ShowMobileSetup(service_path); |
| 330 } | 325 } |
| 331 | 326 |
| 332 void InternetOptionsHandler::SetApnCallback(const base::ListValue* args) { | |
| 333 std::string service_path; | |
| 334 if (!args->GetString(0, &service_path)) { | |
| 335 NOTREACHED(); | |
| 336 return; | |
| 337 } | |
| 338 NetworkHandler::Get()->network_configuration_handler()->GetProperties( | |
| 339 service_path, | |
| 340 base::Bind(&InternetOptionsHandler::SetApnProperties, | |
| 341 weak_factory_.GetWeakPtr(), base::Owned(args->DeepCopy())), | |
| 342 base::Bind(&ShillError, "SetApnCallback")); | |
| 343 } | |
| 344 | |
| 345 void InternetOptionsHandler::SetApnProperties( | |
| 346 const base::ListValue* args, | |
| 347 const std::string& service_path, | |
| 348 const base::DictionaryValue& shill_properties) { | |
| 349 std::string apn, username, password; | |
| 350 if (!args->GetString(1, &apn) || | |
| 351 !args->GetString(2, &username) || | |
| 352 !args->GetString(3, &password)) { | |
| 353 NOTREACHED(); | |
| 354 return; | |
| 355 } | |
| 356 NET_LOG_EVENT("SetApnCallback", service_path); | |
| 357 | |
| 358 if (apn.empty()) { | |
| 359 std::vector<std::string> properties_to_clear; | |
| 360 properties_to_clear.push_back(shill::kCellularApnProperty); | |
| 361 NetworkHandler::Get()->network_configuration_handler()->ClearProperties( | |
| 362 service_path, properties_to_clear, | |
| 363 base::Bind(&base::DoNothing), | |
| 364 base::Bind(&ShillError, "ClearCellularApnProperties")); | |
| 365 return; | |
| 366 } | |
| 367 | |
| 368 const base::DictionaryValue* shill_apn_dict = NULL; | |
| 369 std::string network_id; | |
| 370 if (shill_properties.GetDictionaryWithoutPathExpansion( | |
| 371 shill::kCellularApnProperty, &shill_apn_dict)) { | |
| 372 shill_apn_dict->GetStringWithoutPathExpansion( | |
| 373 shill::kApnNetworkIdProperty, &network_id); | |
| 374 } | |
| 375 base::DictionaryValue properties; | |
| 376 base::DictionaryValue* apn_dict = new base::DictionaryValue; | |
| 377 apn_dict->SetStringWithoutPathExpansion(shill::kApnProperty, apn); | |
| 378 apn_dict->SetStringWithoutPathExpansion(shill::kApnNetworkIdProperty, | |
| 379 network_id); | |
| 380 apn_dict->SetStringWithoutPathExpansion(shill::kApnUsernameProperty, | |
| 381 username); | |
| 382 apn_dict->SetStringWithoutPathExpansion(shill::kApnPasswordProperty, | |
| 383 password); | |
| 384 properties.SetWithoutPathExpansion(shill::kCellularApnProperty, apn_dict); | |
| 385 NetworkHandler::Get()->network_configuration_handler()->SetProperties( | |
| 386 service_path, properties, | |
| 387 NetworkConfigurationObserver::SOURCE_USER_ACTION, | |
| 388 base::Bind(&base::DoNothing), | |
| 389 base::Bind(&ShillError, "SetApnProperties")); | |
| 390 } | |
| 391 | |
| 392 void InternetOptionsHandler::CarrierStatusCallback() { | 327 void InternetOptionsHandler::CarrierStatusCallback() { |
| 393 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); | 328 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); |
| 394 const DeviceState* device = | 329 const DeviceState* device = |
| 395 handler->GetDeviceStateByType(NetworkTypePattern::Cellular()); | 330 handler->GetDeviceStateByType(NetworkTypePattern::Cellular()); |
| 396 if (device && (device->carrier() == shill::kCarrierSprint)) { | 331 if (device && (device->carrier() == shill::kCarrierSprint)) { |
| 397 const NetworkState* network = | 332 const NetworkState* network = |
| 398 handler->FirstNetworkByType(NetworkTypePattern::Cellular()); | 333 handler->FirstNetworkByType(NetworkTypePattern::Cellular()); |
| 399 if (network && network->path() == details_path_) { | 334 if (network && network->path() == details_path_) { |
| 400 ui::NetworkConnect::Get()->ActivateCellular(network->path()); | 335 ui::NetworkConnect::Get()->ActivateCellular(network->path()); |
| 401 UpdateConnectionData(network->path()); | 336 UpdateConnectionData(network->path()); |
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 804 dictionary->SetBoolean( | 739 dictionary->SetBoolean( |
| 805 kTagWimaxAvailable, | 740 kTagWimaxAvailable, |
| 806 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax())); | 741 handler->IsTechnologyAvailable(NetworkTypePattern::Wimax())); |
| 807 dictionary->SetBoolean( | 742 dictionary->SetBoolean( |
| 808 kTagWimaxEnabled, | 743 kTagWimaxEnabled, |
| 809 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())); | 744 handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())); |
| 810 } | 745 } |
| 811 | 746 |
| 812 } // namespace options | 747 } // namespace options |
| 813 } // namespace chromeos | 748 } // namespace chromeos |
| OLD | NEW |