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 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 base::Value* value) { | 275 base::Value* value) { |
276 NET_LOG_EVENT("SetNetworkProperty: " + property, service_path); | 276 NET_LOG_EVENT("SetNetworkProperty: " + property, service_path); |
277 base::DictionaryValue properties; | 277 base::DictionaryValue properties; |
278 properties.SetWithoutPathExpansion(property, value); | 278 properties.SetWithoutPathExpansion(property, value); |
279 NetworkHandler::Get()->network_configuration_handler()->SetProperties( | 279 NetworkHandler::Get()->network_configuration_handler()->SetProperties( |
280 service_path, properties, | 280 service_path, properties, |
281 base::Bind(&base::DoNothing), | 281 base::Bind(&base::DoNothing), |
282 base::Bind(&ShillError, "SetNetworkProperty")); | 282 base::Bind(&ShillError, "SetNetworkProperty")); |
283 } | 283 } |
284 | 284 |
285 const base::DictionaryValue* FindPolicyForActiveUser( | |
286 const NetworkState* network, | |
287 onc::ONCSource* onc_source) { | |
288 const User* user = UserManager::Get()->GetActiveUser(); | |
289 std::string username_hash = user ? user->username_hash() : std::string(); | |
290 return NetworkHandler::Get()->managed_network_configuration_handler() | |
291 ->FindPolicyByGUID(username_hash, network->guid(), onc_source); | |
292 } | |
293 | |
294 std::string ActivationStateString(const std::string& activation_state) { | 285 std::string ActivationStateString(const std::string& activation_state) { |
295 int id; | 286 int id; |
296 if (activation_state == flimflam::kActivationStateActivated) | 287 if (activation_state == flimflam::kActivationStateActivated) |
297 id = IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_ACTIVATED; | 288 id = IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_ACTIVATED; |
298 else if (activation_state == flimflam::kActivationStateActivating) | 289 else if (activation_state == flimflam::kActivationStateActivating) |
299 id = IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_ACTIVATING; | 290 id = IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_ACTIVATING; |
300 else if (activation_state == flimflam::kActivationStateNotActivated) | 291 else if (activation_state == flimflam::kActivationStateNotActivated) |
301 id = IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_NOT_ACTIVATED; | 292 id = IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_NOT_ACTIVATED; |
302 else if (activation_state == flimflam::kActivationStatePartiallyActivated) | 293 else if (activation_state == flimflam::kActivationStatePartiallyActivated) |
303 id = IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_PARTIALLY_ACTIVATED; | 294 id = IDS_CHROMEOS_NETWORK_ACTIVATION_STATE_PARTIALLY_ACTIVATED; |
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
650 if (provider_type == flimflam::kProviderOpenVpn) { | 641 if (provider_type == flimflam::kProviderOpenVpn) { |
651 provider_properties->GetStringWithoutPathExpansion( | 642 provider_properties->GetStringWithoutPathExpansion( |
652 flimflam::kOpenVPNUserProperty, &username); | 643 flimflam::kOpenVPNUserProperty, &username); |
653 } else { | 644 } else { |
654 provider_properties->GetStringWithoutPathExpansion( | 645 provider_properties->GetStringWithoutPathExpansion( |
655 flimflam::kL2tpIpsecUserProperty, &username); | 646 flimflam::kL2tpIpsecUserProperty, &username); |
656 } | 647 } |
657 dictionary->SetString(kTagUsername, username); | 648 dictionary->SetString(kTagUsername, username); |
658 | 649 |
659 onc::ONCSource onc_source = onc::ONC_SOURCE_NONE; | 650 onc::ONCSource onc_source = onc::ONC_SOURCE_NONE; |
660 const base::DictionaryValue* onc = FindPolicyForActiveUser(vpn, &onc_source); | 651 const base::DictionaryValue* onc = |
| 652 network_connect::FindPolicyForActiveUser(vpn, &onc_source); |
661 | 653 |
662 NetworkPropertyUIData hostname_ui_data; | 654 NetworkPropertyUIData hostname_ui_data; |
663 hostname_ui_data.ParseOncProperty( | 655 hostname_ui_data.ParseOncProperty( |
664 onc_source, | 656 onc_source, |
665 onc, | 657 onc, |
666 base::StringPrintf("%s.%s", onc::network_config::kVPN, onc::vpn::kHost)); | 658 base::StringPrintf("%s.%s", onc::network_config::kVPN, onc::vpn::kHost)); |
667 std::string provider_host; | 659 std::string provider_host; |
668 provider_properties->GetStringWithoutPathExpansion( | 660 provider_properties->GetStringWithoutPathExpansion( |
669 flimflam::kHostProperty, &provider_host); | 661 flimflam::kHostProperty, &provider_host); |
670 SetValueDictionary(dictionary, kTagServerHostname, | 662 SetValueDictionary(dictionary, kTagServerHostname, |
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1157 } | 1149 } |
1158 | 1150 |
1159 void InternetOptionsHandler::CarrierStatusCallback() { | 1151 void InternetOptionsHandler::CarrierStatusCallback() { |
1160 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); | 1152 NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler(); |
1161 const DeviceState* device = | 1153 const DeviceState* device = |
1162 handler->GetDeviceStateByType(flimflam::kTypeCellular); | 1154 handler->GetDeviceStateByType(flimflam::kTypeCellular); |
1163 if (device && (device->carrier() == shill::kCarrierSprint)) { | 1155 if (device && (device->carrier() == shill::kCarrierSprint)) { |
1164 const NetworkState* network = | 1156 const NetworkState* network = |
1165 handler->FirstNetworkByType(flimflam::kTypeCellular); | 1157 handler->FirstNetworkByType(flimflam::kTypeCellular); |
1166 if (network) { | 1158 if (network) { |
1167 chromeos::network_connect::ActivateCellular(network->path()); | 1159 ash::network_connect::ActivateCellular(network->path()); |
1168 UpdateConnectionData(network->path()); | 1160 UpdateConnectionData(network->path()); |
1169 } | 1161 } |
1170 } | 1162 } |
1171 UpdateCarrier(); | 1163 UpdateCarrier(); |
1172 } | 1164 } |
1173 | 1165 |
1174 void InternetOptionsHandler::SetCarrierCallback(const base::ListValue* args) { | 1166 void InternetOptionsHandler::SetCarrierCallback(const base::ListValue* args) { |
1175 std::string service_path; | 1167 std::string service_path; |
1176 std::string carrier; | 1168 std::string carrier; |
1177 if (args->GetSize() != 2 || | 1169 if (args->GetSize() != 2 || |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1439 const std::string& service_path, | 1431 const std::string& service_path, |
1440 const base::DictionaryValue& shill_properties) { | 1432 const base::DictionaryValue& shill_properties) { |
1441 const NetworkState* network = GetNetworkState(service_path); | 1433 const NetworkState* network = GetNetworkState(service_path); |
1442 if (!network) { | 1434 if (!network) { |
1443 LOG(ERROR) << "Network properties not found: " << service_path; | 1435 LOG(ERROR) << "Network properties not found: " << service_path; |
1444 return; | 1436 return; |
1445 } | 1437 } |
1446 | 1438 |
1447 onc::ONCSource onc_source = onc::ONC_SOURCE_NONE; | 1439 onc::ONCSource onc_source = onc::ONC_SOURCE_NONE; |
1448 const base::DictionaryValue* onc = | 1440 const base::DictionaryValue* onc = |
1449 FindPolicyForActiveUser(network, &onc_source); | 1441 network_connect::FindPolicyForActiveUser(network, &onc_source); |
1450 const NetworkPropertyUIData property_ui_data(onc_source); | 1442 const NetworkPropertyUIData property_ui_data(onc_source); |
1451 | 1443 |
1452 base::DictionaryValue dictionary; | 1444 base::DictionaryValue dictionary; |
1453 | 1445 |
1454 // Device hardware address | 1446 // Device hardware address |
1455 const DeviceState* device = NetworkHandler::Get()->network_state_handler()-> | 1447 const DeviceState* device = NetworkHandler::Get()->network_state_handler()-> |
1456 GetDeviceState(network->device_path()); | 1448 GetDeviceState(network->device_path()); |
1457 if (device) | 1449 if (device) |
1458 dictionary.SetString(kTagHardwareAddress, device->mac_address()); | 1450 dictionary.SetString(kTagHardwareAddress, device->mac_address()); |
1459 | 1451 |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1684 | 1676 |
1685 // Device settings. | 1677 // Device settings. |
1686 const DeviceState* device = NetworkHandler::Get()->network_state_handler()-> | 1678 const DeviceState* device = NetworkHandler::Get()->network_state_handler()-> |
1687 GetDeviceState(cellular->device_path()); | 1679 GetDeviceState(cellular->device_path()); |
1688 if (device) { | 1680 if (device) { |
1689 // TODO(stevenjb): Add NetworkDeviceHandler::GetProperties() and use that | 1681 // TODO(stevenjb): Add NetworkDeviceHandler::GetProperties() and use that |
1690 // to retrieve the complete dictionary of device properties, instead of | 1682 // to retrieve the complete dictionary of device properties, instead of |
1691 // caching them (will be done for the new UI). | 1683 // caching them (will be done for the new UI). |
1692 const base::DictionaryValue& device_properties = device->properties(); | 1684 const base::DictionaryValue& device_properties = device->properties(); |
1693 const NetworkPropertyUIData cellular_property_ui_data( | 1685 const NetworkPropertyUIData cellular_property_ui_data( |
1694 cellular->onc_source()); | 1686 cellular->ui_data().onc_source()); |
1695 CopyStringFromDictionary(device_properties, flimflam::kManufacturerProperty, | 1687 CopyStringFromDictionary(device_properties, flimflam::kManufacturerProperty, |
1696 kTagManufacturer, dictionary); | 1688 kTagManufacturer, dictionary); |
1697 CopyStringFromDictionary(device_properties, flimflam::kModelIDProperty, | 1689 CopyStringFromDictionary(device_properties, flimflam::kModelIDProperty, |
1698 kTagModelId, dictionary); | 1690 kTagModelId, dictionary); |
1699 CopyStringFromDictionary(device_properties, | 1691 CopyStringFromDictionary(device_properties, |
1700 flimflam::kFirmwareRevisionProperty, | 1692 flimflam::kFirmwareRevisionProperty, |
1701 kTagFirmwareRevision, dictionary); | 1693 kTagFirmwareRevision, dictionary); |
1702 CopyStringFromDictionary(device_properties, | 1694 CopyStringFromDictionary(device_properties, |
1703 flimflam::kHardwareRevisionProperty, | 1695 flimflam::kHardwareRevisionProperty, |
1704 kTagHardwareRevision, dictionary); | 1696 kTagHardwareRevision, dictionary); |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1842 base::Bind(&base::DoNothing), | 1834 base::Bind(&base::DoNothing), |
1843 base::Bind(&ShillError, "NetworkCommand: " + command)); | 1835 base::Bind(&ShillError, "NetworkCommand: " + command)); |
1844 } | 1836 } |
1845 } else if (command == kTagOptions) { | 1837 } else if (command == kTagOptions) { |
1846 NetworkHandler::Get()->network_configuration_handler()->GetProperties( | 1838 NetworkHandler::Get()->network_configuration_handler()->GetProperties( |
1847 service_path, | 1839 service_path, |
1848 base::Bind(&InternetOptionsHandler::PopulateDictionaryDetailsCallback, | 1840 base::Bind(&InternetOptionsHandler::PopulateDictionaryDetailsCallback, |
1849 weak_factory_.GetWeakPtr()), | 1841 weak_factory_.GetWeakPtr()), |
1850 base::Bind(&ShillError, "NetworkCommand: " + command)); | 1842 base::Bind(&ShillError, "NetworkCommand: " + command)); |
1851 } else if (command == kTagConnect) { | 1843 } else if (command == kTagConnect) { |
1852 network_connect::ConnectToNetwork( | 1844 ash::network_connect::ConnectToNetwork(service_path, GetNativeWindow()); |
1853 service_path, GetNativeWindow()); | |
1854 } else if (command == kTagDisconnect) { | 1845 } else if (command == kTagDisconnect) { |
1855 NetworkHandler::Get()->network_connection_handler()->DisconnectNetwork( | 1846 NetworkHandler::Get()->network_connection_handler()->DisconnectNetwork( |
1856 service_path, | 1847 service_path, |
1857 base::Bind(&base::DoNothing), | 1848 base::Bind(&base::DoNothing), |
1858 base::Bind(&ShillError, "NetworkCommand: " + command)); | 1849 base::Bind(&ShillError, "NetworkCommand: " + command)); |
1859 } else if (command == kTagActivate && type == flimflam::kTypeCellular) { | 1850 } else if (command == kTagActivate && type == flimflam::kTypeCellular) { |
1860 network_connect::ActivateCellular(service_path); | 1851 ash::network_connect::ActivateCellular(service_path); |
1861 // Activation may update network properties (e.g. ActivationState), so | 1852 // Activation may update network properties (e.g. ActivationState), so |
1862 // request them here in case they change. | 1853 // request them here in case they change. |
1863 UpdateConnectionData(service_path); | 1854 UpdateConnectionData(service_path); |
1864 } else { | 1855 } else { |
1865 VLOG(1) << "Unknown command: " << command; | 1856 VLOG(1) << "Unknown command: " << command; |
1866 NOTREACHED(); | 1857 NOTREACHED(); |
1867 } | 1858 } |
1868 } | 1859 } |
1869 | 1860 |
1870 void InternetOptionsHandler::AddConnection(const std::string& type) { | 1861 void InternetOptionsHandler::AddConnection(const std::string& type) { |
1871 if (type == flimflam::kTypeWifi) | 1862 if (type == flimflam::kTypeWifi) |
1872 NetworkConfigView::ShowForType(chromeos::TYPE_WIFI, GetNativeWindow()); | 1863 NetworkConfigView::ShowForType(flimflam::kTypeWifi, GetNativeWindow()); |
1873 else if (type == flimflam::kTypeVPN) | 1864 else if (type == flimflam::kTypeVPN) |
1874 NetworkConfigView::ShowForType(chromeos::TYPE_VPN, GetNativeWindow()); | 1865 NetworkConfigView::ShowForType(flimflam::kTypeVPN, GetNativeWindow()); |
1875 else if (type == flimflam::kTypeCellular) | 1866 else if (type == flimflam::kTypeCellular) |
1876 ChooseMobileNetworkDialog::ShowDialog(GetNativeWindow()); | 1867 ChooseMobileNetworkDialog::ShowDialog(GetNativeWindow()); |
1877 else | 1868 else |
1878 NOTREACHED(); | 1869 NOTREACHED(); |
1879 } | 1870 } |
1880 | 1871 |
1881 base::ListValue* InternetOptionsHandler::GetWiredList() { | 1872 base::ListValue* InternetOptionsHandler::GetWiredList() { |
1882 base::ListValue* list = new base::ListValue(); | 1873 base::ListValue* list = new base::ListValue(); |
1883 const NetworkState* network = NetworkHandler::Get()->network_state_handler()-> | 1874 const NetworkState* network = NetworkHandler::Get()->network_state_handler()-> |
1884 FirstNetworkByType(flimflam::kTypeEthernet); | 1875 FirstNetworkByType(flimflam::kTypeEthernet); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1972 cellular && cellular->support_network_scan()); | 1963 cellular && cellular->support_network_scan()); |
1973 | 1964 |
1974 dictionary->SetBoolean(kTagWimaxAvailable, | 1965 dictionary->SetBoolean(kTagWimaxAvailable, |
1975 handler->IsTechnologyAvailable(flimflam::kTypeWimax)); | 1966 handler->IsTechnologyAvailable(flimflam::kTypeWimax)); |
1976 dictionary->SetBoolean(kTagWimaxEnabled, | 1967 dictionary->SetBoolean(kTagWimaxEnabled, |
1977 handler->IsTechnologyEnabled(flimflam::kTypeWimax)); | 1968 handler->IsTechnologyEnabled(flimflam::kTypeWimax)); |
1978 } | 1969 } |
1979 | 1970 |
1980 } // namespace options | 1971 } // namespace options |
1981 } // namespace chromeos | 1972 } // namespace chromeos |
OLD | NEW |