OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 /** | 5 /** |
6 * @fileoverview This file has two parts: | 6 * @fileoverview This file has three parts: |
7 * | 7 * |
8 * 1. Typedefs for network properties. Note: These 'types' define a subset of | 8 * 1. A dictionary of strings for network element translations. |
| 9 * |
| 10 * 2. Typedefs for network properties. Note: These 'types' define a subset of |
9 * ONC properties in the ONC data dictionary. The first letter is capitalized to | 11 * ONC properties in the ONC data dictionary. The first letter is capitalized to |
10 * match the ONC spec and avoid an extra layer of translation. | 12 * match the ONC spec and avoid an extra layer of translation. |
11 * See components/onc/docs/onc_spec.html for the complete spec. | 13 * See components/onc/docs/onc_spec.html for the complete spec. |
12 * TODO(stevenjb): Replace with chrome.networkingPrivate.NetworkStateProperties | 14 * TODO(stevenjb): Replace with chrome.networkingPrivate.NetworkStateProperties |
13 * once that is fully defined. | 15 * once that is fully defined. |
14 * | 16 * |
15 * 2. Helper functions to facilitate extracting and setting ONC properties. | 17 * 3. Helper functions to facilitate extracting and setting ONC properties. |
16 */ | 18 */ |
17 | 19 |
| 20 /** |
| 21 * Strings required for networking elements. These must be set at runtime. |
| 22 * @type {{ |
| 23 * OncTypeCellular: string, |
| 24 * OncTypeEthernet: string, |
| 25 * OncTypeVPN: string, |
| 26 * OncTypeWiFi: string, |
| 27 * OncTypeWiMAX: string, |
| 28 * networkDisabled: string, |
| 29 * networkListItemConnected: string, |
| 30 * networkListItemConnecting: string, |
| 31 * networkListItemNotConnected: string, |
| 32 * vpnNameTemplate: string, |
| 33 * }} |
| 34 */ |
| 35 var CrOncStrings; |
| 36 |
18 var CrOnc = {}; | 37 var CrOnc = {}; |
19 | 38 |
20 /** @typedef {chrome.networkingPrivate.NetworkStateProperties} */ | 39 /** @typedef {chrome.networkingPrivate.NetworkStateProperties} */ |
21 CrOnc.NetworkStateProperties; | 40 CrOnc.NetworkStateProperties; |
22 | 41 |
23 /** @typedef {chrome.networkingPrivate.ManagedProperties} */ | 42 /** @typedef {chrome.networkingPrivate.ManagedProperties} */ |
24 CrOnc.NetworkProperties; | 43 CrOnc.NetworkProperties; |
25 | 44 |
26 /** @typedef {string|number|boolean|Object|Array<Object>} */ | 45 /** @typedef {string|number|boolean|Object|Array<Object>} */ |
27 CrOnc.NetworkPropertyType; | 46 CrOnc.NetworkPropertyType; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 * RoutingPrefix: (string|undefined), | 92 * RoutingPrefix: (string|undefined), |
74 * Type: (string|undefined), | 93 * Type: (string|undefined), |
75 * WebProxyAutoDiscoveryUrl: (string|undefined) | 94 * WebProxyAutoDiscoveryUrl: (string|undefined) |
76 * }} | 95 * }} |
77 */ | 96 */ |
78 CrOnc.IPConfigUIProperties; | 97 CrOnc.IPConfigUIProperties; |
79 | 98 |
80 /** @typedef {chrome.networkingPrivate.PaymentPortal} */ | 99 /** @typedef {chrome.networkingPrivate.PaymentPortal} */ |
81 CrOnc.PaymentPortal; | 100 CrOnc.PaymentPortal; |
82 | 101 |
| 102 /** @enum {string} */ |
83 CrOnc.ActivationState = chrome.networkingPrivate.ActivationStateType; | 103 CrOnc.ActivationState = chrome.networkingPrivate.ActivationStateType; |
| 104 |
| 105 /** @enum {string} */ |
84 CrOnc.ConnectionState = chrome.networkingPrivate.ConnectionStateType; | 106 CrOnc.ConnectionState = chrome.networkingPrivate.ConnectionStateType; |
| 107 |
| 108 /** @enum {string} */ |
85 CrOnc.IPConfigType = chrome.networkingPrivate.IPConfigType; | 109 CrOnc.IPConfigType = chrome.networkingPrivate.IPConfigType; |
| 110 |
| 111 /** @enum {string} */ |
86 CrOnc.ProxySettingsType = chrome.networkingPrivate.ProxySettingsType; | 112 CrOnc.ProxySettingsType = chrome.networkingPrivate.ProxySettingsType; |
| 113 |
| 114 /** @enum {string} */ |
87 CrOnc.Type = chrome.networkingPrivate.NetworkType; | 115 CrOnc.Type = chrome.networkingPrivate.NetworkType; |
88 | 116 |
89 /** @enum {string} */ | 117 /** @enum {string} */ |
90 CrOnc.IPType = { | 118 CrOnc.IPType = { |
91 IPV4: 'IPv4', | 119 IPV4: 'IPv4', |
92 IPV6: 'IPv6', | 120 IPV6: 'IPv6', |
93 }; | 121 }; |
94 | 122 |
95 /** @enum {string} */ | 123 /** @enum {string} */ |
96 CrOnc.LockType = { | 124 CrOnc.LockType = { |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 * @return {boolean} The AutoConnect value if it exists or false. | 342 * @return {boolean} The AutoConnect value if it exists or false. |
315 */ | 343 */ |
316 CrOnc.getAutoConnect = function(properties) { | 344 CrOnc.getAutoConnect = function(properties) { |
317 var autoconnect = CrOnc.getManagedAutoConnect(properties); | 345 var autoconnect = CrOnc.getManagedAutoConnect(properties); |
318 return !!CrOnc.getActiveValue(autoconnect); | 346 return !!CrOnc.getActiveValue(autoconnect); |
319 }; | 347 }; |
320 | 348 |
321 /** | 349 /** |
322 * @param {!CrOnc.NetworkProperties|!CrOnc.NetworkStateProperties|undefined} | 350 * @param {!CrOnc.NetworkProperties|!CrOnc.NetworkStateProperties|undefined} |
323 * properties The ONC network properties or state properties. | 351 * properties The ONC network properties or state properties. |
324 * @param {!I18nBehavior.Proto} i18nBehavior An I18nBehavior instance. | |
325 * @return {string} The name to display for |network|. | 352 * @return {string} The name to display for |network|. |
326 */ | 353 */ |
327 CrOnc.getNetworkName = function(properties, i18nBehavior) { | 354 CrOnc.getNetworkName = function(properties) { |
328 if (!properties) | 355 if (!properties) |
329 return ''; | 356 return ''; |
330 let name = CrOnc.getStateOrActiveString(properties.Name); | 357 let name = CrOnc.getStateOrActiveString(properties.Name); |
331 let type = CrOnc.getStateOrActiveString(properties.Type); | 358 let type = CrOnc.getStateOrActiveString(properties.Type); |
332 if (!name) | 359 if (!name) |
333 return i18nBehavior.i18n('OncType' + type); | 360 return CrOncStrings['OncType' + type]; |
334 if (type == 'VPN' && properties.VPN) { | 361 if (type == 'VPN' && properties.VPN) { |
335 let vpnType = CrOnc.getStateOrActiveString(properties.VPN.Type); | 362 let vpnType = CrOnc.getStateOrActiveString(properties.VPN.Type); |
336 if (vpnType == 'ThirdPartyVPN' && properties.VPN.ThirdPartyVPN) { | 363 if (vpnType == 'ThirdPartyVPN' && properties.VPN.ThirdPartyVPN) { |
337 let providerName = properties.VPN.ThirdPartyVPN.ProviderName; | 364 let providerName = properties.VPN.ThirdPartyVPN.ProviderName; |
338 if (providerName) | 365 if (providerName) { |
339 return i18nBehavior.i18n('vpnNameTemplate', providerName, name); | 366 return CrOncStrings.vpnNameTemplate.replace('$1', providerName) |
| 367 .replace('$2', name); |
| 368 } |
340 } | 369 } |
341 } | 370 } |
342 return name; | 371 return name; |
343 }; | 372 }; |
344 | 373 |
345 /** | 374 /** |
346 * @param {!CrOnc.NetworkProperties|!CrOnc.NetworkStateProperties|undefined} | 375 * @param {!CrOnc.NetworkProperties|!CrOnc.NetworkStateProperties|undefined} |
347 * properties The ONC network properties or state properties. | 376 * properties The ONC network properties or state properties. |
348 * @return {boolean} True if |properties| is a Cellular network with a | 377 * @return {boolean} True if |properties| is a Cellular network with a |
349 * locked SIM. | 378 * locked SIM. |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 prefixLength += 1; | 536 prefixLength += 1; |
508 } else if (token == '0') { | 537 } else if (token == '0') { |
509 prefixLength += 0; | 538 prefixLength += 0; |
510 } else { | 539 } else { |
511 // mask is not a valid number. | 540 // mask is not a valid number. |
512 return -1; | 541 return -1; |
513 } | 542 } |
514 } | 543 } |
515 return prefixLength; | 544 return prefixLength; |
516 }; | 545 }; |
OLD | NEW |