Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 /** | |
| 6 * @typedef {{ | |
| 7 * ConnectionState: string, | |
| 8 * iconURL: string, | |
| 9 * policyManaged: boolean, | |
| 10 * servicePath: string | |
| 11 * }} | |
| 12 * @see chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc | |
| 13 */ | |
| 14 var NetworkInfo; | |
| 15 | |
| 5 cr.define('options.network', function() { | 16 cr.define('options.network', function() { |
| 6 var ArrayDataModel = cr.ui.ArrayDataModel; | 17 var ArrayDataModel = cr.ui.ArrayDataModel; |
| 7 var List = cr.ui.List; | 18 var List = cr.ui.List; |
| 8 var ListItem = cr.ui.ListItem; | 19 var ListItem = cr.ui.ListItem; |
| 9 var ListSingleSelectionModel = cr.ui.ListSingleSelectionModel; | 20 var ListSingleSelectionModel = cr.ui.ListSingleSelectionModel; |
| 10 var Menu = cr.ui.Menu; | 21 var Menu = cr.ui.Menu; |
| 11 var MenuItem = cr.ui.MenuItem; | 22 var MenuItem = cr.ui.MenuItem; |
| 12 var ControlledSettingIndicator = options.ControlledSettingIndicator; | 23 var ControlledSettingIndicator = options.ControlledSettingIndicator; |
| 13 | 24 |
| 14 /** | 25 /** |
| (...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 362 this.menu_.hidden = false; | 373 this.menu_.hidden = false; |
| 363 } | 374 } |
| 364 if (rescan) | 375 if (rescan) |
| 365 chrome.send('refreshNetworks'); | 376 chrome.send('refreshNetworks'); |
| 366 }, | 377 }, |
| 367 }; | 378 }; |
| 368 | 379 |
| 369 /** | 380 /** |
| 370 * Creates a control for selecting or configuring a network connection based | 381 * Creates a control for selecting or configuring a network connection based |
| 371 * on the type of connection (e.g. wifi versus vpn). | 382 * on the type of connection (e.g. wifi versus vpn). |
| 372 * @param {{key: string, networkList: Array.<Object>}} data Description of the | 383 * @param {{key: string, networkList: Array.<NetworkInfo>}} data Description |
| 373 * network. | 384 * of the network. |
| 374 * @constructor | 385 * @constructor |
| 375 * @extends {NetworkMenuItem} | 386 * @extends {NetworkMenuItem} |
| 376 */ | 387 */ |
| 377 function NetworkSelectorItem(data) { | 388 function NetworkSelectorItem(data) { |
| 378 var el = new NetworkMenuItem(data); | 389 var el = new NetworkMenuItem(data); |
| 379 el.__proto__ = NetworkSelectorItem.prototype; | 390 el.__proto__ = NetworkSelectorItem.prototype; |
| 380 el.decorate(); | 391 el.decorate(); |
| 381 return el; | 392 return el; |
| 382 } | 393 } |
| 383 | 394 |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 613 discardOnClose = true; | 624 discardOnClose = true; |
| 614 } | 625 } |
| 615 } | 626 } |
| 616 oldMenu.data = {discardOnClose: discardOnClose}; | 627 oldMenu.data = {discardOnClose: discardOnClose}; |
| 617 return true; | 628 return true; |
| 618 }, | 629 }, |
| 619 | 630 |
| 620 /** | 631 /** |
| 621 * Extracts a mapping of network names to menu element and position. | 632 * Extracts a mapping of network names to menu element and position. |
| 622 * @param {!Element} menu The menu to process. | 633 * @param {!Element} menu The menu to process. |
| 623 * @return {Object.<string, {index: number, button: Element}>} | 634 * @return {Object.<string, ?{index: number, button: Element}>} |
| 624 * Network mapping. | 635 * Network mapping. |
| 625 * @private | 636 * @private |
| 626 */ | 637 */ |
| 627 extractNetworkConnectButtons_: function(menu) { | 638 extractNetworkConnectButtons_: function(menu) { |
| 628 var group = menu.getElementsByClassName('network-menu-group')[0]; | 639 var group = menu.getElementsByClassName('network-menu-group')[0]; |
| 629 var networkButtons = {}; | 640 var networkButtons = {}; |
| 630 if (!group) | 641 if (!group) |
| 631 return networkButtons; | 642 return networkButtons; |
| 632 var buttons = group.getElementsByClassName('network-menu-item'); | 643 var buttons = group.getElementsByClassName('network-menu-item'); |
| 633 for (var i = 0; i < buttons.length; i++) { | 644 for (var i = 0; i < buttons.length; i++) { |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 883 this.dataModel.splice(referenceIndex + 1, 0, data); | 894 this.dataModel.splice(referenceIndex + 1, 0, data); |
| 884 } | 895 } |
| 885 } else { | 896 } else { |
| 886 var entry = this.dataModel.item(index); | 897 var entry = this.dataModel.item(index); |
| 887 data.sortIndex = entry.sortIndex; | 898 data.sortIndex = entry.sortIndex; |
| 888 this.dataModel.splice(index, 1, data); | 899 this.dataModel.splice(index, 1, data); |
| 889 } | 900 } |
| 890 this.endBatchUpdates(); | 901 this.endBatchUpdates(); |
| 891 }, | 902 }, |
| 892 | 903 |
| 893 /** @override */ | 904 /** |
| 905 * @override | |
| 906 * @param {Object} entry | |
| 907 */ | |
| 894 createItem: function(entry) { | 908 createItem: function(entry) { |
| 895 if (entry.networkList) | 909 if (entry.networkList) |
| 896 return new NetworkSelectorItem(entry); | 910 return new NetworkSelectorItem( |
| 911 /** @type {{key: string, networkList: Array.<NetworkInfo>}} */( | |
| 912 entry)); | |
|
Dan Beam
2014/09/12 03:25:19
indent off
Vitaly Pavlenko
2014/09/12 19:16:23
This way?
Dan Beam
2014/09/16 01:04:14
yes
Vitaly Pavlenko
2014/09/16 03:11:20
Acknowledged.
| |
| 897 if (entry.command) | 913 if (entry.command) |
| 898 return new NetworkButtonItem(entry); | 914 return new NetworkButtonItem( |
| 915 /** @type {{key: string, subtitle: string, command: Function}} */( | |
| 916 entry)); | |
| 899 if (entry.menu) | 917 if (entry.menu) |
| 900 return new NetworkMenuItem(entry); | 918 return new NetworkMenuItem(entry); |
| 901 return undefined; | 919 return undefined; |
| 902 }, | 920 }, |
| 903 | 921 |
| 904 /** | 922 /** |
| 905 * Deletes an element from the list. | 923 * Deletes an element from the list. |
| 906 * @param {string} key Unique identifier for the element. | 924 * @param {string} key Unique identifier for the element. |
| 907 */ | 925 */ |
| 908 deleteItem: function(key) { | 926 deleteItem: function(key) { |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 931 * Sets the default icon to use for each network type if disconnected. | 949 * Sets the default icon to use for each network type if disconnected. |
| 932 * @param {!Object.<string, string>} data Mapping of network type to icon | 950 * @param {!Object.<string, string>} data Mapping of network type to icon |
| 933 * data url. | 951 * data url. |
| 934 */ | 952 */ |
| 935 NetworkList.setDefaultNetworkIcons = function(data) { | 953 NetworkList.setDefaultNetworkIcons = function(data) { |
| 936 defaultIcons_ = Object.create(data); | 954 defaultIcons_ = Object.create(data); |
| 937 }; | 955 }; |
| 938 | 956 |
| 939 /** | 957 /** |
| 940 * Chrome callback for updating network controls. | 958 * Chrome callback for updating network controls. |
| 941 * @param {{wiredList: Array, wirelessList: Array, vpnList: Array, | 959 * @param {{wiredList: Array.<NetworkInfo>, wirelessList: Array.<NetworkInfo>, |
| 942 * rememberedList: Array, wifiAvailable: boolean, wifiEnabled: boolean, | 960 * vpnList: Array.<NetworkInfo>, rememberedList: Array.<NetworkInfo>, |
| 943 * wimaxAvailable: boolean, wimaxEnabled: boolean, | 961 * wifiAvailable: boolean, wifiEnabled: boolean, wimaxAvailable: boolean, |
| 944 * cellularAvailable: boolean, cellularEnabled: boolean, | 962 * wimaxEnabled: boolean, cellularAvailable: boolean, |
| 945 * cellularSupportsScan: boolean}} data Description of available network | 963 * cellularEnabled: boolean, cellularSupportsScan: boolean}} data |
| 946 * devices and their corresponding state. | 964 * Description of available network devices and their corresponding state. |
| 947 */ | 965 */ |
| 948 NetworkList.refreshNetworkData = function(data) { | 966 NetworkList.refreshNetworkData = function(data) { |
| 949 var networkList = $('network-list'); | 967 var networkList = $('network-list'); |
| 950 networkList.startBatchUpdates(); | 968 networkList.startBatchUpdates(); |
| 951 cellularAvailable_ = data.cellularAvailable; | 969 cellularAvailable_ = data.cellularAvailable; |
| 952 cellularEnabled_ = data.cellularEnabled; | 970 cellularEnabled_ = data.cellularEnabled; |
| 953 cellularSupportsScan_ = data.cellularSupportsScan; | 971 cellularSupportsScan_ = data.cellularSupportsScan; |
| 954 wimaxAvailable_ = data.wimaxAvailable; | 972 wimaxAvailable_ = data.wimaxAvailable; |
| 955 wimaxEnabled_ = data.wimaxEnabled; | 973 wimaxEnabled_ = data.wimaxEnabled; |
| 956 | 974 |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1155 /** | 1173 /** |
| 1156 * Whether the Network list is disabled. Only used for display purpose. | 1174 * Whether the Network list is disabled. Only used for display purpose. |
| 1157 */ | 1175 */ |
| 1158 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); | 1176 cr.defineProperty(NetworkList, 'disabled', cr.PropertyKind.BOOL_ATTR); |
| 1159 | 1177 |
| 1160 // Export | 1178 // Export |
| 1161 return { | 1179 return { |
| 1162 NetworkList: NetworkList | 1180 NetworkList: NetworkList |
| 1163 }; | 1181 }; |
| 1164 }); | 1182 }); |
| OLD | NEW |