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

Side by Side Diff: chrome/browser/resources/settings/internet_page/internet_detail_page.js

Issue 2665913002: MD Settings: Internet: Make detail page layout more robust (Closed)
Patch Set: Created 3 years, 10 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 /** 5 /**
6 * @fileoverview 6 * @fileoverview
7 * 'settings-internet-detail' is the settings subpage containing details 7 * 'settings-internet-detail' is the settings subpage containing details
8 * for a network. 8 * for a network.
9 */ 9 */
10 (function() { 10 (function() {
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 this.networksChangedListener_ = this.onNetworksChangedEvent_.bind(this); 156 this.networksChangedListener_ = this.onNetworksChangedEvent_.bind(this);
157 this.networkingPrivate.onNetworksChanged.addListener( 157 this.networkingPrivate.onNetworksChanged.addListener(
158 this.networksChangedListener_); 158 this.networksChangedListener_);
159 } 159 }
160 var queryParams = settings.getQueryParameters(); 160 var queryParams = settings.getQueryParameters();
161 this.guid = queryParams.get('guid') || ''; 161 this.guid = queryParams.get('guid') || '';
162 if (!this.guid) { 162 if (!this.guid) {
163 console.error('No guid specified for page:' + route); 163 console.error('No guid specified for page:' + route);
164 this.close_(); 164 this.close_();
165 } 165 }
166 // Set basic networkProperties until the are loaded.
michaelpg 2017/01/31 21:47:46 the => they
stevenjb 2017/01/31 22:23:55 Done.
167 var type = /** @type {!chrome.networkingPrivate.NetworkType} */ (
168 queryParams.get('type')) ||
169 CrOnc.Type.WI_FI;
170 this.networkProperties = {
171 GUID: this.guid,
172 Type: type,
173 ConnectionState: CrOnc.ConnectionState.NOT_CONNECTED,
174 Name: {Active: queryParams.get('name') || type},
michaelpg 2017/01/31 21:47:46 nit: var name = ... (as above) the... dependency
stevenjb 2017/01/31 22:23:55 Done.
175 };
166 this.getNetworkDetails_(); 176 this.getNetworkDetails_();
167 }, 177 },
168 178
169 /** @private */ 179 /** @private */
170 close_: function() { 180 close_: function() {
171 // Delay navigating until the next render frame to allow other subpages to 181 // Delay navigating until the next render frame to allow other subpages to
172 // load first. 182 // load first.
173 setTimeout(function() { 183 setTimeout(function() {
174 settings.navigateTo(settings.Route.INTERNET); 184 settings.navigateTo(settings.Route.INTERNET);
175 }); 185 });
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 * @return {boolean} 347 * @return {boolean}
338 * @private 348 * @private
339 */ 349 */
340 isRememberedOrConnected_: function(networkProperties) { 350 isRememberedOrConnected_: function(networkProperties) {
341 return this.isRemembered_(networkProperties) || 351 return this.isRemembered_(networkProperties) ||
342 this.isConnectedState_(networkProperties); 352 this.isConnectedState_(networkProperties);
343 }, 353 },
344 354
345 /** 355 /**
346 * @param {!CrOnc.NetworkProperties} networkProperties 356 * @param {!CrOnc.NetworkProperties} networkProperties
357 * @return {boolean}
358 * @private
359 */
360 isCellular_: function(networkProperties) {
361 return networkProperties.Type == CrOnc.Type.CELLULAR &&
362 !!networkProperties.Cellular;
363 },
364
365 /**
366 * @param {!CrOnc.NetworkProperties} networkProperties
347 * @param {!chrome.networkingPrivate.GlobalPolicy} globalPolicy 367 * @param {!chrome.networkingPrivate.GlobalPolicy} globalPolicy
348 * @return {boolean} 368 * @return {boolean}
349 * @private 369 * @private
350 */ 370 */
351 connectNotAllowed_: function(networkProperties, globalPolicy) { 371 connectNotAllowed_: function(networkProperties, globalPolicy) {
352 return networkProperties.Type == CrOnc.Type.WI_FI && 372 return networkProperties.Type == CrOnc.Type.WI_FI &&
353 !!globalPolicy.AllowOnlyPolicyNetworksToConnect && 373 !!globalPolicy.AllowOnlyPolicyNetworksToConnect &&
354 !this.isPolicySource(networkProperties.Source); 374 !this.isPolicySource(networkProperties.Source);
355 }, 375 },
356 376
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 return false; 410 return false;
391 return this.isRemembered_(networkProperties); 411 return this.isRemembered_(networkProperties);
392 }, 412 },
393 413
394 /** 414 /**
395 * @param {!CrOnc.NetworkProperties} networkProperties 415 * @param {!CrOnc.NetworkProperties} networkProperties
396 * @return {boolean} 416 * @return {boolean}
397 * @private 417 * @private
398 */ 418 */
399 showActivate_: function(networkProperties) { 419 showActivate_: function(networkProperties) {
400 if (networkProperties.Type != CrOnc.Type.CELLULAR) 420 if (!this.isCellular_(networkProperties))
401 return false; 421 return false;
402 var activation = networkProperties.Cellular.ActivationState; 422 var activation = networkProperties.Cellular.ActivationState;
403 return activation == CrOnc.ActivationState.NOT_ACTIVATED || 423 return activation == CrOnc.ActivationState.NOT_ACTIVATED ||
404 activation == CrOnc.ActivationState.PARTIALLY_ACTIVATED; 424 activation == CrOnc.ActivationState.PARTIALLY_ACTIVATED;
405 }, 425 },
406 426
407 /** 427 /**
408 * @param {!CrOnc.NetworkProperties} networkProperties 428 * @param {!CrOnc.NetworkProperties} networkProperties
409 * @param {!chrome.networkingPrivate.GlobalPolicy} globalPolicy 429 * @param {!chrome.networkingPrivate.GlobalPolicy} globalPolicy
410 * @return {boolean} 430 * @return {boolean}
(...skipping 12 matching lines...) Expand all
423 } 443 }
424 return this.isRemembered_(networkProperties); 444 return this.isRemembered_(networkProperties);
425 }, 445 },
426 446
427 /** 447 /**
428 * @param {!CrOnc.NetworkProperties} networkProperties 448 * @param {!CrOnc.NetworkProperties} networkProperties
429 * @return {boolean} 449 * @return {boolean}
430 * @private 450 * @private
431 */ 451 */
432 showViewAccount_: function(networkProperties) { 452 showViewAccount_: function(networkProperties) {
433 // Show either the 'Activate' or the 'View Account' button. 453 // Show either the 'Activate' or the 'View Account' button (Cellular only).
434 if (this.showActivate_(networkProperties)) 454 if (!this.isCellular_(networkProperties) ||
435 return false; 455 this.showActivate_(networkProperties)) {
436
437 if (networkProperties.Type != CrOnc.Type.CELLULAR ||
438 !networkProperties.Cellular) {
439 return false; 456 return false;
440 } 457 }
441 458
442 // Only show if online payment URL is provided or the carrier is Verizon. 459 // Only show if online payment URL is provided or the carrier is Verizon.
443 var carrier = CrOnc.getActiveValue(networkProperties.Cellular.Carrier); 460 var carrier = CrOnc.getActiveValue(networkProperties.Cellular.Carrier);
444 if (carrier != CARRIER_VERIZON) { 461 if (carrier != CARRIER_VERIZON) {
445 var paymentPortal = networkProperties.Cellular.PaymentPortal; 462 var paymentPortal = networkProperties.Cellular.PaymentPortal;
446 if (!paymentPortal || !paymentPortal.Url) 463 if (!paymentPortal || !paymentPortal.Url)
447 return false; 464 return false;
448 } 465 }
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 hasInfoFields_: function() { 732 hasInfoFields_: function() {
716 return this.hasVisibleFields_(this.getInfoFields_()); 733 return this.hasVisibleFields_(this.getInfoFields_());
717 }, 734 },
718 735
719 /** 736 /**
720 * @return {!Array<string>} The fields to display in the info section. 737 * @return {!Array<string>} The fields to display in the info section.
721 * @private 738 * @private
722 */ 739 */
723 getInfoFields_: function() { 740 getInfoFields_: function() {
724 /** @type {!Array<string>} */ var fields = []; 741 /** @type {!Array<string>} */ var fields = [];
725 if (this.networkProperties.Type == CrOnc.Type.CELLULAR) { 742 var type = this.networkProperties.Type;
743 if (type == CrOnc.Type.CELLULAR && !!this.networkProperties.Cellular) {
michaelpg 2017/01/31 21:47:46 maybe put this logic in a helper function, e.g. is
stevenjb 2017/01/31 22:23:55 Well, I have a helper, but we've already extracted
726 fields.push( 744 fields.push(
727 'Cellular.ActivationState', 'Cellular.RoamingState', 745 'Cellular.ActivationState', 'Cellular.RoamingState',
728 'RestrictedConnectivity', 'Cellular.ServingOperator.Name'); 746 'RestrictedConnectivity', 'Cellular.ServingOperator.Name');
729 } 747 } else if (type == CrOnc.Type.VPN && !!this.networkProperties.VPN) {
730 if (this.networkProperties.Type == CrOnc.Type.VPN) {
731 var vpnType = CrOnc.getActiveValue(this.networkProperties.VPN.Type); 748 var vpnType = CrOnc.getActiveValue(this.networkProperties.VPN.Type);
732 if (vpnType == 'ThirdPartyVPN') { 749 if (vpnType == 'ThirdPartyVPN') {
733 fields.push('VPN.ThirdPartyVPN.ProviderName'); 750 fields.push('VPN.ThirdPartyVPN.ProviderName');
734 } else { 751 } else {
735 fields.push('VPN.Host', 'VPN.Type'); 752 fields.push('VPN.Host', 'VPN.Type');
736 if (vpnType == 'OpenVPN') 753 if (vpnType == 'OpenVPN')
737 fields.push('VPN.OpenVPN.Username'); 754 fields.push('VPN.OpenVPN.Username');
738 else if (vpnType == 'L2TP-IPsec') 755 else if (vpnType == 'L2TP-IPsec')
739 fields.push('VPN.L2TP.Username'); 756 fields.push('VPN.L2TP.Username');
740 } 757 }
741 } 758 } else if (type == CrOnc.Type.WI_FI) {
742 if (this.networkProperties.Type == CrOnc.Type.WI_FI)
743 fields.push('RestrictedConnectivity'); 759 fields.push('RestrictedConnectivity');
744 if (this.networkProperties.Type == CrOnc.Type.WI_MAX) { 760 } else if (type == CrOnc.Type.WI_MAX) {
745 fields.push('RestrictedConnectivity', 'WiMAX.EAP.Identity'); 761 fields.push('RestrictedConnectivity', 'WiMAX.EAP.Identity');
746 } 762 }
747 return fields; 763 return fields;
748 }, 764 },
749 765
750 /** 766 /**
751 * @return {!Array<string>} The fields to display in the Advanced section. 767 * @return {!Array<string>} The fields to display in the Advanced section.
752 * @private 768 * @private
753 */ 769 */
754 getAdvancedFields_: function() { 770 getAdvancedFields_: function() {
755 /** @type {!Array<string>} */ var fields = []; 771 /** @type {!Array<string>} */ var fields = [];
756 fields.push('MacAddress'); 772 fields.push('MacAddress');
757 if (this.networkProperties.Type == CrOnc.Type.CELLULAR) { 773 var type = this.networkProperties.Type;
774 if (type == CrOnc.Type.CELLULAR && !!this.networkProperties.Cellular) {
758 fields.push( 775 fields.push(
759 'Cellular.Carrier', 'Cellular.Family', 'Cellular.NetworkTechnology', 776 'Cellular.Carrier', 'Cellular.Family', 'Cellular.NetworkTechnology',
760 'Cellular.ServingOperator.Code'); 777 'Cellular.ServingOperator.Code');
761 } 778 } else if (type == CrOnc.Type.WI_FI) {
762 if (this.networkProperties.Type == CrOnc.Type.WI_FI) {
763 fields.push( 779 fields.push(
764 'WiFi.SSID', 'WiFi.BSSID', 'WiFi.Security', 'WiFi.SignalStrength', 780 'WiFi.SSID', 'WiFi.BSSID', 'WiFi.Security', 'WiFi.SignalStrength',
765 'WiFi.Frequency'); 781 'WiFi.Frequency');
782 } else if (type == CrOnc.Type.WI_MAX) {
783 fields.push('WiFi.SignalStrength');
766 } 784 }
767 if (this.networkProperties.Type == CrOnc.Type.WI_MAX)
768 fields.push('WiFi.SignalStrength');
769 return fields; 785 return fields;
770 }, 786 },
771 787
772 /** 788 /**
773 * @return {!Array<string>} The fields to display in the device section. 789 * @return {!Array<string>} The fields to display in the device section.
774 * @private 790 * @private
775 */ 791 */
776 getDeviceFields_: function() { 792 getDeviceFields_: function() {
777 /** @type {!Array<string>} */ var fields = []; 793 /** @type {!Array<string>} */ var fields = [];
778 if (this.networkProperties.Type == CrOnc.Type.CELLULAR) { 794 if (this.networkProperties.Type == CrOnc.Type.CELLULAR) {
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
866 */ 882 */
867 allPropertiesMatch_: function(curValue, newValue) { 883 allPropertiesMatch_: function(curValue, newValue) {
868 for (var key in newValue) { 884 for (var key in newValue) {
869 if (newValue[key] != curValue[key]) 885 if (newValue[key] != curValue[key])
870 return false; 886 return false;
871 } 887 }
872 return true; 888 return true;
873 } 889 }
874 }); 890 });
875 })(); 891 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698