| 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 05958eb6a3a4f721c24a92a20c708c7a090311b0..088330729b09fba16635619b44ac736621020944 100644
|
| --- a/chrome/browser/resources/options/chromeos/internet_detail.js
|
| +++ b/chrome/browser/resources/options/chromeos/internet_detail.js
|
| @@ -63,6 +63,16 @@ cr.define('options.internet', function() {
|
| DetailsInternetPage.getInstance().updateControls();
|
| }
|
|
|
| + /**
|
| + * Simple helper method for converting a field to a string. It is used to
|
| + * easily assign an empty string from fields that may be unknown or undefined.
|
| + * @param {object} value that should be converted to a string.
|
| + * @return {string} the result.
|
| + */
|
| + function stringFromValue(value) {
|
| + return value ? String(value) : '';
|
| + }
|
| +
|
| /////////////////////////////////////////////////////////////////////////////
|
| // DetailsInternetPage class:
|
|
|
| @@ -160,15 +170,14 @@ cr.define('options.internet', function() {
|
|
|
| if (data.providerApnList.value.length > 0) {
|
| var iApn = 0;
|
| - data.apn.apn = data.providerApnList.value[iApn].apn;
|
| - var username = data.providerApnList.value[iApn].username;
|
| - var password = data.providerApnList.value[iApn].password;
|
| - data.apn.username = username ? username : '';
|
| - data.apn.password = password ? password : '';
|
| + var defaultApn = data.providerApnList.value[iApn];
|
| + data.apn.apn = stringFromValue(defaultApn.apn);
|
| + data.apn.username = stringFromValue(defaultApn.username);
|
| + data.apn.password = stringFromValue(defaultApn.password);
|
| chrome.send('setApn', [data.servicePath,
|
| - String(data.apn.apn),
|
| - String(data.apn.username),
|
| - String(data.apn.password)]);
|
| + data.apn.apn,
|
| + data.apn.username,
|
| + data.apn.password]);
|
| apnSelector.selectedIndex = iApn;
|
| data.selectedApn = iApn;
|
| } else {
|
| @@ -189,13 +198,18 @@ cr.define('options.internet', function() {
|
| 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);
|
| + data.apn.apn = stringFromValue($('cellular-apn').value);
|
| + data.apn.username = stringFromValue($('cellular-apn-username').value);
|
| + data.apn.password = stringFromValue($('cellular-apn-password').value);
|
| + data.userApn = {
|
| + 'apn': data.apn.apn,
|
| + 'username': data.apn.username,
|
| + 'password': data.apn.password
|
| + };
|
| chrome.send('setApn', [data.servicePath,
|
| - String(data.apn.apn),
|
| - String(data.apn.username),
|
| - String(data.apn.password)]);
|
| + data.apn.apn,
|
| + data.apn.username,
|
| + data.apn.password]);
|
|
|
| if (data.userApnIndex != -1) {
|
| apnSelector.remove(data.userApnIndex);
|
| @@ -226,23 +240,21 @@ cr.define('options.internet', function() {
|
| if (apnSelector[apnSelector.selectedIndex].value != -1) {
|
| var apnList = data.providerApnList.value;
|
| chrome.send('setApn', [data.servicePath,
|
| - String(apnList[apnSelector.selectedIndex].apn),
|
| - String(apnList[apnSelector.selectedIndex].username),
|
| - String(apnList[apnSelector.selectedIndex].password)
|
| - ]);
|
| + stringFromValue(apnList[apnSelector.selectedIndex].apn),
|
| + stringFromValue(apnList[apnSelector.selectedIndex].username),
|
| + stringFromValue(apnList[apnSelector.selectedIndex].password)]
|
| + );
|
| data.selectedApn = apnSelector.selectedIndex;
|
| } else if (apnSelector.selectedIndex == data.userApnIndex) {
|
| chrome.send('setApn', [data.servicePath,
|
| - String(data.apn.apn),
|
| - String(data.apn.username),
|
| - String(data.apn.password)]);
|
| + stringFromValue(data.userApn.apn),
|
| + stringFromValue(data.userApn.username),
|
| + stringFromValue(data.userApn.password)]);
|
| data.selectedApn = apnSelector.selectedIndex;
|
| } else {
|
| - $('cellular-apn').value = data.apn.apn;
|
| - var username = data.apn.username;
|
| - var password = data.apn.password;
|
| - $('cellular-apn-username').value = username ? username : '';
|
| - $('cellular-apn-password').value = password ? password : '';
|
| + $('cellular-apn').value = stringFromValue(data.apn.apn);
|
| + $('cellular-apn-username').value = stringFromValue(data.apn.username);
|
| + $('cellular-apn-password').value = stringFromValue(data.apn.password);
|
|
|
| updateHidden('.apn-list-view', true);
|
| updateHidden('.apn-details-view', false);
|
| @@ -1126,8 +1138,8 @@ cr.define('options.internet', function() {
|
| })();
|
| detailsPage.gsm = data.gsm;
|
| if (data.gsm) {
|
| - $('iccid').textContent = data.iccid ? data.iccid : '';
|
| - $('imsi').textContent = data.imsi ? data.imsi : '';
|
| + $('iccid').textContent = stringFromValue(data.iccid);
|
| + $('imsi').textContent = stringFromValue(data.imsi);
|
|
|
| var apnSelector = $('select-apn');
|
| // Clear APN lists, keep only last element that "other".
|
|
|