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 |