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

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

Issue 544173013: Make network settings functions more closely match networkingPrivate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@issue_279351_internet_options_10c
Patch Set: . 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 cr.define('options.network', function() { 5 cr.define('options.network', function() {
6 var ArrayDataModel = cr.ui.ArrayDataModel; 6 var ArrayDataModel = cr.ui.ArrayDataModel;
7 var List = cr.ui.List; 7 var List = cr.ui.List;
8 var ListItem = cr.ui.ListItem; 8 var ListItem = cr.ui.ListItem;
9 var ListSingleSelectionModel = cr.ui.ListSingleSelectionModel; 9 var ListSingleSelectionModel = cr.ui.ListSingleSelectionModel;
10 var Menu = cr.ui.Menu; 10 var Menu = cr.ui.Menu;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 var cellularEnabled_ = false; 56 var cellularEnabled_ = false;
57 57
58 /** 58 /**
59 * Indicates if cellular device supports network scanning. 59 * Indicates if cellular device supports network scanning.
60 * @type {boolean} 60 * @type {boolean}
61 * @private 61 * @private
62 */ 62 */
63 var cellularSupportsScan_ = false; 63 var cellularSupportsScan_ = false;
64 64
65 /** 65 /**
66 * Indicates if cellular device supports network scanning.
armansito 2014/09/16 16:40:41 Shouldn't this be something like "Indicates the cu
stevenjb 2014/09/16 17:32:58 Done.
67 * @type {boolean}
68 * @private
69 */
70 var cellularSimLockType_ = '';
71
72 /**
73 * Indicates if cellular device supports network scanning.
armansito 2014/09/16 16:40:41 Copy-paste?
stevenjb 2014/09/16 17:32:58 Done.
74 * @type {boolean}
75 * @private
76 */
77 var cellularSimAbsent_ = false;
78
79 /**
66 * Indicates if WiMAX networks are available. 80 * Indicates if WiMAX networks are available.
67 * @type {boolean} 81 * @type {boolean}
68 * @private 82 * @private
69 */ 83 */
70 var wimaxAvailable_ = false; 84 var wimaxAvailable_ = false;
71 85
72 /** 86 /**
73 * Indicates if WiMAX networks are enabled. 87 * Indicates if WiMAX networks are enabled.
74 * @type {boolean} 88 * @type {boolean}
75 * @private 89 * @private
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 parent.appendChild(this.menu_); 375 parent.appendChild(this.menu_);
362 } 376 }
363 var top = this.offsetTop + this.clientHeight; 377 var top = this.offsetTop + this.clientHeight;
364 var menuId = this.getMenuName(); 378 var menuId = this.getMenuName();
365 if (menuId != activeMenu_ || rebuild) { 379 if (menuId != activeMenu_ || rebuild) {
366 closeMenu_(); 380 closeMenu_();
367 activeMenu_ = menuId; 381 activeMenu_ = menuId;
368 this.menu_.style.setProperty('top', top + 'px'); 382 this.menu_.style.setProperty('top', top + 'px');
369 this.menu_.hidden = false; 383 this.menu_.hidden = false;
370 } 384 }
371 if (rescan) 385 if (rescan) {
372 chrome.send('refreshNetworks'); 386 // TODO(stevenjb): chrome.networkingPrivate.requestNetworkScan
373 }, 387 chrome.send('requestNetworkScan');
388 }
389 }
374 }; 390 };
375 391
376 /** 392 /**
377 * Creates a control for selecting or configuring a network connection based 393 * Creates a control for selecting or configuring a network connection based
378 * on the type of connection (e.g. wifi versus vpn). 394 * on the type of connection (e.g. wifi versus vpn).
379 * @param {{key: string, networkList: Array.<Object>}} data Description of the 395 * @param {{key: string, networkList: Array.<Object>}} data Description of the
380 * network. 396 * network.
381 * @constructor 397 * @constructor
382 * @extends {NetworkMenuItem} 398 * @extends {NetworkMenuItem}
383 */ 399 */
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 list = this.data.networkList; 520 list = this.data.networkList;
505 var empty = !list || list.length == 0; 521 var empty = !list || list.length == 0;
506 if (list) { 522 if (list) {
507 for (var i = 0; i < list.length; i++) { 523 for (var i = 0; i < list.length; i++) {
508 var data = list[i]; 524 var data = list[i];
509 this.createNetworkOptionsCallback_(networkGroup, data); 525 this.createNetworkOptionsCallback_(networkGroup, data);
510 if (data.ConnectionState == 'Connected') { 526 if (data.ConnectionState == 'Connected') {
511 if (data.Type == 'VPN') { 527 if (data.Type == 'VPN') {
512 var disconnectCallback = function() { 528 var disconnectCallback = function() {
513 sendChromeMetricsAction('Options_NetworkDisconnectVPN'); 529 sendChromeMetricsAction('Options_NetworkDisconnectVPN');
514 chrome.send('networkCommand', 530 // TODO(stevenjb): chrome.networkingPrivate.startDisconnect
515 ['VPN', data.servicePath, 'disconnect']); 531 chrome.send('startDisconnect', [data.servicePath]);
516 }; 532 };
517 // Add separator 533 // Add separator
518 addendum.push({}); 534 addendum.push({});
519 addendum.push({label: loadTimeData.getString('disconnectNetwork'), 535 addendum.push({label: loadTimeData.getString('disconnectNetwork'),
520 command: disconnectCallback, 536 command: disconnectCallback,
521 data: data}); 537 data: data});
522 } 538 }
523 } 539 }
524 } 540 }
525 } 541 }
526 if (this.data_.key == 'WiFi' || this.data_.key == 'Wimax' || 542 if (this.data_.key == 'WiFi' || this.data_.key == 'Wimax' ||
527 this.data_.key == 'Cellular') { 543 this.data_.key == 'Cellular') {
528 addendum.push({}); 544 addendum.push({});
529 if (this.data_.key == 'WiFi') { 545 if (this.data_.key == 'WiFi') {
530 addendum.push({label: loadTimeData.getString('turnOffWifi'), 546 addendum.push({
531 command: function() { 547 label: loadTimeData.getString('turnOffWifi'),
532 sendChromeMetricsAction('Options_NetworkWifiToggle'); 548 command: function() {
533 chrome.send('disableWifi'); 549 sendChromeMetricsAction('Options_NetworkWifiToggle');
534 }, 550 // TODO(stevenjb): chrome.networkingPrivate.disableNetworkType
535 data: {}}); 551 chrome.send('disableNetworkType', ['WiFi']);
552 },
553 data: {}});
536 } else if (this.data_.key == 'Wimax') { 554 } else if (this.data_.key == 'Wimax') {
537 addendum.push({label: loadTimeData.getString('turnOffWimax'), 555 addendum.push({
538 command: function() { 556 label: loadTimeData.getString('turnOffWimax'),
539 chrome.send('disableWimax'); 557 command: function() {
540 }, 558 // TODO(stevenjb): chrome.networkingPrivate.disableNetworkType
541 data: {}}); 559 chrome.send('disableNetworkType', ['Wimax']);
560 },
561 data: {}});
542 } else if (this.data_.key == 'Cellular') { 562 } else if (this.data_.key == 'Cellular') {
543 addendum.push({label: loadTimeData.getString('turnOffCellular'), 563 addendum.push({
544 command: function() { 564 label: loadTimeData.getString('turnOffCellular'),
545 chrome.send('disableCellular'); 565 command: function() {
546 }, 566 // TODO(stevenjb): chrome.networkingPrivate.disableNetworkType
547 data: {}}); 567 chrome.send('disableNetworkType', ['Cellular']);
568 },
569 data: {}});
548 } 570 }
549 } 571 }
550 if (!empty) 572 if (!empty)
551 menu.appendChild(networkGroup); 573 menu.appendChild(networkGroup);
552 if (addendum.length > 0) { 574 if (addendum.length > 0) {
553 var separator = false; 575 var separator = false;
554 if (!empty) { 576 if (!empty) {
555 menu.appendChild(MenuItem.createSeparator()); 577 menu.appendChild(MenuItem.createSeparator());
556 separator = true; 578 separator = true;
557 } 579 }
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 /** 674 /**
653 * Adds a menu item for showing network details. 675 * Adds a menu item for showing network details.
654 * @param {!Element} parent The parent element. 676 * @param {!Element} parent The parent element.
655 * @param {Object} data Description of the network. 677 * @param {Object} data Description of the network.
656 * @private 678 * @private
657 */ 679 */
658 createNetworkOptionsCallback_: function(parent, data) { 680 createNetworkOptionsCallback_: function(parent, data) {
659 var menuItem = createCallback_(parent, 681 var menuItem = createCallback_(parent,
660 data, 682 data,
661 getNetworkName(data), 683 getNetworkName(data),
662 'options', 684 'showDetails',
663 data.iconURL); 685 data.iconURL);
664 if (data.policyManaged) 686 if (data.policyManaged)
665 menuItem.appendChild(new ManagedNetworkIndicator()); 687 menuItem.appendChild(new ManagedNetworkIndicator());
666 if (data.ConnectionState == 'Connected' || 688 if (data.ConnectionState == 'Connected' ||
667 data.ConnectionState == 'Connecting') { 689 data.ConnectionState == 'Connecting') {
668 var label = menuItem.getElementsByClassName( 690 var label = menuItem.getElementsByClassName(
669 'network-menu-item-label')[0]; 691 'network-menu-item-label')[0];
670 label.classList.add('active-network'); 692 label.classList.add('active-network');
671 } 693 }
672 } 694 }
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 * cellularAvailable: boolean, cellularEnabled: boolean, 977 * cellularAvailable: boolean, cellularEnabled: boolean,
956 * cellularSupportsScan: boolean}} data Description of available network 978 * cellularSupportsScan: boolean}} data Description of available network
957 * devices and their corresponding state. 979 * devices and their corresponding state.
958 */ 980 */
959 NetworkList.refreshNetworkData = function(data) { 981 NetworkList.refreshNetworkData = function(data) {
960 var networkList = $('network-list'); 982 var networkList = $('network-list');
961 networkList.startBatchUpdates(); 983 networkList.startBatchUpdates();
962 cellularAvailable_ = data.cellularAvailable; 984 cellularAvailable_ = data.cellularAvailable;
963 cellularEnabled_ = data.cellularEnabled; 985 cellularEnabled_ = data.cellularEnabled;
964 cellularSupportsScan_ = data.cellularSupportsScan; 986 cellularSupportsScan_ = data.cellularSupportsScan;
987 cellularSimAbsent_ = data.cellularSimAbsent;
988 cellularSimLockType_ = data.cellularSimLockType;
965 wimaxAvailable_ = data.wimaxAvailable; 989 wimaxAvailable_ = data.wimaxAvailable;
966 wimaxEnabled_ = data.wimaxEnabled; 990 wimaxEnabled_ = data.wimaxEnabled;
967 991
968 // Only show Ethernet control if connected. 992 // Only show Ethernet control if connected.
969 var ethernetConnection = getConnection_(data.wiredList); 993 var ethernetConnection = getConnection_(data.wiredList);
970 if (ethernetConnection) { 994 if (ethernetConnection) {
971 var type = String('Ethernet'); 995 var type = String('Ethernet');
972 var path = ethernetConnection.servicePath; 996 var path = ethernetConnection.servicePath;
973 var ethernetOptions = function() { 997 var ethernetOptions = function() {
974 chrome.send('networkCommand', 998 chrome.send('networkCommand', [type, path, 'showDetails']);
975 [type, path, 'options']);
976 }; 999 };
977 networkList.update( 1000 networkList.update(
978 { key: 'Ethernet', 1001 { key: 'Ethernet',
979 subtitle: loadTimeData.getString('OncConnectionStateConnected'), 1002 subtitle: loadTimeData.getString('OncConnectionStateConnected'),
980 iconURL: ethernetConnection.iconURL, 1003 iconURL: ethernetConnection.iconURL,
981 command: ethernetOptions, 1004 command: ethernetOptions,
982 policyManaged: ethernetConnection.policyManaged } 1005 policyManaged: ethernetConnection.policyManaged }
983 ); 1006 );
984 } else { 1007 } else {
985 networkList.deleteItem('Ethernet'); 1008 networkList.deleteItem('Ethernet');
986 } 1009 }
987 1010
988 if (data.wifiEnabled) 1011 if (data.wifiEnabled)
989 loadData_('WiFi', data.wirelessList, data.rememberedList); 1012 loadData_('WiFi', data.wirelessList, data.rememberedList);
990 else 1013 else
991 addEnableNetworkButton_('WiFi', 'enableWifi', 'WiFi'); 1014 addEnableNetworkButton_('WiFi');
992 1015
993 // Only show cellular control if available. 1016 // Only show cellular control if available.
994 if (data.cellularAvailable) { 1017 if (data.cellularAvailable) {
995 if (data.cellularEnabled) 1018 if (data.cellularEnabled)
996 loadData_('Cellular', data.wirelessList, data.rememberedList); 1019 loadData_('Cellular', data.wirelessList, data.rememberedList);
997 else 1020 else
998 addEnableNetworkButton_('Cellular', 'enableCellular', 'Cellular'); 1021 addEnableNetworkButton_('Cellular');
999 } else { 1022 } else {
1000 networkList.deleteItem('Cellular'); 1023 networkList.deleteItem('Cellular');
1001 } 1024 }
1002 1025
1003 // Only show wimax control if available. Uses cellular icons. 1026 // Only show wimax control if available. Uses cellular icons.
1004 if (data.wimaxAvailable) { 1027 if (data.wimaxAvailable) {
1005 if (data.wimaxEnabled) 1028 if (data.wimaxEnabled)
1006 loadData_('Wimax', data.wirelessList, data.rememberedList); 1029 loadData_('Wimax', data.wirelessList, data.rememberedList);
1007 else 1030 else
1008 addEnableNetworkButton_('Wimax', 'enableWimax', 'Cellular'); 1031 addEnableNetworkButton_('Wimax');
1009 } else { 1032 } else {
1010 networkList.deleteItem('Wimax'); 1033 networkList.deleteItem('Wimax');
1011 } 1034 }
1012 1035
1013 // Only show VPN control if there is at least one VPN configured. 1036 // Only show VPN control if there is at least one VPN configured.
1014 if (data.vpnList.length > 0) 1037 if (data.vpnList.length > 0)
1015 loadData_('VPN', data.vpnList, data.rememberedList); 1038 loadData_('VPN', data.vpnList, data.rememberedList);
1016 else 1039 else
1017 networkList.deleteItem('VPN'); 1040 networkList.deleteItem('VPN');
1018 networkList.endBatchUpdates(); 1041 networkList.endBatchUpdates();
1019 }; 1042 };
1020 1043
1021 /** 1044 /**
1022 * Replaces a network menu with a button for reenabling the type of network. 1045 * Replaces a network menu with a button for enabling the network type.
1023 * @param {string} name The type of network (WiFi, Cellular or Wimax). 1046 * @param {string} type The type of network (WiFi, Cellular or Wimax).
1024 * @param {string} command The command for reenabling the network.
1025 * @param {string} icon Type of icon (WiFi or Cellular).
1026 * @private 1047 * @private
1027 */ 1048 */
1028 function addEnableNetworkButton_(type, command, icon) { 1049 function addEnableNetworkButton_(type) {
1029 var subtitle = loadTimeData.getString('networkDisabled'); 1050 var subtitle = loadTimeData.getString('networkDisabled');
1051 var icon = (type == 'Wimax') ? 'Cellular' : type;
1030 var enableNetwork = function() { 1052 var enableNetwork = function() {
1031 if (type == 'WiFi') 1053 if (type == 'WiFi')
1032 sendChromeMetricsAction('Options_NetworkWifiToggle'); 1054 sendChromeMetricsAction('Options_NetworkWifiToggle');
1033 chrome.send(command); 1055 if (type == 'Cellular') {
1056 if (cellularSimLockType_) {
1057 chrome.send('simOperation', ['unlock']);
1058 return;
1059 } else if (cellularEnabled_ && cellularSimAbsent_) {
1060 chrome.send('simOperation', ['configure']);
1061 return;
1062 }
1063 }
1064 // TODO(stevenjb): chrome.networkingPrivate.enableNetworkType
1065 chrome.send('enableNetworkType', [type]);
1034 }; 1066 };
1035 var networkList = $('network-list'); 1067 $('network-list').update({key: type,
1036 networkList.update({key: type, 1068 subtitle: subtitle,
1037 subtitle: subtitle, 1069 iconType: icon,
1038 iconType: icon, 1070 command: enableNetwork});
1039 command: enableNetwork});
1040 } 1071 }
1041 1072
1042 /** 1073 /**
1043 * Element for indicating a policy managed network. 1074 * Element for indicating a policy managed network.
1044 * @constructor 1075 * @constructor
1045 * @extends {options.ControlledSettingIndicator} 1076 * @extends {options.ControlledSettingIndicator}
1046 */ 1077 */
1047 function ManagedNetworkIndicator() { 1078 function ManagedNetworkIndicator() {
1048 var el = cr.doc.createElement('span'); 1079 var el = cr.doc.createElement('span');
1049 el.__proto__ = ManagedNetworkIndicator.prototype; 1080 el.__proto__ = ManagedNetworkIndicator.prototype;
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
1172 /** 1203 /**
1173 * Whether the Network list is disabled. Only used for display purpose. 1204 * Whether the Network list is disabled. Only used for display purpose.
1174 */ 1205 */
1175 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); 1206 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR);
1176 1207
1177 // Export 1208 // Export
1178 return { 1209 return {
1179 NetworkList: NetworkList 1210 NetworkList: NetworkList
1180 }; 1211 };
1181 }); 1212 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698