| 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 // require: onc_data.js | 5 // require: onc_data.js |
| 6 | 6 |
| 7 // NOTE(stevenjb): This code is in the process of being converted to be | 7 // NOTE(stevenjb): This code is in the process of being converted to be |
| 8 // compatible with the networkingPrivate extension API: | 8 // compatible with the networkingPrivate extension API: |
| 9 // * The network property dictionaries are being converted to use ONC values. | 9 // * The network property dictionaries are being converted to use ONC values. |
| 10 // * chrome.send calls will be replaced with an API object that simulates the | 10 // * chrome.send calls will be replaced with an API object that simulates the |
| 11 // networkingPrivate API. See network_config.js. | 11 // networkingPrivate API. See network_config.js. |
| 12 // See crbug.com/279351 for more info. | 12 // See crbug.com/279351 for more info. |
| 13 | 13 |
| 14 /** @typedef {{address: (string|undefined), | |
| 15 * gateway: (string|undefined), | |
| 16 * nameServers: (string|undefined), | |
| 17 * netmask: (string|undefined), | |
| 18 * prefixLength: (number|undefined)}} | |
| 19 * @see chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc | |
| 20 */ | |
| 21 var IPInfo; | |
| 22 | |
| 23 cr.define('options.internet', function() { | 14 cr.define('options.internet', function() { |
| 24 var OncData = cr.onc.OncData; | 15 var OncData = cr.onc.OncData; |
| 25 var Page = cr.ui.pageManager.Page; | 16 var Page = cr.ui.pageManager.Page; |
| 26 var PageManager = cr.ui.pageManager.PageManager; | 17 var PageManager = cr.ui.pageManager.PageManager; |
| 27 /** @const */ var IPAddressField = options.internet.IPAddressField; | 18 /** @const */ var IPAddressField = options.internet.IPAddressField; |
| 28 | 19 |
| 29 /** @const */ var GoogleNameServersString = '8.8.4.4,8.8.8.8'; | 20 /** @const */ var GoogleNameServers = ['8.8.4.4', '8.8.8.8']; |
| 30 /** @const */ var CarrierGenericUMTS = 'Generic UMTS'; | 21 /** @const */ var CarrierGenericUMTS = 'Generic UMTS'; |
| 31 | 22 |
| 32 /** | 23 /** |
| 33 * Helper function to set hidden attribute for elements matching a selector. | 24 * Helper function to set hidden attribute for elements matching a selector. |
| 34 * @param {string} selector CSS selector for extracting a list of elements. | 25 * @param {string} selector CSS selector for extracting a list of elements. |
| 35 * @param {boolean} hidden New hidden value. | 26 * @param {boolean} hidden New hidden value. |
| 36 */ | 27 */ |
| 37 function updateHidden(selector, hidden) { | 28 function updateHidden(selector, hidden) { |
| 38 var elements = cr.doc.querySelectorAll(selector); | 29 var elements = cr.doc.querySelectorAll(selector); |
| 39 for (var i = 0, el; el = elements[i]; i++) { | 30 for (var i = 0, el; el = elements[i]; i++) { |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 if (i > 0) | 120 if (i > 0) |
| 130 netmask += '.'; | 121 netmask += '.'; |
| 131 var value = 0; | 122 var value = 0; |
| 132 if (remainder != 0) | 123 if (remainder != 0) |
| 133 value = ((2 << (remainder - 1)) - 1) << (8 - remainder); | 124 value = ((2 << (remainder - 1)) - 1) << (8 - remainder); |
| 134 netmask += value.toString(); | 125 netmask += value.toString(); |
| 135 } | 126 } |
| 136 return netmask; | 127 return netmask; |
| 137 } | 128 } |
| 138 | 129 |
| 130 /** |
| 131 * Returns the prefix length from the netmask string. |
| 132 * @param {string} netmask The netmask string, e.g. 255.255.255.0. |
| 133 * @return {number} The corresponding netmask or -1 if invalid. |
| 134 */ |
| 135 function netmaskToPrefixLength(netmask) { |
| 136 var prefixLength = 0; |
| 137 var tokens = netmask.split('.'); |
| 138 if (tokens.length != 4) |
| 139 return -1; |
| 140 for (var i = 0; i < tokens.length; ++i) { |
| 141 var token = tokens[i]; |
| 142 // If we already found the last mask and the current one is not |
| 143 // '0' then the netmask is invalid. For example, 255.224.255.0 |
| 144 if (prefixLength / 8 != i) { |
| 145 if (token != '0') |
| 146 return -1; |
| 147 } else if (token == '255') { |
| 148 prefixLength += 8; |
| 149 } else if (token == '254') { |
| 150 prefixLength += 7; |
| 151 } else if (token == '252') { |
| 152 prefixLength += 6; |
| 153 } else if (token == '248') { |
| 154 prefixLength += 5; |
| 155 } else if (token == '240') { |
| 156 prefixLength += 4; |
| 157 } else if (token == '224') { |
| 158 prefixLength += 3; |
| 159 } else if (token == '192') { |
| 160 prefixLength += 2; |
| 161 } else if (token == '128') { |
| 162 prefixLength += 1; |
| 163 } else if (token == '0') { |
| 164 prefixLength += 0; |
| 165 } else { |
| 166 // mask is not a valid number. |
| 167 return -1; |
| 168 } |
| 169 } |
| 170 return prefixLength; |
| 171 } |
| 172 |
| 139 ///////////////////////////////////////////////////////////////////////////// | 173 ///////////////////////////////////////////////////////////////////////////// |
| 140 // DetailsInternetPage class: | 174 // DetailsInternetPage class: |
| 141 | 175 |
| 142 /** | 176 /** |
| 143 * Encapsulated handling of ChromeOS internet details overlay page. | 177 * Encapsulated handling of ChromeOS internet details overlay page. |
| 144 * @constructor | 178 * @constructor |
| 145 * @extends {cr.ui.pageManager.Page} | 179 * @extends {cr.ui.pageManager.Page} |
| 146 */ | 180 */ |
| 147 function DetailsInternetPage() { | 181 function DetailsInternetPage() { |
| 148 // Cached Apn properties | 182 // Cached Apn properties |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 347 * Handler for when the name server selection changes. | 381 * Handler for when the name server selection changes. |
| 348 * @param {Event} event The click event. | 382 * @param {Event} event The click event. |
| 349 * @private | 383 * @private |
| 350 */ | 384 */ |
| 351 handleNameServerTypeChange_: function(event) { | 385 handleNameServerTypeChange_: function(event) { |
| 352 var type = event.target.value; | 386 var type = event.target.value; |
| 353 DetailsInternetPage.updateNameServerDisplay(type); | 387 DetailsInternetPage.updateNameServerDisplay(type); |
| 354 }, | 388 }, |
| 355 | 389 |
| 356 /** | 390 /** |
| 357 * Sends the IP Config info to chrome. | 391 * Gets the IPConfig ONC Object. |
| 358 * @param {string} nameServerType The selected name server type: | 392 * @param {string} nameServerType The selected name server type: |
| 359 * 'automatic', 'google', or 'user'. | 393 * 'automatic', 'google', or 'user'. |
| 394 * @return {Object} The IPConfig ONC object. |
| 360 * @private | 395 * @private |
| 361 */ | 396 */ |
| 362 sendIpConfig_: function(nameServerType) { | 397 getIpConfig_: function(nameServerType) { |
| 363 var userNameServerString = ''; | 398 var ipConfig = {}; |
| 364 if (nameServerType == 'user') { | 399 // If 'ip-address' is empty, automatic configuration will be used. |
| 365 var userNameServers = []; | 400 if (!$('ip-automatic-configuration-checkbox').checked && |
| 366 for (var i = 1; i <= 4; ++i) { | 401 $('ip-address').model.value) { |
| 367 var nameServerField = $('ipconfig-dns' + i); | 402 ipConfig['IPAddress'] = $('ip-address').model.value; |
| 368 // Skip empty values. | 403 var netmask = $('ip-netmask').model.value; |
| 369 if (nameServerField && nameServerField.model && | 404 var routingPrefix = 0; |
| 370 nameServerField.model.value) { | 405 if (netmask) { |
| 371 userNameServers.push(nameServerField.model.value); | 406 routingPrefix = netmaskToPrefixLength(netmask); |
| 407 if (routingPrefix == -1) { |
| 408 console.error('Invalid netmask: ' + netmask); |
| 409 routingPrefix = 0; |
| 372 } | 410 } |
| 373 } | 411 } |
| 374 userNameServerString = userNameServers.sort().join(','); | 412 ipConfig['RoutingPrefix'] = routingPrefix; |
| 413 ipConfig['Gateway'] = $('ip-gateway').model.value || ''; |
| 375 } | 414 } |
| 376 chrome.send('setIPConfig', | 415 |
| 377 [this.servicePath_, | 416 // Note: If no nameserver fields are set, automatic configuration will be |
| 378 Boolean($('ip-automatic-configuration-checkbox').checked), | 417 // used. TODO(stevenjb): Validate input fields. |
| 379 $('ip-address').model.value || '', | 418 if (nameServerType != 'automatic') { |
| 380 $('ip-netmask').model.value || '', | 419 var userNameServers = []; |
| 381 $('ip-gateway').model.value || '', | 420 if (nameServerType == 'google') { |
| 382 nameServerType, | 421 userNameServers = GoogleNameServers.splice(); |
| 383 userNameServerString]); | 422 } else if (nameServerType == 'user') { |
| 423 for (var i = 1; i <= 4; ++i) { |
| 424 var nameServerField = $('ipconfig-dns' + i); |
| 425 // Skip empty values. |
| 426 if (nameServerField && nameServerField.model && |
| 427 nameServerField.model.value) { |
| 428 userNameServers.push(nameServerField.model.value); |
| 429 } |
| 430 } |
| 431 } |
| 432 if (userNameServers.length) |
| 433 ipConfig['NameServers'] = userNameServers.sort(); |
| 434 } |
| 435 return ipConfig; |
| 384 }, | 436 }, |
| 385 | 437 |
| 386 /** | 438 /** |
| 387 * Creates an indicator event for controlled properties using | 439 * Creates an indicator event for controlled properties using |
| 388 * the same dictionary format as CoreOptionsHandler::CreateValueForPref. | 440 * the same dictionary format as CoreOptionsHandler::CreateValueForPref. |
| 389 * @param {string} name The name for the Event. | 441 * @param {string} name The name for the Event. |
| 390 * @param {{value: *, controlledBy: *, recommendedValue: *}} propData | 442 * @param {{value: *, controlledBy: *, recommendedValue: *}} propData |
| 391 * Property dictionary. | 443 * Property dictionary. |
| 392 * @private | 444 * @private |
| 393 */ | 445 */ |
| (...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1101 } | 1153 } |
| 1102 | 1154 |
| 1103 var nameServerTypes = ['automatic', 'google', 'user']; | 1155 var nameServerTypes = ['automatic', 'google', 'user']; |
| 1104 var nameServerType = 'automatic'; | 1156 var nameServerType = 'automatic'; |
| 1105 for (var i = 0; i < nameServerTypes.length; ++i) { | 1157 for (var i = 0; i < nameServerTypes.length; ++i) { |
| 1106 if ($(nameServerTypes[i] + '-dns-radio').checked) { | 1158 if ($(nameServerTypes[i] + '-dns-radio').checked) { |
| 1107 nameServerType = nameServerTypes[i]; | 1159 nameServerType = nameServerTypes[i]; |
| 1108 break; | 1160 break; |
| 1109 } | 1161 } |
| 1110 } | 1162 } |
| 1111 detailsPage.sendIpConfig_(nameServerType); | 1163 var ipConfig = detailsPage.getIpConfig_(nameServerType); |
| 1164 var ipAddressType = ('IPAddress' in ipConfig) ? 'Static' : 'DHCP'; |
| 1165 var nameServersType = ('NameServers' in ipConfig) ? 'Static' : 'DHCP'; |
| 1166 oncData.setProperty('IPAddressConfigType', ipAddressType); |
| 1167 oncData.setProperty('NameServersConfigType', nameServersType); |
| 1168 oncData.setProperty('StaticIPConfig', ipConfig); |
| 1112 | 1169 |
| 1113 var data = oncData.getData(); | 1170 var data = oncData.getData(); |
| 1114 if (Object.keys(data).length > 0) { | 1171 if (Object.keys(data).length > 0) { |
| 1172 // TODO(stevenjb): Only set changed properties. |
| 1115 // TODO(stevenjb): chrome.networkingPrivate.setProperties | 1173 // TODO(stevenjb): chrome.networkingPrivate.setProperties |
| 1116 chrome.send('setProperties', [servicePath, data]); | 1174 chrome.send('setProperties', [servicePath, data]); |
| 1117 } | 1175 } |
| 1118 | 1176 |
| 1119 PageManager.closeOverlay(); | 1177 PageManager.closeOverlay(); |
| 1120 }; | 1178 }; |
| 1121 | 1179 |
| 1122 /** | 1180 /** |
| 1123 * Event handler called when the name server type changes. | 1181 * Event handler called when the name server type changes. |
| 1124 * @param {string} type The selected name sever type, 'automatic', 'google', | 1182 * @param {string} type The selected name sever type, 'automatic', 'google', |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1219 } else { | 1277 } else { |
| 1220 detailsPage.showProxy_ = false; | 1278 detailsPage.showProxy_ = false; |
| 1221 } | 1279 } |
| 1222 | 1280 |
| 1223 $('web-proxy-auto-discovery').hidden = true; | 1281 $('web-proxy-auto-discovery').hidden = true; |
| 1224 | 1282 |
| 1225 var restricted = onc.getActiveValue('RestrictedConnectivity'); | 1283 var restricted = onc.getActiveValue('RestrictedConnectivity'); |
| 1226 var restrictedString = loadTimeData.getString( | 1284 var restrictedString = loadTimeData.getString( |
| 1227 restricted ? 'restrictedYes' : 'restrictedNo'); | 1285 restricted ? 'restrictedYes' : 'restrictedNo'); |
| 1228 | 1286 |
| 1287 // These objects contain an 'automatic' property that is displayed when |
| 1288 // ip-automatic-configuration-checkbox is checked, and a 'value' property |
| 1289 // that is displayed when unchecked and used to set the associated ONC |
| 1290 // property for StaticIPConfig on commit. |
| 1229 var inetAddress = {}; | 1291 var inetAddress = {}; |
| 1230 var inetNetmask = {}; | 1292 var inetNetmask = {}; |
| 1231 var inetGateway = {}; | 1293 var inetGateway = {}; |
| 1232 | 1294 |
| 1233 var inetNameServersString; | 1295 var inetNameServersString; |
| 1234 | 1296 |
| 1235 var ipconfigList = onc.getActiveValue('IPConfigs'); | 1297 var ipconfigList = onc.getActiveValue('IPConfigs'); |
| 1236 if (Array.isArray(ipconfigList)) { | 1298 if (Array.isArray(ipconfigList)) { |
| 1237 for (var i = 0; i < ipconfigList.length; ++i) { | 1299 for (var i = 0; i < ipconfigList.length; ++i) { |
| 1238 var ipconfig = ipconfigList[i]; | 1300 var ipconfig = ipconfigList[i]; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1257 } | 1319 } |
| 1258 if ('NameServers' in ipconfig) { | 1320 if ('NameServers' in ipconfig) { |
| 1259 var inetNameServers = ipconfig['NameServers']; | 1321 var inetNameServers = ipconfig['NameServers']; |
| 1260 inetNameServers = inetNameServers.sort(); | 1322 inetNameServers = inetNameServers.sort(); |
| 1261 inetNameServersString = inetNameServers.join(','); | 1323 inetNameServersString = inetNameServers.join(','); |
| 1262 } | 1324 } |
| 1263 break; // Use the first IPv4 entry. | 1325 break; // Use the first IPv4 entry. |
| 1264 } | 1326 } |
| 1265 } | 1327 } |
| 1266 | 1328 |
| 1267 // Override the "automatic" values with the real saved DHCP values, | 1329 // Override the 'automatic' properties with the saved DHCP values if the |
| 1268 // if they are set. | 1330 // saved value is set, and set any unset 'value' properties. |
| 1269 var savedNameServersString; | 1331 var savedNameServersString; |
| 1270 var savedIpAddress = onc.getActiveValue('SavedIPConfig.IPAddress'); | 1332 var savedIpAddress = onc.getActiveValue('SavedIPConfig.IPAddress'); |
| 1271 if (savedIpAddress != undefined) { | 1333 if (savedIpAddress != undefined) { |
| 1272 inetAddress.automatic = savedIpAddress; | 1334 inetAddress.automatic = savedIpAddress; |
| 1273 inetAddress.value = savedIpAddress; | 1335 if (!inetAddress.value) |
| 1336 inetAddress.value = savedIpAddress; |
| 1274 } | 1337 } |
| 1275 var savedPrefix = onc.getActiveValue('SavedIPConfig.RoutingPrefix'); | 1338 var savedPrefix = onc.getActiveValue('SavedIPConfig.RoutingPrefix'); |
| 1276 if (savedPrefix != undefined) { | 1339 if (savedPrefix != undefined) { |
| 1277 assert(typeof savedPrefix == 'number'); | 1340 assert(typeof savedPrefix == 'number'); |
| 1278 var savedNetmask = prefixLengthToNetmask( | 1341 var savedNetmask = prefixLengthToNetmask( |
| 1279 /** @type {number} */(savedPrefix)); | 1342 /** @type {number} */(savedPrefix)); |
| 1280 inetNetmask.automatic = savedNetmask; | 1343 inetNetmask.automatic = savedNetmask; |
| 1281 inetNetmask.value = savedNetmask; | 1344 if (!inetNetmask.value) |
| 1345 inetNetmask.value = savedNetmask; |
| 1282 } | 1346 } |
| 1283 var savedGateway = onc.getActiveValue('SavedIPConfig.Gateway'); | 1347 var savedGateway = onc.getActiveValue('SavedIPConfig.Gateway'); |
| 1284 if (savedGateway != undefined) { | 1348 if (savedGateway != undefined) { |
| 1285 inetGateway.automatic = savedGateway; | 1349 inetGateway.automatic = savedGateway; |
| 1286 inetGateway.value = savedGateway; | 1350 if (!inetGateway.value) |
| 1351 inetGateway.value = savedGateway; |
| 1287 } | 1352 } |
| 1353 |
| 1288 var savedNameServers = onc.getActiveValue('SavedIPConfig.NameServers'); | 1354 var savedNameServers = onc.getActiveValue('SavedIPConfig.NameServers'); |
| 1289 if (savedNameServers) { | 1355 if (savedNameServers) { |
| 1290 savedNameServers = savedNameServers.sort(); | 1356 savedNameServers = savedNameServers.sort(); |
| 1291 savedNameServersString = savedNameServers.join(','); | 1357 savedNameServersString = savedNameServers.join(','); |
| 1292 } | 1358 } |
| 1293 | 1359 |
| 1294 var ipAutoConfig = 'automatic'; | 1360 var ipAutoConfig = 'automatic'; |
| 1295 | 1361 if (onc.getActiveValue('IPAddressConfigType') == 'Static') { |
| 1296 var staticNameServersString; | |
| 1297 var staticIpAddress = onc.getActiveValue('StaticIPConfig.IPAddress'); | |
| 1298 if (staticIpAddress != undefined) { | |
| 1299 ipAutoConfig = 'user'; | 1362 ipAutoConfig = 'user'; |
| 1363 var staticIpAddress = onc.getActiveValue('StaticIPConfig.IPAddress'); |
| 1300 inetAddress.user = staticIpAddress; | 1364 inetAddress.user = staticIpAddress; |
| 1301 inetAddress.value = staticIpAddress; | 1365 inetAddress.value = staticIpAddress; |
| 1302 } | 1366 |
| 1303 var staticPrefix = onc.getActiveValue('StaticIPConfig.RoutingPrefix'); | 1367 var staticPrefix = onc.getActiveValue('StaticIPConfig.RoutingPrefix'); |
| 1304 if (staticPrefix != undefined) { | 1368 if (typeof staticPrefix != 'number') |
| 1305 assert(typeof staticPrefix == 'number'); | 1369 staticPrefix = 0; |
| 1306 var staticNetmask = prefixLengthToNetmask( | 1370 var staticNetmask = prefixLengthToNetmask( |
| 1307 /** @type {number} */(staticPrefix)); | 1371 /** @type {number} */ (staticPrefix)); |
| 1308 inetNetmask.user = staticNetmask; | 1372 inetNetmask.user = staticNetmask; |
| 1309 inetNetmask.value = staticNetmask; | 1373 inetNetmask.value = staticNetmask; |
| 1310 } | 1374 |
| 1311 var staticGateway = onc.getActiveValue('StaticIPConfig.Gateway'); | 1375 var staticGateway = onc.getActiveValue('StaticIPConfig.Gateway'); |
| 1312 if (staticGateway != undefined) { | |
| 1313 inetGateway.user = staticGateway; | 1376 inetGateway.user = staticGateway; |
| 1314 inetGateway.value = staticGateway; | 1377 inetGateway.value = staticGateway; |
| 1315 } | 1378 } |
| 1316 var staticNameServers = onc.getActiveValue('StaticIPConfig.NameServers'); | 1379 |
| 1317 if (staticNameServers) { | 1380 var staticNameServersString; |
| 1381 if (onc.getActiveValue('NameServersConfigType') == 'Static') { |
| 1382 var staticNameServers = onc.getActiveValue('StaticIPConfig.NameServers'); |
| 1318 staticNameServers = staticNameServers.sort(); | 1383 staticNameServers = staticNameServers.sort(); |
| 1319 staticNameServersString = staticNameServers.join(','); | 1384 staticNameServersString = staticNameServers.join(','); |
| 1320 } | 1385 } |
| 1321 | 1386 |
| 1322 $('ip-automatic-configuration-checkbox').checked = | 1387 $('ip-automatic-configuration-checkbox').checked = |
| 1323 ipAutoConfig == 'automatic'; | 1388 ipAutoConfig == 'automatic'; |
| 1324 | 1389 |
| 1325 inetAddress.autoConfig = ipAutoConfig; | 1390 inetAddress.autoConfig = ipAutoConfig; |
| 1326 inetNetmask.autoConfig = ipAutoConfig; | 1391 inetNetmask.autoConfig = ipAutoConfig; |
| 1327 inetGateway.autoConfig = ipAutoConfig; | 1392 inetGateway.autoConfig = ipAutoConfig; |
| 1328 | 1393 |
| 1329 var configureAddressField = function(field, model) { | 1394 var configureAddressField = function(field, model) { |
| 1330 IPAddressField.decorate(field); | 1395 IPAddressField.decorate(field); |
| 1331 field.model = model; | 1396 field.model = model; |
| 1332 field.editable = model.autoConfig == 'user'; | 1397 field.editable = model.autoConfig == 'user'; |
| 1333 }; | 1398 }; |
| 1334 configureAddressField($('ip-address'), inetAddress); | 1399 configureAddressField($('ip-address'), inetAddress); |
| 1335 configureAddressField($('ip-netmask'), inetNetmask); | 1400 configureAddressField($('ip-netmask'), inetNetmask); |
| 1336 configureAddressField($('ip-gateway'), inetGateway); | 1401 configureAddressField($('ip-gateway'), inetGateway); |
| 1337 | 1402 |
| 1338 // Set Nameserver fields. | 1403 // Set Nameserver fields. |
| 1339 var nameServerType = 'automatic'; | 1404 var nameServerType = 'automatic'; |
| 1340 if (staticNameServersString) { | 1405 if (staticNameServersString) { |
| 1341 // If static nameservers are defined and match the google name servers, | 1406 // If static nameservers are defined and match the google name servers, |
| 1342 // show that in the UI, otherwise show the custom static nameservers. | 1407 // show that in the UI, otherwise show the custom static nameservers. |
| 1343 if (staticNameServersString == GoogleNameServersString) | 1408 if (staticNameServersString == GoogleNameServers.join(',')) |
| 1344 nameServerType = 'google'; | 1409 nameServerType = 'google'; |
| 1345 else if (staticNameServersString == inetNameServersString) | 1410 else if (staticNameServersString == inetNameServersString) |
| 1346 nameServerType = 'user'; | 1411 nameServerType = 'user'; |
| 1347 } | 1412 } |
| 1348 if (nameServerType == 'automatic') | 1413 if (nameServerType == 'automatic') |
| 1349 $('automatic-dns-display').textContent = inetNameServersString; | 1414 $('automatic-dns-display').textContent = inetNameServersString; |
| 1350 else | 1415 else |
| 1351 $('automatic-dns-display').textContent = savedNameServersString; | 1416 $('automatic-dns-display').textContent = savedNameServersString; |
| 1352 $('google-dns-display').textContent = GoogleNameServersString; | 1417 $('google-dns-display').textContent = GoogleNameServers.join(','); |
| 1353 | 1418 |
| 1354 var nameServersUser = []; | 1419 var nameServersUser = []; |
| 1355 if (staticNameServers) { | 1420 if (staticNameServers) { |
| 1356 nameServersUser = staticNameServers; | 1421 nameServersUser = staticNameServers; |
| 1357 } else if (savedNameServers) { | 1422 } else if (savedNameServers) { |
| 1358 // Pre-populate with values provided by DHCP server. | 1423 // Pre-populate with values provided by DHCP server. |
| 1359 nameServersUser = savedNameServers; | 1424 nameServersUser = savedNameServers; |
| 1360 } | 1425 } |
| 1361 | 1426 |
| 1362 var nameServerModels = []; | 1427 var nameServerModels = []; |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1587 | 1652 |
| 1588 // Don't show page name in address bar and in history to prevent people | 1653 // Don't show page name in address bar and in history to prevent people |
| 1589 // navigate here by hand and solve issue with page session restore. | 1654 // navigate here by hand and solve issue with page session restore. |
| 1590 PageManager.showPageByName('detailsInternetPage', false); | 1655 PageManager.showPageByName('detailsInternetPage', false); |
| 1591 }; | 1656 }; |
| 1592 | 1657 |
| 1593 return { | 1658 return { |
| 1594 DetailsInternetPage: DetailsInternetPage | 1659 DetailsInternetPage: DetailsInternetPage |
| 1595 }; | 1660 }; |
| 1596 }); | 1661 }); |
| OLD | NEW |