Chromium Code Reviews| 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 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 79 function sendCheckedIfEnabled(path, message, checkbox) { | 79 function sendCheckedIfEnabled(path, message, checkbox) { |
| 80 if (!checkbox.hidden && !checkbox.disabled) | 80 if (!checkbox.hidden && !checkbox.disabled) |
| 81 chrome.send(message, [path, checkbox.checked ? 'true' : 'false']); | 81 chrome.send(message, [path, checkbox.checked ? 'true' : 'false']); |
| 82 } | 82 } |
| 83 | 83 |
| 84 /** | 84 /** |
| 85 * Returns the netmask as a string for a given prefix length. | 85 * Returns the netmask as a string for a given prefix length. |
| 86 * @param {string} prefixLength The ONC routing prefix length. | 86 * @param {string} prefixLength The ONC routing prefix length. |
| 87 * @return {string} The corresponding netmask. | 87 * @return {string} The corresponding netmask. |
| 88 */ | 88 */ |
| 89 function PrefixLengthToNetmask(prefixLength) { | 89 function prefixLengthToNetmask(prefixLength) { |
| 90 // Return the empty string for invalid inputs. | 90 // Return the empty string for invalid inputs. |
| 91 if (prefixLength < 0 || prefixLength > 32) | 91 if (prefixLength < 0 || prefixLength > 32) |
| 92 return ''; | 92 return ''; |
| 93 var netmask = ''; | 93 var netmask = ''; |
| 94 for (var i = 0; i < 4; ++i) { | 94 for (var i = 0; i < 4; ++i) { |
| 95 var remainder = 8; | 95 var remainder = 8; |
| 96 if (prefixLength >= 8) { | 96 if (prefixLength >= 8) { |
| 97 prefixLength -= 8; | 97 prefixLength -= 8; |
| 98 } else { | 98 } else { |
| 99 remainder = prefixLength; | 99 remainder = prefixLength; |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 110 } | 110 } |
| 111 | 111 |
| 112 ///////////////////////////////////////////////////////////////////////////// | 112 ///////////////////////////////////////////////////////////////////////////// |
| 113 // DetailsInternetPage class: | 113 // DetailsInternetPage class: |
| 114 | 114 |
| 115 /** | 115 /** |
| 116 * Encapsulated handling of ChromeOS internet details overlay page. | 116 * Encapsulated handling of ChromeOS internet details overlay page. |
| 117 * @constructor | 117 * @constructor |
| 118 */ | 118 */ |
| 119 function DetailsInternetPage() { | 119 function DetailsInternetPage() { |
| 120 // Cached Apn properties | |
| 120 this.userApnIndex_ = -1; | 121 this.userApnIndex_ = -1; |
| 121 this.selectedApnIndex_ = -1; | 122 this.selectedApnIndex_ = -1; |
| 122 this.userApn_ = {}; | 123 this.userApn_ = {}; |
| 124 // We show the Proxy configuration tab for remembered networks and when | |
| 125 // configuring a proxy from the login screen. | |
| 126 this.showProxy_ = false; | |
| 127 // TODO(stevenjb): Use networkingPrivate.getNetworks to set this. | |
| 128 this.deviceConnected_ = false; | |
| 123 Page.call(this, 'detailsInternetPage', null, 'details-internet-page'); | 129 Page.call(this, 'detailsInternetPage', null, 'details-internet-page'); |
| 124 } | 130 } |
| 125 | 131 |
| 126 cr.addSingletonGetter(DetailsInternetPage); | 132 cr.addSingletonGetter(DetailsInternetPage); |
| 127 | 133 |
| 128 DetailsInternetPage.prototype = { | 134 DetailsInternetPage.prototype = { |
| 129 __proto__: Page.prototype, | 135 __proto__: Page.prototype, |
| 130 | 136 |
| 131 /** @override */ | 137 /** @override */ |
| 132 initializePage: function() { | 138 initializePage: function() { |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 373 } | 379 } |
| 374 | 380 |
| 375 return event; | 381 return event; |
| 376 }, | 382 }, |
| 377 | 383 |
| 378 /** | 384 /** |
| 379 * Update details page controls. | 385 * Update details page controls. |
| 380 */ | 386 */ |
| 381 updateControls: function() { | 387 updateControls: function() { |
| 382 var onc = this.onc_; | 388 var onc = this.onc_; |
| 389 if (onc == undefined) | |
| 390 return; // May get called from a pref update before initialized. | |
| 383 | 391 |
| 384 // Only show ipconfig section if network is connected OR if nothing on | 392 // Only show ipconfig section if network is connected OR if nothing on |
| 385 // this device is connected. This is so that you can fix the ip configs | 393 // this device is connected. This is so that you can fix the ip configs |
| 386 // if you can't connect to any network. | 394 // if you can't connect to any network. |
| 387 // TODO(chocobo): Once ipconfig is moved to flimflam service objects, | 395 // TODO(stevenjb): Support IP configuration (and improve the display) |
| 388 // we need to redo this logic to allow configuration of all networks. | 396 // for non connected networks. |
| 397 | |
| 389 var connected = onc.getActiveValue('ConnectionState') == 'Connected'; | 398 var connected = onc.getActiveValue('ConnectionState') == 'Connected'; |
| 390 $('ipconfig-section').hidden = !connected && this.deviceConnected; | 399 $('ipconfig-section').hidden = !connected && this.deviceConnected_; |
| 391 $('ipconfig-dns-section').hidden = !connected && this.deviceConnected; | 400 $('ipconfig-dns-section').hidden = !connected && this.deviceConnected_; |
| 401 | |
| 402 var isCellular = this.type_ == 'Cellular'; | |
| 403 var isWiFi = this.type_ == 'WiFi'; | |
| 404 var isWimax = this.type_ == 'Wimax'; | |
| 405 var isVPN = this.type_ == 'VPN'; | |
|
armansito
2014/09/11 17:01:15
Maybe add instance methods for these, which you ca
stevenjb
2014/09/11 17:22:33
Hm. I really only pulled these out for brevity in
armansito
2014/09/11 17:28:12
Up to you then. I'd just be consistent here and be
stevenjb
2014/09/11 17:38:23
Removed.
| |
| 392 | 406 |
| 393 // Network type related. | 407 // Network type related. |
| 394 updateHidden('#details-internet-page .cellular-details', | 408 updateHidden('#details-internet-page .cellular-details', !isCellular); |
| 395 this.type_ != 'Cellular'); | 409 updateHidden('#details-internet-page .wifi-details', !isWiFi); |
| 396 updateHidden('#details-internet-page .wifi-details', | 410 updateHidden('#details-internet-page .wimax-details', !isWimax); |
| 397 this.type_ != 'WiFi'); | 411 updateHidden('#details-internet-page .vpn-details', !isVPN); |
| 398 updateHidden('#details-internet-page .wimax-details', | 412 |
| 399 this.type_ != 'Wimax'); | 413 updateHidden('#details-internet-page .proxy-details', !this.showProxy_); |
| 400 updateHidden('#details-internet-page .vpn-details', this.type_ != 'VPN'); | |
| 401 updateHidden('#details-internet-page .proxy-details', !this.showProxy); | |
| 402 | 414 |
| 403 // Cellular | 415 // Cellular |
| 404 | 416 if (isCellular) { |
| 405 // Conditionally call updateHidden on .gsm-only, so that we don't unhide | 417 // Hide gsm/cdma specific elements. |
| 406 // a previously hidden element. | 418 if (onc.getActiveValue('Cellular.Family') == 'GSM') |
| 407 if (this.gsm) | 419 updateHidden('#details-internet-page .cdma-only', true); |
| 408 updateHidden('#details-internet-page .cdma-only', true); | 420 else |
| 409 else | 421 updateHidden('#details-internet-page .gsm-only', true); |
| 410 updateHidden('#details-internet-page .gsm-only', true); | 422 } |
| 411 | 423 |
| 412 // Wifi | 424 // Wifi |
| 413 | 425 |
| 414 // Hide network tab for VPN. | 426 // Hide network tab for VPN. |
| 415 updateHidden('#details-internet-page .network-details', | 427 updateHidden('#details-internet-page .network-details', isVPN); |
| 416 this.type_ == 'VPN'); | |
| 417 | 428 |
| 418 // Password and shared. | 429 // Password and shared. |
| 419 var source = onc.getSource(); | 430 var source = onc.getSource(); |
| 420 var shared = (source == 'Device' || source == 'DevicePolicy'); | 431 var shared = (source == 'Device' || source == 'DevicePolicy'); |
| 421 updateHidden('#details-internet-page #password-details', | 432 updateHidden('#details-internet-page #password-details', |
| 422 this.type_ != 'WiFi' || onc.getWiFiSecurity() == 'None'); | 433 this.type_ != 'WiFi' || onc.getWiFiSecurity() == 'None'); |
| 423 updateHidden('#details-internet-page #wifi-shared-network', !shared); | 434 updateHidden('#details-internet-page #wifi-shared-network', !shared); |
| 424 updateHidden('#details-internet-page #prefer-network', source == 'None'); | 435 updateHidden('#details-internet-page #prefer-network', source == 'None'); |
| 425 | 436 |
| 426 // WiMAX. | 437 // WiMAX. |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 580 var connectable = onc.getActiveValue('Connectable'); | 591 var connectable = onc.getActiveValue('Connectable'); |
| 581 if (connectState != 'Connected' && | 592 if (connectState != 'Connected' && |
| 582 (!connectable || onc.getWiFiSecurity() != 'None' || | 593 (!connectable || onc.getWiFiSecurity() != 'None' || |
| 583 (this.type_ == 'Wimax' || this.type_ == 'VPN'))) { | 594 (this.type_ == 'Wimax' || this.type_ == 'VPN'))) { |
| 584 $('details-internet-configure').hidden = false; | 595 $('details-internet-configure').hidden = false; |
| 585 } else { | 596 } else { |
| 586 $('details-internet-configure').hidden = true; | 597 $('details-internet-configure').hidden = true; |
| 587 } | 598 } |
| 588 }, | 599 }, |
| 589 | 600 |
| 601 updateDetails_: function(data) { | |
| 602 var onc = this.onc_; | |
| 603 | |
| 604 if ('deviceConnected' in data) | |
| 605 this.deviceConnected_ = data.deviceConnected; | |
| 606 | |
| 607 var connectionStateString = onc.getTranslatedValue('ConnectionState'); | |
| 608 $('connection-state').textContent = connectionStateString; | |
| 609 | |
| 610 var type = this.type_; | |
| 611 var showViewAccount = false; | |
| 612 var showActivate = false; | |
| 613 if (type == 'WiFi') { | |
| 614 $('wifi-connection-state').textContent = connectionStateString; | |
| 615 } else if (type == 'Wimax') { | |
| 616 $('wimax-connection-state').textContent = connectionStateString; | |
| 617 } else if (type == 'Cellular') { | |
| 618 $('activation-state').textContent = | |
| 619 onc.getTranslatedValue('Cellular.ActivationState'); | |
| 620 if (onc.getActiveValue('Cellular.Family') == 'GSM') { | |
| 621 var lockEnabled = | |
| 622 onc.getActiveValue('Cellular.SIMLockStatus.LockEnabled'); | |
| 623 $('sim-card-lock-enabled').checked = lockEnabled; | |
| 624 $('change-pin').hidden = !lockEnabled; | |
| 625 } | |
| 626 showViewAccount = data.showViewAccountButton; | |
| 627 var activationState = onc.getActiveValue('Cellular.ActivationState'); | |
| 628 showActivate = activationState == 'NotActivated' || | |
| 629 activationState == 'PartiallyActivated'; | |
| 630 } | |
| 631 | |
| 632 $('view-account-details').hidden = !showViewAccount; | |
| 633 $('activate-details').hidden = !showActivate; | |
| 634 // If activation is not complete, hide the login button. | |
| 635 if (showActivate) | |
| 636 $('details-internet-login').hidden = true; | |
| 637 }, | |
| 638 | |
| 590 populateHeader_: function() { | 639 populateHeader_: function() { |
| 591 var onc = this.onc_; | 640 var onc = this.onc_; |
| 592 | 641 |
| 593 $('network-details-title').textContent = onc.getTranslatedValue('Name'); | 642 $('network-details-title').textContent = onc.getTranslatedValue('Name'); |
| 594 var connectionState = onc.getActiveValue('ConnectionState'); | 643 var connectionState = onc.getActiveValue('ConnectionState'); |
| 595 var connectionStateString = onc.getTranslatedValue('ConnectionState'); | 644 var connectionStateString = onc.getTranslatedValue('ConnectionState'); |
| 596 $('network-details-subtitle-status').textContent = connectionStateString; | 645 $('network-details-subtitle-status').textContent = connectionStateString; |
| 646 | |
| 597 var typeKey; | 647 var typeKey; |
| 598 var type = this.type_; | 648 var type = this.type_; |
| 599 if (type == 'Ethernet') | 649 if (type == 'Ethernet') |
| 600 typeKey = 'ethernetTitle'; | 650 typeKey = 'ethernetTitle'; |
| 601 else if (type == 'WiFi') | 651 else if (type == 'WiFi') |
| 602 typeKey = 'wifiTitle'; | 652 typeKey = 'wifiTitle'; |
| 603 else if (type == 'Wimax') | 653 else if (type == 'Wimax') |
| 604 typeKey = 'wimaxTitle'; | 654 typeKey = 'wimaxTitle'; |
| 605 else if (type == 'Cellular') | 655 else if (type == 'Cellular') |
| 606 typeKey = 'cellularTitle'; | 656 typeKey = 'cellularTitle'; |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 829 | 879 |
| 830 /** | 880 /** |
| 831 * Displays the InternetDetails dialog with only the proxy settings visible. | 881 * Displays the InternetDetails dialog with only the proxy settings visible. |
| 832 */ | 882 */ |
| 833 DetailsInternetPage.showProxySettings = function() { | 883 DetailsInternetPage.showProxySettings = function() { |
| 834 var detailsPage = DetailsInternetPage.getInstance(); | 884 var detailsPage = DetailsInternetPage.getInstance(); |
| 835 $('network-details-header').hidden = true; | 885 $('network-details-header').hidden = true; |
| 836 $('activate-details').hidden = true; | 886 $('activate-details').hidden = true; |
| 837 $('view-account-details').hidden = true; | 887 $('view-account-details').hidden = true; |
| 838 $('web-proxy-auto-discovery').hidden = true; | 888 $('web-proxy-auto-discovery').hidden = true; |
| 839 detailsPage.showProxy = true; | 889 detailsPage.showProxy_ = true; |
| 840 updateHidden('#internet-tab', true); | 890 updateHidden('#internet-tab', true); |
| 841 updateHidden('#details-tab-strip', true); | 891 updateHidden('#details-tab-strip', true); |
| 842 updateHidden('#details-internet-page .action-area', true); | 892 updateHidden('#details-internet-page .action-area', true); |
| 843 detailsPage.updateControls(); | 893 detailsPage.updateControls(); |
| 844 detailsPage.visible = true; | 894 detailsPage.visible = true; |
| 845 chrome.send('coreOptionsUserMetricsAction', | 895 chrome.send('coreOptionsUserMetricsAction', |
| 846 ['Options_NetworkShowProxyTab']); | 896 ['Options_NetworkShowProxyTab']); |
| 847 }; | 897 }; |
| 848 | 898 |
| 849 /** | 899 /** |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1012 return; | 1062 return; |
| 1013 | 1063 |
| 1014 if (update.servicePath != detailsPage.servicePath_) | 1064 if (update.servicePath != detailsPage.servicePath_) |
| 1015 return; | 1065 return; |
| 1016 | 1066 |
| 1017 // Update our cached data object. | 1067 // Update our cached data object. |
| 1018 var onc = detailsPage.onc_; | 1068 var onc = detailsPage.onc_; |
| 1019 onc.updateData(update); | 1069 onc.updateData(update); |
| 1020 | 1070 |
| 1021 detailsPage.populateHeader_(); | 1071 detailsPage.populateHeader_(); |
| 1022 | |
| 1023 var connectionState = onc.getActiveValue('ConnectionState'); | |
| 1024 var connectionStateString = onc.getTranslatedValue('ConnectionState'); | |
| 1025 if ('deviceConnected' in update) | |
| 1026 detailsPage.deviceConnected = update.deviceConnected; | |
| 1027 $('connection-state').textContent = connectionStateString; | |
| 1028 | |
| 1029 detailsPage.updateConnectionButtonVisibilty_(); | 1072 detailsPage.updateConnectionButtonVisibilty_(); |
| 1030 | 1073 detailsPage.updateDetails_(update); |
| 1031 var type = detailsPage.type_; | |
| 1032 if (type == 'WiFi') { | |
| 1033 $('wifi-connection-state').textContent = connectionStateString; | |
| 1034 } else if (type == 'Wimax') { | |
| 1035 $('wimax-connection-state').textContent = connectionStateString; | |
| 1036 } else if (type == 'Cellular') { | |
| 1037 $('activation-state').textContent = | |
| 1038 onc.getTranslatedValue('Cellular.ActivationState'); | |
| 1039 // These properties are only defined if they are true. | |
| 1040 $('view-account-details').hidden = !update.showViewAccountButton; | |
| 1041 $('activate-details').hidden = !update.showActivateButton; | |
| 1042 if (update.showActivateButton) | |
| 1043 $('details-internet-login').hidden = true; | |
| 1044 | |
| 1045 if (detailsPage.gsm) { | |
| 1046 var lockEnabled = | |
| 1047 onc.getActiveValue('Cellular.SIMLockStatus.LockEnabled'); | |
| 1048 $('sim-card-lock-enabled').checked = lockEnabled; | |
| 1049 $('change-pin').hidden = !lockEnabled; | |
| 1050 } | |
| 1051 } | |
| 1052 }; | 1074 }; |
| 1053 | 1075 |
| 1054 DetailsInternetPage.showDetailedInfo = function(data) { | 1076 DetailsInternetPage.showDetailedInfo = function(data) { |
| 1055 var onc = new OncData(data); | 1077 var onc = new OncData(data); |
| 1056 | 1078 |
| 1057 var detailsPage = DetailsInternetPage.getInstance(); | 1079 var detailsPage = DetailsInternetPage.getInstance(); |
| 1058 detailsPage.onc_ = onc; | 1080 detailsPage.onc_ = onc; |
| 1059 var type = onc.getActiveValue('Type'); | 1081 var type = onc.getActiveValue('Type'); |
| 1060 detailsPage.type_ = type; | 1082 detailsPage.type_ = type; |
| 1061 detailsPage.servicePath_ = data.servicePath; | 1083 detailsPage.servicePath_ = data.servicePath; |
| 1062 | 1084 |
| 1063 detailsPage.populateHeader_(); | 1085 detailsPage.populateHeader_(); |
| 1086 detailsPage.updateConnectionButtonVisibilty_(); | |
| 1087 detailsPage.updateDetails_(data); | |
| 1064 | 1088 |
| 1065 $('activate-details').hidden = true; | 1089 // TODO(stevenjb): Some of the setup below should be moved to |
| 1066 $('view-account-details').hidden = true; | 1090 // updateDetails_() so that updates are reflected in the UI. |
| 1067 | |
| 1068 detailsPage.updateConnectionButtonVisibilty_(); | |
| 1069 | |
| 1070 $('web-proxy-auto-discovery').hidden = true; | |
| 1071 | |
| 1072 detailsPage.deviceConnected = data.deviceConnected; | |
| 1073 | 1091 |
| 1074 // Only show proxy for remembered networks. | 1092 // Only show proxy for remembered networks. |
| 1075 var remembered = onc.getSource() != 'None'; | 1093 var remembered = onc.getSource() != 'None'; |
| 1076 if (remembered) { | 1094 if (remembered) { |
| 1077 detailsPage.showProxy = true; | 1095 detailsPage.showProxy_ = true; |
| 1096 // Inform Chrome which network to use for proxy configuration. | |
| 1078 chrome.send('selectNetwork', [detailsPage.servicePath_]); | 1097 chrome.send('selectNetwork', [detailsPage.servicePath_]); |
| 1079 } else { | 1098 } else { |
| 1080 detailsPage.showProxy = false; | 1099 detailsPage.showProxy_ = false; |
| 1081 } | 1100 } |
| 1082 | 1101 |
| 1083 var connectionStateString = onc.getTranslatedValue('ConnectionState'); | 1102 $('web-proxy-auto-discovery').hidden = true; |
| 1084 $('connection-state').textContent = connectionStateString; | 1103 |
| 1085 var restricted = onc.getActiveValue('RestrictedConnectivity'); | 1104 var restricted = onc.getActiveValue('RestrictedConnectivity'); |
| 1086 var restrictedString = loadTimeData.getString( | 1105 var restrictedString = loadTimeData.getString( |
| 1087 restricted ? 'restrictedYes' : 'restrictedNo'); | 1106 restricted ? 'restrictedYes' : 'restrictedNo'); |
| 1088 | 1107 |
| 1089 var inetAddress = {}; | 1108 var inetAddress = {}; |
| 1090 var inetNetmask = {}; | 1109 var inetNetmask = {}; |
| 1091 var inetGateway = {}; | 1110 var inetGateway = {}; |
| 1092 | 1111 |
| 1093 var inetNameServersString; | 1112 var inetNameServersString; |
| 1094 | 1113 |
| 1095 var ipconfigList = onc.getActiveValue('IPConfigs'); | 1114 var ipconfigList = onc.getActiveValue('IPConfigs'); |
| 1096 if (Array.isArray(ipconfigList)) { | 1115 if (Array.isArray(ipconfigList)) { |
| 1097 for (var i = 0; i < ipconfigList.length; ++i) { | 1116 for (var i = 0; i < ipconfigList.length; ++i) { |
| 1098 var ipconfig = ipconfigList[i]; | 1117 var ipconfig = ipconfigList[i]; |
| 1099 var ipType = ipconfig['Type']; | 1118 var ipType = ipconfig['Type']; |
| 1100 if (ipType != 'IPv4') { | 1119 if (ipType != 'IPv4') { |
| 1101 // TODO(stevenjb): Handle IPv6 properties. | 1120 // TODO(stevenjb): Handle IPv6 properties. |
| 1102 continue; | 1121 continue; |
| 1103 } | 1122 } |
| 1104 var address = ipconfig['IPAddress']; | 1123 var address = ipconfig['IPAddress']; |
| 1105 inetAddress.automatic = address; | 1124 inetAddress.automatic = address; |
| 1106 inetAddress.value = address; | 1125 inetAddress.value = address; |
| 1107 var netmask = PrefixLengthToNetmask(ipconfig['RoutingPrefix']); | 1126 var netmask = prefixLengthToNetmask(ipconfig['RoutingPrefix']); |
| 1108 inetNetmask.automatic = netmask; | 1127 inetNetmask.automatic = netmask; |
| 1109 inetNetmask.value = netmask; | 1128 inetNetmask.value = netmask; |
| 1110 var gateway = ipconfig['Gateway']; | 1129 var gateway = ipconfig['Gateway']; |
| 1111 inetGateway.automatic = gateway; | 1130 inetGateway.automatic = gateway; |
| 1112 inetGateway.value = gateway; | 1131 inetGateway.value = gateway; |
| 1113 if ('WebProxyAutoDiscoveryUrl' in ipconfig) { | 1132 if ('WebProxyAutoDiscoveryUrl' in ipconfig) { |
| 1114 $('web-proxy-auto-discovery').hidden = false; | 1133 $('web-proxy-auto-discovery').hidden = false; |
| 1115 $('web-proxy-auto-discovery-url').value = | 1134 $('web-proxy-auto-discovery-url').value = |
| 1116 ipconfig['WebProxyAutoDiscoveryUrl']; | 1135 ipconfig['WebProxyAutoDiscoveryUrl']; |
| 1117 } | 1136 } |
| 1118 if ('NameServers' in ipconfig) { | 1137 if ('NameServers' in ipconfig) { |
| 1119 var inetNameServers = ipconfig['NameServers']; | 1138 var inetNameServers = ipconfig['NameServers']; |
| 1120 inetNameServers = inetNameServers.sort(); | 1139 inetNameServers = inetNameServers.sort(); |
| 1121 inetNameServersString = inetNameServers.join(','); | 1140 inetNameServersString = inetNameServers.join(','); |
| 1122 } | 1141 } |
| 1123 break; // Use the first IPv4 entry. | 1142 break; // Use the first IPv4 entry. |
| 1124 } | 1143 } |
| 1125 } | 1144 } |
| 1126 | 1145 |
| 1127 // Override the "automatic" values with the real saved DHCP values, | 1146 // Override the "automatic" values with the real saved DHCP values, |
| 1128 // if they are set. | 1147 // if they are set. |
| 1129 var savedNameServersString; | 1148 var savedNameServersString; |
| 1130 var savedIpAddress = onc.getActiveValue('SavedIPConfig.IPAddress'); | 1149 var savedIpAddress = onc.getActiveValue('SavedIPConfig.IPAddress'); |
| 1131 if (savedIpAddress != undefined) { | 1150 if (savedIpAddress != undefined) { |
| 1132 inetAddress.automatic = savedIpAddress; | 1151 inetAddress.automatic = savedIpAddress; |
| 1133 inetAddress.value = savedIpAddress; | 1152 inetAddress.value = savedIpAddress; |
| 1134 } | 1153 } |
| 1135 var savedPrefix = onc.getActiveValue('SavedIPConfig.RoutingPrefix'); | 1154 var savedPrefix = onc.getActiveValue('SavedIPConfig.RoutingPrefix'); |
| 1136 if (savedPrefix != undefined) { | 1155 if (savedPrefix != undefined) { |
| 1137 var savedNetmask = PrefixLengthToNetmask(savedPrefix); | 1156 var savedNetmask = prefixLengthToNetmask(savedPrefix); |
| 1138 inetNetmask.automatic = savedNetmask; | 1157 inetNetmask.automatic = savedNetmask; |
| 1139 inetNetmask.value = savedNetmask; | 1158 inetNetmask.value = savedNetmask; |
| 1140 } | 1159 } |
| 1141 var savedGateway = onc.getActiveValue('SavedIPConfig.Gateway'); | 1160 var savedGateway = onc.getActiveValue('SavedIPConfig.Gateway'); |
| 1142 if (savedGateway != undefined) { | 1161 if (savedGateway != undefined) { |
| 1143 inetGateway.automatic = savedGateway; | 1162 inetGateway.automatic = savedGateway; |
| 1144 inetGateway.value = savedGateway; | 1163 inetGateway.value = savedGateway; |
| 1145 } | 1164 } |
| 1146 var savedNameServers = onc.getActiveValue('SavedIPConfig.NameServers'); | 1165 var savedNameServers = onc.getActiveValue('SavedIPConfig.NameServers'); |
| 1147 if (savedNameServers) { | 1166 if (savedNameServers) { |
| 1148 savedNameServers = savedNameServers.sort(); | 1167 savedNameServers = savedNameServers.sort(); |
| 1149 savedNameServersString = savedNameServers.join(','); | 1168 savedNameServersString = savedNameServers.join(','); |
| 1150 } | 1169 } |
| 1151 | 1170 |
| 1152 var ipAutoConfig = 'automatic'; | 1171 var ipAutoConfig = 'automatic'; |
| 1153 | 1172 |
| 1154 var staticNameServersString; | 1173 var staticNameServersString; |
| 1155 var staticIpAddress = onc.getActiveValue('StaticIPConfig.IPAddress'); | 1174 var staticIpAddress = onc.getActiveValue('StaticIPConfig.IPAddress'); |
| 1156 if (staticIpAddress != undefined) { | 1175 if (staticIpAddress != undefined) { |
| 1157 ipAutoConfig = 'user'; | 1176 ipAutoConfig = 'user'; |
| 1158 inetAddress.user = staticIpAddress; | 1177 inetAddress.user = staticIpAddress; |
| 1159 inetAddress.value = staticIpAddress; | 1178 inetAddress.value = staticIpAddress; |
| 1160 } | 1179 } |
| 1161 var staticPrefix = onc.getActiveValue('StaticIPConfig.RoutingPrefix'); | 1180 var staticPrefix = onc.getActiveValue('StaticIPConfig.RoutingPrefix'); |
| 1162 if (staticPrefix != undefined) { | 1181 if (staticPrefix != undefined) { |
| 1163 var staticNetmask = PrefixLengthToNetmask(staticPrefix); | 1182 var staticNetmask = prefixLengthToNetmask(staticPrefix); |
| 1164 inetNetmask.user = staticNetmask; | 1183 inetNetmask.user = staticNetmask; |
| 1165 inetNetmask.value = staticNetmask; | 1184 inetNetmask.value = staticNetmask; |
| 1166 } | 1185 } |
| 1167 var staticGateway = onc.getActiveValue('StaticIPConfig.Gateway'); | 1186 var staticGateway = onc.getActiveValue('StaticIPConfig.Gateway'); |
| 1168 if (staticGateway != undefined) { | 1187 if (staticGateway != undefined) { |
| 1169 inetGateway.user = staticGateway; | 1188 inetGateway.user = staticGateway; |
| 1170 inetGateway.value = staticGateway; | 1189 inetGateway.value = staticGateway; |
| 1171 } | 1190 } |
| 1172 var staticNameServers = onc.getActiveValue('StaticIPConfig.NameServers'); | 1191 var staticNameServers = onc.getActiveValue('StaticIPConfig.NameServers'); |
| 1173 if (staticNameServers) { | 1192 if (staticNameServers) { |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1243 var signalStrength; | 1262 var signalStrength; |
| 1244 if (type == 'WiFi' || type == 'Wimax') | 1263 if (type == 'WiFi' || type == 'Wimax') |
| 1245 signalStrength = onc.getActiveValue(type + '.SignalStrength'); | 1264 signalStrength = onc.getActiveValue(type + '.SignalStrength'); |
| 1246 if (!signalStrength) | 1265 if (!signalStrength) |
| 1247 signalStrength = 0; | 1266 signalStrength = 0; |
| 1248 var strengthFormat = loadTimeData.getString('inetSignalStrengthFormat'); | 1267 var strengthFormat = loadTimeData.getString('inetSignalStrengthFormat'); |
| 1249 var strengthString = strengthFormat.replace('$1', signalStrength); | 1268 var strengthString = strengthFormat.replace('$1', signalStrength); |
| 1250 | 1269 |
| 1251 if (type == 'WiFi') { | 1270 if (type == 'WiFi') { |
| 1252 OptionsPage.showTab($('wifi-network-nav-tab')); | 1271 OptionsPage.showTab($('wifi-network-nav-tab')); |
| 1253 detailsPage.gsm = false; | |
| 1254 $('wifi-connection-state').textContent = connectionStateString; | |
| 1255 $('wifi-restricted-connectivity').textContent = restrictedString; | 1272 $('wifi-restricted-connectivity').textContent = restrictedString; |
| 1256 var ssid = onc.getActiveValue('WiFi.SSID'); | 1273 var ssid = onc.getActiveValue('WiFi.SSID'); |
| 1257 $('wifi-ssid').textContent = ssid ? ssid : networkName; | 1274 $('wifi-ssid').textContent = ssid ? ssid : networkName; |
| 1258 setOrHideParent('wifi-bssid', onc.getActiveValue('WiFi.BSSID')); | 1275 setOrHideParent('wifi-bssid', onc.getActiveValue('WiFi.BSSID')); |
| 1259 var security = onc.getWiFiSecurity(); | 1276 var security = onc.getWiFiSecurity(); |
| 1260 if (security == 'None') | 1277 if (security == 'None') |
| 1261 security = undefined; | 1278 security = undefined; |
| 1262 setOrHideParent('wifi-security', security); | 1279 setOrHideParent('wifi-security', security); |
| 1263 // Frequency is in MHz. | 1280 // Frequency is in MHz. |
| 1264 var frequency = onc.getActiveValue('WiFi.Frequency'); | 1281 var frequency = onc.getActiveValue('WiFi.Frequency'); |
| 1265 if (!frequency) | 1282 if (!frequency) |
| 1266 frequency = 0; | 1283 frequency = 0; |
| 1267 var frequencyFormat = loadTimeData.getString('inetFrequencyFormat'); | 1284 var frequencyFormat = loadTimeData.getString('inetFrequencyFormat'); |
| 1268 frequencyFormat = frequencyFormat.replace('$1', frequency); | 1285 frequencyFormat = frequencyFormat.replace('$1', frequency); |
| 1269 $('wifi-frequency').textContent = frequencyFormat; | 1286 $('wifi-frequency').textContent = frequencyFormat; |
| 1270 $('wifi-signal-strength').textContent = strengthString; | 1287 $('wifi-signal-strength').textContent = strengthString; |
| 1271 setOrHideParent('wifi-hardware-address', | 1288 setOrHideParent('wifi-hardware-address', |
| 1272 onc.getActiveValue('MacAddress')); | 1289 onc.getActiveValue('MacAddress')); |
| 1273 var priority = onc.getActiveValue('Priority'); | 1290 var priority = onc.getActiveValue('Priority'); |
| 1274 $('prefer-network-wifi').checked = priority > 0; | 1291 $('prefer-network-wifi').checked = priority > 0; |
| 1275 $('prefer-network-wifi').disabled = !remembered; | 1292 $('prefer-network-wifi').disabled = !remembered; |
| 1276 $('auto-connect-network-wifi').checked = | 1293 $('auto-connect-network-wifi').checked = |
| 1277 onc.getActiveValue('AutoConnect'); | 1294 onc.getActiveValue('AutoConnect'); |
| 1278 $('auto-connect-network-wifi').disabled = !remembered; | 1295 $('auto-connect-network-wifi').disabled = !remembered; |
| 1279 } else if (type == 'Wimax') { | 1296 } else if (type == 'Wimax') { |
| 1280 OptionsPage.showTab($('wimax-network-nav-tab')); | 1297 OptionsPage.showTab($('wimax-network-nav-tab')); |
| 1281 detailsPage.gsm = false; | |
| 1282 $('wimax-connection-state').textContent = connectionStateString; | |
| 1283 $('wimax-restricted-connectivity').textContent = restrictedString; | 1298 $('wimax-restricted-connectivity').textContent = restrictedString; |
| 1284 $('auto-connect-network-wimax').checked = | 1299 $('auto-connect-network-wimax').checked = |
| 1285 onc.getActiveValue('AutoConnect'); | 1300 onc.getActiveValue('AutoConnect'); |
| 1286 $('auto-connect-network-wimax').disabled = !remembered; | 1301 $('auto-connect-network-wimax').disabled = !remembered; |
| 1287 var identity = onc.getActiveValue('Wimax.EAP.Identity'); | 1302 var identity = onc.getActiveValue('Wimax.EAP.Identity'); |
| 1288 setOrHideParent('wimax-eap-identity', identity); | 1303 setOrHideParent('wimax-eap-identity', identity); |
| 1289 $('wimax-signal-strength').textContent = strengthString; | 1304 $('wimax-signal-strength').textContent = strengthString; |
| 1290 } else if (type == 'Cellular') { | 1305 } else if (type == 'Cellular') { |
| 1291 OptionsPage.showTab($('cellular-conn-nav-tab')); | 1306 OptionsPage.showTab($('cellular-conn-nav-tab')); |
| 1292 if (data.showCarrierSelect && data.currentCarrierIndex != -1) { | 1307 if (data.showCarrierSelect && data.currentCarrierIndex != -1) { |
| 1293 var carrierSelector = $('select-carrier'); | 1308 var carrierSelector = $('select-carrier'); |
| 1294 carrierSelector.onchange = DetailsInternetPage.handleCarrierChanged; | 1309 carrierSelector.onchange = DetailsInternetPage.handleCarrierChanged; |
| 1295 carrierSelector.options.length = 0; | 1310 carrierSelector.options.length = 0; |
| 1296 for (var i = 0; i < data.carriers.length; ++i) { | 1311 for (var i = 0; i < data.carriers.length; ++i) { |
| 1297 var option = document.createElement('option'); | 1312 var option = document.createElement('option'); |
| 1298 option.textContent = data.carriers[i]; | 1313 option.textContent = data.carriers[i]; |
| 1299 carrierSelector.add(option); | 1314 carrierSelector.add(option); |
| 1300 } | 1315 } |
| 1301 carrierSelector.selectedIndex = data.currentCarrierIndex; | 1316 carrierSelector.selectedIndex = data.currentCarrierIndex; |
| 1302 } else { | 1317 } else { |
| 1303 $('service-name').textContent = networkName; | 1318 $('service-name').textContent = networkName; |
| 1304 } | 1319 } |
| 1305 | 1320 |
| 1306 $('network-technology').textContent = | 1321 $('network-technology').textContent = |
| 1307 onc.getActiveValue('Cellular.NetworkTechnology'); | 1322 onc.getActiveValue('Cellular.NetworkTechnology'); |
| 1308 $('activation-state').textContent = | |
| 1309 onc.getTranslatedValue('Cellular.ActivationState'); | |
| 1310 $('roaming-state').textContent = | 1323 $('roaming-state').textContent = |
| 1311 onc.getTranslatedValue('Cellular.RoamingState'); | 1324 onc.getTranslatedValue('Cellular.RoamingState'); |
| 1312 $('cellular-restricted-connectivity').textContent = restrictedString; | 1325 $('cellular-restricted-connectivity').textContent = restrictedString; |
| 1313 $('error-state').textContent = data.errorMessage; | 1326 $('error-state').textContent = data.errorMessage; |
| 1314 $('manufacturer').textContent = | 1327 $('manufacturer').textContent = |
| 1315 onc.getActiveValue('Cellular.Manufacturer'); | 1328 onc.getActiveValue('Cellular.Manufacturer'); |
| 1316 $('model-id').textContent = onc.getActiveValue('Cellular.ModelID'); | 1329 $('model-id').textContent = onc.getActiveValue('Cellular.ModelID'); |
| 1317 $('firmware-revision').textContent = | 1330 $('firmware-revision').textContent = |
| 1318 onc.getActiveValue('Cellular.FirmwareRevision'); | 1331 onc.getActiveValue('Cellular.FirmwareRevision'); |
| 1319 $('hardware-revision').textContent = | 1332 $('hardware-revision').textContent = |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 1338 updateHidden('#details-internet-page .gsm-only', false); | 1351 updateHidden('#details-internet-page .gsm-only', false); |
| 1339 updateHidden('#details-internet-page .cdma-only', false); | 1352 updateHidden('#details-internet-page .cdma-only', false); |
| 1340 | 1353 |
| 1341 // Show IMEI/ESN/MEID/MIN/PRL only if they are available. | 1354 // Show IMEI/ESN/MEID/MIN/PRL only if they are available. |
| 1342 setOrHideParent('esn', onc.getActiveValue('Cellular.ESN')); | 1355 setOrHideParent('esn', onc.getActiveValue('Cellular.ESN')); |
| 1343 setOrHideParent('imei', onc.getActiveValue('Cellular.IMEI')); | 1356 setOrHideParent('imei', onc.getActiveValue('Cellular.IMEI')); |
| 1344 setOrHideParent('meid', onc.getActiveValue('Cellular.MEID')); | 1357 setOrHideParent('meid', onc.getActiveValue('Cellular.MEID')); |
| 1345 setOrHideParent('min', onc.getActiveValue('Cellular.MIN')); | 1358 setOrHideParent('min', onc.getActiveValue('Cellular.MIN')); |
| 1346 setOrHideParent('prl-version', onc.getActiveValue('Cellular.PRLVersion')); | 1359 setOrHideParent('prl-version', onc.getActiveValue('Cellular.PRLVersion')); |
| 1347 | 1360 |
| 1348 var family = onc.getActiveValue('Cellular.Family'); | 1361 if (onc.getActiveValue('Cellular.Family') == 'GSM') { |
| 1349 detailsPage.gsm = family == 'GSM'; | |
| 1350 if (detailsPage.gsm) { | |
| 1351 $('iccid').textContent = onc.getActiveValue('Cellular.ICCID'); | 1362 $('iccid').textContent = onc.getActiveValue('Cellular.ICCID'); |
| 1352 $('imsi').textContent = onc.getActiveValue('Cellular.IMSI'); | 1363 $('imsi').textContent = onc.getActiveValue('Cellular.IMSI'); |
| 1353 detailsPage.initializeApnList_(onc); | 1364 detailsPage.initializeApnList_(onc); |
| 1354 var lockEnabled = | |
| 1355 onc.getActiveValue('Cellular.SIMLockStatus.LockEnabled'); | |
| 1356 $('sim-card-lock-enabled').checked = lockEnabled; | |
| 1357 $('change-pin').hidden = !lockEnabled; | |
| 1358 } | 1365 } |
| 1359 $('auto-connect-network-cellular').checked = | 1366 $('auto-connect-network-cellular').checked = |
| 1360 onc.getActiveValue('AutoConnect'); | 1367 onc.getActiveValue('AutoConnect'); |
| 1361 $('auto-connect-network-cellular').disabled = false; | 1368 $('auto-connect-network-cellular').disabled = false; |
| 1362 | |
| 1363 $('view-account-details').hidden = !data.showViewAccountButton; | |
| 1364 $('activate-details').hidden = !data.showActivateButton; | |
| 1365 if (data.showActivateButton) | |
| 1366 $('details-internet-login').hidden = true; | |
| 1367 } else if (type == 'VPN') { | 1369 } else if (type == 'VPN') { |
| 1368 OptionsPage.showTab($('vpn-nav-tab')); | 1370 OptionsPage.showTab($('vpn-nav-tab')); |
| 1369 detailsPage.gsm = false; | |
| 1370 $('inet-service-name').textContent = networkName; | 1371 $('inet-service-name').textContent = networkName; |
| 1371 $('inet-provider-type').textContent = | 1372 $('inet-provider-type').textContent = |
| 1372 onc.getTranslatedValue('VPN.Type'); | 1373 onc.getTranslatedValue('VPN.Type'); |
| 1373 var providerType = onc.getActiveValue('VPN.Type'); | 1374 var providerType = onc.getActiveValue('VPN.Type'); |
| 1374 var providerKey = 'VPN.' + providerType; | 1375 var providerKey = 'VPN.' + providerType; |
| 1375 $('inet-username').textContent = | 1376 $('inet-username').textContent = |
| 1376 onc.getActiveValue(providerKey + '.Username'); | 1377 onc.getActiveValue(providerKey + '.Username'); |
| 1377 var inetServerHostname = $('inet-server-hostname'); | 1378 var inetServerHostname = $('inet-server-hostname'); |
| 1378 inetServerHostname.value = onc.getActiveValue('VPN.Host'); | 1379 inetServerHostname.value = onc.getActiveValue('VPN.Host'); |
| 1379 inetServerHostname.resetHandler = function() { | 1380 inetServerHostname.resetHandler = function() { |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1422 | 1423 |
| 1423 // Don't show page name in address bar and in history to prevent people | 1424 // Don't show page name in address bar and in history to prevent people |
| 1424 // navigate here by hand and solve issue with page session restore. | 1425 // navigate here by hand and solve issue with page session restore. |
| 1425 PageManager.showPageByName('detailsInternetPage', false); | 1426 PageManager.showPageByName('detailsInternetPage', false); |
| 1426 }; | 1427 }; |
| 1427 | 1428 |
| 1428 return { | 1429 return { |
| 1429 DetailsInternetPage: DetailsInternetPage | 1430 DetailsInternetPage: DetailsInternetPage |
| 1430 }; | 1431 }; |
| 1431 }); | 1432 }); |
| OLD | NEW |