| Index: chrome/browser/resources/options2/chromeos/internet_detail.js
|
| diff --git a/chrome/browser/resources/options2/chromeos/internet_detail.js b/chrome/browser/resources/options2/chromeos/internet_detail.js
|
| deleted file mode 100644
|
| index 51c28e7f645839706d63df975d5aa9926d44fd8a..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/resources/options2/chromeos/internet_detail.js
|
| +++ /dev/null
|
| @@ -1,1018 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -cr.define('options.internet', function() {
|
| - var OptionsPage = options.OptionsPage;
|
| - /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel;
|
| - /** @const */ var IPAddressField = options.internet.IPAddressField;
|
| -
|
| - /**
|
| - * Network settings constants. These enums must match their C++
|
| - * counterparts.
|
| - */
|
| - function Constants() {}
|
| -
|
| - // Network types:
|
| - Constants.TYPE_UNKNOWN = 0;
|
| - Constants.TYPE_ETHERNET = 1;
|
| - Constants.TYPE_WIFI = 2;
|
| - Constants.TYPE_WIMAX = 3;
|
| - Constants.TYPE_BLUETOOTH = 4;
|
| - Constants.TYPE_CELLULAR = 5;
|
| - Constants.TYPE_VPN = 6;
|
| -
|
| - /*
|
| - * Helper function to set hidden attribute for elements matching a selector.
|
| - * @param {string} selector CSS selector for extracting a list of elements.
|
| - * @param {bool} hidden New hidden value.
|
| - */
|
| - function updateHidden(selector, hidden) {
|
| - var elements = cr.doc.querySelectorAll(selector);
|
| - for (var i = 0, el; el = elements[i]; i++) {
|
| - el.hidden = hidden;
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * Monitor pref change of given element.
|
| - * @param {Element} el Target element.
|
| - */
|
| - function observePrefsUI(el) {
|
| - Preferences.getInstance().addEventListener(el.pref, handlePrefUpdate);
|
| - }
|
| -
|
| - /**
|
| - * UI pref change handler.
|
| - * @param {Event} e The update event.
|
| - */
|
| - function handlePrefUpdate(e) {
|
| - DetailsInternetPage.getInstance().updateControls();
|
| - }
|
| -
|
| - /////////////////////////////////////////////////////////////////////////////
|
| - // DetailsInternetPage class:
|
| -
|
| - /**
|
| - * Encapsulated handling of ChromeOS internet details overlay page.
|
| - * @constructor
|
| - */
|
| - function DetailsInternetPage() {
|
| - OptionsPage.call(this,
|
| - 'detailsInternetPage',
|
| - null,
|
| - 'details-internet-page');
|
| - }
|
| -
|
| - cr.addSingletonGetter(DetailsInternetPage);
|
| -
|
| - DetailsInternetPage.prototype = {
|
| - __proto__: OptionsPage.prototype,
|
| -
|
| - /**
|
| - * Indicates if the list of proxy exceptions has been initialized.
|
| - * @type {boolean}
|
| - */
|
| - proxyListInitialized_: false,
|
| -
|
| - /**
|
| - * Initializes DetailsInternetPage page.
|
| - * Calls base class implementation to starts preference initialization.
|
| - */
|
| - initializePage: function() {
|
| - OptionsPage.prototype.initializePage.call(this);
|
| - options.internet.CellularPlanElement.decorate($('plan-list'));
|
| - var params = parseQueryParams(window.location);
|
| - this.initializePageContents_(params);
|
| - this.showNetworkDetails_(params);
|
| - },
|
| -
|
| - /**
|
| - * Auto-activates the network details dialog if network information
|
| - * is included in the URL.
|
| - */
|
| - showNetworkDetails_: function(params) {
|
| - var servicePath = params.servicePath;
|
| - var networkType = params.networkType;
|
| - if (!servicePath || !servicePath.length ||
|
| - !networkType || !networkType.length)
|
| - return;
|
| - chrome.send('networkCommand',
|
| - [networkType, servicePath, 'options']);
|
| - },
|
| -
|
| - /**
|
| - * Initializes the contents of the page.
|
| - */
|
| - initializePageContents_: function(params) {
|
| - $('details-internet-dismiss').addEventListener('click', function(event) {
|
| - DetailsInternetPage.setDetails();
|
| - });
|
| -
|
| - $('details-internet-login').addEventListener('click', function(event) {
|
| - DetailsInternetPage.setDetails();
|
| - DetailsInternetPage.loginFromDetails();
|
| - });
|
| -
|
| - $('details-internet-disconnect').addEventListener('click',
|
| - function(event) {
|
| - DetailsInternetPage.setDetails();
|
| - DetailsInternetPage.disconnectNetwork();
|
| - });
|
| -
|
| - $('activate-details').addEventListener('click', function(event) {
|
| - DetailsInternetPage.activateFromDetails();
|
| - });
|
| -
|
| - $('buyplan-details').addEventListener('click', function(event) {
|
| - var data = $('connection-state').data;
|
| - chrome.send('buyDataPlan', [String(data.servicePath)]);
|
| - OptionsPage.closeOverlay();
|
| - });
|
| -
|
| - $('view-account-details').addEventListener('click', function(event) {
|
| - chrome.send('showMorePlanInfo');
|
| - OptionsPage.closeOverlay();
|
| - });
|
| -
|
| - $('cellular-apn-use-default').addEventListener('click', function(event) {
|
| - var data = $('connection-state').data;
|
| - var apnSelector = $('select-apn');
|
| -
|
| - if (data.userApnIndex != -1) {
|
| - apnSelector.remove(data.userApnIndex);
|
| - data.userApnIndex = -1;
|
| - }
|
| -
|
| - if (data.providerApnList.value.length > 0) {
|
| - var iApn = 0;
|
| - data.apn.apn = data.providerApnList.value[iApn].apn;
|
| - data.apn.username = data.providerApnList.value[iApn].username;
|
| - data.apn.password = data.providerApnList.value[iApn].password;
|
| - chrome.send('setApn', [String(data.servicePath),
|
| - String(data.apn.apn),
|
| - String(data.apn.username),
|
| - String(data.apn.password)]);
|
| - apnSelector.selectedIndex = iApn;
|
| - data.selectedApn = iApn;
|
| - } else {
|
| - data.apn.apn = '';
|
| - data.apn.username = '';
|
| - data.apn.password = '';
|
| - apnSelector.selectedIndex = -1;
|
| - data.selectedApn = -1;
|
| - }
|
| - updateHidden('.apn-list-view', false);
|
| - updateHidden('.apn-details-view', true);
|
| - });
|
| -
|
| - $('cellular-apn-set').addEventListener('click', function(event) {
|
| - if ($('cellular-apn').value == '')
|
| - return;
|
| -
|
| - var data = $('connection-state').data;
|
| - var apnSelector = $('select-apn');
|
| -
|
| - data.apn.apn = String($('cellular-apn').value);
|
| - data.apn.username = String($('cellular-apn-username').value);
|
| - data.apn.password = String($('cellular-apn-password').value);
|
| - chrome.send('setApn', [String(data.servicePath),
|
| - String(data.apn.apn),
|
| - String(data.apn.username),
|
| - String(data.apn.password)]);
|
| -
|
| - if (data.userApnIndex != -1) {
|
| - apnSelector.remove(data.userApnIndex);
|
| - data.userApnIndex = -1;
|
| - }
|
| -
|
| - var option = document.createElement('option');
|
| - option.textContent = data.apn.apn;
|
| - option.value = -1;
|
| - option.selected = true;
|
| - apnSelector.add(option, apnSelector[apnSelector.length - 1]);
|
| - data.userApnIndex = apnSelector.length - 2;
|
| - data.selectedApn = data.userApnIndex;
|
| -
|
| - updateHidden('.apn-list-view', false);
|
| - updateHidden('.apn-details-view', true);
|
| - });
|
| -
|
| - $('cellular-apn-cancel').addEventListener('click', function(event) {
|
| - $('select-apn').selectedIndex = $('connection-state').data.selectedApn;
|
| - updateHidden('.apn-list-view', false);
|
| - updateHidden('.apn-details-view', true);
|
| - });
|
| -
|
| - $('select-apn').addEventListener('change', function(event) {
|
| - var data = $('connection-state').data;
|
| - var apnSelector = $('select-apn');
|
| - if (apnSelector[apnSelector.selectedIndex].value != -1) {
|
| - var apnList = data.providerApnList.value;
|
| - chrome.send('setApn', [String(data.servicePath),
|
| - String(apnList[apnSelector.selectedIndex].apn),
|
| - String(apnList[apnSelector.selectedIndex].username),
|
| - String(apnList[apnSelector.selectedIndex].password)
|
| - ]);
|
| - data.selectedApn = apnSelector.selectedIndex;
|
| - } else if (apnSelector.selectedIndex == data.userApnIndex) {
|
| - chrome.send('setApn', [String(data.servicePath),
|
| - String(data.apn.apn),
|
| - String(data.apn.username),
|
| - String(data.apn.password)]);
|
| - data.selectedApn = apnSelector.selectedIndex;
|
| - } else {
|
| - $('cellular-apn').value = data.apn.apn;
|
| - $('cellular-apn-username').value = data.apn.username;
|
| - $('cellular-apn-password').value = data.apn.password;
|
| -
|
| - updateHidden('.apn-list-view', true);
|
| - updateHidden('.apn-details-view', false);
|
| - }
|
| - });
|
| -
|
| - $('sim-card-lock-enabled').addEventListener('click', function(event) {
|
| - var newValue = $('sim-card-lock-enabled').checked;
|
| - // Leave value as is because user needs to enter PIN code first.
|
| - // When PIN will be entered and value changed,
|
| - // we'll update UI to reflect that change.
|
| - $('sim-card-lock-enabled').checked = !newValue;
|
| - chrome.send('setSimCardLock', [newValue]);
|
| - });
|
| - $('change-pin').addEventListener('click', function(event) {
|
| - chrome.send('changePin');
|
| - });
|
| -
|
| - // Proxy
|
| - options.proxyexceptions.ProxyExceptions.decorate($('ignored-host-list'));
|
| - $('remove-host').addEventListener('click',
|
| - this.handleRemoveProxyExceptions_);
|
| - $('add-host').addEventListener('click', this.handleAddProxyException_);
|
| - $('direct-proxy').addEventListener('click', this.disableManualProxy_);
|
| - $('manual-proxy').addEventListener('click', this.enableManualProxy_);
|
| - $('auto-proxy').addEventListener('click', this.disableManualProxy_);
|
| - $('proxy-all-protocols').addEventListener('click',
|
| - this.toggleSingleProxy_);
|
| -
|
| - observePrefsUI($('direct-proxy'));
|
| - observePrefsUI($('manual-proxy'));
|
| - observePrefsUI($('auto-proxy'));
|
| - observePrefsUI($('proxy-all-protocols'));
|
| -
|
| - $('ip-automatic-configuration-checkbox').addEventListener('click',
|
| - this.handleIpAutoConfig_);
|
| - $('automatic-dns-radio').addEventListener('click',
|
| - this.handleNameServerTypeChange_);
|
| - $('google-dns-radio').addEventListener('click',
|
| - this.handleNameServerTypeChange_);
|
| - $('user-dns-radio').addEventListener('click',
|
| - this.handleNameServerTypeChange_);
|
| - },
|
| -
|
| - /**
|
| - * Handler for "add" event fired from userNameEdit.
|
| - * @param {Event} e Add event fired from userNameEdit.
|
| - * @private
|
| - */
|
| - handleAddProxyException_: function(e) {
|
| - var exception = $('new-host').value;
|
| - $('new-host').value = '';
|
| -
|
| - exception = exception.trim();
|
| - if (exception)
|
| - $('ignored-host-list').addException(exception);
|
| - },
|
| -
|
| - /**
|
| - * Handler for when the remove button is clicked
|
| - * @param {Event} e The click event.
|
| - * @private
|
| - */
|
| - handleRemoveProxyExceptions_: function(e) {
|
| - var selectedItems = $('ignored-host-list').selectedItems;
|
| - for (var x = 0; x < selectedItems.length; x++) {
|
| - $('ignored-host-list').removeException(selectedItems[x]);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Handler for when the IP automatic configuration checkbox is clicked.
|
| - * @param {Event} e The click event.
|
| - * @private
|
| - */
|
| - handleIpAutoConfig_: function(e) {
|
| - var checked = $('ip-automatic-configuration-checkbox').checked;
|
| - var fields = [$('ip-address'), $('ip-netmask'), $('ip-gateway')];
|
| - for (var i = 0; i < fields.length; ++i) {
|
| - fields[i].editable = !checked;
|
| - if (checked) {
|
| - var model = fields[i].model;
|
| - model.value = model.automatic;
|
| - fields[i].model = model;
|
| - }
|
| - }
|
| - if (!checked)
|
| - $('ip-address').focus();
|
| - },
|
| -
|
| - /**
|
| - * Handler for when the name server selection changes.
|
| - * @param {Event} e The click event.
|
| - * @private
|
| - */
|
| - handleNameServerTypeChange_: function(event) {
|
| - var type = event.target.value;
|
| - DetailsInternetPage.updateNameServerDisplay(type);
|
| - },
|
| -
|
| - /**
|
| - * Update details page controls.
|
| - * @private
|
| - */
|
| - updateControls: 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.
|
| - $('ipconfig-section').hidden = !this.connected && this.deviceConnected;
|
| - $('ipconfig-dns-section').hidden =
|
| - !this.connected && this.deviceConnected;
|
| -
|
| - // Network type related.
|
| - updateHidden('#details-internet-page .cellular-details', !this.cellular);
|
| - updateHidden('#details-internet-page .wifi-details', !this.wireless);
|
| - updateHidden('#details-internet-page .wimax-details', !this.wimax);
|
| - updateHidden('#details-internet-page .vpn-details', !this.vpn);
|
| - updateHidden('#details-internet-page .proxy-details', !this.showProxy);
|
| - /* Network information merged into the Wifi tab for wireless networks
|
| - unless the option is set for enabling a static IP configuration. */
|
| - updateHidden('#details-internet-page .network-details',
|
| - (this.wireless && !this.showStaticIPConfig) || this.vpn);
|
| - updateHidden('#details-internet-page .wifi-network-setting',
|
| - this.showStaticIPConfig);
|
| -
|
| - // Cell plan related.
|
| - $('plan-list').hidden = this.cellplanloading;
|
| - updateHidden('#details-internet-page .no-plan-info',
|
| - !this.cellular || this.cellplanloading || this.hascellplan);
|
| - updateHidden('#details-internet-page .plan-loading-info',
|
| - !this.cellular || this.nocellplan || this.hascellplan);
|
| - updateHidden('#details-internet-page .plan-details-info',
|
| - !this.cellular || this.nocellplan || this.cellplanloading);
|
| - updateHidden('#details-internet-page .gsm-only',
|
| - !this.cellular || !this.gsm);
|
| - updateHidden('#details-internet-page .cdma-only',
|
| - !this.cellular || this.gsm);
|
| - updateHidden('#details-internet-page .apn-list-view',
|
| - !this.cellular || !this.gsm);
|
| - updateHidden('#details-internet-page .apn-details-view', true);
|
| -
|
| - // Wifi - Password and shared.
|
| - updateHidden('#details-internet-page #password-details',
|
| - !this.wireless || !this.password);
|
| - updateHidden('#details-internet-page #wifi-shared-network',
|
| - !this.shared);
|
| - updateHidden('#details-internet-page #prefer-network',
|
| - !this.showPreferred);
|
| -
|
| - // WiMAX.
|
| - updateHidden('#details-internet-page #wimax-shared-network',
|
| - !this.shared);
|
| -
|
| - // Proxy
|
| - this.updateProxyBannerVisibility_();
|
| - this.toggleSingleProxy_();
|
| - if ($('manual-proxy').checked)
|
| - this.enableManualProxy_();
|
| - else
|
| - this.disableManualProxy_();
|
| - if (!this.proxyListInitialized_ && this.visible) {
|
| - this.proxyListInitialized_ = true;
|
| - $('ignored-host-list').redraw();
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Updates info banner visibility state. This function shows the banner
|
| - * if proxy is managed or shared-proxies is off for shared network.
|
| - * @private
|
| - */
|
| - updateProxyBannerVisibility_: function() {
|
| - var bannerDiv = $('info-banner');
|
| - // Show banner and determine its message if necessary.
|
| - var controlledBy = $('direct-proxy').controlledBy;
|
| - if (!controlledBy || controlledBy == '') {
|
| - bannerDiv.hidden = true;
|
| - } else {
|
| - bannerDiv.hidden = false;
|
| - // controlledBy must match strings loaded in proxy_handler.cc and
|
| - // set in proxy_cros_settings_provider.cc.
|
| - $('banner-text').textContent = loadTimeData.getString(controlledBy);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Handler for when the user clicks on the checkbox to allow a
|
| - * single proxy usage.
|
| - * @private
|
| - * @param {Event} e Click Event.
|
| - */
|
| - toggleSingleProxy_: function(e) {
|
| - if ($('proxy-all-protocols').checked) {
|
| - $('multi-proxy').hidden = true;
|
| - $('single-proxy').hidden = false;
|
| - } else {
|
| - $('multi-proxy').hidden = false;
|
| - $('single-proxy').hidden = true;
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Handler for selecting a radio button that will disable the manual
|
| - * controls.
|
| - * @private
|
| - * @param {Event} e Click event.
|
| - */
|
| - disableManualProxy_: function(e) {
|
| - $('advanced-config').hidden = true;
|
| - $('proxy-all-protocols').disabled = true;
|
| - $('proxy-host-name').disabled = true;
|
| - $('proxy-host-port').disabled = true;
|
| - $('proxy-host-single-name').disabled = true;
|
| - $('proxy-host-single-port').disabled = true;
|
| - $('secure-proxy-host-name').disabled = true;
|
| - $('secure-proxy-port').disabled = true;
|
| - $('ftp-proxy').disabled = true;
|
| - $('ftp-proxy-port').disabled = true;
|
| - $('socks-host').disabled = true;
|
| - $('socks-port').disabled = true;
|
| - $('proxy-config').disabled = $('auto-proxy').disabled ||
|
| - !$('auto-proxy').checked;
|
| - },
|
| -
|
| - /**
|
| - * Handler for selecting a radio button that will enable the manual
|
| - * controls.
|
| - * @private
|
| - * @param {Event} e Click event.
|
| - */
|
| - enableManualProxy_: function(e) {
|
| - $('advanced-config').hidden = false;
|
| - $('ignored-host-list').redraw();
|
| - var all_disabled = $('manual-proxy').disabled;
|
| - $('new-host').disabled = all_disabled;
|
| - $('remove-host').disabled = all_disabled;
|
| - $('add-host').disabled = all_disabled;
|
| - $('proxy-all-protocols').disabled = all_disabled;
|
| - $('proxy-host-name').disabled = all_disabled;
|
| - $('proxy-host-port').disabled = all_disabled;
|
| - $('proxy-host-single-name').disabled = all_disabled;
|
| - $('proxy-host-single-port').disabled = all_disabled;
|
| - $('secure-proxy-host-name').disabled = all_disabled;
|
| - $('secure-proxy-port').disabled = all_disabled;
|
| - $('ftp-proxy').disabled = all_disabled;
|
| - $('ftp-proxy-port').disabled = all_disabled;
|
| - $('socks-host').disabled = all_disabled;
|
| - $('socks-port').disabled = all_disabled;
|
| - $('proxy-config').disabled = true;
|
| - },
|
| - };
|
| -
|
| - /**
|
| - * Performs minimal initialization of the InternetDetails dialog in
|
| - * preparation for showing proxy-setttings.
|
| - */
|
| - DetailsInternetPage.initializeProxySettings = function() {
|
| - var detailsPage = DetailsInternetPage.getInstance();
|
| - detailsPage.initializePageContents_();
|
| - };
|
| -
|
| - /**
|
| - * Displays the InternetDetails dialog with only the proxy settings visible.
|
| - */
|
| - DetailsInternetPage.showProxySettings = function() {
|
| - var detailsPage = DetailsInternetPage.getInstance();
|
| - $('network-details-header').hidden = true;
|
| - $('buyplan-details').hidden = true;
|
| - $('activate-details').hidden = true;
|
| - $('view-account-details').hidden = true;
|
| - detailsPage.cellular = false;
|
| - detailsPage.wireless = false;
|
| - detailsPage.vpn = false;
|
| - detailsPage.showProxy = true;
|
| - updateHidden('#internet-tab', true);
|
| - updateHidden('#details-tab-strip', true);
|
| - updateHidden('#details-internet-page .action-area', true);
|
| - detailsPage.updateControls();
|
| - detailsPage.visible = true;
|
| - };
|
| -
|
| - DetailsInternetPage.updateCellularPlans = function(data) {
|
| - var detailsPage = DetailsInternetPage.getInstance();
|
| - detailsPage.cellplanloading = false;
|
| - if (data.plans && data.plans.length) {
|
| - detailsPage.nocellplan = false;
|
| - detailsPage.hascellplan = true;
|
| - $('plan-list').load(data.plans);
|
| - } else {
|
| - detailsPage.nocellplan = true;
|
| - detailsPage.hascellplan = false;
|
| - }
|
| -
|
| - detailsPage.hasactiveplan = !data.needsPlan;
|
| - detailsPage.activated = data.activated;
|
| - if (!data.activated)
|
| - $('details-internet-login').hidden = true;
|
| -
|
| - $('buyplan-details').hidden = !data.showBuyButton;
|
| - $('activate-details').hidden = !data.showActivateButton;
|
| - $('view-account-details').hidden = !data.showViewAccountButton;
|
| - };
|
| -
|
| - DetailsInternetPage.updateSecurityTab = function(requirePin) {
|
| - $('sim-card-lock-enabled').checked = requirePin;
|
| - $('change-pin').hidden = !requirePin;
|
| - };
|
| -
|
| -
|
| - DetailsInternetPage.loginFromDetails = function() {
|
| - var data = $('connection-state').data;
|
| - var servicePath = data.servicePath;
|
| - chrome.send('networkCommand', [String(data.type),
|
| - servicePath,
|
| - 'connect']);
|
| - OptionsPage.closeOverlay();
|
| - };
|
| -
|
| - DetailsInternetPage.disconnectNetwork = function() {
|
| - var data = $('connection-state').data;
|
| - var servicePath = data.servicePath;
|
| - chrome.send('networkCommand', [String(data.type),
|
| - servicePath,
|
| - 'disconnect']);
|
| - OptionsPage.closeOverlay();
|
| - };
|
| -
|
| - DetailsInternetPage.activateFromDetails = function() {
|
| - var data = $('connection-state').data;
|
| - var servicePath = data.servicePath;
|
| - if (data.type == Constants.TYPE_CELLULAR) {
|
| - chrome.send('networkCommand', [String(data.type),
|
| - String(servicePath),
|
| - 'activate']);
|
| - }
|
| - OptionsPage.closeOverlay();
|
| - };
|
| -
|
| - DetailsInternetPage.setDetails = function() {
|
| - var data = $('connection-state').data;
|
| - var servicePath = data.servicePath;
|
| - if (data.type == Constants.TYPE_WIFI) {
|
| - chrome.send('setPreferNetwork',
|
| - [String(servicePath),
|
| - $('prefer-network-wifi').checked ? 'true' : 'false']);
|
| - chrome.send('setAutoConnect',
|
| - [String(servicePath),
|
| - $('auto-connect-network-wifi').checked ? 'true' : 'false']);
|
| - } else if (data.type == Constants.TYPE_WIMAX) {
|
| - chrome.send('setAutoConnect',
|
| - [String(servicePath),
|
| - $('auto-connect-network-wimax').checked ? 'true' : 'false']);
|
| - } else if (data.type == Constants.TYPE_CELLULAR) {
|
| - chrome.send('setAutoConnect',
|
| - [String(servicePath),
|
| - $('auto-connect-network-cellular').checked ? 'true' :
|
| - 'false']);
|
| - }
|
| -
|
| - var nameServerTypes = ['automatic', 'google', 'user'];
|
| - var nameServerType = 'automatic';
|
| - for (var i = 0; i < nameServerTypes.length; ++i) {
|
| - if ($(nameServerTypes[i] + '-dns-radio').checked) {
|
| - nameServerType = nameServerTypes[i];
|
| - break;
|
| - }
|
| - }
|
| -
|
| - // Skip any empty values.
|
| - var userNameServers = [];
|
| - for (var i = 1; i <= 4; ++i) {
|
| - var nameServerField = $('ipconfig-dns' + i);
|
| - if (nameServerField && nameServerField.model &&
|
| - nameServerField.model.value) {
|
| - userNameServers.push(nameServerField.model.value);
|
| - }
|
| - }
|
| -
|
| - userNameServers = userNameServers.join(',');
|
| -
|
| - chrome.send('setIPConfig',
|
| - [servicePath,
|
| - Boolean($('ip-automatic-configuration-checkbox').checked),
|
| - $('ip-address').model.value || '',
|
| - $('ip-netmask').model.value || '',
|
| - $('ip-gateway').model.value || '',
|
| - nameServerType,
|
| - userNameServers]);
|
| - OptionsPage.closeOverlay();
|
| - };
|
| -
|
| - DetailsInternetPage.updateNameServerDisplay = function(type) {
|
| - var editable = type == 'user';
|
| - var fields = [$('ipconfig-dns1'), $('ipconfig-dns2'),
|
| - $('ipconfig-dns3'), $('ipconfig-dns4')];
|
| - for (var i = 0; i < fields.length; ++i) {
|
| - fields[i].editable = editable;
|
| - }
|
| - if (editable)
|
| - $('ipconfig-dns1').focus();
|
| -
|
| - var automaticDns = $('automatic-dns-display');
|
| - var googleDns = $('google-dns-display');
|
| - var userDns = $('user-dns-settings');
|
| - switch (type) {
|
| - case 'automatic':
|
| - automaticDns.setAttribute('selected', '');
|
| - googleDns.removeAttribute('selected');
|
| - userDns.removeAttribute('selected');
|
| - break;
|
| - case 'google':
|
| - automaticDns.removeAttribute('selected');
|
| - googleDns.setAttribute('selected', '');
|
| - userDns.removeAttribute('selected');
|
| - break;
|
| - case 'user':
|
| - automaticDns.removeAttribute('selected');
|
| - googleDns.removeAttribute('selected');
|
| - userDns.setAttribute('selected', '');
|
| - break;
|
| - }
|
| - };
|
| -
|
| - DetailsInternetPage.showDetailedInfo = function(data) {
|
| - var detailsPage = DetailsInternetPage.getInstance();
|
| -
|
| - // Populate header
|
| - $('network-details-title').textContent = data.networkName;
|
| - var statusKey = data.connected ? 'networkConnected' :
|
| - 'networkNotConnected';
|
| - $('network-details-subtitle-status').textContent =
|
| - loadTimeData.getString(statusKey);
|
| - var typeKey = null;
|
| - switch (data.type) {
|
| - case Constants.TYPE_ETHERNET:
|
| - typeKey = 'ethernetTitle';
|
| - break;
|
| - case Constants.TYPE_WIFI:
|
| - typeKey = 'wifiTitle';
|
| - break;
|
| - case Constants.TYPE_WIMAX:
|
| - typeKey = 'wimaxTitle';
|
| - break;
|
| - case Constants.TYPE_CELLULAR:
|
| - typeKey = 'cellularTitle';
|
| - break;
|
| - case Constants.TYPE_VPN:
|
| - typeKey = 'vpnTitle';
|
| - break;
|
| - }
|
| - var typeLabel = $('network-details-subtitle-type');
|
| - var typeSeparator = $('network-details-subtitle-separator');
|
| - if (typeKey) {
|
| - typeLabel.textContent = loadTimeData.getString(typeKey);
|
| - typeLabel.hidden = false;
|
| - typeSeparator.hidden = false;
|
| - } else {
|
| - typeLabel.hidden = true;
|
| - typeSeparator.hidden = true;
|
| - }
|
| -
|
| - // TODO(chocobo): Is this hack to cache the data here reasonable?
|
| - // TODO(kevers): Find more appropriate place to cache data.
|
| - $('connection-state').data = data;
|
| -
|
| - $('buyplan-details').hidden = true;
|
| - $('activate-details').hidden = true;
|
| - $('view-account-details').hidden = true;
|
| - $('details-internet-login').hidden = data.connected;
|
| - if (data.type == Constants.TYPE_ETHERNET)
|
| - $('details-internet-disconnect').hidden = true;
|
| - else
|
| - $('details-internet-disconnect').hidden = !data.connected;
|
| -
|
| - detailsPage.deviceConnected = data.deviceConnected;
|
| - detailsPage.connecting = data.connecting;
|
| - detailsPage.connected = data.connected;
|
| - detailsPage.showProxy = data.showProxy;
|
| - detailsPage.showStaticIPConfig = data.showStaticIPConfig;
|
| - $('connection-state').textContent = data.connectionState;
|
| -
|
| - var ipAutoConfig = data.ipAutoConfig ? 'automatic' : 'user';
|
| - $('ip-automatic-configuration-checkbox').checked = data.ipAutoConfig;
|
| - var inetAddress = {autoConfig: ipAutoConfig};
|
| - var inetNetmask = {autoConfig: ipAutoConfig};
|
| - var inetGateway = {autoConfig: ipAutoConfig};
|
| -
|
| - if (data.ipconfig.value) {
|
| - inetAddress.automatic = data.ipconfig.value.address;
|
| - inetAddress.value = data.ipconfig.value.address;
|
| - inetNetmask.automatic = data.ipconfig.value.netmask;
|
| - inetNetmask.value = data.ipconfig.value.netmask;
|
| - inetGateway.automatic = data.ipconfig.value.gateway;
|
| - inetGateway.value = data.ipconfig.value.gateway;
|
| - }
|
| -
|
| - // Override the "automatic" values with the real saved DHCP values,
|
| - // if they are set.
|
| - if (data.savedIP.address) {
|
| - inetAddress.automatic = data.savedIP.address;
|
| - inetAddress.value = data.savedIP.address;
|
| - }
|
| - if (data.savedIP.netmask) {
|
| - inetNetmask.automatic = data.savedIP.netmask;
|
| - inetNetmask.value = data.savedIP.netmask;
|
| - }
|
| - if (data.savedIP.gateway) {
|
| - inetGateway.automatic = data.savedIP.gateway;
|
| - inetGateway.value = data.savedIP.gateway;
|
| - }
|
| -
|
| - if (ipAutoConfig == 'user') {
|
| - if (data.staticIP.value.address) {
|
| - inetAddress.value = data.staticIP.value.address;
|
| - inetAddress.user = data.staticIP.value.address;
|
| - }
|
| - if (data.staticIP.value.netmask) {
|
| - inetNetmask.value = data.staticIP.value.netmask;
|
| - inetNetmask.user = data.staticIP.value.netmask;
|
| - }
|
| - if (data.staticIP.value.gateway) {
|
| - inetGateway.value = data.staticIP.value.gateway;
|
| - inetGateway.user = data.staticIP.value.gateway;
|
| - }
|
| - }
|
| -
|
| - var configureAddressField = function(field, model) {
|
| - IPAddressField.decorate(field);
|
| - field.model = model;
|
| - field.editable = model.autoConfig == 'user';
|
| - };
|
| -
|
| - configureAddressField($('ip-address'), inetAddress);
|
| - configureAddressField($('ip-netmask'), inetNetmask);
|
| - configureAddressField($('ip-gateway'), inetGateway);
|
| -
|
| - var inetNameServers = '';
|
| - if (data.ipconfig.value && data.ipconfig.value.nameServers) {
|
| - inetNameServers = data.ipconfig.value.nameServers;
|
| - $('automatic-dns-display').textContent = inetNameServers;
|
| - }
|
| -
|
| - if (data.savedIP && data.savedIP.nameServers)
|
| - $('automatic-dns-display').textContent = data.savedIP.nameServers;
|
| -
|
| - if (data.nameServersGoogle)
|
| - $('google-dns-display').textContent = data.nameServersGoogle;
|
| -
|
| - var nameServersUser = [];
|
| - if (data.staticIP.value.nameServers)
|
| - nameServersUser = data.staticIP.value.nameServers.split(',');
|
| -
|
| - var nameServerModels = [];
|
| - for (var i = 0; i < 4; ++i)
|
| - nameServerModels.push({value: nameServersUser[i] || ''});
|
| -
|
| - $(data.nameServerType + '-dns-radio').checked = true;
|
| - configureAddressField($('ipconfig-dns1'), nameServerModels[0]);
|
| - configureAddressField($('ipconfig-dns2'), nameServerModels[1]);
|
| - configureAddressField($('ipconfig-dns3'), nameServerModels[2]);
|
| - configureAddressField($('ipconfig-dns4'), nameServerModels[3]);
|
| -
|
| - DetailsInternetPage.updateNameServerDisplay(data.nameServerType);
|
| -
|
| - if (data.hardwareAddress) {
|
| - $('hardware-address').textContent = data.hardwareAddress;
|
| - $('hardware-address-row').style.display = 'table-row';
|
| - } else {
|
| - // This is most likely a device without a hardware address.
|
| - $('hardware-address-row').style.display = 'none';
|
| - }
|
| - if (data.type == Constants.TYPE_WIFI) {
|
| - OptionsPage.showTab($('wifi-network-nav-tab'));
|
| - detailsPage.wireless = true;
|
| - detailsPage.vpn = false;
|
| - detailsPage.ethernet = false;
|
| - detailsPage.cellular = false;
|
| - detailsPage.gsm = false;
|
| - detailsPage.wimax = false;
|
| - detailsPage.shared = data.shared;
|
| - $('wifi-connection-state').textContent = data.connectionState;
|
| - $('wifi-ssid').textContent = data.ssid;
|
| - if (data.bssid && data.bssid.length > 0) {
|
| - $('wifi-bssid').textContent = data.bssid;
|
| - $('wifi-bssid-entry').hidden = false;
|
| - } else {
|
| - $('wifi-bssid-entry').hidden = true;
|
| - }
|
| - $('wifi-ip-address').textContent = inetAddress.value;
|
| - $('wifi-netmask').textContent = inetNetmask.value;
|
| - $('wifi-gateway').textContent = inetGateway.value;
|
| - $('wifi-name-servers').textContent = inetNameServers;
|
| - if (data.encryption && data.encryption.length > 0) {
|
| - $('wifi-security').textContent = data.encryption;
|
| - $('wifi-security-entry').hidden = false;
|
| - } else {
|
| - $('wifi-security-entry').hidden = true;
|
| - }
|
| - // Frequency is in MHz.
|
| - var frequency = loadTimeData.getString('inetFrequencyFormat');
|
| - frequency = frequency.replace('$1', data.frequency);
|
| - $('wifi-frequency').textContent = frequency;
|
| - // Signal strength as percentage.
|
| - var signalStrength = loadTimeData.getString('inetSignalStrengthFormat');
|
| - signalStrength = signalStrength.replace('$1', data.strength);
|
| - $('wifi-signal-strength').textContent = signalStrength;
|
| - if (data.hardwareAddress) {
|
| - $('wifi-hardware-address').textContent = data.hardwareAddress;
|
| - $('wifi-hardware-address-entry').hidden = false;
|
| - } else {
|
| - $('wifi-hardware-address-entry').hidden = true;
|
| - }
|
| - detailsPage.showPreferred = data.showPreferred;
|
| - $('prefer-network-wifi').checked = data.preferred.value;
|
| - $('prefer-network-wifi').disabled = !data.remembered;
|
| - $('auto-connect-network-wifi').checked = data.autoConnect.value;
|
| - $('auto-connect-network-wifi').disabled = !data.remembered;
|
| - detailsPage.password = data.encrypted;
|
| - } else if (data.type == Constants.TYPE_WIMAX) {
|
| - OptionsPage.showTab($('wimax-network-nav-tab'));
|
| - detailsPage.wimax = true;
|
| - detailsPage.wireless = false;
|
| - detailsPage.vpn = false;
|
| - detailsPage.ethernet = false;
|
| - detailsPage.cellular = false;
|
| - detailsPage.gsm = false;
|
| - detailsPage.shared = data.shared;
|
| - detailsPage.showPreferred = data.showPreferred;
|
| - $('wimax-connection-state').textContent = data.connectionState;
|
| - $('auto-connect-network-wimax').checked = data.autoConnect.value;
|
| - $('auto-connect-network-wimax').disabled = !data.remembered;
|
| - if (data.identity) {
|
| - $('wimax-eap-identity').textContent = data.identity;
|
| - $('wimax-eap-identity-entry').hidden = false;
|
| - } else {
|
| - $('wimax-eap-identity-entry').hidden = true;
|
| - }
|
| - // Signal strength as percentage.
|
| - var signalStrength = loadTimeData.getString('inetSignalStrengthFormat');
|
| - signalStrength = signalStrength.replace('$1', data.strength);
|
| - $('wimax-signal-strength').textContent = signalStrength;
|
| - } else if (data.type == Constants.TYPE_CELLULAR) {
|
| - if (!data.gsm)
|
| - OptionsPage.showTab($('cellular-plan-nav-tab'));
|
| - else
|
| - OptionsPage.showTab($('cellular-conn-nav-tab'));
|
| - detailsPage.ethernet = false;
|
| - detailsPage.wireless = false;
|
| - detailsPage.wimax = false;
|
| - detailsPage.vpn = false;
|
| - detailsPage.cellular = true;
|
| - $('service-name').textContent = data.serviceName;
|
| - $('network-technology').textContent = data.networkTechnology;
|
| - $('activation-state').textContent = data.activationState;
|
| - $('roaming-state').textContent = data.roamingState;
|
| - $('restricted-pool').textContent = data.restrictedPool;
|
| - $('error-state').textContent = data.errorState;
|
| - $('manufacturer').textContent = data.manufacturer;
|
| - $('model-id').textContent = data.modelId;
|
| - $('firmware-revision').textContent = data.firmwareRevision;
|
| - $('hardware-revision').textContent = data.hardwareRevision;
|
| - $('prl-version').textContent = data.prlVersion;
|
| - $('meid').textContent = data.meid;
|
| - $('imei').textContent = data.imei;
|
| - $('mdn').textContent = data.mdn;
|
| - $('esn').textContent = data.esn;
|
| - $('min').textContent = data.min;
|
| - detailsPage.gsm = data.gsm;
|
| - if (data.gsm) {
|
| - $('operator-name').textContent = data.operatorName;
|
| - $('operator-code').textContent = data.operatorCode;
|
| - $('imsi').textContent = data.imsi;
|
| -
|
| - var apnSelector = $('select-apn');
|
| - // Clear APN lists, keep only last element that "other".
|
| - while (apnSelector.length != 1)
|
| - apnSelector.remove(0);
|
| - var otherOption = apnSelector[0];
|
| - data.selectedApn = -1;
|
| - data.userApnIndex = -1;
|
| - var apnList = data.providerApnList.value;
|
| - for (var i = 0; i < apnList.length; i++) {
|
| - var option = document.createElement('option');
|
| - var name = apnList[i].localizedName;
|
| - if (name == '' && apnList[i].name != '')
|
| - name = apnList[i].name;
|
| - if (name == '')
|
| - name = apnList[i].apn;
|
| - else
|
| - name = name + ' (' + apnList[i].apn + ')';
|
| - option.textContent = name;
|
| - option.value = i;
|
| - if ((data.apn.apn == apnList[i].apn &&
|
| - data.apn.username == apnList[i].username &&
|
| - data.apn.password == apnList[i].password) ||
|
| - (data.apn.apn == '' &&
|
| - data.lastGoodApn.apn == apnList[i].apn &&
|
| - data.lastGoodApn.username == apnList[i].username &&
|
| - data.lastGoodApn.password == apnList[i].password)) {
|
| - data.selectedApn = i;
|
| - }
|
| - // Insert new option before "other" option.
|
| - apnSelector.add(option, otherOption);
|
| - }
|
| - if (data.selectedApn == -1 && data.apn.apn != '') {
|
| - var option = document.createElement('option');
|
| - option.textContent = data.apn.apn;
|
| - option.value = -1;
|
| - apnSelector.add(option, otherOption);
|
| - data.selectedApn = apnSelector.length - 2;
|
| - data.userApnIndex = data.selectedApn;
|
| - }
|
| - apnSelector.selectedIndex = data.selectedApn;
|
| - updateHidden('.apn-list-view', false);
|
| - updateHidden('.apn-details-view', true);
|
| - DetailsInternetPage.updateSecurityTab(data.simCardLockEnabled.value);
|
| - }
|
| - $('auto-connect-network-cellular').checked = data.autoConnect.value;
|
| - $('auto-connect-network-cellular').disabled = false;
|
| -
|
| - $('buyplan-details').hidden = !data.showBuyButton;
|
| - $('view-account-details').hidden = !data.showViewAccountButton;
|
| - $('activate-details').hidden = !data.showActivateButton;
|
| - if (data.showActivateButton) {
|
| - $('details-internet-login').hidden = true;
|
| - }
|
| -
|
| - detailsPage.hascellplan = false;
|
| - if (data.connected) {
|
| - detailsPage.nocellplan = false;
|
| - detailsPage.cellplanloading = true;
|
| - chrome.send('refreshCellularPlan', [data.servicePath]);
|
| - } else {
|
| - detailsPage.nocellplan = true;
|
| - detailsPage.cellplanloading = false;
|
| - }
|
| - } else if (data.type == Constants.TYPE_VPN) {
|
| - OptionsPage.showTab($('vpn-nav-tab'));
|
| - detailsPage.wireless = false;
|
| - detailsPage.wimax = false;
|
| - detailsPage.vpn = true;
|
| - detailsPage.ethernet = false;
|
| - detailsPage.cellular = false;
|
| - detailsPage.gsm = false;
|
| - $('inet-service-name').textContent = data.service_name;
|
| - $('inet-server-hostname').textContent = data.server_hostname;
|
| - $('inet-provider-type').textContent = data.provider_type;
|
| - $('inet-username').textContent = data.username;
|
| - } else {
|
| - OptionsPage.showTab($('internet-nav-tab'));
|
| - detailsPage.ethernet = true;
|
| - detailsPage.wireless = false;
|
| - detailsPage.wimax = false;
|
| - detailsPage.vpn = false;
|
| - detailsPage.cellular = false;
|
| - detailsPage.gsm = false;
|
| - }
|
| -
|
| - // Update controlled option indicators.
|
| - indicators = cr.doc.querySelectorAll(
|
| - '#details-internet-page .controlled-setting-indicator');
|
| - for (var i = 0; i < indicators.length; i++) {
|
| - var dataProperty = indicators[i].getAttribute('data');
|
| - if (dataProperty && data[dataProperty]) {
|
| - var controlledBy = data[dataProperty].controlledBy;
|
| - if (controlledBy) {
|
| - indicators[i].controlledBy = controlledBy;
|
| - var forElement = $(indicators[i].getAttribute('for'));
|
| - if (forElement)
|
| - forElement.disabled = controlledBy != 'recommended';
|
| - if (forElement.type == 'radio' && !forElement.checked)
|
| - indicators[i].hidden = true;
|
| - } else {
|
| - indicators[i].controlledBy = null;
|
| - }
|
| - }
|
| - }
|
| -
|
| - detailsPage.updateControls();
|
| -
|
| - // Don't show page name in address bar and in history to prevent people
|
| - // navigate here by hand and solve issue with page session restore.
|
| - OptionsPage.showPageByName('detailsInternetPage', false);
|
| - };
|
| -
|
| - return {
|
| - DetailsInternetPage: DetailsInternetPage
|
| - };
|
| -});
|
|
|