Chromium Code Reviews| Index: chrome/browser/resources/chromeos/network_ui/network_ui.js |
| diff --git a/chrome/browser/resources/chromeos/network.js b/chrome/browser/resources/chromeos/network_ui/network_ui.js |
| similarity index 75% |
| rename from chrome/browser/resources/chromeos/network.js |
| rename to chrome/browser/resources/chromeos/network_ui/network_ui.js |
| index 4f952bc1d55c77d75aae979282600fd17d9bf715..afd65692dd2f96b8c24cca522783a33c8efd3bad 100644 |
| --- a/chrome/browser/resources/chromeos/network.js |
| +++ b/chrome/browser/resources/chromeos/network_ui/network_ui.js |
| @@ -2,20 +2,35 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -var NetworkUI = function() { |
| +var NetworkUI = (function() { |
| + 'use strict'; |
| + |
| // Properties to display in the network state table. Each entry can be either |
| // a single state field or an array of state fields. If more than one is |
| // specified then the first non empty value is used. |
| var NETWORK_STATE_FIELDS = [ |
| - 'Name', 'Type', 'State', 'Profile', 'Connectable', |
|
michaelpg
2014/04/29 19:51:00
Why remove Profile?
stevenjb
2014/04/29 21:44:03
Profile isn't applicable to visible networks, only
|
| - 'Error', 'Security', |
| - ['Cellular.NetworkTechnology', 'EAP.EAP'], |
| - 'Cellular.ActivationState', 'Cellular.RoamingState', |
| - 'Cellular.OutOfCredits', 'Strength' |
| + networkConfig.Service.ServicePath, |
| + networkConfig.Service.GUID, |
| + networkConfig.Service.Name, |
| + networkConfig.Service.Type, |
| + networkConfig.Service.ConnectionState, |
| + networkConfig.Service.ErrorState, |
| + networkConfig.Service.WiFi.Security, |
| + [networkConfig.Service.Cellular.NetworkTechnology, |
| + networkConfig.Service.EAP.EAP], |
| + networkConfig.Service.Cellular.ActivationState, |
| + networkConfig.Service.Cellular.RoamingState, |
| + networkConfig.Service.Cellular.OutOfCredits, |
| + networkConfig.Service.WiFi.SignalStrength |
| ]; |
| var FAVORITE_STATE_FIELDS = [ |
| - 'Name', 'Type', 'Profile', 'onc_source' |
| + networkConfig.Service.ServicePath, |
| + networkConfig.Service.GUID, |
| + networkConfig.Service.Name, |
| + networkConfig.Service.Type, |
| + networkConfig.Service.Profile, |
| + networkConfig.Service.OncSource |
| ]; |
| var LOG_LEVEL_CLASSNAME = { |
| @@ -128,25 +143,28 @@ var NetworkUI = function() { |
| * Create a row in the network state table. |
| * |
| * @param {string} stateFields The state fields to use for the row. |
| - * @param {string} path The network or favorite path. |
| * @param {dictionary} state Property values for the network or favorite. |
| * @return {DOMElement} The created tr element that contains the network |
| * state information. |
| */ |
| - var createStateTableRow = function(stateFields, path, state) { |
| + var createStateTableRow = function(stateFields, state) { |
| var row = document.createElement('tr'); |
| row.className = 'state-table-row'; |
| row.appendChild(createStateTableExpandButton(state)); |
| - row.appendChild(createStateTableCell(path)); |
| - var guid = state['GUID']; |
| - if (guid) |
| - guid = guid.slice(1, 9); |
| - row.appendChild(createStateTableCell(guid)); |
| for (var i = 0; i < stateFields.length; ++i) { |
| var field = stateFields[i]; |
| var value = ''; |
| if (typeof field == 'string') { |
| - value = state[field]; |
| + var dot = field.indexOf('.'); |
| + if (dot > 0) { |
| + var field1 = field.substring(0, dot); |
| + var field2 = field.substring(dot + 1); |
| + var fieldobj = state[field1]; |
| + if (fieldobj) |
| + value = fieldobj[field2]; |
| + } else { |
| + value = state[field]; |
| + } |
| } else { |
| for (var j = 0; j < field.length; ++j) { |
| value = state[field[j]]; |
| @@ -154,6 +172,8 @@ var NetworkUI = function() { |
| break; |
| } |
| } |
| + if (field == networkConfig.Service.GUID) |
| + value = value.slice(1, 9); |
| row.appendChild(createStateTableCell(value)); |
| } |
| return row; |
| @@ -171,22 +191,37 @@ var NetworkUI = function() { |
| var oldRows = table.querySelectorAll('.state-table-row'); |
| for (var i = 0; i < oldRows.length; ++i) |
| table.removeChild(oldRows[i]); |
| - for (var path in states) |
| - table.appendChild(createStateTableRow(stateFields, path, states[path])); |
| + for (var s in states) |
| + table.appendChild(createStateTableRow(stateFields, states[s])); |
| + }; |
| + |
| + /** |
| + * This callback function is triggered when the network log is received. |
| + * |
| + * @param {dictionary} data A JSON structure of event log entries. |
| + */ |
| + var getNetworkLogCallback = function(data) { |
| + createEventLog(JSON.parse(data)); |
| + }; |
| + |
| + /** |
| + * This callback function is triggered when visible networks are received. |
| + * |
| + * @param {dictionary} data A list of network state information for each |
| + * visible network. |
| + */ |
| + var onVisibleNetworksReceived = function(data) { |
| + createStateTable('network-state-table', NETWORK_STATE_FIELDS, data); |
| }; |
| /** |
| - * This callback function is triggered when the data is received. |
| + * This callback function is triggered when favorite networks are received. |
| * |
| - * @param {dictionary} data A dictionary that contains network state |
| - * information. |
| + * @param {dictionary} data A list of network state information for each |
| + * favorite network. |
| */ |
| - var onNetworkInfoReceived = function(data) { |
| - createEventLog(JSON.parse(data.networkEventLog)); |
| - createStateTable( |
| - 'network-state-table', NETWORK_STATE_FIELDS, data.networkStates); |
| - createStateTable( |
| - 'favorite-state-table', FAVORITE_STATE_FIELDS, data.favoriteStates); |
| + var onFavoriteNetworksReceived = function(data) { |
| + createStateTable('favorite-state-table', FAVORITE_STATE_FIELDS, data); |
| }; |
| /** |
| @@ -234,7 +269,11 @@ var NetworkUI = function() { |
| * Sends a refresh request. |
|
michaelpg
2014/04/29 19:51:00
Update comment (and maybe function name)
stevenjb
2014/05/01 01:45:14
Done.
|
| */ |
| var sendRefresh = function() { |
| - chrome.send('requestNetworkInfo'); |
| + chrome.send('NetworkUI.getNetworkLog'); |
| + networkConfig.getVisibleNetworks(networkConfig.Type.All, |
| + onVisibleNetworksReceived); |
| + networkConfig.getFavoriteNetworks(networkConfig.Type.All, |
| + onFavoriteNetworksReceived); |
| }; |
| /** |
| @@ -268,6 +307,6 @@ var NetworkUI = function() { |
| }); |
| return { |
| - onNetworkInfoReceived: onNetworkInfoReceived |
| + getNetworkLogCallback: getNetworkLogCallback |
| }; |
| -}(); |
| +})(); |