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/options2/chromeos/internet_options_handler.h" | 5 #include "chrome/browser/ui/webui/options2/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> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "ash/shell.h" | 13 #include "ash/shell.h" |
14 #include "ash/shell_delegate.h" | 14 #include "ash/shell_delegate.h" |
15 #include "base/base64.h" | 15 #include "base/base64.h" |
16 #include "base/basictypes.h" | 16 #include "base/basictypes.h" |
17 #include "base/bind.h" | 17 #include "base/bind.h" |
18 #include "base/bind_helpers.h" | 18 #include "base/bind_helpers.h" |
19 #include "base/command_line.h" | 19 #include "base/command_line.h" |
20 #include "base/i18n/time_formatting.h" | 20 #include "base/i18n/time_formatting.h" |
| 21 #include "base/json/json_writer.h" |
21 #include "base/string16.h" | 22 #include "base/string16.h" |
22 #include "base/string_number_conversions.h" | 23 #include "base/string_number_conversions.h" |
23 #include "base/stringprintf.h" | 24 #include "base/stringprintf.h" |
24 #include "base/time.h" | 25 #include "base/time.h" |
25 #include "base/utf_string_conversions.h" | 26 #include "base/utf_string_conversions.h" |
26 #include "base/values.h" | 27 #include "base/values.h" |
27 #include "chrome/browser/browser_process.h" | 28 #include "chrome/browser/browser_process.h" |
28 #include "chrome/browser/chromeos/choose_mobile_network_dialog.h" | 29 #include "chrome/browser/chromeos/choose_mobile_network_dialog.h" |
29 #include "chrome/browser/chromeos/cros/cros_library.h" | 30 #include "chrome/browser/chromeos/cros/cros_library.h" |
| 31 #include "chrome/browser/chromeos/cros/cros_network_functions.h" |
30 #include "chrome/browser/chromeos/cros/network_library.h" | 32 #include "chrome/browser/chromeos/cros/network_library.h" |
31 #include "chrome/browser/chromeos/cros/onc_constants.h" | 33 #include "chrome/browser/chromeos/cros/onc_constants.h" |
32 #include "chrome/browser/chromeos/enrollment_dialog_view.h" | 34 #include "chrome/browser/chromeos/enrollment_dialog_view.h" |
33 #include "chrome/browser/chromeos/mobile_config.h" | 35 #include "chrome/browser/chromeos/mobile_config.h" |
34 #include "chrome/browser/chromeos/options/network_config_view.h" | 36 #include "chrome/browser/chromeos/options/network_config_view.h" |
35 #include "chrome/browser/chromeos/proxy_config_service_impl.h" | 37 #include "chrome/browser/chromeos/proxy_config_service_impl.h" |
36 #include "chrome/browser/chromeos/settings/cros_settings.h" | 38 #include "chrome/browser/chromeos/settings/cros_settings.h" |
37 #include "chrome/browser/chromeos/sim_dialog_delegate.h" | 39 #include "chrome/browser/chromeos/sim_dialog_delegate.h" |
38 #include "chrome/browser/chromeos/status/network_menu_icon.h" | 40 #include "chrome/browser/chromeos/status/network_menu_icon.h" |
39 #include "chrome/browser/net/pref_proxy_config_tracker.h" | 41 #include "chrome/browser/net/pref_proxy_config_tracker.h" |
40 #include "chrome/browser/profiles/profile.h" | 42 #include "chrome/browser/profiles/profile.h" |
41 #include "chrome/browser/profiles/profile_manager.h" | 43 #include "chrome/browser/profiles/profile_manager.h" |
42 #include "chrome/browser/ui/browser.h" | 44 #include "chrome/browser/ui/browser.h" |
43 #include "chrome/browser/ui/browser_finder.h" | 45 #include "chrome/browser/ui/browser_finder.h" |
44 #include "chrome/browser/ui/browser_window.h" | 46 #include "chrome/browser/ui/browser_window.h" |
45 #include "chrome/browser/ui/singleton_tabs.h" | 47 #include "chrome/browser/ui/singleton_tabs.h" |
46 #include "chrome/browser/ui/webui/web_ui_util.h" | 48 #include "chrome/browser/ui/webui/web_ui_util.h" |
47 #include "chrome/common/chrome_notification_types.h" | 49 #include "chrome/common/chrome_notification_types.h" |
48 #include "chrome/common/chrome_switches.h" | 50 #include "chrome/common/chrome_switches.h" |
49 #include "chrome/common/time_format.h" | 51 #include "chrome/common/time_format.h" |
50 #include "content/public/browser/notification_service.h" | 52 #include "content/public/browser/notification_service.h" |
51 #include "content/public/browser/web_contents.h" | 53 #include "content/public/browser/web_contents.h" |
52 #include "content/public/browser/web_ui.h" | 54 #include "content/public/browser/web_ui.h" |
53 #include "grit/chromium_strings.h" | 55 #include "grit/chromium_strings.h" |
54 #include "grit/generated_resources.h" | 56 #include "grit/generated_resources.h" |
55 #include "grit/locale_settings.h" | 57 #include "grit/locale_settings.h" |
56 #include "grit/theme_resources.h" | 58 #include "grit/theme_resources.h" |
| 59 #include "third_party/cros_system_api/dbus/service_constants.h" |
57 #include "ui/base/l10n/l10n_util.h" | 60 #include "ui/base/l10n/l10n_util.h" |
58 #include "ui/base/layout.h" | 61 #include "ui/base/layout.h" |
59 #include "ui/base/resource/resource_bundle.h" | 62 #include "ui/base/resource/resource_bundle.h" |
60 #include "ui/gfx/display.h" | 63 #include "ui/gfx/display.h" |
61 #include "ui/gfx/image/image_skia.h" | 64 #include "ui/gfx/image/image_skia.h" |
62 #include "ui/gfx/screen.h" | 65 #include "ui/gfx/screen.h" |
63 #include "ui/views/widget/widget.h" | 66 #include "ui/views/widget/widget.h" |
64 | 67 |
65 namespace { | 68 namespace { |
66 | 69 |
67 static const char kOtherNetworksFakePath[] = "?"; | 70 static const char kOtherNetworksFakePath[] = "?"; |
68 | 71 |
69 // Keys for the network description dictionary passed to the web ui. Make sure | 72 // Keys for the network description dictionary passed to the web ui. Make sure |
70 // to keep the strings in sync with what the Javascript side uses. | 73 // to keep the strings in sync with what the JavaScript side uses. |
71 const char kNetworkInfoKeyActivationState[] = "activation_state"; | 74 const char kNetworkInfoKeyActivationState[] = "activation_state"; |
72 const char kNetworkInfoKeyConnectable[] = "connectable"; | 75 const char kNetworkInfoKeyConnectable[] = "connectable"; |
73 const char kNetworkInfoKeyConnected[] = "connected"; | 76 const char kNetworkInfoKeyConnected[] = "connected"; |
74 const char kNetworkInfoKeyConnecting[] = "connecting"; | 77 const char kNetworkInfoKeyConnecting[] = "connecting"; |
75 const char kNetworkInfoKeyIconURL[] = "iconURL"; | 78 const char kNetworkInfoKeyIconURL[] = "iconURL"; |
76 const char kNetworkInfoKeyNeedsNewPlan[] = "needs_new_plan"; | 79 const char kNetworkInfoKeyNeedsNewPlan[] = "needs_new_plan"; |
77 const char kNetworkInfoKeyNetworkName[] = "networkName"; | 80 const char kNetworkInfoKeyNetworkName[] = "networkName"; |
78 const char kNetworkInfoKeyNetworkStatus[] = "networkStatus"; | 81 const char kNetworkInfoKeyNetworkStatus[] = "networkStatus"; |
79 const char kNetworkInfoKeyNetworkType[] = "networkType"; | 82 const char kNetworkInfoKeyNetworkType[] = "networkType"; |
80 const char kNetworkInfoKeyRemembered[] = "remembered"; | 83 const char kNetworkInfoKeyRemembered[] = "remembered"; |
81 const char kNetworkInfoKeyServicePath[] = "servicePath"; | 84 const char kNetworkInfoKeyServicePath[] = "servicePath"; |
82 const char kNetworkInfoKeyPolicyManaged[] = "policyManaged"; | 85 const char kNetworkInfoKeyPolicyManaged[] = "policyManaged"; |
83 | 86 |
| 87 // These are keys for getting IP information from the web ui. |
| 88 const char kIpConfigAddress[] = "address"; |
| 89 const char kIpConfigPrefixLength[] = "prefixLength"; |
| 90 const char kIpConfigNetmask[] = "netmask"; |
| 91 const char kIpConfigGateway[] = "gateway"; |
| 92 const char kIpConfigNameServers[] = "nameServers"; |
| 93 const char kIpConfigAutoConfig[] = "ipAutoConfig"; |
| 94 |
| 95 // These are types of name server selections from the web ui. |
| 96 const char kNameServerTypeAutomatic[] = "automatic"; |
| 97 const char kNameServerTypeGoogle[] = "google"; |
| 98 const char kNameServerTypeUser[] = "user"; |
| 99 |
| 100 // These are dictionary names used to send data to the web ui. |
| 101 const char kDictionaryIpConfig[] = "ipconfig"; |
| 102 const char kDictionaryStaticIp[] = "staticIP"; |
| 103 const char kDictionarySavedIp[] = "savedIP"; |
| 104 |
| 105 // Google public name servers (DNS). |
| 106 const char kGoogleNameServers[] = "8.8.4.4,8.8.8.8"; |
| 107 |
| 108 // Functions we call in JavaScript. |
| 109 const char kRefreshNetworkDataFunction[] = |
| 110 "options.network.NetworkList.refreshNetworkData"; |
| 111 const char kShowDetailedInfoFunction[] = |
| 112 "options.internet.DetailsInternetPage.showDetailedInfo"; |
| 113 const char kUpdateCellularPlansFunction[] = |
| 114 "options.internet.DetailsInternetPage.updateCellularPlans"; |
| 115 const char kUpdateSecurityTabFunction[] = |
| 116 "options.internet.DetailsInternetPage.updateSecurityTab"; |
| 117 |
| 118 // These are used to register message handlers with JavaScript. |
| 119 const char kBuyDataPlanMessage[] = "buyDataPlan"; |
| 120 const char kChangePinMessage[] = "changePin"; |
| 121 const char kDisableCellularMessage[] = "disableCellular"; |
| 122 const char kDisableWifiMessage[] = "disableWifi"; |
| 123 const char kDisableWimaxMessage[] = "disableWimax"; |
| 124 const char kEnableCellularMessage[] = "enableCellular"; |
| 125 const char kEnableWifiMessage[] = "enableWifi"; |
| 126 const char kEnableWimaxMessage[] = "enableWimax"; |
| 127 const char kNetworkCommandMessage[] = "networkCommand"; |
| 128 const char kRefreshCellularPlanMessage[] = "refreshCellularPlan"; |
| 129 const char kRefreshNetworksMessage[] = "refreshNetworks"; |
| 130 const char kSetApnMessage[] = "setApn"; |
| 131 const char kSetAutoConnectMessage[] = "setAutoConnect"; |
| 132 const char kSetIPConfigMessage[] = "setIPConfig"; |
| 133 const char kSetPreferNetworkMessage[] = "setPreferNetwork"; |
| 134 const char kSetSimCardLockMessage[] = "setSimCardLock"; |
| 135 const char kShowMorePlanInfoMessage[] = "showMorePlanInfo"; |
| 136 |
| 137 // These are strings used to communicate with JavaScript. |
| 138 const char kTagAccessLocked[] = "accessLocked"; |
| 139 const char kTagActivate[] = "activate"; |
| 140 const char kTagActivated[] = "activated"; |
| 141 const char kTagActivationState[] = "activationState"; |
| 142 const char kTagAirplaneMode[] = "airplaneMode"; |
| 143 const char kTagApn[] = "apn"; |
| 144 const char kTagAutoConnect[] = "autoConnect"; |
| 145 const char kTagBssid[] = "bssid"; |
| 146 const char kTagCarrierUrl[] = "carrierUrl"; |
| 147 const char kTagCellularAvailable[] = "cellularAvailable"; |
| 148 const char kTagCellularBusy[] = "cellularBusy"; |
| 149 const char kTagCellularEnabled[] = "cellularEnabled"; |
| 150 const char kTagConnect[] = "connect"; |
| 151 const char kTagConnected[] = "connected"; |
| 152 const char kTagConnecting[] = "connecting"; |
| 153 const char kTagConnectionState[] = "connectionState"; |
| 154 const char kTagControlledBy[] = "controlledBy"; |
| 155 const char kTagDataRemaining[] = "dataRemaining"; |
| 156 const char kTagDefault[] = "default"; |
| 157 const char kTagDeviceConnected[] = "deviceConnected"; |
| 158 const char kTagDisconnect[] = "disconnect"; |
| 159 const char kTagEncryption[] = "encryption"; |
| 160 const char kTagErrorState[] = "errorState"; |
| 161 const char kTagEsn[] = "esn"; |
| 162 const char kTagFirmwareRevision[] = "firmwareRevision"; |
| 163 const char kTagForget[] = "forget"; |
| 164 const char kTagFrequency[] = "frequency"; |
| 165 const char kTagGsm[] = "gsm"; |
| 166 const char kTagHardwareAddress[] = "hardwareAddress"; |
| 167 const char kTagHardwareRevision[] = "hardwareRevision"; |
| 168 const char kTagIdentity[] = "identity"; |
| 169 const char kTagImei[] = "imei"; |
| 170 const char kTagImsi[] = "imsi"; |
| 171 const char kTagLanguage[] = "language"; |
| 172 const char kTagLastGoodApn[] = "lastGoodApn"; |
| 173 const char kTagLocalizedName[] = "localizedName"; |
| 174 const char kTagManufacturer[] = "manufacturer"; |
| 175 const char kTagMdn[] = "mdn"; |
| 176 const char kTagMeid[] = "meid"; |
| 177 const char kTagMin[] = "min"; |
| 178 const char kTagModelId[] = "modelId"; |
| 179 const char kTagName[] = "name"; |
| 180 const char kTagNameServersGoogle[] = "nameServersGoogle"; |
| 181 const char kTagNameServerType[] = "nameServerType"; |
| 182 const char kTagNeedsPlan[] = "needsPlan"; |
| 183 const char kTagNetworkId[] = "networkId"; |
| 184 const char kTagNetworkName[] = "networkName"; |
| 185 const char kTagNetworkTechnology[] = "networkTechnology"; |
| 186 const char kTagOperatorCode[] = "operatorCode"; |
| 187 const char kTagOperatorName[] = "operatorName"; |
| 188 const char kTagOptions[] = "options"; |
| 189 const char kTagPassword[] = "password"; |
| 190 const char kTagPlanExpires[] = "planExpires"; |
| 191 const char kTagPlans[] = "plans"; |
| 192 const char kTagPlanSummary[] = "planSummary"; |
| 193 const char kTagPlanType[] = "planType"; |
| 194 const char kTagPolicy[] = "policy"; |
| 195 const char kTagPreferred[] = "preferred"; |
| 196 const char kTagPrlVersion[] = "prlVersion"; |
| 197 const char kTagProvider_type[] = "provider_type"; |
| 198 const char kTagProviderApnList[] = "providerApnList"; |
| 199 const char kTagRecommended[] = "recommended"; |
| 200 const char kTagRemembered[] = "remembered"; |
| 201 const char kTagRememberedList[] = "rememberedList"; |
| 202 const char kTagRestrictedPool[] = "restrictedPool"; |
| 203 const char kTagRoamingState[] = "roamingState"; |
| 204 const char kTagServer_hostname[] = "server_hostname"; |
| 205 const char kTagService_name[] = "service_name"; |
| 206 const char kTagServiceName[] = "serviceName"; |
| 207 const char kTagServicePath[] = "servicePath"; |
| 208 const char kTagShared[] = "shared"; |
| 209 const char kTagShowActivateButton[] = "showActivateButton"; |
| 210 const char kTagShowBuyButton[] = "showBuyButton"; |
| 211 const char kTagShowPreferred[] = "showPreferred"; |
| 212 const char kTagShowProxy[] = "showProxy"; |
| 213 const char kTagShowStaticIPConfig[] = "showStaticIPConfig"; |
| 214 const char kTagShowViewAccountButton[] = "showViewAccountButton"; |
| 215 const char kTagSimCardLockEnabled[] = "simCardLockEnabled"; |
| 216 const char kTagSsid[] = "ssid"; |
| 217 const char kTagStrength[] = "strength"; |
| 218 const char kTagSupportUrl[] = "supportUrl"; |
| 219 const char kTagTrue[] = "true"; |
| 220 const char kTagType[] = "type"; |
| 221 const char kTagUsername[] = "username"; |
| 222 const char kTagValue[] = "value"; |
| 223 const char kTagVpnList[] = "vpnList"; |
| 224 const char kTagWarning[] = "warning"; |
| 225 const char kTagWifiAvailable[] = "wifiAvailable"; |
| 226 const char kTagWifiBusy[] = "wifiBusy"; |
| 227 const char kTagWifiEnabled[] = "wifiEnabled"; |
| 228 const char kTagWimaxAvailable[] = "wimaxAvailable"; |
| 229 const char kTagWimaxBusy[] = "wimaxBusy"; |
| 230 const char kTagWimaxEnabled[] = "wimaxEnabled"; |
| 231 const char kTagWiredList[] = "wiredList"; |
| 232 const char kTagWirelessList[] = "wirelessList"; |
| 233 const char kToggleAirplaneModeMessage[] = "toggleAirplaneMode"; |
| 234 |
84 // A helper class for building network information dictionaries to be sent to | 235 // A helper class for building network information dictionaries to be sent to |
85 // the webui code. | 236 // the webui code. |
86 class NetworkInfoDictionary { | 237 class NetworkInfoDictionary { |
87 public: | 238 public: |
88 // Initializes the dictionary with default values. | 239 // Initializes the dictionary with default values. |
89 explicit NetworkInfoDictionary(float icon_scale); | 240 explicit NetworkInfoDictionary(float icon_scale); |
90 | 241 |
91 // Copies in service path, connect{ing|ed|able} flags and connection type from | 242 // Copies in service path, connect{ing|ed|able} flags and connection type from |
92 // the provided network object. Also chooses an appropriate icon based on the | 243 // the provided network object. Also chooses an appropriate icon based on the |
93 // network type. | 244 // network type. |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 network_info->SetString(kNetworkInfoKeyNetworkName, name_); | 404 network_info->SetString(kNetworkInfoKeyNetworkName, name_); |
254 network_info->SetString(kNetworkInfoKeyNetworkStatus, status); | 405 network_info->SetString(kNetworkInfoKeyNetworkStatus, status); |
255 network_info->SetInteger(kNetworkInfoKeyNetworkType, | 406 network_info->SetInteger(kNetworkInfoKeyNetworkType, |
256 static_cast<int>(connection_type_)); | 407 static_cast<int>(connection_type_)); |
257 network_info->SetBoolean(kNetworkInfoKeyRemembered, remembered_); | 408 network_info->SetBoolean(kNetworkInfoKeyRemembered, remembered_); |
258 network_info->SetString(kNetworkInfoKeyServicePath, service_path_); | 409 network_info->SetString(kNetworkInfoKeyServicePath, service_path_); |
259 network_info->SetBoolean(kNetworkInfoKeyPolicyManaged, policy_managed_); | 410 network_info->SetBoolean(kNetworkInfoKeyPolicyManaged, policy_managed_); |
260 return network_info.release(); | 411 return network_info.release(); |
261 } | 412 } |
262 | 413 |
| 414 // Pulls IP information out of a shill service properties dictionary. If |
| 415 // |static_ip| is true, then it fetches "StaticIP.*" properties. If not, then it |
| 416 // fetches "SavedIP.*" properties. Caller must take ownership of returned |
| 417 // dictionary. If non-NULL, |ip_parameters_set| returns a count of the number |
| 418 // of IP routing parameters that get set. |
| 419 DictionaryValue* BuildIPInfoDictionary(const DictionaryValue& shill_properties, |
| 420 bool static_ip, |
| 421 int* routing_parameters_set) { |
| 422 std::string address_key; |
| 423 std::string prefix_len_key; |
| 424 std::string gateway_key; |
| 425 std::string name_servers_key; |
| 426 if (static_ip) { |
| 427 address_key = shill::kStaticIPAddressProperty; |
| 428 prefix_len_key = shill::kStaticIPPrefixlenProperty; |
| 429 gateway_key = shill::kStaticIPGatewayProperty; |
| 430 name_servers_key = shill::kStaticIPNameServersProperty; |
| 431 } else { |
| 432 address_key = shill::kSavedIPAddressProperty; |
| 433 prefix_len_key = shill::kSavedIPPrefixlenProperty; |
| 434 gateway_key = shill::kSavedIPGatewayProperty; |
| 435 name_servers_key = shill::kSavedIPNameServersProperty; |
| 436 } |
| 437 |
| 438 scoped_ptr<DictionaryValue> ip_info_dict(new DictionaryValue); |
| 439 std::string address; |
| 440 int routing_parameters = 0; |
| 441 if (shill_properties.GetStringWithoutPathExpansion(address_key, &address)) { |
| 442 ip_info_dict->SetString(kIpConfigAddress, address); |
| 443 VLOG(2) << "Found " << address_key << ": " << address; |
| 444 routing_parameters++; |
| 445 } |
| 446 int prefix_len = -1; |
| 447 if (shill_properties.GetIntegerWithoutPathExpansion( |
| 448 prefix_len_key, &prefix_len)) { |
| 449 ip_info_dict->SetInteger(kIpConfigPrefixLength, prefix_len); |
| 450 ip_info_dict->SetString(kIpConfigNetmask, |
| 451 chromeos::CrosPrefixLengthToNetmask(prefix_len)); |
| 452 VLOG(2) << "Found " << prefix_len_key << ": " |
| 453 << prefix_len |
| 454 << " (" << chromeos::CrosPrefixLengthToNetmask(prefix_len) << ")"; |
| 455 routing_parameters++; |
| 456 } |
| 457 std::string gateway; |
| 458 if (shill_properties.GetStringWithoutPathExpansion(gateway_key, &gateway)) { |
| 459 ip_info_dict->SetString(kIpConfigGateway, gateway); |
| 460 VLOG(2) << "Found " << gateway_key << ": " << gateway; |
| 461 routing_parameters++; |
| 462 } |
| 463 if (routing_parameters_set) |
| 464 *routing_parameters_set = routing_parameters; |
| 465 |
| 466 std::string name_servers; |
| 467 if (shill_properties.GetStringWithoutPathExpansion( |
| 468 name_servers_key, &name_servers)) { |
| 469 ip_info_dict->SetString(kIpConfigNameServers, name_servers); |
| 470 VLOG(2) << "Found " << name_servers_key << ": " << name_servers; |
| 471 } |
| 472 |
| 473 return ip_info_dict.release(); |
| 474 } |
| 475 |
263 } // namespace | 476 } // namespace |
264 | 477 |
265 namespace options2 { | 478 namespace options2 { |
266 | 479 |
267 InternetOptionsHandler::InternetOptionsHandler() | 480 InternetOptionsHandler::InternetOptionsHandler() |
268 : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { | 481 : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { |
269 registrar_.Add(this, chrome::NOTIFICATION_REQUIRE_PIN_SETTING_CHANGE_ENDED, | 482 registrar_.Add(this, chrome::NOTIFICATION_REQUIRE_PIN_SETTING_CHANGE_ENDED, |
270 content::NotificationService::AllSources()); | 483 content::NotificationService::AllSources()); |
271 registrar_.Add(this, chrome::NOTIFICATION_ENTER_PIN_ENDED, | 484 registrar_.Add(this, chrome::NOTIFICATION_ENTER_PIN_ENDED, |
272 content::NotificationService::AllSources()); | 485 content::NotificationService::AllSources()); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
331 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CHANGE_PROXY_BUTTON }, | 544 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_CHANGE_PROXY_BUTTON }, |
332 { "managedNetwork", IDS_OPTIONS_SETTINGS_MANAGED_NETWORK }, | 545 { "managedNetwork", IDS_OPTIONS_SETTINGS_MANAGED_NETWORK }, |
333 { "wifiNetworkTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_CONNECTION }, | 546 { "wifiNetworkTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_CONNECTION }, |
334 { "vpnTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_VPN }, | 547 { "vpnTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_VPN }, |
335 { "cellularPlanTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_PLAN }, | 548 { "cellularPlanTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_PLAN }, |
336 { "cellularConnTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_CONNECTION }, | 549 { "cellularConnTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_CONNECTION }, |
337 { "cellularDeviceTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_DEVICE }, | 550 { "cellularDeviceTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_DEVICE }, |
338 { "networkTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_NETWORK }, | 551 { "networkTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_NETWORK }, |
339 { "securityTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_SECURITY }, | 552 { "securityTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_SECURITY }, |
340 { "proxyTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_PROXY }, | 553 { "proxyTabLabel", IDS_OPTIONS_SETTINGS_INTERNET_TAB_PROXY }, |
341 { "useDHCP", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_USE_DHCP }, | |
342 { "useStaticIP", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_USE_STATIC_IP }, | |
343 { "connectionState", IDS_OPTIONS_SETTINGS_INTERNET_CONNECTION_STATE }, | 554 { "connectionState", IDS_OPTIONS_SETTINGS_INTERNET_CONNECTION_STATE }, |
344 { "inetAddress", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_ADDRESS }, | 555 { "inetAddress", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_ADDRESS }, |
345 { "inetSubnetAddress", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SUBNETMASK }, | 556 { "inetNetmask", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_SUBNETMASK }, |
346 { "inetGateway", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_GATEWAY }, | 557 { "inetGateway", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_GATEWAY }, |
347 { "inetDns", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_DNSSERVER }, | 558 { "inetNameServers", IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_DNSSERVER }, |
| 559 { "ipAutomaticConfiguration", |
| 560 IDS_OPTIONS_SETTINGS_INTERNET_IP_AUTOMATIC_CONFIGURATION }, |
| 561 { "automaticNameServers", |
| 562 IDS_OPTIONS_SETTINGS_INTERNET_AUTOMATIC_NAME_SERVERS }, |
| 563 { "userNameServer1", IDS_OPTIONS_SETTINGS_INTERNET_USER_NAME_SERVER_1 }, |
| 564 { "userNameServer2", IDS_OPTIONS_SETTINGS_INTERNET_USER_NAME_SERVER_2 }, |
| 565 { "userNameServer3", IDS_OPTIONS_SETTINGS_INTERNET_USER_NAME_SERVER_3 }, |
| 566 { "userNameServer4", IDS_OPTIONS_SETTINGS_INTERNET_USER_NAME_SERVER_4 }, |
| 567 { "googleNameServers", IDS_OPTIONS_SETTINGS_INTERNET_GOOGLE_NAME_SERVERS }, |
| 568 { "userNameServers", IDS_OPTIONS_SETTINGS_INTERNET_USER_NAME_SERVERS }, |
348 { "hardwareAddress", | 569 { "hardwareAddress", |
349 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_HARDWARE_ADDRESS }, | 570 IDS_OPTIONS_SETTINGS_INTERNET_OPTIONS_HARDWARE_ADDRESS }, |
350 { "detailsInternetDismiss", IDS_CLOSE }, | 571 { "detailsInternetDismiss", IDS_CLOSE }, |
351 { "activateButton", IDS_OPTIONS_SETTINGS_ACTIVATE }, | 572 { "activateButton", IDS_OPTIONS_SETTINGS_ACTIVATE }, |
352 { "buyplanButton", IDS_OPTIONS_SETTINGS_BUY_PLAN }, | 573 { "buyplanButton", IDS_OPTIONS_SETTINGS_BUY_PLAN }, |
353 { "connectButton", IDS_OPTIONS_SETTINGS_CONNECT }, | 574 { "connectButton", IDS_OPTIONS_SETTINGS_CONNECT }, |
354 { "disconnectButton", IDS_OPTIONS_SETTINGS_DISCONNECT }, | 575 { "disconnectButton", IDS_OPTIONS_SETTINGS_DISCONNECT }, |
355 { "viewAccountButton", IDS_STATUSBAR_NETWORK_VIEW_ACCOUNT }, | 576 { "viewAccountButton", IDS_STATUSBAR_NETWORK_VIEW_ACCOUNT }, |
356 | 577 |
357 // TODO(zelidrag): Change details title to Wimax once we get strings. | 578 // TODO(zelidrag): Change details title to Wimax once we get strings. |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 FillNetworkInfo(network_dictionary); | 681 FillNetworkInfo(network_dictionary); |
461 localized_strings->Set("networkData", network_dictionary); | 682 localized_strings->Set("networkData", network_dictionary); |
462 } | 683 } |
463 | 684 |
464 void InternetOptionsHandler::InitializePage() { | 685 void InternetOptionsHandler::InitializePage() { |
465 cros_->RequestNetworkScan(); | 686 cros_->RequestNetworkScan(); |
466 } | 687 } |
467 | 688 |
468 void InternetOptionsHandler::RegisterMessages() { | 689 void InternetOptionsHandler::RegisterMessages() { |
469 // Setup handlers specific to this panel. | 690 // Setup handlers specific to this panel. |
470 web_ui()->RegisterMessageCallback("networkCommand", | 691 web_ui()->RegisterMessageCallback(kNetworkCommandMessage, |
471 base::Bind(&InternetOptionsHandler::NetworkCommandCallback, | 692 base::Bind(&InternetOptionsHandler::NetworkCommandCallback, |
472 base::Unretained(this))); | 693 base::Unretained(this))); |
473 web_ui()->RegisterMessageCallback("refreshNetworks", | 694 web_ui()->RegisterMessageCallback(kRefreshNetworksMessage, |
474 base::Bind(&InternetOptionsHandler::RefreshNetworksCallback, | 695 base::Bind(&InternetOptionsHandler::RefreshNetworksCallback, |
475 base::Unretained(this))); | 696 base::Unretained(this))); |
476 web_ui()->RegisterMessageCallback("refreshCellularPlan", | 697 web_ui()->RegisterMessageCallback(kRefreshCellularPlanMessage, |
477 base::Bind(&InternetOptionsHandler::RefreshCellularPlanCallback, | 698 base::Bind(&InternetOptionsHandler::RefreshCellularPlanCallback, |
478 base::Unretained(this))); | 699 base::Unretained(this))); |
479 web_ui()->RegisterMessageCallback("setPreferNetwork", | 700 web_ui()->RegisterMessageCallback(kSetPreferNetworkMessage, |
480 base::Bind(&InternetOptionsHandler::SetPreferNetworkCallback, | 701 base::Bind(&InternetOptionsHandler::SetPreferNetworkCallback, |
481 base::Unretained(this))); | 702 base::Unretained(this))); |
482 web_ui()->RegisterMessageCallback("setAutoConnect", | 703 web_ui()->RegisterMessageCallback(kSetAutoConnectMessage, |
483 base::Bind(&InternetOptionsHandler::SetAutoConnectCallback, | 704 base::Bind(&InternetOptionsHandler::SetAutoConnectCallback, |
484 base::Unretained(this))); | 705 base::Unretained(this))); |
485 web_ui()->RegisterMessageCallback("setIPConfig", | 706 web_ui()->RegisterMessageCallback(kSetIPConfigMessage, |
486 base::Bind(&InternetOptionsHandler::SetIPConfigCallback, | 707 base::Bind(&InternetOptionsHandler::SetIPConfigCallback, |
487 base::Unretained(this))); | 708 base::Unretained(this))); |
488 web_ui()->RegisterMessageCallback("enableWifi", | 709 web_ui()->RegisterMessageCallback(kEnableWifiMessage, |
489 base::Bind(&InternetOptionsHandler::EnableWifiCallback, | 710 base::Bind(&InternetOptionsHandler::EnableWifiCallback, |
490 base::Unretained(this))); | 711 base::Unretained(this))); |
491 web_ui()->RegisterMessageCallback("disableWifi", | 712 web_ui()->RegisterMessageCallback(kDisableWifiMessage, |
492 base::Bind(&InternetOptionsHandler::DisableWifiCallback, | 713 base::Bind(&InternetOptionsHandler::DisableWifiCallback, |
493 base::Unretained(this))); | 714 base::Unretained(this))); |
494 web_ui()->RegisterMessageCallback("enableCellular", | 715 web_ui()->RegisterMessageCallback(kEnableCellularMessage, |
495 base::Bind(&InternetOptionsHandler::EnableCellularCallback, | 716 base::Bind(&InternetOptionsHandler::EnableCellularCallback, |
496 base::Unretained(this))); | 717 base::Unretained(this))); |
497 web_ui()->RegisterMessageCallback("disableCellular", | 718 web_ui()->RegisterMessageCallback(kDisableCellularMessage, |
498 base::Bind(&InternetOptionsHandler::DisableCellularCallback, | 719 base::Bind(&InternetOptionsHandler::DisableCellularCallback, |
499 base::Unretained(this))); | 720 base::Unretained(this))); |
500 web_ui()->RegisterMessageCallback("enableWimax", | 721 web_ui()->RegisterMessageCallback(kEnableWimaxMessage, |
501 base::Bind(&InternetOptionsHandler::EnableWimaxCallback, | 722 base::Bind(&InternetOptionsHandler::EnableWimaxCallback, |
502 base::Unretained(this))); | 723 base::Unretained(this))); |
503 web_ui()->RegisterMessageCallback("disableWimax", | 724 web_ui()->RegisterMessageCallback(kDisableWimaxMessage, |
504 base::Bind(&InternetOptionsHandler::DisableWimaxCallback, | 725 base::Bind(&InternetOptionsHandler::DisableWimaxCallback, |
505 base::Unretained(this))); | 726 base::Unretained(this))); |
506 web_ui()->RegisterMessageCallback("buyDataPlan", | 727 web_ui()->RegisterMessageCallback(kBuyDataPlanMessage, |
507 base::Bind(&InternetOptionsHandler::BuyDataPlanCallback, | 728 base::Bind(&InternetOptionsHandler::BuyDataPlanCallback, |
508 base::Unretained(this))); | 729 base::Unretained(this))); |
509 web_ui()->RegisterMessageCallback("showMorePlanInfo", | 730 web_ui()->RegisterMessageCallback(kShowMorePlanInfoMessage, |
510 base::Bind(&InternetOptionsHandler::ShowMorePlanInfoCallback, | 731 base::Bind(&InternetOptionsHandler::ShowMorePlanInfoCallback, |
511 base::Unretained(this))); | 732 base::Unretained(this))); |
512 web_ui()->RegisterMessageCallback("setApn", | 733 web_ui()->RegisterMessageCallback(kSetApnMessage, |
513 base::Bind(&InternetOptionsHandler::SetApnCallback, | 734 base::Bind(&InternetOptionsHandler::SetApnCallback, |
514 base::Unretained(this))); | 735 base::Unretained(this))); |
515 web_ui()->RegisterMessageCallback("setSimCardLock", | 736 web_ui()->RegisterMessageCallback(kSetSimCardLockMessage, |
516 base::Bind(&InternetOptionsHandler::SetSimCardLockCallback, | 737 base::Bind(&InternetOptionsHandler::SetSimCardLockCallback, |
517 base::Unretained(this))); | 738 base::Unretained(this))); |
518 web_ui()->RegisterMessageCallback("changePin", | 739 web_ui()->RegisterMessageCallback(kChangePinMessage, |
519 base::Bind(&InternetOptionsHandler::ChangePinCallback, | 740 base::Bind(&InternetOptionsHandler::ChangePinCallback, |
520 base::Unretained(this))); | 741 base::Unretained(this))); |
521 web_ui()->RegisterMessageCallback("toggleAirplaneMode", | 742 web_ui()->RegisterMessageCallback(kToggleAirplaneModeMessage, |
522 base::Bind(&InternetOptionsHandler::ToggleAirplaneModeCallback, | 743 base::Bind(&InternetOptionsHandler::ToggleAirplaneModeCallback, |
523 base::Unretained(this))); | 744 base::Unretained(this))); |
524 } | 745 } |
525 | 746 |
526 void InternetOptionsHandler::EnableWifiCallback(const ListValue* args) { | 747 void InternetOptionsHandler::EnableWifiCallback(const ListValue* args) { |
527 cros_->EnableWifiNetworkDevice(true); | 748 cros_->EnableWifiNetworkDevice(true); |
528 } | 749 } |
529 | 750 |
530 void InternetOptionsHandler::DisableWifiCallback(const ListValue* args) { | 751 void InternetOptionsHandler::DisableWifiCallback(const ListValue* args) { |
531 cros_->EnableWifiNetworkDevice(false); | 752 cros_->EnableWifiNetworkDevice(false); |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
646 } | 867 } |
647 | 868 |
648 void InternetOptionsHandler::RefreshNetworksCallback(const ListValue* args) { | 869 void InternetOptionsHandler::RefreshNetworksCallback(const ListValue* args) { |
649 cros_->RequestNetworkScan(); | 870 cros_->RequestNetworkScan(); |
650 } | 871 } |
651 | 872 |
652 void InternetOptionsHandler::RefreshNetworkData() { | 873 void InternetOptionsHandler::RefreshNetworkData() { |
653 DictionaryValue dictionary; | 874 DictionaryValue dictionary; |
654 FillNetworkInfo(&dictionary); | 875 FillNetworkInfo(&dictionary); |
655 web_ui()->CallJavascriptFunction( | 876 web_ui()->CallJavascriptFunction( |
656 "options.network.NetworkList.refreshNetworkData", dictionary); | 877 kRefreshNetworkDataFunction, dictionary); |
657 } | 878 } |
658 | 879 |
659 void InternetOptionsHandler::OnNetworkManagerChanged( | 880 void InternetOptionsHandler::OnNetworkManagerChanged( |
660 chromeos::NetworkLibrary* cros) { | 881 chromeos::NetworkLibrary* cros) { |
661 if (!web_ui()) | 882 if (!web_ui()) |
662 return; | 883 return; |
663 MonitorNetworks(); | 884 MonitorNetworks(); |
664 RefreshNetworkData(); | 885 RefreshNetworkData(); |
665 } | 886 } |
666 | 887 |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 const chromeos::CellularDataPlanVector* plans = | 936 const chromeos::CellularDataPlanVector* plans = |
716 cros_->GetDataPlans(cellular->service_path()); | 937 cros_->GetDataPlans(cellular->service_path()); |
717 DictionaryValue connection_plans; | 938 DictionaryValue connection_plans; |
718 ListValue* plan_list = new ListValue(); | 939 ListValue* plan_list = new ListValue(); |
719 if (plans) { | 940 if (plans) { |
720 for (chromeos::CellularDataPlanVector::const_iterator iter = plans->begin(); | 941 for (chromeos::CellularDataPlanVector::const_iterator iter = plans->begin(); |
721 iter != plans->end(); ++iter) { | 942 iter != plans->end(); ++iter) { |
722 plan_list->Append(CellularDataPlanToDictionary(*iter)); | 943 plan_list->Append(CellularDataPlanToDictionary(*iter)); |
723 } | 944 } |
724 } | 945 } |
725 connection_plans.SetString("servicePath", cellular->service_path()); | 946 connection_plans.SetString(kTagServicePath, cellular->service_path()); |
726 connection_plans.SetBoolean("needsPlan", cellular->needs_new_plan()); | 947 connection_plans.SetBoolean(kTagNeedsPlan, cellular->needs_new_plan()); |
727 connection_plans.SetBoolean("activated", | 948 connection_plans.SetBoolean(kTagActivated, |
728 cellular->activation_state() == chromeos::ACTIVATION_STATE_ACTIVATED); | 949 cellular->activation_state() == chromeos::ACTIVATION_STATE_ACTIVATED); |
729 connection_plans.Set("plans", plan_list); | 950 connection_plans.Set(kTagPlans, plan_list); |
730 SetActivationButtonVisibility(cellular, | 951 SetActivationButtonVisibility(cellular, |
731 &connection_plans, | 952 &connection_plans, |
732 cros_->GetCellularHomeCarrierId()); | 953 cros_->GetCellularHomeCarrierId()); |
733 web_ui()->CallJavascriptFunction( | 954 web_ui()->CallJavascriptFunction( |
734 "options.internet.DetailsInternetPage.updateCellularPlans", | 955 kUpdateCellularPlansFunction, |
735 connection_plans); | 956 connection_plans); |
736 } | 957 } |
737 | 958 |
738 | 959 |
739 void InternetOptionsHandler::Observe( | 960 void InternetOptionsHandler::Observe( |
740 int type, | 961 int type, |
741 const content::NotificationSource& source, | 962 const content::NotificationSource& source, |
742 const content::NotificationDetails& details) { | 963 const content::NotificationDetails& details) { |
743 OptionsPageUIHandler::Observe(type, source, details); | 964 OptionsPageUIHandler::Observe(type, source, details); |
744 if (type == chrome::NOTIFICATION_REQUIRE_PIN_SETTING_CHANGE_ENDED) { | 965 if (type == chrome::NOTIFICATION_REQUIRE_PIN_SETTING_CHANGE_ENDED) { |
745 base::FundamentalValue require_pin(*content::Details<bool>(details).ptr()); | 966 base::FundamentalValue require_pin(*content::Details<bool>(details).ptr()); |
746 web_ui()->CallJavascriptFunction( | 967 web_ui()->CallJavascriptFunction( |
747 "options.internet.DetailsInternetPage.updateSecurityTab", require_pin); | 968 kUpdateSecurityTabFunction, require_pin); |
748 } else if (type == chrome::NOTIFICATION_ENTER_PIN_ENDED) { | 969 } else if (type == chrome::NOTIFICATION_ENTER_PIN_ENDED) { |
749 // We make an assumption (which is valid for now) that the SIM | 970 // We make an assumption (which is valid for now) that the SIM |
750 // unlock dialog is put up only when the user is trying to enable | 971 // unlock dialog is put up only when the user is trying to enable |
751 // mobile data. | 972 // mobile data. |
752 bool cancelled = *content::Details<bool>(details).ptr(); | 973 bool cancelled = *content::Details<bool>(details).ptr(); |
753 if (cancelled) | 974 if (cancelled) |
754 RefreshNetworkData(); | 975 RefreshNetworkData(); |
755 // The case in which the correct PIN was entered and the SIM is | 976 // The case in which the correct PIN was entered and the SIM is |
756 // now unlocked is handled in NetworkMenuButton. | 977 // now unlocked is handled in NetworkMenuButton. |
757 } | 978 } |
758 } | 979 } |
759 | 980 |
760 DictionaryValue* InternetOptionsHandler::CellularDataPlanToDictionary( | 981 DictionaryValue* InternetOptionsHandler::CellularDataPlanToDictionary( |
761 const chromeos::CellularDataPlan* plan) { | 982 const chromeos::CellularDataPlan* plan) { |
762 DictionaryValue* plan_dict = new DictionaryValue(); | 983 DictionaryValue* plan_dict = new DictionaryValue(); |
763 plan_dict->SetInteger("planType", plan->plan_type); | 984 plan_dict->SetInteger(kTagPlanType, plan->plan_type); |
764 plan_dict->SetString("name", plan->plan_name); | 985 plan_dict->SetString(kTagName, plan->plan_name); |
765 plan_dict->SetString("planSummary", plan->GetPlanDesciption()); | 986 plan_dict->SetString(kTagPlanSummary, plan->GetPlanDesciption()); |
766 plan_dict->SetString("dataRemaining", plan->GetDataRemainingDesciption()); | 987 plan_dict->SetString(kTagDataRemaining, plan->GetDataRemainingDesciption()); |
767 plan_dict->SetString("planExpires", plan->GetPlanExpiration()); | 988 plan_dict->SetString(kTagPlanExpires, plan->GetPlanExpiration()); |
768 plan_dict->SetString("warning", plan->GetRemainingWarning()); | 989 plan_dict->SetString(kTagWarning, plan->GetRemainingWarning()); |
769 return plan_dict; | 990 return plan_dict; |
770 } | 991 } |
771 | 992 |
772 void InternetOptionsHandler::SetPreferNetworkCallback(const ListValue* args) { | 993 void InternetOptionsHandler::SetPreferNetworkCallback(const ListValue* args) { |
773 std::string service_path; | 994 std::string service_path; |
774 std::string prefer_network_str; | 995 std::string prefer_network_str; |
775 | 996 |
776 if (args->GetSize() < 2 || | 997 if (args->GetSize() < 2 || |
777 !args->GetString(0, &service_path) || | 998 !args->GetString(0, &service_path) || |
778 !args->GetString(1, &prefer_network_str)) { | 999 !args->GetString(1, &prefer_network_str)) { |
779 NOTREACHED(); | 1000 NOTREACHED(); |
780 return; | 1001 return; |
781 } | 1002 } |
782 | 1003 |
783 chromeos::Network* network = cros_->FindNetworkByPath(service_path); | 1004 chromeos::Network* network = cros_->FindNetworkByPath(service_path); |
784 if (!network) | 1005 if (!network) |
785 return; | 1006 return; |
786 | 1007 |
787 bool prefer_network = prefer_network_str == "true"; | 1008 bool prefer_network = prefer_network_str == kTagTrue; |
788 if (prefer_network != network->preferred()) | 1009 if (prefer_network != network->preferred()) |
789 network->SetPreferred(prefer_network); | 1010 network->SetPreferred(prefer_network); |
790 } | 1011 } |
791 | 1012 |
792 void InternetOptionsHandler::SetAutoConnectCallback(const ListValue* args) { | 1013 void InternetOptionsHandler::SetAutoConnectCallback(const ListValue* args) { |
793 std::string service_path; | 1014 std::string service_path; |
794 std::string auto_connect_str; | 1015 std::string auto_connect_str; |
795 | 1016 |
796 if (args->GetSize() < 2 || | 1017 if (args->GetSize() < 2 || |
797 !args->GetString(0, &service_path) || | 1018 !args->GetString(0, &service_path) || |
798 !args->GetString(1, &auto_connect_str)) { | 1019 !args->GetString(1, &auto_connect_str)) { |
799 NOTREACHED(); | 1020 NOTREACHED(); |
800 return; | 1021 return; |
801 } | 1022 } |
802 | 1023 |
803 chromeos::Network* network = cros_->FindNetworkByPath(service_path); | 1024 chromeos::Network* network = cros_->FindNetworkByPath(service_path); |
804 if (!network) | 1025 if (!network) |
805 return; | 1026 return; |
806 | 1027 |
807 bool auto_connect = auto_connect_str == "true"; | 1028 bool auto_connect = auto_connect_str == kTagTrue; |
808 if (auto_connect != network->auto_connect()) | 1029 if (auto_connect != network->auto_connect()) |
809 network->SetAutoConnect(auto_connect); | 1030 network->SetAutoConnect(auto_connect); |
810 } | 1031 } |
811 | 1032 |
812 void InternetOptionsHandler::SetIPConfigCallback(const ListValue* args) { | 1033 void InternetOptionsHandler::SetIPConfigCallback(const ListValue* args) { |
813 std::string service_path; | 1034 std::string service_path; |
814 std::string dhcp_str; | 1035 bool dhcp_for_ip; |
815 std::string address; | 1036 std::string address; |
816 std::string netmask; | 1037 std::string netmask; |
817 std::string gateway; | 1038 std::string gateway; |
| 1039 std::string name_server_type; |
818 std::string name_servers; | 1040 std::string name_servers; |
819 | 1041 |
820 if (args->GetSize() < 6 || | 1042 if (args->GetSize() < 7 || |
821 !args->GetString(0, &service_path) || | 1043 !args->GetString(0, &service_path) || |
822 !args->GetString(1, &dhcp_str) || | 1044 !args->GetBoolean(1, &dhcp_for_ip) || |
823 !args->GetString(2, &address) || | 1045 !args->GetString(2, &address) || |
824 !args->GetString(3, &netmask) || | 1046 !args->GetString(3, &netmask) || |
825 !args->GetString(4, &gateway) || | 1047 !args->GetString(4, &gateway) || |
826 !args->GetString(5, &name_servers)) { | 1048 !args->GetString(5, &name_server_type) || |
| 1049 !args->GetString(6, &name_servers)) { |
827 NOTREACHED(); | 1050 NOTREACHED(); |
828 return; | 1051 return; |
829 } | 1052 } |
830 | 1053 |
831 chromeos::Network* network = cros_->FindNetworkByPath(service_path); | 1054 int dhcp_usage_mask = 0; |
832 if (!network) | 1055 if (dhcp_for_ip) { |
833 return; | 1056 dhcp_usage_mask = (chromeos::NetworkLibrary::USE_DHCP_ADDRESS | |
| 1057 chromeos::NetworkLibrary::USE_DHCP_NETMASK | |
| 1058 chromeos::NetworkLibrary::USE_DHCP_GATEWAY); |
| 1059 } |
| 1060 if (name_server_type == kNameServerTypeAutomatic) { |
| 1061 dhcp_usage_mask |= chromeos::NetworkLibrary::USE_DHCP_NAME_SERVERS; |
| 1062 name_servers.clear(); |
| 1063 } else if (name_server_type == kNameServerTypeGoogle) { |
| 1064 name_servers = kGoogleNameServers; |
| 1065 } |
834 | 1066 |
835 cros_->SetIPConfig(chromeos::NetworkIPConfig(network->device_path(), | 1067 cros_->SetIPParameters(service_path, |
836 dhcp_str == "true" ? chromeos::IPCONFIG_TYPE_DHCP : | 1068 address, |
837 chromeos::IPCONFIG_TYPE_IPV4, | 1069 netmask, |
838 address, netmask, gateway, name_servers)); | 1070 gateway, |
| 1071 name_servers, |
| 1072 dhcp_usage_mask); |
839 } | 1073 } |
840 | 1074 |
841 void InternetOptionsHandler::PopulateDictionaryDetails( | 1075 void InternetOptionsHandler::PopulateDictionaryDetails( |
842 const chromeos::Network* network) { | 1076 const chromeos::Network* network) { |
843 DCHECK(network); | 1077 DCHECK(network); |
844 | 1078 |
| 1079 // Send off an asynchronous request to Shill to get the service properties |
| 1080 // and continue in the callback. |
| 1081 chromeos::CrosRequestNetworkServiceProperties( |
| 1082 network->service_path(), |
| 1083 base::Bind(&InternetOptionsHandler::PopulateDictionaryDetailsCallback, |
| 1084 weak_factory_.GetWeakPtr(), network)); |
| 1085 } |
| 1086 |
| 1087 void InternetOptionsHandler::PopulateDictionaryDetailsCallback( |
| 1088 const chromeos::Network* network, |
| 1089 const std::string& service_path, |
| 1090 const base::DictionaryValue* shill_properties) { |
| 1091 if (VLOG_IS_ON(2)) { |
| 1092 std::string properties_json; |
| 1093 base::JSONWriter::WriteWithOptions(shill_properties, |
| 1094 base::JSONWriter::OPTIONS_PRETTY_PRINT, |
| 1095 &properties_json); |
| 1096 VLOG(2) << "Shill Properties: " << std::endl << properties_json; |
| 1097 } |
| 1098 |
845 if (web_ui()) { | 1099 if (web_ui()) { |
846 Profile::FromWebUI(web_ui())->GetProxyConfigTracker()->UISetCurrentNetwork( | 1100 Profile::FromWebUI(web_ui())->GetProxyConfigTracker()->UISetCurrentNetwork( |
847 network->service_path()); | 1101 network->service_path()); |
848 } | 1102 } |
849 | 1103 |
850 const chromeos::NetworkUIData& ui_data = network->ui_data(); | 1104 const chromeos::NetworkUIData& ui_data = network->ui_data(); |
851 const base::DictionaryValue* onc = | 1105 const base::DictionaryValue* onc = |
852 cros_->FindOncForNetwork(network->unique_id()); | 1106 cros_->FindOncForNetwork(network->unique_id()); |
853 | 1107 |
854 DictionaryValue dictionary; | 1108 base::DictionaryValue dictionary; |
855 std::string hardware_address; | 1109 std::string hardware_address; |
856 chromeos::NetworkIPConfigVector ipconfigs = cros_->GetIPConfigs( | 1110 chromeos::NetworkIPConfigVector ipconfigs = cros_->GetIPConfigs( |
857 network->device_path(), &hardware_address, | 1111 network->device_path(), &hardware_address, |
858 chromeos::NetworkLibrary::FORMAT_COLON_SEPARATED_HEX); | 1112 chromeos::NetworkLibrary::FORMAT_COLON_SEPARATED_HEX); |
859 if (!hardware_address.empty()) | 1113 if (!hardware_address.empty()) |
860 dictionary.SetString("hardwareAddress", hardware_address); | 1114 dictionary.SetString(kTagHardwareAddress, hardware_address); |
861 | 1115 |
862 scoped_ptr<DictionaryValue> ipconfig_dhcp; | 1116 // The DHCP IPConfig contains the values that are actually in use at the |
863 scoped_ptr<DictionaryValue> ipconfig_static; | 1117 // moment, even if some are overridden by static IP values. |
| 1118 scoped_ptr<DictionaryValue> ipconfig_dhcp(new DictionaryValue); |
| 1119 std::string ipconfig_name_servers; |
864 for (chromeos::NetworkIPConfigVector::const_iterator it = ipconfigs.begin(); | 1120 for (chromeos::NetworkIPConfigVector::const_iterator it = ipconfigs.begin(); |
865 it != ipconfigs.end(); ++it) { | 1121 it != ipconfigs.end(); ++it) { |
866 const chromeos::NetworkIPConfig& ipconfig = *it; | 1122 const chromeos::NetworkIPConfig& ipconfig = *it; |
867 scoped_ptr<DictionaryValue> ipconfig_dict(new DictionaryValue()); | 1123 if (ipconfig.type == chromeos::IPCONFIG_TYPE_DHCP) { |
868 ipconfig_dict->SetString("address", ipconfig.address); | 1124 ipconfig_dhcp->SetString(kIpConfigAddress, ipconfig.address); |
869 ipconfig_dict->SetString("subnetAddress", ipconfig.netmask); | 1125 VLOG(2) << "Found DHCP Address: " << ipconfig.address; |
870 ipconfig_dict->SetString("gateway", ipconfig.gateway); | 1126 ipconfig_dhcp->SetString(kIpConfigNetmask, ipconfig.netmask); |
871 ipconfig_dict->SetString("dns", ipconfig.name_servers); | 1127 VLOG(2) << "Found DHCP Netmask: " << ipconfig.netmask; |
872 if (ipconfig.type == chromeos::IPCONFIG_TYPE_DHCP) | 1128 ipconfig_dhcp->SetString(kIpConfigGateway, ipconfig.gateway); |
873 ipconfig_dhcp.reset(ipconfig_dict.release()); | 1129 VLOG(2) << "Found DHCP Gateway: " << ipconfig.gateway; |
874 else if (ipconfig.type == chromeos::IPCONFIG_TYPE_IPV4) | 1130 ipconfig_dhcp->SetString(kIpConfigNameServers, ipconfig.name_servers); |
875 ipconfig_static.reset(ipconfig_dict.release()); | 1131 ipconfig_name_servers = ipconfig.name_servers; // save for later |
| 1132 VLOG(2) << "Found DHCP Name Servers: " << ipconfig.name_servers; |
| 1133 break; |
| 1134 } |
876 } | 1135 } |
877 | 1136 |
878 chromeos::NetworkPropertyUIData ipconfig_dhcp_ui_data(ui_data); | 1137 chromeos::NetworkPropertyUIData ipconfig_dhcp_ui_data(ui_data); |
879 SetValueDictionary(&dictionary, "ipconfigDHCP", ipconfig_dhcp.release(), | 1138 |
| 1139 chromeos::NetworkPropertyUIData static_ip_ui_data(ui_data); |
| 1140 int automatic_ip_config; |
| 1141 scoped_ptr<DictionaryValue> static_ip_dict( |
| 1142 BuildIPInfoDictionary(*shill_properties, true, &automatic_ip_config)); |
| 1143 dictionary.SetBoolean(kIpConfigAutoConfig, automatic_ip_config == 0); |
| 1144 DCHECK(automatic_ip_config == 3 || automatic_ip_config == 0) |
| 1145 << "UI doesn't support automatic specification of individual " |
| 1146 << "static ip parameters."; |
| 1147 scoped_ptr<DictionaryValue> saved_ip_dict( |
| 1148 BuildIPInfoDictionary(*shill_properties, false, NULL)); |
| 1149 dictionary.Set(kDictionarySavedIp, saved_ip_dict.release()); |
| 1150 |
| 1151 // Determine what kind of name server setting we have by comparing the |
| 1152 // StaticIP and Google values with the ipconfig values. |
| 1153 std::string name_server_type = kNameServerTypeAutomatic; |
| 1154 std::string static_ip_nameservers; |
| 1155 static_ip_dict->GetString(kIpConfigNameServers, &static_ip_nameservers); |
| 1156 if (!static_ip_nameservers.empty() && |
| 1157 static_ip_nameservers == ipconfig_name_servers) { |
| 1158 name_server_type = kNameServerTypeUser; |
| 1159 } |
| 1160 if (ipconfig_name_servers == kGoogleNameServers) { |
| 1161 name_server_type = kNameServerTypeGoogle; |
| 1162 } |
| 1163 |
| 1164 SetValueDictionary(&dictionary, kDictionaryIpConfig, ipconfig_dhcp.release(), |
880 ipconfig_dhcp_ui_data); | 1165 ipconfig_dhcp_ui_data); |
881 chromeos::NetworkPropertyUIData ipconfig_static_ui_data(ui_data); | 1166 SetValueDictionary(&dictionary, kDictionaryStaticIp, static_ip_dict.release(), |
882 SetValueDictionary(&dictionary, "ipconfigStatic", ipconfig_static.release(), | 1167 static_ip_ui_data); |
883 ipconfig_static_ui_data); | |
884 | 1168 |
885 chromeos::ConnectionType type = network->type(); | 1169 chromeos::ConnectionType type = network->type(); |
886 dictionary.SetInteger("type", type); | 1170 dictionary.SetInteger(kTagType, type); |
887 dictionary.SetString("servicePath", network->service_path()); | 1171 dictionary.SetString(kTagServicePath, network->service_path()); |
888 dictionary.SetBoolean("connecting", network->connecting()); | 1172 dictionary.SetBoolean(kTagConnecting, network->connecting()); |
889 dictionary.SetBoolean("connected", network->connected()); | 1173 dictionary.SetBoolean(kTagConnected, network->connected()); |
890 dictionary.SetString("connectionState", network->GetStateString()); | 1174 dictionary.SetString(kTagConnectionState, network->GetStateString()); |
891 dictionary.SetString("networkName", network->name()); | 1175 dictionary.SetString(kTagNetworkName, network->name()); |
| 1176 dictionary.SetString(kTagNameServerType, name_server_type); |
| 1177 dictionary.SetString(kTagNameServersGoogle, kGoogleNameServers); |
892 | 1178 |
893 // Only show proxy for remembered networks. | 1179 // Only show proxy for remembered networks. |
894 chromeos::NetworkProfileType network_profile = network->profile_type(); | 1180 chromeos::NetworkProfileType network_profile = network->profile_type(); |
895 dictionary.SetBoolean("showProxy", network_profile != chromeos::PROFILE_NONE); | 1181 dictionary.SetBoolean(kTagShowProxy, |
| 1182 network_profile != chromeos::PROFILE_NONE); |
896 | 1183 |
897 // Enable static ip config for ethernet. For wifi, enable if flag is set. | 1184 // Enable static ip config for ethernet. For wifi, enable if flag is set. |
898 bool staticIPConfig = type == chromeos::TYPE_ETHERNET || | 1185 bool staticIPConfig = type == chromeos::TYPE_ETHERNET || |
899 (type == chromeos::TYPE_WIFI && | 1186 (type == chromeos::TYPE_WIFI && |
900 CommandLine::ForCurrentProcess()->HasSwitch( | 1187 CommandLine::ForCurrentProcess()->HasSwitch( |
901 switches::kEnableStaticIPConfig)); | 1188 switches::kEnableStaticIPConfig)); |
902 dictionary.SetBoolean("showStaticIPConfig", staticIPConfig); | 1189 dictionary.SetBoolean(kTagShowStaticIPConfig, staticIPConfig); |
903 | 1190 |
904 chromeos::NetworkPropertyUIData preferred_ui_data(ui_data); | 1191 chromeos::NetworkPropertyUIData preferred_ui_data(ui_data); |
905 if (network_profile == chromeos::PROFILE_USER) { | 1192 if (network_profile == chromeos::PROFILE_USER) { |
906 dictionary.SetBoolean("showPreferred", true); | 1193 dictionary.SetBoolean(kTagShowPreferred, true); |
907 SetValueDictionary(&dictionary, "preferred", | 1194 SetValueDictionary(&dictionary, kTagPreferred, |
908 Value::CreateBooleanValue(network->preferred()), | 1195 Value::CreateBooleanValue(network->preferred()), |
909 preferred_ui_data); | 1196 preferred_ui_data); |
910 } else { | 1197 } else { |
911 dictionary.SetBoolean("showPreferred", false); | 1198 dictionary.SetBoolean(kTagShowPreferred, false); |
912 SetValueDictionary(&dictionary, "preferred", | 1199 SetValueDictionary(&dictionary, kTagPreferred, |
913 Value::CreateBooleanValue(network->preferred()), | 1200 Value::CreateBooleanValue(network->preferred()), |
914 preferred_ui_data); | 1201 preferred_ui_data); |
915 } | 1202 } |
916 chromeos::NetworkPropertyUIData auto_connect_ui_data(ui_data); | 1203 chromeos::NetworkPropertyUIData auto_connect_ui_data(ui_data); |
917 if (type == chromeos::TYPE_WIFI) { | 1204 if (type == chromeos::TYPE_WIFI) { |
918 auto_connect_ui_data.ParseOncProperty( | 1205 auto_connect_ui_data.ParseOncProperty( |
919 ui_data, onc, | 1206 ui_data, onc, |
920 base::StringPrintf("%s.%s", | 1207 base::StringPrintf("%s.%s", |
921 chromeos::onc::kWiFi, | 1208 chromeos::onc::kWiFi, |
922 chromeos::onc::wifi::kAutoConnect)); | 1209 chromeos::onc::wifi::kAutoConnect)); |
923 } | 1210 } |
924 SetValueDictionary(&dictionary, "autoConnect", | 1211 SetValueDictionary(&dictionary, kTagAutoConnect, |
925 Value::CreateBooleanValue(network->auto_connect()), | 1212 Value::CreateBooleanValue(network->auto_connect()), |
926 auto_connect_ui_data); | 1213 auto_connect_ui_data); |
927 | 1214 |
928 if (type == chromeos::TYPE_WIFI) { | 1215 if (type == chromeos::TYPE_WIFI) { |
929 dictionary.SetBoolean("deviceConnected", cros_->wifi_connected()); | 1216 dictionary.SetBoolean(kTagDeviceConnected, cros_->wifi_connected()); |
930 const chromeos::WifiNetwork* wifi = | 1217 const chromeos::WifiNetwork* wifi = |
931 cros_->FindWifiNetworkByPath(network->service_path()); | 1218 cros_->FindWifiNetworkByPath(network->service_path()); |
932 if (!wifi) { | 1219 if (!wifi) { |
933 LOG(WARNING) << "Cannot find network " << network->service_path(); | 1220 LOG(WARNING) << "Cannot find network " << network->service_path(); |
934 } else { | 1221 } else { |
935 PopulateWifiDetails(wifi, &dictionary); | 1222 PopulateWifiDetails(wifi, &dictionary); |
936 } | 1223 } |
937 } else if (type == chromeos::TYPE_WIMAX) { | 1224 } else if (type == chromeos::TYPE_WIMAX) { |
938 dictionary.SetBoolean("deviceConnected", cros_->wimax_connected()); | 1225 dictionary.SetBoolean(kTagDeviceConnected, cros_->wimax_connected()); |
939 const chromeos::WimaxNetwork* wimax = | 1226 const chromeos::WimaxNetwork* wimax = |
940 cros_->FindWimaxNetworkByPath(network->service_path()); | 1227 cros_->FindWimaxNetworkByPath(network->service_path()); |
941 if (!wimax) { | 1228 if (!wimax) { |
942 LOG(WARNING) << "Cannot find network " << network->service_path(); | 1229 LOG(WARNING) << "Cannot find network " << network->service_path(); |
943 } else { | 1230 } else { |
944 PopulateWimaxDetails(wimax, &dictionary); | 1231 PopulateWimaxDetails(wimax, &dictionary); |
945 } | 1232 } |
946 } else if (type == chromeos::TYPE_CELLULAR) { | 1233 } else if (type == chromeos::TYPE_CELLULAR) { |
947 dictionary.SetBoolean("deviceConnected", cros_->cellular_connected()); | 1234 dictionary.SetBoolean(kTagDeviceConnected, cros_->cellular_connected()); |
948 const chromeos::CellularNetwork* cellular = | 1235 const chromeos::CellularNetwork* cellular = |
949 cros_->FindCellularNetworkByPath(network->service_path()); | 1236 cros_->FindCellularNetworkByPath(network->service_path()); |
950 if (!cellular) { | 1237 if (!cellular) { |
951 LOG(WARNING) << "Cannot find network " << network->service_path(); | 1238 LOG(WARNING) << "Cannot find network " << network->service_path(); |
952 } else { | 1239 } else { |
953 PopulateCellularDetails(cellular, &dictionary); | 1240 PopulateCellularDetails(cellular, &dictionary); |
954 } | 1241 } |
955 } else if (type == chromeos::TYPE_VPN) { | 1242 } else if (type == chromeos::TYPE_VPN) { |
956 dictionary.SetBoolean("deviceConnected", | 1243 dictionary.SetBoolean(kTagDeviceConnected, |
957 cros_->virtual_network_connected()); | 1244 cros_->virtual_network_connected()); |
958 const chromeos::VirtualNetwork* vpn = | 1245 const chromeos::VirtualNetwork* vpn = |
959 cros_->FindVirtualNetworkByPath(network->service_path()); | 1246 cros_->FindVirtualNetworkByPath(network->service_path()); |
960 if (!vpn) { | 1247 if (!vpn) { |
961 LOG(WARNING) << "Cannot find network " << network->service_path(); | 1248 LOG(WARNING) << "Cannot find network " << network->service_path(); |
962 } else { | 1249 } else { |
963 PopulateVPNDetails(vpn, &dictionary); | 1250 PopulateVPNDetails(vpn, &dictionary); |
964 } | 1251 } |
965 } else if (type == chromeos::TYPE_ETHERNET) { | 1252 } else if (type == chromeos::TYPE_ETHERNET) { |
966 dictionary.SetBoolean("deviceConnected", cros_->ethernet_connected()); | 1253 dictionary.SetBoolean(kTagDeviceConnected, cros_->ethernet_connected()); |
967 } | 1254 } |
968 | 1255 |
969 web_ui()->CallJavascriptFunction( | 1256 web_ui()->CallJavascriptFunction( |
970 "options.internet.DetailsInternetPage.showDetailedInfo", dictionary); | 1257 kShowDetailedInfoFunction, dictionary); |
971 } | 1258 } |
972 | 1259 |
973 void InternetOptionsHandler::PopulateWifiDetails( | 1260 void InternetOptionsHandler::PopulateWifiDetails( |
974 const chromeos::WifiNetwork* wifi, | 1261 const chromeos::WifiNetwork* wifi, |
975 DictionaryValue* dictionary) { | 1262 DictionaryValue* dictionary) { |
976 dictionary->SetString("ssid", wifi->name()); | 1263 dictionary->SetString(kTagSsid, wifi->name()); |
977 bool remembered = (wifi->profile_type() != chromeos::PROFILE_NONE); | 1264 bool remembered = (wifi->profile_type() != chromeos::PROFILE_NONE); |
978 dictionary->SetBoolean("remembered", remembered); | 1265 dictionary->SetBoolean(kTagRemembered, remembered); |
979 bool shared = wifi->profile_type() == chromeos::PROFILE_SHARED; | 1266 bool shared = wifi->profile_type() == chromeos::PROFILE_SHARED; |
980 dictionary->SetBoolean("shared", shared); | 1267 dictionary->SetBoolean(kTagShared, shared); |
981 dictionary->SetString("encryption", wifi->GetEncryptionString()); | 1268 dictionary->SetString(kTagEncryption, wifi->GetEncryptionString()); |
982 dictionary->SetString("bssid", wifi->bssid()); | 1269 dictionary->SetString(kTagBssid, wifi->bssid()); |
983 dictionary->SetInteger("frequency", wifi->frequency()); | 1270 dictionary->SetInteger(kTagFrequency, wifi->frequency()); |
984 dictionary->SetInteger("strength", wifi->strength()); | 1271 dictionary->SetInteger(kTagStrength, wifi->strength()); |
985 } | 1272 } |
986 | 1273 |
987 void InternetOptionsHandler::PopulateWimaxDetails( | 1274 void InternetOptionsHandler::PopulateWimaxDetails( |
988 const chromeos::WimaxNetwork* wimax, | 1275 const chromeos::WimaxNetwork* wimax, |
989 DictionaryValue* dictionary) { | 1276 DictionaryValue* dictionary) { |
990 bool remembered = (wimax->profile_type() != chromeos::PROFILE_NONE); | 1277 bool remembered = (wimax->profile_type() != chromeos::PROFILE_NONE); |
991 dictionary->SetBoolean("remembered", remembered); | 1278 dictionary->SetBoolean(kTagRemembered, remembered); |
992 bool shared = wimax->profile_type() == chromeos::PROFILE_SHARED; | 1279 bool shared = wimax->profile_type() == chromeos::PROFILE_SHARED; |
993 dictionary->SetBoolean("shared", shared); | 1280 dictionary->SetBoolean(kTagShared, shared); |
994 if (wimax->passphrase_required()) | 1281 if (wimax->passphrase_required()) |
995 dictionary->SetString("identity", wimax->eap_identity()); | 1282 dictionary->SetString(kTagIdentity, wimax->eap_identity()); |
996 | 1283 |
997 dictionary->SetInteger("strength", wimax->strength()); | 1284 dictionary->SetInteger(kTagStrength, wimax->strength()); |
998 } | 1285 } |
999 | 1286 |
1000 DictionaryValue* InternetOptionsHandler::CreateDictionaryFromCellularApn( | 1287 DictionaryValue* InternetOptionsHandler::CreateDictionaryFromCellularApn( |
1001 const chromeos::CellularApn& apn) { | 1288 const chromeos::CellularApn& apn) { |
1002 DictionaryValue* dictionary = new DictionaryValue(); | 1289 DictionaryValue* dictionary = new DictionaryValue(); |
1003 dictionary->SetString("apn", apn.apn); | 1290 dictionary->SetString(kTagApn, apn.apn); |
1004 dictionary->SetString("networkId", apn.network_id); | 1291 dictionary->SetString(kTagNetworkId, apn.network_id); |
1005 dictionary->SetString("username", apn.username); | 1292 dictionary->SetString(kTagUsername, apn.username); |
1006 dictionary->SetString("password", apn.password); | 1293 dictionary->SetString(kTagPassword, apn.password); |
1007 dictionary->SetString("name", apn.name); | 1294 dictionary->SetString(kTagName, apn.name); |
1008 dictionary->SetString("localizedName", apn.localized_name); | 1295 dictionary->SetString(kTagLocalizedName, apn.localized_name); |
1009 dictionary->SetString("language", apn.language); | 1296 dictionary->SetString(kTagLanguage, apn.language); |
1010 return dictionary; | 1297 return dictionary; |
1011 } | 1298 } |
1012 | 1299 |
1013 void InternetOptionsHandler::PopulateCellularDetails( | 1300 void InternetOptionsHandler::PopulateCellularDetails( |
1014 const chromeos::CellularNetwork* cellular, | 1301 const chromeos::CellularNetwork* cellular, |
1015 DictionaryValue* dictionary) { | 1302 DictionaryValue* dictionary) { |
1016 // Cellular network / connection settings. | 1303 // Cellular network / connection settings. |
1017 dictionary->SetString("serviceName", cellular->name()); | 1304 dictionary->SetString(kTagServiceName, cellular->name()); |
1018 dictionary->SetString("networkTechnology", | 1305 dictionary->SetString(kTagNetworkTechnology, |
1019 cellular->GetNetworkTechnologyString()); | 1306 cellular->GetNetworkTechnologyString()); |
1020 dictionary->SetString("operatorName", cellular->operator_name()); | 1307 dictionary->SetString(kTagOperatorName, cellular->operator_name()); |
1021 dictionary->SetString("operatorCode", cellular->operator_code()); | 1308 dictionary->SetString(kTagOperatorCode, cellular->operator_code()); |
1022 dictionary->SetString("activationState", | 1309 dictionary->SetString(kTagActivationState, |
1023 cellular->GetActivationStateString()); | 1310 cellular->GetActivationStateString()); |
1024 dictionary->SetString("roamingState", | 1311 dictionary->SetString(kTagRoamingState, |
1025 cellular->GetRoamingStateString()); | 1312 cellular->GetRoamingStateString()); |
1026 dictionary->SetString("restrictedPool", | 1313 dictionary->SetString(kTagRestrictedPool, |
1027 cellular->restricted_pool() ? | 1314 cellular->restricted_pool() ? |
1028 l10n_util::GetStringUTF8( | 1315 l10n_util::GetStringUTF8( |
1029 IDS_CONFIRM_MESSAGEBOX_YES_BUTTON_LABEL) : | 1316 IDS_CONFIRM_MESSAGEBOX_YES_BUTTON_LABEL) : |
1030 l10n_util::GetStringUTF8( | 1317 l10n_util::GetStringUTF8( |
1031 IDS_CONFIRM_MESSAGEBOX_NO_BUTTON_LABEL)); | 1318 IDS_CONFIRM_MESSAGEBOX_NO_BUTTON_LABEL)); |
1032 dictionary->SetString("errorState", cellular->GetErrorString()); | 1319 dictionary->SetString(kTagErrorState, cellular->GetErrorString()); |
1033 dictionary->SetString("supportUrl", cellular->payment_url()); | 1320 dictionary->SetString(kTagSupportUrl, cellular->payment_url()); |
1034 dictionary->SetBoolean("needsPlan", cellular->needs_new_plan()); | 1321 dictionary->SetBoolean(kTagNeedsPlan, cellular->needs_new_plan()); |
1035 | 1322 |
1036 dictionary->Set("apn", CreateDictionaryFromCellularApn(cellular->apn())); | 1323 dictionary->Set(kTagApn, CreateDictionaryFromCellularApn(cellular->apn())); |
1037 dictionary->Set("lastGoodApn", | 1324 dictionary->Set(kTagLastGoodApn, |
1038 CreateDictionaryFromCellularApn(cellular->last_good_apn())); | 1325 CreateDictionaryFromCellularApn(cellular->last_good_apn())); |
1039 | 1326 |
1040 // Device settings. | 1327 // Device settings. |
1041 const chromeos::NetworkDevice* device = | 1328 const chromeos::NetworkDevice* device = |
1042 cros_->FindNetworkDeviceByPath(cellular->device_path()); | 1329 cros_->FindNetworkDeviceByPath(cellular->device_path()); |
1043 if (device) { | 1330 if (device) { |
1044 chromeos::NetworkPropertyUIData cellular_propety_ui_data( | 1331 chromeos::NetworkPropertyUIData cellular_propety_ui_data( |
1045 cellular->ui_data()); | 1332 cellular->ui_data()); |
1046 dictionary->SetString("manufacturer", device->manufacturer()); | 1333 dictionary->SetString(kTagManufacturer, device->manufacturer()); |
1047 dictionary->SetString("modelId", device->model_id()); | 1334 dictionary->SetString(kTagModelId, device->model_id()); |
1048 dictionary->SetString("firmwareRevision", device->firmware_revision()); | 1335 dictionary->SetString(kTagFirmwareRevision, device->firmware_revision()); |
1049 dictionary->SetString("hardwareRevision", device->hardware_revision()); | 1336 dictionary->SetString(kTagHardwareRevision, device->hardware_revision()); |
1050 dictionary->SetString("prlVersion", | 1337 dictionary->SetString(kTagPrlVersion, |
1051 base::StringPrintf("%u", device->prl_version())); | 1338 base::StringPrintf("%u", device->prl_version())); |
1052 dictionary->SetString("meid", device->meid()); | 1339 dictionary->SetString(kTagMeid, device->meid()); |
1053 dictionary->SetString("imei", device->imei()); | 1340 dictionary->SetString(kTagImei, device->imei()); |
1054 dictionary->SetString("mdn", device->mdn()); | 1341 dictionary->SetString(kTagMdn, device->mdn()); |
1055 dictionary->SetString("imsi", device->imsi()); | 1342 dictionary->SetString(kTagImsi, device->imsi()); |
1056 dictionary->SetString("esn", device->esn()); | 1343 dictionary->SetString(kTagEsn, device->esn()); |
1057 dictionary->SetString("min", device->min()); | 1344 dictionary->SetString(kTagMin, device->min()); |
1058 dictionary->SetBoolean("gsm", | 1345 dictionary->SetBoolean(kTagGsm, |
1059 device->technology_family() == chromeos::TECHNOLOGY_FAMILY_GSM); | 1346 device->technology_family() == chromeos::TECHNOLOGY_FAMILY_GSM); |
1060 SetValueDictionary( | 1347 SetValueDictionary( |
1061 dictionary, "simCardLockEnabled", | 1348 dictionary, kTagSimCardLockEnabled, |
1062 Value::CreateBooleanValue( | 1349 Value::CreateBooleanValue( |
1063 device->sim_pin_required() == chromeos::SIM_PIN_REQUIRED), | 1350 device->sim_pin_required() == chromeos::SIM_PIN_REQUIRED), |
1064 cellular_propety_ui_data); | 1351 cellular_propety_ui_data); |
1065 | 1352 |
1066 chromeos::MobileConfig* config = chromeos::MobileConfig::GetInstance(); | 1353 chromeos::MobileConfig* config = chromeos::MobileConfig::GetInstance(); |
1067 if (config->IsReady()) { | 1354 if (config->IsReady()) { |
1068 const std::string& carrier_id = cros_->GetCellularHomeCarrierId(); | 1355 const std::string& carrier_id = cros_->GetCellularHomeCarrierId(); |
1069 const chromeos::MobileConfig::Carrier* carrier = | 1356 const chromeos::MobileConfig::Carrier* carrier = |
1070 config->GetCarrier(carrier_id); | 1357 config->GetCarrier(carrier_id); |
1071 if (carrier && !carrier->top_up_url().empty()) | 1358 if (carrier && !carrier->top_up_url().empty()) |
1072 dictionary->SetString("carrierUrl", carrier->top_up_url()); | 1359 dictionary->SetString(kTagCarrierUrl, carrier->top_up_url()); |
1073 } | 1360 } |
1074 | 1361 |
1075 const chromeos::CellularApnList& apn_list = device->provider_apn_list(); | 1362 const chromeos::CellularApnList& apn_list = device->provider_apn_list(); |
1076 ListValue* apn_list_value = new ListValue(); | 1363 ListValue* apn_list_value = new ListValue(); |
1077 for (chromeos::CellularApnList::const_iterator it = apn_list.begin(); | 1364 for (chromeos::CellularApnList::const_iterator it = apn_list.begin(); |
1078 it != apn_list.end(); ++it) { | 1365 it != apn_list.end(); ++it) { |
1079 apn_list_value->Append(CreateDictionaryFromCellularApn(*it)); | 1366 apn_list_value->Append(CreateDictionaryFromCellularApn(*it)); |
1080 } | 1367 } |
1081 SetValueDictionary(dictionary, "providerApnList", apn_list_value, | 1368 SetValueDictionary(dictionary, kTagProviderApnList, apn_list_value, |
1082 cellular_propety_ui_data); | 1369 cellular_propety_ui_data); |
1083 } | 1370 } |
1084 | 1371 |
1085 SetActivationButtonVisibility(cellular, | 1372 SetActivationButtonVisibility(cellular, |
1086 dictionary, | 1373 dictionary, |
1087 cros_->GetCellularHomeCarrierId()); | 1374 cros_->GetCellularHomeCarrierId()); |
1088 } | 1375 } |
1089 | 1376 |
1090 void InternetOptionsHandler::PopulateVPNDetails( | 1377 void InternetOptionsHandler::PopulateVPNDetails( |
1091 const chromeos::VirtualNetwork* vpn, | 1378 const chromeos::VirtualNetwork* vpn, |
1092 DictionaryValue* dictionary) { | 1379 DictionaryValue* dictionary) { |
1093 dictionary->SetString("service_name", vpn->name()); | 1380 dictionary->SetString(kTagService_name, vpn->name()); |
1094 bool remembered = (vpn->profile_type() != chromeos::PROFILE_NONE); | 1381 bool remembered = (vpn->profile_type() != chromeos::PROFILE_NONE); |
1095 dictionary->SetBoolean("remembered", remembered); | 1382 dictionary->SetBoolean(kTagRemembered, remembered); |
1096 dictionary->SetString("server_hostname", vpn->server_hostname()); | 1383 dictionary->SetString(kTagServer_hostname, vpn->server_hostname()); |
1097 dictionary->SetString("provider_type", vpn->GetProviderTypeString()); | 1384 dictionary->SetString(kTagProvider_type, vpn->GetProviderTypeString()); |
1098 dictionary->SetString("username", vpn->username()); | 1385 dictionary->SetString(kTagUsername, vpn->username()); |
1099 } | 1386 } |
1100 | 1387 |
1101 void InternetOptionsHandler::SetActivationButtonVisibility( | 1388 void InternetOptionsHandler::SetActivationButtonVisibility( |
1102 const chromeos::CellularNetwork* cellular, | 1389 const chromeos::CellularNetwork* cellular, |
1103 DictionaryValue* dictionary, | 1390 DictionaryValue* dictionary, |
1104 const std::string& carrier_id) { | 1391 const std::string& carrier_id) { |
1105 if (cellular->needs_new_plan()) { | 1392 if (cellular->needs_new_plan()) { |
1106 dictionary->SetBoolean("showBuyButton", true); | 1393 dictionary->SetBoolean(kTagShowBuyButton, true); |
1107 } else if (cellular->activation_state() != | 1394 } else if (cellular->activation_state() != |
1108 chromeos::ACTIVATION_STATE_ACTIVATING && | 1395 chromeos::ACTIVATION_STATE_ACTIVATING && |
1109 cellular->activation_state() != | 1396 cellular->activation_state() != |
1110 chromeos::ACTIVATION_STATE_ACTIVATED) { | 1397 chromeos::ACTIVATION_STATE_ACTIVATED) { |
1111 dictionary->SetBoolean("showActivateButton", true); | 1398 dictionary->SetBoolean(kTagShowActivateButton, true); |
1112 } else { | 1399 } else { |
1113 const chromeos::MobileConfig::Carrier* carrier = | 1400 const chromeos::MobileConfig::Carrier* carrier = |
1114 chromeos::MobileConfig::GetInstance()->GetCarrier(carrier_id); | 1401 chromeos::MobileConfig::GetInstance()->GetCarrier(carrier_id); |
1115 if (carrier && carrier->show_portal_button()) { | 1402 if (carrier && carrier->show_portal_button()) { |
1116 // This will trigger BuyDataPlanCallback() so that | 1403 // This will trigger BuyDataPlanCallback() so that |
1117 // chrome://mobilesetup/ will open carrier specific portal. | 1404 // chrome://mobilesetup/ will open carrier specific portal. |
1118 dictionary->SetBoolean("showViewAccountButton", true); | 1405 dictionary->SetBoolean(kTagShowViewAccountButton, true); |
1119 } | 1406 } |
1120 } | 1407 } |
1121 } | 1408 } |
1122 | 1409 |
1123 gfx::NativeWindow InternetOptionsHandler::GetNativeWindow() const { | 1410 gfx::NativeWindow InternetOptionsHandler::GetNativeWindow() const { |
1124 // TODO(beng): This is an improper direct dependency on Browser. Route this | 1411 // TODO(beng): This is an improper direct dependency on Browser. Route this |
1125 // through some sort of delegate. | 1412 // through some sort of delegate. |
1126 Browser* browser = | 1413 Browser* browser = |
1127 browser::FindBrowserWithWebContents(web_ui()->GetWebContents()); | 1414 browser::FindBrowserWithWebContents(web_ui()->GetWebContents()); |
1128 return browser->window()->GetNativeWindow(); | 1415 return browser->window()->GetNativeWindow(); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1166 void InternetOptionsHandler::ToggleAirplaneModeCallback(const ListValue* args) { | 1453 void InternetOptionsHandler::ToggleAirplaneModeCallback(const ListValue* args) { |
1167 // TODO(kevers): The use of 'offline_mode' is not quite correct. Update once | 1454 // TODO(kevers): The use of 'offline_mode' is not quite correct. Update once |
1168 // we have proper back-end support. | 1455 // we have proper back-end support. |
1169 cros_->EnableOfflineMode(!cros_->offline_mode()); | 1456 cros_->EnableOfflineMode(!cros_->offline_mode()); |
1170 } | 1457 } |
1171 | 1458 |
1172 void InternetOptionsHandler::HandleWifiButtonClick( | 1459 void InternetOptionsHandler::HandleWifiButtonClick( |
1173 const std::string& service_path, | 1460 const std::string& service_path, |
1174 const std::string& command) { | 1461 const std::string& command) { |
1175 chromeos::WifiNetwork* wifi = NULL; | 1462 chromeos::WifiNetwork* wifi = NULL; |
1176 if (command == "forget") { | 1463 if (command == kTagForget) { |
1177 cros_->ForgetNetwork(service_path); | 1464 cros_->ForgetNetwork(service_path); |
1178 } else if (service_path == kOtherNetworksFakePath) { | 1465 } else if (service_path == kOtherNetworksFakePath) { |
1179 // Other wifi networks. | 1466 // Other wifi networks. |
1180 chromeos::NetworkConfigView::ShowForType( | 1467 chromeos::NetworkConfigView::ShowForType( |
1181 chromeos::TYPE_WIFI, GetNativeWindow()); | 1468 chromeos::TYPE_WIFI, GetNativeWindow()); |
1182 } else if ((wifi = cros_->FindWifiNetworkByPath(service_path))) { | 1469 } else if ((wifi = cros_->FindWifiNetworkByPath(service_path))) { |
1183 if (command == "connect") { | 1470 if (command == kTagConnect) { |
1184 wifi->SetEnrollmentDelegate( | 1471 wifi->SetEnrollmentDelegate( |
1185 chromeos::CreateEnrollmentDelegate(GetNativeWindow(), wifi->name(), | 1472 chromeos::CreateEnrollmentDelegate(GetNativeWindow(), wifi->name(), |
1186 ProfileManager::GetLastUsedProfile())); | 1473 ProfileManager::GetLastUsedProfile())); |
1187 wifi->AttemptConnection(base::Bind(&InternetOptionsHandler::DoConnect, | 1474 wifi->AttemptConnection(base::Bind(&InternetOptionsHandler::DoConnect, |
1188 weak_factory_.GetWeakPtr(), | 1475 weak_factory_.GetWeakPtr(), |
1189 wifi)); | 1476 wifi)); |
1190 } else if (command == "disconnect") { | 1477 } else if (command == kTagDisconnect) { |
1191 cros_->DisconnectFromNetwork(wifi); | 1478 cros_->DisconnectFromNetwork(wifi); |
1192 } else if (command == "options") { | 1479 } else if (command == kTagOptions) { |
1193 PopulateDictionaryDetails(wifi); | 1480 PopulateDictionaryDetails(wifi); |
1194 } | 1481 } |
1195 } | 1482 } |
1196 } | 1483 } |
1197 | 1484 |
1198 void InternetOptionsHandler::HandleWimaxButtonClick( | 1485 void InternetOptionsHandler::HandleWimaxButtonClick( |
1199 const std::string& service_path, | 1486 const std::string& service_path, |
1200 const std::string& command) { | 1487 const std::string& command) { |
1201 chromeos::WimaxNetwork* wimax = NULL; | 1488 chromeos::WimaxNetwork* wimax = NULL; |
1202 if (command == "forget") { | 1489 if (command == kTagForget) { |
1203 cros_->ForgetNetwork(service_path); | 1490 cros_->ForgetNetwork(service_path); |
1204 } else if ((wimax = cros_->FindWimaxNetworkByPath(service_path))) { | 1491 } else if ((wimax = cros_->FindWimaxNetworkByPath(service_path))) { |
1205 if (command == "connect") { | 1492 if (command == kTagConnect) { |
1206 wimax->SetEnrollmentDelegate( | 1493 wimax->SetEnrollmentDelegate( |
1207 chromeos::CreateEnrollmentDelegate(GetNativeWindow(), wimax->name(), | 1494 chromeos::CreateEnrollmentDelegate(GetNativeWindow(), wimax->name(), |
1208 ProfileManager::GetLastUsedProfile())); | 1495 ProfileManager::GetLastUsedProfile())); |
1209 wimax->AttemptConnection(base::Bind(&InternetOptionsHandler::DoConnect, | 1496 wimax->AttemptConnection(base::Bind(&InternetOptionsHandler::DoConnect, |
1210 weak_factory_.GetWeakPtr(), | 1497 weak_factory_.GetWeakPtr(), |
1211 wimax)); | 1498 wimax)); |
1212 } else if (command == "disconnect") { | 1499 } else if (command == kTagDisconnect) { |
1213 cros_->DisconnectFromNetwork(wimax); | 1500 cros_->DisconnectFromNetwork(wimax); |
1214 } else if (command == "options") { | 1501 } else if (command == kTagOptions) { |
1215 PopulateDictionaryDetails(wimax); | 1502 PopulateDictionaryDetails(wimax); |
1216 } | 1503 } |
1217 } | 1504 } |
1218 } | 1505 } |
1219 | 1506 |
1220 void InternetOptionsHandler::HandleCellularButtonClick( | 1507 void InternetOptionsHandler::HandleCellularButtonClick( |
1221 const std::string& service_path, | 1508 const std::string& service_path, |
1222 const std::string& command) { | 1509 const std::string& command) { |
1223 chromeos::CellularNetwork* cellular = NULL; | 1510 chromeos::CellularNetwork* cellular = NULL; |
1224 if (service_path == kOtherNetworksFakePath) { | 1511 if (service_path == kOtherNetworksFakePath) { |
1225 chromeos::ChooseMobileNetworkDialog::ShowDialog(GetNativeWindow()); | 1512 chromeos::ChooseMobileNetworkDialog::ShowDialog(GetNativeWindow()); |
1226 } else if ((cellular = cros_->FindCellularNetworkByPath(service_path))) { | 1513 } else if ((cellular = cros_->FindCellularNetworkByPath(service_path))) { |
1227 if (command == "connect") { | 1514 if (command == kTagConnect) { |
1228 cros_->ConnectToCellularNetwork(cellular); | 1515 cros_->ConnectToCellularNetwork(cellular); |
1229 } else if (command == "disconnect") { | 1516 } else if (command == kTagDisconnect) { |
1230 cros_->DisconnectFromNetwork(cellular); | 1517 cros_->DisconnectFromNetwork(cellular); |
1231 } else if (command == "activate") { | 1518 } else if (command == kTagActivate) { |
1232 ash::Shell::GetInstance()->delegate()->OpenMobileSetup(service_path); | 1519 ash::Shell::GetInstance()->delegate()->OpenMobileSetup(service_path); |
1233 } else if (command == "options") { | 1520 } else if (command == kTagOptions) { |
1234 PopulateDictionaryDetails(cellular); | 1521 PopulateDictionaryDetails(cellular); |
1235 } | 1522 } |
1236 } | 1523 } |
1237 } | 1524 } |
1238 | 1525 |
1239 void InternetOptionsHandler::HandleVPNButtonClick( | 1526 void InternetOptionsHandler::HandleVPNButtonClick( |
1240 const std::string& service_path, | 1527 const std::string& service_path, |
1241 const std::string& command) { | 1528 const std::string& command) { |
1242 chromeos::VirtualNetwork* network = NULL; | 1529 chromeos::VirtualNetwork* network = NULL; |
1243 if (command == "forget") { | 1530 if (command == kTagForget) { |
1244 cros_->ForgetNetwork(service_path); | 1531 cros_->ForgetNetwork(service_path); |
1245 } else if (service_path == kOtherNetworksFakePath) { | 1532 } else if (service_path == kOtherNetworksFakePath) { |
1246 // TODO(altimofeev): verify if service_path in condition is correct. | 1533 // TODO(altimofeev): verify if service_path in condition is correct. |
1247 // Other VPN networks. | 1534 // Other VPN networks. |
1248 chromeos::NetworkConfigView::ShowForType( | 1535 chromeos::NetworkConfigView::ShowForType( |
1249 chromeos::TYPE_VPN, GetNativeWindow()); | 1536 chromeos::TYPE_VPN, GetNativeWindow()); |
1250 } else if ((network = cros_->FindVirtualNetworkByPath(service_path))) { | 1537 } else if ((network = cros_->FindVirtualNetworkByPath(service_path))) { |
1251 if (command == "connect") { | 1538 if (command == kTagConnect) { |
1252 network->SetEnrollmentDelegate( | 1539 network->SetEnrollmentDelegate( |
1253 chromeos::CreateEnrollmentDelegate( | 1540 chromeos::CreateEnrollmentDelegate( |
1254 GetNativeWindow(), | 1541 GetNativeWindow(), |
1255 network->name(), | 1542 network->name(), |
1256 ProfileManager::GetLastUsedProfile())); | 1543 ProfileManager::GetLastUsedProfile())); |
1257 network->AttemptConnection(base::Bind(&InternetOptionsHandler::DoConnect, | 1544 network->AttemptConnection(base::Bind(&InternetOptionsHandler::DoConnect, |
1258 weak_factory_.GetWeakPtr(), | 1545 weak_factory_.GetWeakPtr(), |
1259 network)); | 1546 network)); |
1260 } else if (command == "disconnect") { | 1547 } else if (command == kTagDisconnect) { |
1261 cros_->DisconnectFromNetwork(network); | 1548 cros_->DisconnectFromNetwork(network); |
1262 } else if (command == "options") { | 1549 } else if (command == kTagOptions) { |
1263 PopulateDictionaryDetails(network); | 1550 PopulateDictionaryDetails(network); |
1264 } | 1551 } |
1265 } | 1552 } |
1266 } | 1553 } |
1267 | 1554 |
1268 void InternetOptionsHandler::DoConnect(chromeos::Network* network) { | 1555 void InternetOptionsHandler::DoConnect(chromeos::Network* network) { |
1269 if (network->type() == chromeos::TYPE_VPN) { | 1556 if (network->type() == chromeos::TYPE_VPN) { |
1270 chromeos::VirtualNetwork* vpn = | 1557 chromeos::VirtualNetwork* vpn = |
1271 static_cast<chromeos::VirtualNetwork*>(network); | 1558 static_cast<chromeos::VirtualNetwork*>(network); |
1272 if (vpn->NeedMoreInfoToConnect()) { | 1559 if (vpn->NeedMoreInfoToConnect()) { |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1425 NetworkInfoDictionary network_dict(vpn, | 1712 NetworkInfoDictionary network_dict(vpn, |
1426 remembered, | 1713 remembered, |
1427 web_ui()->GetDeviceScale()); | 1714 web_ui()->GetDeviceScale()); |
1428 list->Append(network_dict.BuildDictionary()); | 1715 list->Append(network_dict.BuildDictionary()); |
1429 } | 1716 } |
1430 | 1717 |
1431 return list; | 1718 return list; |
1432 } | 1719 } |
1433 | 1720 |
1434 void InternetOptionsHandler::FillNetworkInfo(DictionaryValue* dictionary) { | 1721 void InternetOptionsHandler::FillNetworkInfo(DictionaryValue* dictionary) { |
1435 dictionary->SetBoolean("accessLocked", cros_->IsLocked()); | 1722 dictionary->SetBoolean(kTagAccessLocked, cros_->IsLocked()); |
1436 dictionary->Set("wiredList", GetWiredList()); | 1723 dictionary->Set(kTagWiredList, GetWiredList()); |
1437 dictionary->Set("wirelessList", GetWirelessList()); | 1724 dictionary->Set(kTagWirelessList, GetWirelessList()); |
1438 dictionary->Set("vpnList", GetVPNList()); | 1725 dictionary->Set(kTagVpnList, GetVPNList()); |
1439 dictionary->Set("rememberedList", GetRememberedList()); | 1726 dictionary->Set(kTagRememberedList, GetRememberedList()); |
1440 dictionary->SetBoolean("wifiAvailable", cros_->wifi_available()); | 1727 dictionary->SetBoolean(kTagWifiAvailable, cros_->wifi_available()); |
1441 dictionary->SetBoolean("wifiBusy", cros_->wifi_busy()); | 1728 dictionary->SetBoolean(kTagWifiBusy, cros_->wifi_busy()); |
1442 dictionary->SetBoolean("wifiEnabled", cros_->wifi_enabled()); | 1729 dictionary->SetBoolean(kTagWifiEnabled, cros_->wifi_enabled()); |
1443 dictionary->SetBoolean("cellularAvailable", cros_->cellular_available()); | 1730 dictionary->SetBoolean(kTagCellularAvailable, cros_->cellular_available()); |
1444 dictionary->SetBoolean("cellularBusy", cros_->cellular_busy()); | 1731 dictionary->SetBoolean(kTagCellularBusy, cros_->cellular_busy()); |
1445 dictionary->SetBoolean("cellularEnabled", cros_->cellular_enabled()); | 1732 dictionary->SetBoolean(kTagCellularEnabled, cros_->cellular_enabled()); |
1446 dictionary->SetBoolean("wimaxEnabled", cros_->wimax_enabled()); | 1733 dictionary->SetBoolean(kTagWimaxEnabled, cros_->wimax_enabled()); |
1447 dictionary->SetBoolean("wimaxAvailable", cros_->wimax_available()); | 1734 dictionary->SetBoolean(kTagWimaxAvailable, cros_->wimax_available()); |
1448 dictionary->SetBoolean("wimaxBusy", cros_->wimax_busy()); | 1735 dictionary->SetBoolean(kTagWimaxBusy, cros_->wimax_busy()); |
1449 // TODO(kevers): The use of 'offline_mode' is not quite correct. Update once | 1736 // TODO(kevers): The use of 'offline_mode' is not quite correct. Update once |
1450 // we have proper back-end support. | 1737 // we have proper back-end support. |
1451 dictionary->SetBoolean("airplaneMode", cros_->offline_mode()); | 1738 dictionary->SetBoolean(kTagAirplaneMode, cros_->offline_mode()); |
1452 } | 1739 } |
1453 | 1740 |
1454 void InternetOptionsHandler::SetValueDictionary( | 1741 void InternetOptionsHandler::SetValueDictionary( |
1455 DictionaryValue* settings, | 1742 DictionaryValue* settings, |
1456 const char* key, | 1743 const char* key, |
1457 base::Value* value, | 1744 base::Value* value, |
1458 const chromeos::NetworkPropertyUIData& ui_data) { | 1745 const chromeos::NetworkPropertyUIData& ui_data) { |
1459 DictionaryValue* value_dict = new DictionaryValue(); | 1746 DictionaryValue* value_dict = new DictionaryValue(); |
1460 // DictionaryValue::Set() takes ownership of |value|. | 1747 // DictionaryValue::Set() takes ownership of |value|. |
1461 if (value) | 1748 if (value) |
1462 value_dict->Set("value", value); | 1749 value_dict->Set(kTagValue, value); |
1463 const base::Value* default_value = ui_data.default_value(); | 1750 const base::Value* default_value = ui_data.default_value(); |
1464 if (default_value) | 1751 if (default_value) |
1465 value_dict->Set("default", default_value->DeepCopy()); | 1752 value_dict->Set(kTagDefault, default_value->DeepCopy()); |
1466 if (ui_data.managed()) | 1753 if (ui_data.managed()) |
1467 value_dict->SetString("controlledBy", "policy"); | 1754 value_dict->SetString(kTagControlledBy, kTagPolicy); |
1468 else if (ui_data.recommended()) | 1755 else if (ui_data.recommended()) |
1469 value_dict->SetString("controlledBy", "recommended"); | 1756 value_dict->SetString(kTagControlledBy, kTagRecommended); |
1470 settings->Set(key, value_dict); | 1757 settings->Set(key, value_dict); |
1471 } | 1758 } |
1472 | 1759 |
1473 } // namespace options2 | 1760 } // namespace options2 |
OLD | NEW |