Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(521)

Side by Side Diff: chrome/browser/resources/options2/chromeos/internet_options.js

Issue 8930012: Revert 114236 - Options2: Pull the trigger. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('options', function() {
6 var OptionsPage = options.OptionsPage;
7 const ArrayDataModel = cr.ui.ArrayDataModel;
8
9 /////////////////////////////////////////////////////////////////////////////
10 // InternetOptions class:
11
12 /**
13 * Encapsulated handling of ChromeOS internet options page.
14 * @constructor
15 */
16 function InternetOptions() {
17 OptionsPage.call(this, 'internet', templateData.internetPageTabTitle,
18 'internetPage');
19 }
20
21 cr.addSingletonGetter(InternetOptions);
22
23 // Inherit InternetOptions from OptionsPage.
24 InternetOptions.prototype = {
25 __proto__: OptionsPage.prototype,
26
27 /**
28 * Initializes InternetOptions page.
29 * Calls base class implementation to starts preference initialization.
30 */
31 initializePage: function() {
32 OptionsPage.prototype.initializePage.call(this);
33
34 if (templateData.accessLocked) {
35 this.accesslocked = true;
36 }
37
38 options.internet.NetworkElement.decorate($('wired-list'));
39 $('wired-list').load(templateData.wiredList);
40 options.internet.NetworkElement.decorate($('wireless-list'));
41 $('wireless-list').load(templateData.wirelessList);
42 options.internet.NetworkElement.decorate($('vpn-list'));
43 $('vpn-list').load(templateData.vpnList);
44 options.internet.NetworkElement.decorate($('remembered-list'));
45 $('remembered-list').load(templateData.rememberedList);
46
47 this.updatePolicyIndicatorVisibility_();
48
49 options.internet.CellularPlanElement.decorate($('planList'));
50
51 $('wired-section').hidden = (templateData.wiredList.length == 0);
52 $('wireless-section').hidden = (templateData.wirelessList.length == 0);
53 $('vpn-section').hidden = (templateData.vpnList.length == 0);
54 $('remembered-section').hidden =
55 (templateData.rememberedList.length == 0);
56 InternetOptions.setupAttributes(templateData);
57 $('detailsInternetDismiss').addEventListener('click', function(event) {
58 InternetOptions.setDetails();
59 });
60 $('detailsInternetLogin').addEventListener('click', function(event) {
61 InternetOptions.setDetails();
62 InternetOptions.loginFromDetails();
63 });
64 $('detailsInternetDisconnect').addEventListener('click', function(event) {
65 InternetOptions.setDetails();
66 InternetOptions.disconnectNetwork();
67 });
68 $('activateDetails').addEventListener('click', function(event) {
69 InternetOptions.activateFromDetails();
70 });
71 $('enable-wifi').addEventListener('click', function(event) {
72 event.target.disabled = true;
73 chrome.send('enableWifi', []);
74 });
75 $('disable-wifi').addEventListener('click', function(event) {
76 event.target.disabled = true;
77 chrome.send('disableWifi', []);
78 });
79 $('enable-cellular').addEventListener('click', function(event) {
80 event.target.disabled = true;
81 chrome.send('enableCellular', []);
82 });
83 $('disable-cellular').addEventListener('click', function(event) {
84 event.target.disabled = true;
85 chrome.send('disableCellular', []);
86 });
87 $('change-proxy-button').addEventListener('click', function(event) {
88 OptionsPage.closeOverlay();
89 OptionsPage.showPageByName('proxy', false);
90 chrome.send('coreOptionsUserMetricsAction',
91 ['Options_ShowProxySettings']);
92 });
93 $('buyplanDetails').addEventListener('click', function(event) {
94 chrome.send('buyDataPlan', []);
95 OptionsPage.closeOverlay();
96 });
97 $('cellularApnUseDefault').addEventListener('click', function(event) {
98 var data = $('connectionState').data;
99 var apnSelector = $('selectApn');
100
101 if (data.userApnIndex != -1) {
102 apnSelector.remove(data.userApnIndex);
103 data.userApnIndex = -1;
104 }
105
106 if (data.providerApnList.value.length > 0) {
107 var iApn = 0;
108 data.apn.apn = data.providerApnList.value[iApn].apn;
109 data.apn.username = data.providerApnList.value[iApn].username;
110 data.apn.password = data.providerApnList.value[iApn].password;
111 chrome.send('setApn', [String(data.servicePath),
112 String(data.apn.apn),
113 String(data.apn.username),
114 String(data.apn.password)]);
115 apnSelector.selectedIndex = iApn;
116 data.selectedApn = iApn;
117 } else {
118 data.apn.apn = '';
119 data.apn.username = '';
120 data.apn.password = '';
121 apnSelector.selectedIndex = -1;
122 data.selectedApn = -1;
123 }
124
125 InternetOptions.prototype.updateHidden_(
126 cr.doc.querySelectorAll('.apn-list-view'),
127 false);
128 InternetOptions.prototype.updateHidden_(
129 cr.doc.querySelectorAll('.apn-details-view'),
130 true);
131 });
132 $('cellularApnSet').addEventListener('click', function(event) {
133 if ($('cellularApn').value == '')
134 return;
135
136 var data = $('connectionState').data;
137 var apnSelector = $('selectApn');
138
139 data.apn.apn = String($('cellularApn').value);
140 data.apn.username = String($('cellularApnUsername').value);
141 data.apn.password = String($('cellularApnPassword').value);
142 chrome.send('setApn', [String(data.servicePath),
143 String(data.apn.apn),
144 String(data.apn.username),
145 String(data.apn.password)]);
146
147 if (data.userApnIndex != -1) {
148 apnSelector.remove(data.userApnIndex);
149 data.userApnIndex = -1;
150 }
151
152 var option = document.createElement('option');
153 option.textContent = data.apn.apn;
154 option.value = -1;
155 option.selected = true;
156 apnSelector.add(option, apnSelector[apnSelector.length - 1]);
157 data.userApnIndex = apnSelector.length - 2
158 data.selectedApn = data.userApnIndex;
159
160 InternetOptions.prototype.updateHidden_(
161 cr.doc.querySelectorAll('.apn-list-view'),
162 false);
163 InternetOptions.prototype.updateHidden_(
164 cr.doc.querySelectorAll('.apn-details-view'),
165 true);
166 });
167 $('cellularApnCancel').addEventListener('click', function(event) {
168 $('selectApn').selectedIndex = $('connectionState').data.selectedApn;
169
170 InternetOptions.prototype.updateHidden_(
171 cr.doc.querySelectorAll('.apn-list-view'),
172 false);
173 InternetOptions.prototype.updateHidden_(
174 cr.doc.querySelectorAll('.apn-details-view'),
175 true);
176 });
177 $('selectApn').addEventListener('change', function(event) {
178 var data = $('connectionState').data;
179 var apnSelector = $('selectApn');
180 if (apnSelector[apnSelector.selectedIndex].value != -1) {
181 var apnList = data.providerApnList.value;
182 chrome.send('setApn', [String(data.servicePath),
183 String(apnList[apnSelector.selectedIndex].apn),
184 String(apnList[apnSelector.selectedIndex].username),
185 String(apnList[apnSelector.selectedIndex].password)
186 ]);
187 data.selectedApn = apnSelector.selectedIndex;
188 } else if (apnSelector.selectedIndex == data.userApnIndex) {
189 chrome.send('setApn', [String(data.servicePath),
190 String(data.apn.apn),
191 String(data.apn.username),
192 String(data.apn.password)]);
193 data.selectedApn = apnSelector.selectedIndex;
194 } else {
195 $('cellularApn').value = data.apn.apn;
196 $('cellularApnUsername').value = data.apn.username;
197 $('cellularApnPassword').value = data.apn.password;
198
199 InternetOptions.prototype.updateHidden_(
200 cr.doc.querySelectorAll('.apn-list-view'),
201 true);
202 InternetOptions.prototype.updateHidden_(
203 cr.doc.querySelectorAll('.apn-details-view'),
204 false);
205 }
206 });
207 $('sim-card-lock-enabled').addEventListener('click', function(event) {
208 var newValue = $('sim-card-lock-enabled').checked;
209 // Leave value as is because user needs to enter PIN code first.
210 // When PIN will be entered and value changed,
211 // we'll update UI to reflect that change.
212 $('sim-card-lock-enabled').checked = !newValue;
213 chrome.send('setSimCardLock', [newValue]);
214 });
215 $('change-pin').addEventListener('click', function(event) {
216 chrome.send('changePin');
217 });
218 this.showNetworkDetails_();
219 },
220
221 showNetworkDetails_: function() {
222 var params = parseQueryParams(window.location);
223 var servicePath = params.servicePath;
224 var networkType = params.networkType;
225 if (!servicePath || !servicePath.length ||
226 !networkType || !networkType.length)
227 return;
228 var networkName = params.networkName;
229 if (networkName)
230 options.ProxyOptions.getInstance().setNetworkName(networkName);
231 chrome.send('buttonClickCallback',
232 [networkType, servicePath, "options"]);
233 },
234
235 updateHidden_: function(elements, hidden) {
236 for (var i = 0, el; el = elements[i]; i++) {
237 el.hidden = hidden;
238 }
239 },
240
241 /**
242 * Update internet page controls.
243 * @private
244 */
245 updateControls_: function() {
246 accesslocked = this.accesslocked;
247
248 $('locked-network-banner').hidden = !accesslocked;
249 $('wireless-buttons').hidden = accesslocked;
250 $('wired-section').hidden = accesslocked;
251 $('wireless-section').hidden = accesslocked;
252 $('vpn-section').hidden = accesslocked;
253 $('remembered-section').hidden = accesslocked;
254
255 // Don't change hidden attribute on OptionsPage divs directly because it
256 // is used in supporting infrastructure now.
257 if (accesslocked && DetailsInternetPage.getInstance().visible)
258 this.closeOverlay();
259 },
260
261 /**
262 * Updates the policy indicator visibility. Space is only allocated for the
263 * policy indicators if there is at least one visible.
264 * @private
265 */
266 updatePolicyIndicatorVisibility_: function() {
267 var page = $('internetPage');
268 if (page.querySelectorAll(
269 '.network-item > .controlled-setting-indicator[controlled-by]')
270 .length) {
271 page.classList.remove('hide-indicators');
272 } else {
273 page.classList.add('hide-indicators');
274 }
275 }
276 };
277
278 /**
279 * Whether access to this page is locked.
280 * @type {boolean}
281 */
282 cr.defineProperty(InternetOptions, 'accesslocked', cr.PropertyKind.JS,
283 InternetOptions.prototype.updateControls_);
284
285 InternetOptions.loginFromDetails = function () {
286 var data = $('connectionState').data;
287 var servicePath = data.servicePath;
288 chrome.send('buttonClickCallback', [String(data.type),
289 servicePath,
290 'connect']);
291 OptionsPage.closeOverlay();
292 };
293
294 InternetOptions.disconnectNetwork = function () {
295 var data = $('connectionState').data;
296 var servicePath = data.servicePath;
297 chrome.send('buttonClickCallback', [String(data.type),
298 servicePath,
299 'disconnect']);
300 OptionsPage.closeOverlay();
301 };
302
303 InternetOptions.activateFromDetails = function () {
304 var data = $('connectionState').data;
305 var servicePath = data.servicePath;
306 if (data.type == options.internet.Constants.TYPE_CELLULAR) {
307 chrome.send('buttonClickCallback', [String(data.type),
308 String(servicePath),
309 'activate']);
310 }
311 OptionsPage.closeOverlay();
312 };
313
314 InternetOptions.setDetails = function () {
315 var data = $('connectionState').data;
316 var servicePath = data.servicePath;
317 if (data.type == options.internet.Constants.TYPE_WIFI) {
318 chrome.send('setPreferNetwork',
319 [String(servicePath),
320 $('preferNetworkWifi').checked ? "true" : "false"]);
321 chrome.send('setAutoConnect',
322 [String(servicePath),
323 $('autoConnectNetworkWifi').checked ? "true" : "false"]);
324 } else if (data.type == options.internet.Constants.TYPE_CELLULAR) {
325 chrome.send('setAutoConnect',
326 [String(servicePath),
327 $('autoConnectNetworkCellular').checked ? "true" : "false"]);
328 }
329
330 var ipConfigList = $('ipConfigList');
331 chrome.send('setIPConfig',[String(servicePath),
332 $('ipTypeDHCP').checked ? "true" : "false",
333 ipConfigList.dataModel.item(0).value,
334 ipConfigList.dataModel.item(1).value,
335 ipConfigList.dataModel.item(2).value,
336 ipConfigList.dataModel.item(3).value]);
337 OptionsPage.closeOverlay();
338 };
339
340 InternetOptions.setupAttributes = function(data) {
341 var buttons = $('wireless-buttons');
342 if (data.wifiEnabled) {
343 $('disable-wifi').disabled = data.wifiBusy;
344 $('disable-wifi').hidden = false;
345 $('enable-wifi').hidden = true;
346 } else {
347 $('enable-wifi').disabled = data.wifiBusy;
348 $('enable-wifi').hidden = false;
349 $('disable-wifi').hidden = true;
350 }
351 if (data.cellularAvailable) {
352 if (data.cellularEnabled) {
353 $('disable-cellular').disabled = data.cellularBusy;
354 $('disable-cellular').hidden = false;
355 $('enable-cellular').hidden = true;
356 } else {
357 $('enable-cellular').disabled = data.cellularBusy;
358 $('enable-cellular').hidden = false;
359 $('disable-cellular').hidden = true;
360 }
361 if (!AccountsOptions.currentUserIsOwner())
362 $('internet-owner-only-warning').hidden = false;
363 $('data-roaming').hidden = false;
364 } else {
365 $('enable-cellular').hidden = true;
366 $('disable-cellular').hidden = true;
367 $('data-roaming').hidden = true;
368 }
369 };
370
371 //
372 //Chrome callbacks
373 //
374 InternetOptions.refreshNetworkData = function (data) {
375 var self = InternetOptions.getInstance();
376 if (data.accessLocked) {
377 self.accesslocked = true;
378 return;
379 }
380 self.accesslocked = false;
381 $('wired-list').load(data.wiredList);
382 $('wireless-list').load(data.wirelessList);
383 $('vpn-list').load(data.vpnList);
384 $('remembered-list').load(data.rememberedList);
385
386 self.updatePolicyIndicatorVisibility_();
387
388 $('wired-section').hidden = (data.wiredList.length == 0);
389 $('wireless-section').hidden = (data.wirelessList.length == 0);
390 $('vpn-section').hidden = (data.vpnList.length == 0);
391 InternetOptions.setupAttributes(data);
392 $('remembered-section').hidden = (data.rememberedList.length == 0);
393 };
394
395 // TODO(xiyuan): This function seems belonging to DetailsInternetPage.
396 InternetOptions.updateCellularPlans = function (data) {
397 var detailsPage = DetailsInternetPage.getInstance();
398 detailsPage.cellplanloading = false;
399 if (data.plans && data.plans.length) {
400 detailsPage.nocellplan = false
401 detailsPage.hascellplan = true;
402 $('planList').load(data.plans);
403 } else {
404 detailsPage.nocellplan = true;
405 detailsPage.hascellplan = false;
406 }
407
408 detailsPage.hasactiveplan = !data.needsPlan;
409 detailsPage.activated = data.activated;
410 if (!data.activated)
411 $('detailsInternetLogin').hidden = true;
412
413 $('buyplanDetails').hidden = !data.showBuyButton;
414 $('activateDetails').hidden = !data.showActivateButton;
415 };
416
417 InternetOptions.updateSecurityTab = function(requirePin) {
418 $('sim-card-lock-enabled').checked = requirePin;
419 $('change-pin').hidden = !requirePin;
420 };
421
422 InternetOptions.showDetailedInfo = function (data) {
423 var detailsPage = DetailsInternetPage.getInstance();
424 // TODO(chocobo): Is this hack to cache the data here reasonable?
425 $('connectionState').data = data;
426 $('buyplanDetails').hidden = true;
427 $('activateDetails').hidden = true;
428 $('detailsInternetLogin').hidden = data.connected;
429 if (data.type == options.internet.Constants.TYPE_ETHERNET)
430 $('detailsInternetDisconnect').hidden = true;
431 else
432 $('detailsInternetDisconnect').hidden = !data.connected;
433
434 detailsPage.deviceConnected = data.deviceConnected;
435 detailsPage.connecting = data.connecting;
436 detailsPage.connected = data.connected;
437 if (data.connected) {
438 $('inetTitle').textContent = localStrings.getString('inetStatus');
439 } else {
440 $('inetTitle').textContent = localStrings.getString('inetConnect');
441 }
442 $('connectionState').textContent = data.connectionState;
443
444 var inetAddress = '';
445 var inetSubnetAddress = '';
446 var inetGateway = '';
447 var inetDns = '';
448 $('ipTypeDHCP').checked = true;
449 if (data.ipconfigStatic.value) {
450 inetAddress = data.ipconfigStatic.value.address;
451 inetSubnetAddress = data.ipconfigStatic.value.subnetAddress;
452 inetGateway = data.ipconfigStatic.value.gateway;
453 inetDns = data.ipconfigStatic.value.dns;
454 $('ipTypeStatic').checked = true;
455 } else if (data.ipconfigDHCP.value) {
456 inetAddress = data.ipconfigDHCP.value.address;
457 inetSubnetAddress = data.ipconfigDHCP.value.subnetAddress;
458 inetGateway = data.ipconfigDHCP.value.gateway;
459 inetDns = data.ipconfigDHCP.value.dns;
460 }
461
462 // Hide the dhcp/static radio if needed.
463 $('ipTypeDHCPDiv').hidden = !data.showStaticIPConfig;
464 $('ipTypeStaticDiv').hidden = !data.showStaticIPConfig;
465
466 // Hide change-proxy-button and change-proxy-section if not showing proxy.
467 $('change-proxy-button').hidden = !data.showProxy;
468 $('change-proxy-section').hidden = !data.showProxy;
469
470 var ipConfigList = $('ipConfigList');
471 ipConfigList.disabled =
472 $('ipTypeDHCP').checked || data.ipconfigStatic.controlledBy ||
473 !data.showStaticIPConfig;
474 options.internet.IPConfigList.decorate(ipConfigList);
475 ipConfigList.autoExpands = true;
476 var model = new ArrayDataModel([]);
477 model.push({
478 'property': 'inetAddress',
479 'name': localStrings.getString('inetAddress'),
480 'value': inetAddress,
481 });
482 model.push({
483 'property': 'inetSubnetAddress',
484 'name': localStrings.getString('inetSubnetAddress'),
485 'value': inetSubnetAddress,
486 });
487 model.push({
488 'property': 'inetGateway',
489 'name': localStrings.getString('inetGateway'),
490 'value': inetGateway,
491 });
492 model.push({
493 'property': 'inetDns',
494 'name': localStrings.getString('inetDns'),
495 'value': inetDns,
496 });
497 ipConfigList.dataModel = model;
498
499 $('ipTypeDHCP').addEventListener('click', function(event) {
500 // disable ipConfigList and switch back to dhcp values (if any)
501 if (data.ipconfigDHCP.value) {
502 var config = data.ipconfigDHCP.value;
503 ipConfigList.dataModel.item(0).value = config.address;
504 ipConfigList.dataModel.item(1).value = config.subnetAddress;
505 ipConfigList.dataModel.item(2).value = config.gateway;
506 ipConfigList.dataModel.item(3).value = config.dns;
507 }
508 ipConfigList.dataModel.updateIndex(0);
509 ipConfigList.dataModel.updateIndex(1);
510 ipConfigList.dataModel.updateIndex(2);
511 ipConfigList.dataModel.updateIndex(3);
512 // Unselect all so we don't keep the currently selected field editable.
513 ipConfigList.selectionModel.unselectAll();
514 ipConfigList.disabled = true;
515 });
516
517 $('ipTypeStatic').addEventListener('click', function(event) {
518 // enable ipConfigList
519 ipConfigList.disabled = false;
520 ipConfigList.focus();
521 ipConfigList.selectionModel.selectedIndex = 0;
522 });
523
524 if (data.hardwareAddress) {
525 $('hardwareAddress').textContent = data.hardwareAddress;
526 $('hardwareAddressRow').style.display = 'table-row';
527 } else {
528 // This is most likely a device without a hardware address.
529 $('hardwareAddressRow').style.display = 'none';
530 }
531 if (data.type == options.internet.Constants.TYPE_WIFI) {
532 OptionsPage.showTab($('wifiNetworkNavTab'));
533 detailsPage.wireless = true;
534 detailsPage.vpn = false;
535 detailsPage.ethernet = false;
536 detailsPage.cellular = false;
537 detailsPage.gsm = false;
538 detailsPage.shared = data.shared;
539 $('inetSsid').textContent = data.ssid;
540 detailsPage.showPreferred = data.showPreferred;
541 $('preferNetworkWifi').checked = data.preferred.value;
542 $('preferNetworkWifi').disabled = !data.remembered;
543 $('autoConnectNetworkWifi').checked = data.autoConnect.value;
544 $('autoConnectNetworkWifi').disabled = !data.remembered;
545 detailsPage.password = data.encrypted;
546 } else if(data.type == options.internet.Constants.TYPE_CELLULAR) {
547 if (!data.gsm)
548 OptionsPage.showTab($('cellularPlanNavTab'));
549 else
550 OptionsPage.showTab($('cellularConnNavTab'));
551 detailsPage.ethernet = false;
552 detailsPage.wireless = false;
553 detailsPage.vpn = false;
554 detailsPage.cellular = true;
555 if (data.carrierUrl) {
556 var a = $('carrierUrl');
557 if (!a) {
558 a = document.createElement('a');
559 $('serviceName').appendChild(a);
560 a.id = 'carrierUrl';
561 a.target = "_blank";
562 }
563 a.href = data.carrierUrl;
564 a.textContent = data.serviceName;
565 } else {
566 $('serviceName').textContent = data.serviceName;
567 }
568 $('networkTechnology').textContent = data.networkTechnology;
569 $('activationState').textContent = data.activationState;
570 $('roamingState').textContent = data.roamingState;
571 $('restrictedPool').textContent = data.restrictedPool;
572 $('errorState').textContent = data.errorState;
573 $('manufacturer').textContent = data.manufacturer;
574 $('modelId').textContent = data.modelId;
575 $('firmwareRevision').textContent = data.firmwareRevision;
576 $('hardwareRevision').textContent = data.hardwareRevision;
577 $('prlVersion').textContent = data.prlVersion;
578 $('meid').textContent = data.meid;
579 $('imei').textContent = data.imei;
580 $('mdn').textContent = data.mdn;
581 $('esn').textContent = data.esn;
582 $('min').textContent = data.min;
583 detailsPage.gsm = data.gsm;
584 if (data.gsm) {
585 $('operatorName').textContent = data.operatorName;
586 $('operatorCode').textContent = data.operatorCode;
587 $('imsi').textContent = data.imsi;
588
589 var apnSelector = $('selectApn');
590 // Clear APN lists, keep only last element that "other".
591 while (apnSelector.length != 1)
592 apnSelector.remove(0);
593 var otherOption = apnSelector[0];
594 data.selectedApn = -1;
595 data.userApnIndex = -1;
596 var apnList = data.providerApnList.value;
597 for (var i = 0; i < apnList.length; i++) {
598 var option = document.createElement('option');
599 var name = apnList[i].localizedName;
600 if (name == '' && apnList[i].name != '')
601 name = apnList[i].name;
602 if (name == '')
603 name = apnList[i].apn;
604 else
605 name = name + ' (' + apnList[i].apn + ')';
606 option.textContent = name;
607 option.value = i;
608 if ((data.apn.apn == apnList[i].apn &&
609 data.apn.username == apnList[i].username &&
610 data.apn.password == apnList[i].password) ||
611 (data.apn.apn == '' &&
612 data.lastGoodApn.apn == apnList[i].apn &&
613 data.lastGoodApn.username == apnList[i].username &&
614 data.lastGoodApn.password == apnList[i].password)) {
615 data.selectedApn = i;
616 }
617 // Insert new option before "other" option.
618 apnSelector.add(option, otherOption);
619 }
620 if (data.selectedApn == -1 && data.apn.apn != '') {
621 var option = document.createElement('option');
622 option.textContent = data.apn.apn;
623 option.value = -1;
624 apnSelector.add(option, otherOption);
625 data.selectedApn = apnSelector.length - 2;
626 data.userApnIndex = data.selectedApn;
627 }
628 apnSelector.selectedIndex = data.selectedApn;
629 InternetOptions.prototype.updateHidden_(
630 cr.doc.querySelectorAll('.apn-list-view'),
631 false);
632 InternetOptions.prototype.updateHidden_(
633 cr.doc.querySelectorAll('.apn-details-view'),
634 true);
635
636 InternetOptions.updateSecurityTab(data.simCardLockEnabled.value);
637 }
638 $('autoConnectNetworkCellular').checked = data.autoConnect.value;
639 $('autoConnectNetworkCellular').disabled = false;
640
641 $('buyplanDetails').hidden = !data.showBuyButton;
642 $('activateDetails').hidden = !data.showActivateButton;
643 if (data.showActivateButton) {
644 $('detailsInternetLogin').hidden = true;
645 }
646
647 detailsPage.hascellplan = false;
648 if (data.connected) {
649 detailsPage.nocellplan = false;
650 detailsPage.cellplanloading = true;
651 chrome.send('refreshCellularPlan', [data.servicePath])
652 } else {
653 detailsPage.nocellplan = true;
654 detailsPage.cellplanloading = false;
655 }
656 } else if (data.type == options.internet.Constants.TYPE_VPN) {
657 OptionsPage.showTab($('vpnNavTab'));
658 detailsPage.wireless = false;
659 detailsPage.vpn = true;
660 detailsPage.ethernet = false;
661 detailsPage.cellular = false;
662 detailsPage.gsm = false;
663 $('inetServiceName').textContent = data.service_name;
664 $('inetServerHostname').textContent = data.server_hostname;
665 $('inetProviderType').textContent = data.provider_type;
666 $('inetUsername').textContent = data.username;
667 } else {
668 OptionsPage.showTab($('internetNavTab'));
669 detailsPage.ethernet = true;
670 detailsPage.wireless = false;
671 detailsPage.vpn = false;
672 detailsPage.cellular = false;
673 detailsPage.gsm = false;
674 }
675
676 // Update controlled option indicators.
677 indicators = cr.doc.querySelectorAll(
678 '#detailsInternetPage .controlled-setting-indicator');
679 for (var i = 0; i < indicators.length; i++) {
680 var dataProperty = indicators[i].getAttribute('data');
681 if (dataProperty && data[dataProperty]) {
682 var controlledBy = data[dataProperty].controlledBy;
683 if (controlledBy) {
684 indicators[i].controlledBy = controlledBy;
685 var forElement = $(indicators[i].getAttribute('for'));
686 if (forElement)
687 forElement.disabled = true;
688 if (forElement.type == 'radio' && !forElement.checked)
689 indicators[i].hidden = true;
690 } else {
691 indicators[i].controlledBy = null;
692 }
693 }
694 }
695
696 // Don't show page name in address bar and in history to prevent people
697 // navigate here by hand and solve issue with page session restore.
698 OptionsPage.showPageByName('detailsInternetPage', false);
699 };
700
701 InternetOptions.invalidNetworkSettings = function () {
702 alert(localStrings.getString('invalidNetworkSettings'));
703 };
704
705 // Export
706 return {
707 InternetOptions: InternetOptions
708 };
709 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698