| Index: chrome/browser/resources/options/chromeos/internet_detail.js
|
| diff --git a/chrome/browser/resources/options/chromeos/internet_detail.js b/chrome/browser/resources/options/chromeos/internet_detail.js
|
| index 387d57e599fbee805dd0097f66b3a2d718d50b74..bccaceedb3cfa999cbc59e554fb1eceecb20f0dc 100644
|
| --- a/chrome/browser/resources/options/chromeos/internet_detail.js
|
| +++ b/chrome/browser/resources/options/chromeos/internet_detail.js
|
| @@ -86,7 +86,7 @@ cr.define('options.internet', function() {
|
| * @param {string} prefixLength The ONC routing prefix length.
|
| * @return {string} The corresponding netmask.
|
| */
|
| - function PrefixLengthToNetmask(prefixLength) {
|
| + function prefixLengthToNetmask(prefixLength) {
|
| // Return the empty string for invalid inputs.
|
| if (prefixLength < 0 || prefixLength > 32)
|
| return '';
|
| @@ -117,9 +117,15 @@ cr.define('options.internet', function() {
|
| * @constructor
|
| */
|
| function DetailsInternetPage() {
|
| + // Cached Apn properties
|
| this.userApnIndex_ = -1;
|
| this.selectedApnIndex_ = -1;
|
| this.userApn_ = {};
|
| + // We show the Proxy configuration tab for remembered networks and when
|
| + // configuring a proxy from the login screen.
|
| + this.showProxy_ = false;
|
| + // TODO(stevenjb): Use networkingPrivate.getNetworks to set this.
|
| + this.deviceConnected_ = false;
|
| Page.call(this, 'detailsInternetPage', null, 'details-internet-page');
|
| }
|
|
|
| @@ -386,11 +392,12 @@ cr.define('options.internet', function() {
|
| // Only show ipconfig section if network is connected OR if nothing on
|
| // this device is connected. This is so that you can fix the ip configs
|
| // if you can't connect to any network.
|
| - // TODO(chocobo): Once ipconfig is moved to flimflam service objects,
|
| - // we need to redo this logic to allow configuration of all networks.
|
| + // TODO(stevenjb): Support IP configuration (and improve the display)
|
| + // for non connected networks.
|
| +
|
| var connected = onc.getActiveValue('ConnectionState') == 'Connected';
|
| - $('ipconfig-section').hidden = !connected && this.deviceConnected;
|
| - $('ipconfig-dns-section').hidden = !connected && this.deviceConnected;
|
| + $('ipconfig-section').hidden = !connected && this.deviceConnected_;
|
| + $('ipconfig-dns-section').hidden = !connected && this.deviceConnected_;
|
|
|
| // Network type related.
|
| updateHidden('#details-internet-page .cellular-details',
|
| @@ -400,16 +407,16 @@ cr.define('options.internet', function() {
|
| updateHidden('#details-internet-page .wimax-details',
|
| this.type_ != 'Wimax');
|
| updateHidden('#details-internet-page .vpn-details', this.type_ != 'VPN');
|
| - updateHidden('#details-internet-page .proxy-details', !this.showProxy);
|
| + updateHidden('#details-internet-page .proxy-details', !this.showProxy_);
|
|
|
| // Cellular
|
| -
|
| - // Conditionally call updateHidden on .gsm-only, so that we don't unhide
|
| - // a previously hidden element.
|
| - if (this.gsm)
|
| - updateHidden('#details-internet-page .cdma-only', true);
|
| - else
|
| - updateHidden('#details-internet-page .gsm-only', true);
|
| + if (this.type_ == 'Cellular') {
|
| + // Hide gsm/cdma specific elements.
|
| + if (onc.getActiveValue('Cellular.Family') == 'GSM')
|
| + updateHidden('#details-internet-page .cdma-only', true);
|
| + else
|
| + updateHidden('#details-internet-page .gsm-only', true);
|
| + }
|
|
|
| // Wifi
|
|
|
| @@ -589,6 +596,44 @@ cr.define('options.internet', function() {
|
| }
|
| },
|
|
|
| + updateDetails_: function(data) {
|
| + var onc = this.onc_;
|
| +
|
| + if ('deviceConnected' in data)
|
| + this.deviceConnected_ = data.deviceConnected;
|
| +
|
| + var connectionStateString = onc.getTranslatedValue('ConnectionState');
|
| + $('connection-state').textContent = connectionStateString;
|
| +
|
| + var type = this.type_;
|
| + var showViewAccount = false;
|
| + var showActivate = false;
|
| + if (type == 'WiFi') {
|
| + $('wifi-connection-state').textContent = connectionStateString;
|
| + } else if (type == 'Wimax') {
|
| + $('wimax-connection-state').textContent = connectionStateString;
|
| + } else if (type == 'Cellular') {
|
| + $('activation-state').textContent =
|
| + onc.getTranslatedValue('Cellular.ActivationState');
|
| + if (onc.getActiveValue('Cellular.Family') == 'GSM') {
|
| + var lockEnabled =
|
| + onc.getActiveValue('Cellular.SIMLockStatus.LockEnabled');
|
| + $('sim-card-lock-enabled').checked = lockEnabled;
|
| + $('change-pin').hidden = !lockEnabled;
|
| + }
|
| + showViewAccount = data.showViewAccountButton;
|
| + var activationState = onc.getActiveValue('Cellular.ActivationState');
|
| + showActivate = activationState == 'NotActivated' ||
|
| + activationState == 'PartiallyActivated';
|
| + }
|
| +
|
| + $('view-account-details').hidden = !showViewAccount;
|
| + $('activate-details').hidden = !showActivate;
|
| + // If activation is not complete, hide the login button.
|
| + if (showActivate)
|
| + $('details-internet-login').hidden = true;
|
| + },
|
| +
|
| populateHeader_: function() {
|
| var onc = this.onc_;
|
|
|
| @@ -596,6 +641,7 @@ cr.define('options.internet', function() {
|
| var connectionState = onc.getActiveValue('ConnectionState');
|
| var connectionStateString = onc.getTranslatedValue('ConnectionState');
|
| $('network-details-subtitle-status').textContent = connectionStateString;
|
| +
|
| var typeKey;
|
| var type = this.type_;
|
| if (type == 'Ethernet')
|
| @@ -838,7 +884,7 @@ cr.define('options.internet', function() {
|
| $('activate-details').hidden = true;
|
| $('view-account-details').hidden = true;
|
| $('web-proxy-auto-discovery').hidden = true;
|
| - detailsPage.showProxy = true;
|
| + detailsPage.showProxy_ = true;
|
| updateHidden('#internet-tab', true);
|
| updateHidden('#details-tab-strip', true);
|
| updateHidden('#details-internet-page .action-area', true);
|
| @@ -1021,36 +1067,8 @@ cr.define('options.internet', function() {
|
| onc.updateData(update);
|
|
|
| detailsPage.populateHeader_();
|
| -
|
| - var connectionState = onc.getActiveValue('ConnectionState');
|
| - var connectionStateString = onc.getTranslatedValue('ConnectionState');
|
| - if ('deviceConnected' in update)
|
| - detailsPage.deviceConnected = update.deviceConnected;
|
| - $('connection-state').textContent = connectionStateString;
|
| -
|
| detailsPage.updateConnectionButtonVisibilty_();
|
| -
|
| - var type = detailsPage.type_;
|
| - if (type == 'WiFi') {
|
| - $('wifi-connection-state').textContent = connectionStateString;
|
| - } else if (type == 'Wimax') {
|
| - $('wimax-connection-state').textContent = connectionStateString;
|
| - } else if (type == 'Cellular') {
|
| - $('activation-state').textContent =
|
| - onc.getTranslatedValue('Cellular.ActivationState');
|
| - // These properties are only defined if they are true.
|
| - $('view-account-details').hidden = !update.showViewAccountButton;
|
| - $('activate-details').hidden = !update.showActivateButton;
|
| - if (update.showActivateButton)
|
| - $('details-internet-login').hidden = true;
|
| -
|
| - if (detailsPage.gsm) {
|
| - var lockEnabled =
|
| - onc.getActiveValue('Cellular.SIMLockStatus.LockEnabled');
|
| - $('sim-card-lock-enabled').checked = lockEnabled;
|
| - $('change-pin').hidden = !lockEnabled;
|
| - }
|
| - }
|
| + detailsPage.updateDetails_(update);
|
| };
|
|
|
| DetailsInternetPage.showDetailedInfo = function(data) {
|
| @@ -1063,27 +1081,24 @@ cr.define('options.internet', function() {
|
| detailsPage.servicePath_ = data.servicePath;
|
|
|
| detailsPage.populateHeader_();
|
| -
|
| - $('activate-details').hidden = true;
|
| - $('view-account-details').hidden = true;
|
| -
|
| detailsPage.updateConnectionButtonVisibilty_();
|
| + detailsPage.updateDetails_(data);
|
|
|
| - $('web-proxy-auto-discovery').hidden = true;
|
| -
|
| - detailsPage.deviceConnected = data.deviceConnected;
|
| + // TODO(stevenjb): Some of the setup below should be moved to
|
| + // updateDetails_() so that updates are reflected in the UI.
|
|
|
| // Only show proxy for remembered networks.
|
| var remembered = onc.getSource() != 'None';
|
| if (remembered) {
|
| - detailsPage.showProxy = true;
|
| + detailsPage.showProxy_ = true;
|
| + // Inform Chrome which network to use for proxy configuration.
|
| chrome.send('selectNetwork', [detailsPage.servicePath_]);
|
| } else {
|
| - detailsPage.showProxy = false;
|
| + detailsPage.showProxy_ = false;
|
| }
|
|
|
| - var connectionStateString = onc.getTranslatedValue('ConnectionState');
|
| - $('connection-state').textContent = connectionStateString;
|
| + $('web-proxy-auto-discovery').hidden = true;
|
| +
|
| var restricted = onc.getActiveValue('RestrictedConnectivity');
|
| var restrictedString = loadTimeData.getString(
|
| restricted ? 'restrictedYes' : 'restrictedNo');
|
| @@ -1106,7 +1121,7 @@ cr.define('options.internet', function() {
|
| var address = ipconfig['IPAddress'];
|
| inetAddress.automatic = address;
|
| inetAddress.value = address;
|
| - var netmask = PrefixLengthToNetmask(ipconfig['RoutingPrefix']);
|
| + var netmask = prefixLengthToNetmask(ipconfig['RoutingPrefix']);
|
| inetNetmask.automatic = netmask;
|
| inetNetmask.value = netmask;
|
| var gateway = ipconfig['Gateway'];
|
| @@ -1136,7 +1151,7 @@ cr.define('options.internet', function() {
|
| }
|
| var savedPrefix = onc.getActiveValue('SavedIPConfig.RoutingPrefix');
|
| if (savedPrefix != undefined) {
|
| - var savedNetmask = PrefixLengthToNetmask(savedPrefix);
|
| + var savedNetmask = prefixLengthToNetmask(savedPrefix);
|
| inetNetmask.automatic = savedNetmask;
|
| inetNetmask.value = savedNetmask;
|
| }
|
| @@ -1162,7 +1177,7 @@ cr.define('options.internet', function() {
|
| }
|
| var staticPrefix = onc.getActiveValue('StaticIPConfig.RoutingPrefix');
|
| if (staticPrefix != undefined) {
|
| - var staticNetmask = PrefixLengthToNetmask(staticPrefix);
|
| + var staticNetmask = prefixLengthToNetmask(staticPrefix);
|
| inetNetmask.user = staticNetmask;
|
| inetNetmask.value = staticNetmask;
|
| }
|
| @@ -1252,8 +1267,6 @@ cr.define('options.internet', function() {
|
|
|
| if (type == 'WiFi') {
|
| OptionsPage.showTab($('wifi-network-nav-tab'));
|
| - detailsPage.gsm = false;
|
| - $('wifi-connection-state').textContent = connectionStateString;
|
| $('wifi-restricted-connectivity').textContent = restrictedString;
|
| var ssid = onc.getActiveValue('WiFi.SSID');
|
| $('wifi-ssid').textContent = ssid ? ssid : networkName;
|
| @@ -1280,8 +1293,6 @@ cr.define('options.internet', function() {
|
| $('auto-connect-network-wifi').disabled = !remembered;
|
| } else if (type == 'Wimax') {
|
| OptionsPage.showTab($('wimax-network-nav-tab'));
|
| - detailsPage.gsm = false;
|
| - $('wimax-connection-state').textContent = connectionStateString;
|
| $('wimax-restricted-connectivity').textContent = restrictedString;
|
| $('auto-connect-network-wimax').checked =
|
| onc.getActiveValue('AutoConnect');
|
| @@ -1307,8 +1318,6 @@ cr.define('options.internet', function() {
|
|
|
| $('network-technology').textContent =
|
| onc.getActiveValue('Cellular.NetworkTechnology');
|
| - $('activation-state').textContent =
|
| - onc.getTranslatedValue('Cellular.ActivationState');
|
| $('roaming-state').textContent =
|
| onc.getTranslatedValue('Cellular.RoamingState');
|
| $('cellular-restricted-connectivity').textContent = restrictedString;
|
| @@ -1347,28 +1356,16 @@ cr.define('options.internet', function() {
|
| setOrHideParent('min', onc.getActiveValue('Cellular.MIN'));
|
| setOrHideParent('prl-version', onc.getActiveValue('Cellular.PRLVersion'));
|
|
|
| - var family = onc.getActiveValue('Cellular.Family');
|
| - detailsPage.gsm = family == 'GSM';
|
| - if (detailsPage.gsm) {
|
| + if (onc.getActiveValue('Cellular.Family') == 'GSM') {
|
| $('iccid').textContent = onc.getActiveValue('Cellular.ICCID');
|
| $('imsi').textContent = onc.getActiveValue('Cellular.IMSI');
|
| detailsPage.initializeApnList_(onc);
|
| - var lockEnabled =
|
| - onc.getActiveValue('Cellular.SIMLockStatus.LockEnabled');
|
| - $('sim-card-lock-enabled').checked = lockEnabled;
|
| - $('change-pin').hidden = !lockEnabled;
|
| }
|
| $('auto-connect-network-cellular').checked =
|
| onc.getActiveValue('AutoConnect');
|
| $('auto-connect-network-cellular').disabled = false;
|
| -
|
| - $('view-account-details').hidden = !data.showViewAccountButton;
|
| - $('activate-details').hidden = !data.showActivateButton;
|
| - if (data.showActivateButton)
|
| - $('details-internet-login').hidden = true;
|
| } else if (type == 'VPN') {
|
| OptionsPage.showTab($('vpn-nav-tab'));
|
| - detailsPage.gsm = false;
|
| $('inet-service-name').textContent = networkName;
|
| $('inet-provider-type').textContent =
|
| onc.getTranslatedValue('VPN.Type');
|
|
|