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

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

Issue 543493002: Compile chrome://settings, part 2: reduce from 950 to 400 errors (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@F_settings
Patch Set: rebase? rebase! Created 6 years, 3 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // require: onc_data.js 5 // require: onc_data.js
6 6
7 // NOTE(stevenjb): This code is in the process of being converted to be 7 // NOTE(stevenjb): This code is in the process of being converted to be
8 // compatible with the networkingPrivate extension API: 8 // compatible with the networkingPrivate extension API:
9 // * The network property dictionaries are being converted to use ONC values. 9 // * The network property dictionaries are being converted to use ONC values.
10 // * chrome.send calls will be replaced with an API object that simulates the 10 // * chrome.send calls will be replaced with an API object that simulates the
11 // networkingPrivate API. See network_config.js. 11 // networkingPrivate API. See network_config.js.
12 // See crbug.com/279351 for more info. 12 // See crbug.com/279351 for more info.
13 13
14 /** @typedef {{activationState: (string|undefined),
15 * carriers: Array,
16 * currentCarrierIndex; (number|undefined),
17 * ipAutoConfig: boolean,
18 * ipconfig: Object,
19 * nameServerType: string,
20 * restrictedPool: (string|undefined),
21 * roamingState: (string|undefined),
22 * savedIP: Object,
23 * showActivateButton: (boolean|undefined)
24 * showViewAccountButton: (boolean|undefined),
25 * staticIP: Object}}
26 * Only the keys which had caused problems are declared in this typedef.
27 * There are many more of them.
28 * @see chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc
29 */
30 var InternetDetailedInfo;
31
14 cr.define('options.internet', function() { 32 cr.define('options.internet', function() {
15 var OncData = cr.onc.OncData; 33 var OncData = cr.onc.OncData;
16 var Page = cr.ui.pageManager.Page; 34 var Page = cr.ui.pageManager.Page;
17 var PageManager = cr.ui.pageManager.PageManager; 35 var PageManager = cr.ui.pageManager.PageManager;
18 /** @const */ var IPAddressField = options.internet.IPAddressField; 36 /** @const */ var IPAddressField = options.internet.IPAddressField;
19 37
20 /** @const */ var GoogleNameServersString = '8.8.4.4,8.8.8.8'; 38 /** @const */ var GoogleNameServersString = '8.8.4.4,8.8.8.8';
21 39
22 /** 40 /**
23 * Helper function to set hidden attribute for elements matching a selector. 41 * Helper function to set hidden attribute for elements matching a selector.
24 * @param {string} selector CSS selector for extracting a list of elements. 42 * @param {string} selector CSS selector for extracting a list of elements.
25 * @param {bool} hidden New hidden value. 43 * @param {boolean} hidden New hidden value.
26 */ 44 */
27 function updateHidden(selector, hidden) { 45 function updateHidden(selector, hidden) {
28 var elements = cr.doc.querySelectorAll(selector); 46 var elements = cr.doc.querySelectorAll(selector);
29 for (var i = 0, el; el = elements[i]; i++) { 47 for (var i = 0, el; el = elements[i]; i++) {
30 el.hidden = hidden; 48 el.hidden = hidden;
31 } 49 }
32 } 50 }
33 51
34 /** 52 /**
35 * Helper function to update the properties of the data object from the 53 * Helper function to update the properties of the data object from the
(...skipping 20 matching lines...) Expand all
56 * UI pref change handler. 74 * UI pref change handler.
57 * @param {Event} e The update event. 75 * @param {Event} e The update event.
58 */ 76 */
59 function handlePrefUpdate(e) { 77 function handlePrefUpdate(e) {
60 DetailsInternetPage.getInstance().updateControls(); 78 DetailsInternetPage.getInstance().updateControls();
61 } 79 }
62 80
63 /** 81 /**
64 * Simple helper method for converting a field to a string. It is used to 82 * Simple helper method for converting a field to a string. It is used to
65 * easily assign an empty string from fields that may be unknown or undefined. 83 * easily assign an empty string from fields that may be unknown or undefined.
66 * @param {object} value that should be converted to a string. 84 * @param {Object} value that should be converted to a string.
67 * @return {string} the result. 85 * @return {string} the result.
68 */ 86 */
69 function stringFromValue(value) { 87 function stringFromValue(value) {
70 return value ? String(value) : ''; 88 return value ? String(value) : '';
71 } 89 }
72 90
73 /** 91 /**
74 * Sends the 'checked' state of a control to chrome for a network. 92 * Sends the 'checked' state of a control to chrome for a network.
75 * @param {string} path The service path of the network. 93 * @param {string} path The service path of the network.
76 * @param {string} message The message to send to chrome. 94 * @param {string} message The message to send to chrome.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 } 126 }
109 return netmask; 127 return netmask;
110 } 128 }
111 129
112 ///////////////////////////////////////////////////////////////////////////// 130 /////////////////////////////////////////////////////////////////////////////
113 // DetailsInternetPage class: 131 // DetailsInternetPage class:
114 132
115 /** 133 /**
116 * Encapsulated handling of ChromeOS internet details overlay page. 134 * Encapsulated handling of ChromeOS internet details overlay page.
117 * @constructor 135 * @constructor
136 * @extends {cr.ui.pageManager.Page}
118 */ 137 */
119 function DetailsInternetPage() { 138 function DetailsInternetPage() {
120 // Cached Apn properties 139 // Cached Apn properties
121 this.userApnIndex_ = -1; 140 this.userApnIndex_ = -1;
122 this.selectedApnIndex_ = -1; 141 this.selectedApnIndex_ = -1;
123 this.userApn_ = {}; 142 this.userApn_ = {};
124 // We show the Proxy configuration tab for remembered networks and when 143 // We show the Proxy configuration tab for remembered networks and when
125 // configuring a proxy from the login screen. 144 // configuring a proxy from the login screen.
126 this.showProxy_ = false; 145 this.showProxy_ = false;
127 // TODO(stevenjb): Use networkingPrivate.getNetworks to set this. 146 // TODO(stevenjb): Use networkingPrivate.getNetworks to set this.
128 this.deviceConnected_ = false; 147 this.deviceConnected_ = false;
129 Page.call(this, 'detailsInternetPage', null, 'details-internet-page'); 148 Page.call(this, 'detailsInternetPage', '', 'details-internet-page');
130 } 149 }
131 150
132 cr.addSingletonGetter(DetailsInternetPage); 151 cr.addSingletonGetter(DetailsInternetPage);
133 152
134 DetailsInternetPage.prototype = { 153 DetailsInternetPage.prototype = {
135 __proto__: Page.prototype, 154 __proto__: Page.prototype,
136 155
137 /** @override */ 156 /** @override */
138 initializePage: function() { 157 initializePage: function() {
139 Page.prototype.initializePage.call(this); 158 Page.prototype.initializePage.call(this);
140 var params = parseQueryParams(window.location); 159 this.initializePageContents_();
141 this.initializePageContents_(params); 160 this.showNetworkDetails_();
142 this.showNetworkDetails_(params);
143 }, 161 },
144 162
145 /** 163 /**
146 * Auto-activates the network details dialog if network information 164 * Auto-activates the network details dialog if network information
147 * is included in the URL. 165 * is included in the URL.
148 */ 166 */
149 showNetworkDetails_: function(params) { 167 showNetworkDetails_: function() {
150 var servicePath = params.servicePath; 168 var servicePath = parseQueryParams(window.location).servicePath;
151 if (!servicePath || !servicePath.length) 169 if (!servicePath || !servicePath.length)
152 return; 170 return;
153 var networkType = ''; // ignored for 'options' 171 var networkType = ''; // ignored for 'options'
154 chrome.send('networkCommand', [networkType, servicePath, 'options']); 172 chrome.send('networkCommand', [networkType, servicePath, 'options']);
155 }, 173 },
156 174
157 /** 175 /**
158 * Initializes the contents of the page. 176 * Initializes the contents of the page.
159 */ 177 */
160 initializePageContents_: function(params) { 178 initializePageContents_: function() {
161 $('details-internet-dismiss').addEventListener('click', function(event) { 179 $('details-internet-dismiss').addEventListener('click', function(event) {
162 DetailsInternetPage.setDetails(); 180 DetailsInternetPage.setDetails();
163 }); 181 });
164 182
165 $('details-internet-login').addEventListener('click', function(event) { 183 $('details-internet-login').addEventListener('click', function(event) {
166 DetailsInternetPage.setDetails(); 184 DetailsInternetPage.setDetails();
167 DetailsInternetPage.loginFromDetails(); 185 DetailsInternetPage.loginFromDetails();
168 }); 186 });
169 187
170 $('details-internet-disconnect').addEventListener('click', 188 $('details-internet-disconnect').addEventListener('click',
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 var bannerText = 'proxyBanner' + controlledBy.charAt(0).toUpperCase() + 487 var bannerText = 'proxyBanner' + controlledBy.charAt(0).toUpperCase() +
470 controlledBy.slice(1); 488 controlledBy.slice(1);
471 $('banner-text').textContent = loadTimeData.getString(bannerText); 489 $('banner-text').textContent = loadTimeData.getString(bannerText);
472 } 490 }
473 }, 491 },
474 492
475 /** 493 /**
476 * Handler for when the user clicks on the checkbox to allow a 494 * Handler for when the user clicks on the checkbox to allow a
477 * single proxy usage. 495 * single proxy usage.
478 * @private 496 * @private
479 * @param {Event} e Click Event.
480 */ 497 */
481 toggleSingleProxy_: function(e) { 498 toggleSingleProxy_: function() {
482 if ($('proxy-all-protocols').checked) { 499 if ($('proxy-all-protocols').checked) {
483 $('multi-proxy').hidden = true; 500 $('multi-proxy').hidden = true;
484 $('single-proxy').hidden = false; 501 $('single-proxy').hidden = false;
485 } else { 502 } else {
486 $('multi-proxy').hidden = false; 503 $('multi-proxy').hidden = false;
487 $('single-proxy').hidden = true; 504 $('single-proxy').hidden = true;
488 } 505 }
489 }, 506 },
490 507
491 /** 508 /**
492 * Handler for when the user clicks on the checkbox to enter 509 * Handler for when the user clicks on the checkbox to enter
493 * auto configuration URL. 510 * auto configuration URL.
494 * @private 511 * @private
495 * @param {Event} e Click Event.
496 */ 512 */
497 handleAutoConfigProxy_: function(e) { 513 handleAutoConfigProxy_: function() {
498 $('proxy-pac-url').disabled = !$('proxy-use-pac-url').checked; 514 $('proxy-pac-url').disabled = !$('proxy-use-pac-url').checked;
499 }, 515 },
500 516
501 /** 517 /**
502 * Handler for selecting a radio button that will disable the manual 518 * Handler for selecting a radio button that will disable the manual
503 * controls. 519 * controls.
504 * @private 520 * @private
505 * @param {Event} e Click event.
506 */ 521 */
507 disableManualProxy_: function(e) { 522 disableManualProxy_: function() {
508 $('ignored-host-list').disabled = true; 523 $('ignored-host-list').disabled = true;
509 $('new-host').disabled = true; 524 $('new-host').disabled = true;
510 $('remove-host').disabled = true; 525 $('remove-host').disabled = true;
511 $('add-host').disabled = true; 526 $('add-host').disabled = true;
512 $('proxy-all-protocols').disabled = true; 527 $('proxy-all-protocols').disabled = true;
513 $('proxy-host-name').disabled = true; 528 $('proxy-host-name').disabled = true;
514 $('proxy-host-port').disabled = true; 529 $('proxy-host-port').disabled = true;
515 $('proxy-host-single-name').disabled = true; 530 $('proxy-host-single-name').disabled = true;
516 $('proxy-host-single-port').disabled = true; 531 $('proxy-host-single-port').disabled = true;
517 $('secure-proxy-host-name').disabled = true; 532 $('secure-proxy-host-name').disabled = true;
518 $('secure-proxy-port').disabled = true; 533 $('secure-proxy-port').disabled = true;
519 $('ftp-proxy').disabled = true; 534 $('ftp-proxy').disabled = true;
520 $('ftp-proxy-port').disabled = true; 535 $('ftp-proxy-port').disabled = true;
521 $('socks-host').disabled = true; 536 $('socks-host').disabled = true;
522 $('socks-port').disabled = true; 537 $('socks-port').disabled = true;
523 $('proxy-use-pac-url').disabled = $('auto-proxy').disabled || 538 $('proxy-use-pac-url').disabled = $('auto-proxy').disabled ||
524 !$('auto-proxy').checked; 539 !$('auto-proxy').checked;
525 $('proxy-pac-url').disabled = $('proxy-use-pac-url').disabled || 540 $('proxy-pac-url').disabled = $('proxy-use-pac-url').disabled ||
526 !$('proxy-use-pac-url').checked; 541 !$('proxy-use-pac-url').checked;
527 $('auto-proxy-parms').hidden = !$('auto-proxy').checked; 542 $('auto-proxy-parms').hidden = !$('auto-proxy').checked;
528 $('manual-proxy-parms').hidden = !$('manual-proxy').checked; 543 $('manual-proxy-parms').hidden = !$('manual-proxy').checked;
529 chrome.send('coreOptionsUserMetricsAction', 544 chrome.send('coreOptionsUserMetricsAction',
530 ['Options_NetworkManualProxy_Disable']); 545 ['Options_NetworkManualProxy_Disable']);
531 }, 546 },
532 547
533 /** 548 /**
534 * Handler for selecting a radio button that will enable the manual 549 * Handler for selecting a radio button that will enable the manual
535 * controls. 550 * controls.
536 * @private 551 * @private
537 * @param {Event} e Click event.
538 */ 552 */
539 enableManualProxy_: function(e) { 553 enableManualProxy_: function() {
540 $('ignored-host-list').redraw(); 554 $('ignored-host-list').redraw();
541 var allDisabled = $('manual-proxy').disabled; 555 var allDisabled = $('manual-proxy').disabled;
542 $('ignored-host-list').disabled = allDisabled; 556 $('ignored-host-list').disabled = allDisabled;
543 $('new-host').disabled = allDisabled; 557 $('new-host').disabled = allDisabled;
544 $('remove-host').disabled = allDisabled; 558 $('remove-host').disabled = allDisabled;
545 $('add-host').disabled = allDisabled; 559 $('add-host').disabled = allDisabled;
546 $('proxy-all-protocols').disabled = allDisabled; 560 $('proxy-all-protocols').disabled = allDisabled;
547 $('proxy-host-name').disabled = allDisabled; 561 $('proxy-host-name').disabled = allDisabled;
548 $('proxy-host-port').disabled = allDisabled; 562 $('proxy-host-port').disabled = allDisabled;
549 $('proxy-host-single-name').disabled = allDisabled; 563 $('proxy-host-single-name').disabled = allDisabled;
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
967 } 981 }
968 PageManager.closeOverlay(); 982 PageManager.closeOverlay();
969 }; 983 };
970 984
971 DetailsInternetPage.setDetails = function() { 985 DetailsInternetPage.setDetails = function() {
972 var detailsPage = DetailsInternetPage.getInstance(); 986 var detailsPage = DetailsInternetPage.getInstance();
973 var type = detailsPage.type_; 987 var type = detailsPage.type_;
974 var servicePath = detailsPage.servicePath_; 988 var servicePath = detailsPage.servicePath_;
975 if (type == 'WiFi') { 989 if (type == 'WiFi') {
976 sendCheckedIfEnabled(servicePath, 'setPreferNetwork', 990 sendCheckedIfEnabled(servicePath, 'setPreferNetwork',
977 $('prefer-network-wifi')); 991 assertInstanceof($('prefer-network-wifi'), HTMLInputElement));
978 sendCheckedIfEnabled(servicePath, 'setAutoConnect', 992 sendCheckedIfEnabled(servicePath, 'setAutoConnect',
979 $('auto-connect-network-wifi')); 993 assertInstanceof($('auto-connect-network-wifi'), HTMLInputElement));
980 } else if (type == 'Wimax') { 994 } else if (type == 'Wimax') {
981 sendCheckedIfEnabled(servicePath, 'setAutoConnect', 995 sendCheckedIfEnabled(servicePath, 'setAutoConnect',
982 $('auto-connect-network-wimax')); 996 assertInstanceof($('auto-connect-network-wimax'), HTMLInputElement));
983 } else if (type == 'Cellular') { 997 } else if (type == 'Cellular') {
984 sendCheckedIfEnabled(servicePath, 'setAutoConnect', 998 sendCheckedIfEnabled(servicePath, 'setAutoConnect',
985 $('auto-connect-network-cellular')); 999 assertInstanceof($('auto-connect-network-cellular'),
1000 HTMLInputElement));
986 } else if (type == 'VPN') { 1001 } else if (type == 'VPN') {
987 chrome.send('setServerHostname', 1002 chrome.send('setServerHostname',
988 [servicePath, 1003 [servicePath,
989 $('inet-server-hostname').value]); 1004 $('inet-server-hostname').value]);
990 sendCheckedIfEnabled(servicePath, 'setAutoConnect', 1005 sendCheckedIfEnabled(servicePath, 'setAutoConnect',
991 $('auto-connect-network-vpn')); 1006 assertInstanceof($('auto-connect-network-vpn'), HTMLInputElement));
992 } 1007 }
993 1008
994 var nameServerTypes = ['automatic', 'google', 'user']; 1009 var nameServerTypes = ['automatic', 'google', 'user'];
995 var nameServerType = 'automatic'; 1010 var nameServerType = 'automatic';
996 for (var i = 0; i < nameServerTypes.length; ++i) { 1011 for (var i = 0; i < nameServerTypes.length; ++i) {
997 if ($(nameServerTypes[i] + '-dns-radio').checked) { 1012 if ($(nameServerTypes[i] + '-dns-radio').checked) {
998 nameServerType = nameServerTypes[i]; 1013 nameServerType = nameServerTypes[i];
999 break; 1014 break;
1000 } 1015 }
1001 } 1016 }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1064 1079
1065 // Update our cached data object. 1080 // Update our cached data object.
1066 var onc = detailsPage.onc_; 1081 var onc = detailsPage.onc_;
1067 onc.updateData(update); 1082 onc.updateData(update);
1068 1083
1069 detailsPage.populateHeader_(); 1084 detailsPage.populateHeader_();
1070 detailsPage.updateConnectionButtonVisibilty_(); 1085 detailsPage.updateConnectionButtonVisibilty_();
1071 detailsPage.updateDetails_(update); 1086 detailsPage.updateDetails_(update);
1072 }; 1087 };
1073 1088
1089 /**
1090 * @param {InternetDetailedInfo} data
1091 */
1074 DetailsInternetPage.showDetailedInfo = function(data) { 1092 DetailsInternetPage.showDetailedInfo = function(data) {
1075 var onc = new OncData(data); 1093 var onc = new OncData(data);
1076 1094
1077 var detailsPage = DetailsInternetPage.getInstance(); 1095 var detailsPage = DetailsInternetPage.getInstance();
1078 detailsPage.onc_ = onc; 1096 detailsPage.onc_ = onc;
1079 var type = onc.getActiveValue('Type'); 1097 var type = onc.getActiveValue('Type');
1080 detailsPage.type_ = type; 1098 detailsPage.type_ = type;
1081 detailsPage.servicePath_ = data.servicePath; 1099 detailsPage.servicePath_ = data.servicePath;
1082 1100
1083 detailsPage.populateHeader_(); 1101 detailsPage.populateHeader_();
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
1421 1439
1422 // Don't show page name in address bar and in history to prevent people 1440 // Don't show page name in address bar and in history to prevent people
1423 // navigate here by hand and solve issue with page session restore. 1441 // navigate here by hand and solve issue with page session restore.
1424 PageManager.showPageByName('detailsInternetPage', false); 1442 PageManager.showPageByName('detailsInternetPage', false);
1425 }; 1443 };
1426 1444
1427 return { 1445 return {
1428 DetailsInternetPage: DetailsInternetPage 1446 DetailsInternetPage: DetailsInternetPage
1429 }; 1447 };
1430 }); 1448 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698