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

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

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

Powered by Google App Engine
This is Rietveld 408576698