Commit b7e5dc39 authored by stevenjb's avatar stevenjb Committed by Commit bot

Make network settings functions more closely match networkingPrivate

This is in preparation for using the networkingPrivate API directly
for the code that has been re-factored so far.

BUG=279351

Review URL: https://codereview.chromium.org/544173013

Cr-Commit-Position: refs/heads/master@{#295134}
parent 29da4d50
...@@ -62,6 +62,20 @@ cr.define('options.network', function() { ...@@ -62,6 +62,20 @@ cr.define('options.network', function() {
*/ */
var cellularSupportsScan_ = false; var cellularSupportsScan_ = false;
/**
* Indicates the current SIM lock type of the cellular device.
* @type {boolean}
* @private
*/
var cellularSimLockType_ = '';
/**
* Indicates whether the SIM card is absent on the cellular device.
* @type {boolean}
* @private
*/
var cellularSimAbsent_ = false;
/** /**
* Indicates if WiMAX networks are available. * Indicates if WiMAX networks are available.
* @type {boolean} * @type {boolean}
...@@ -368,9 +382,11 @@ cr.define('options.network', function() { ...@@ -368,9 +382,11 @@ cr.define('options.network', function() {
this.menu_.style.setProperty('top', top + 'px'); this.menu_.style.setProperty('top', top + 'px');
this.menu_.hidden = false; this.menu_.hidden = false;
} }
if (rescan) if (rescan) {
chrome.send('refreshNetworks'); // TODO(stevenjb): chrome.networkingPrivate.requestNetworkScan
}, chrome.send('requestNetworkScan');
}
}
}; };
/** /**
...@@ -511,8 +527,8 @@ cr.define('options.network', function() { ...@@ -511,8 +527,8 @@ cr.define('options.network', function() {
if (data.Type == 'VPN') { if (data.Type == 'VPN') {
var disconnectCallback = function() { var disconnectCallback = function() {
sendChromeMetricsAction('Options_NetworkDisconnectVPN'); sendChromeMetricsAction('Options_NetworkDisconnectVPN');
chrome.send('networkCommand', // TODO(stevenjb): chrome.networkingPrivate.startDisconnect
['VPN', data.servicePath, 'disconnect']); chrome.send('startDisconnect', [data.servicePath]);
}; };
// Add separator // Add separator
addendum.push({}); addendum.push({});
...@@ -527,22 +543,28 @@ cr.define('options.network', function() { ...@@ -527,22 +543,28 @@ cr.define('options.network', function() {
this.data_.key == 'Cellular') { this.data_.key == 'Cellular') {
addendum.push({}); addendum.push({});
if (this.data_.key == 'WiFi') { if (this.data_.key == 'WiFi') {
addendum.push({label: loadTimeData.getString('turnOffWifi'), addendum.push({
label: loadTimeData.getString('turnOffWifi'),
command: function() { command: function() {
sendChromeMetricsAction('Options_NetworkWifiToggle'); sendChromeMetricsAction('Options_NetworkWifiToggle');
chrome.send('disableWifi'); // TODO(stevenjb): chrome.networkingPrivate.disableNetworkType
chrome.send('disableNetworkType', ['WiFi']);
}, },
data: {}}); data: {}});
} else if (this.data_.key == 'Wimax') { } else if (this.data_.key == 'Wimax') {
addendum.push({label: loadTimeData.getString('turnOffWimax'), addendum.push({
label: loadTimeData.getString('turnOffWimax'),
command: function() { command: function() {
chrome.send('disableWimax'); // TODO(stevenjb): chrome.networkingPrivate.disableNetworkType
chrome.send('disableNetworkType', ['Wimax']);
}, },
data: {}}); data: {}});
} else if (this.data_.key == 'Cellular') { } else if (this.data_.key == 'Cellular') {
addendum.push({label: loadTimeData.getString('turnOffCellular'), addendum.push({
label: loadTimeData.getString('turnOffCellular'),
command: function() { command: function() {
chrome.send('disableCellular'); // TODO(stevenjb): chrome.networkingPrivate.disableNetworkType
chrome.send('disableNetworkType', ['Cellular']);
}, },
data: {}}); data: {}});
} }
...@@ -659,7 +681,7 @@ cr.define('options.network', function() { ...@@ -659,7 +681,7 @@ cr.define('options.network', function() {
var menuItem = createCallback_(parent, var menuItem = createCallback_(parent,
data, data,
getNetworkName(data), getNetworkName(data),
'options', 'showDetails',
data.iconURL); data.iconURL);
if (data.policyManaged) if (data.policyManaged)
menuItem.appendChild(new ManagedNetworkIndicator()); menuItem.appendChild(new ManagedNetworkIndicator());
...@@ -962,6 +984,8 @@ cr.define('options.network', function() { ...@@ -962,6 +984,8 @@ cr.define('options.network', function() {
cellularAvailable_ = data.cellularAvailable; cellularAvailable_ = data.cellularAvailable;
cellularEnabled_ = data.cellularEnabled; cellularEnabled_ = data.cellularEnabled;
cellularSupportsScan_ = data.cellularSupportsScan; cellularSupportsScan_ = data.cellularSupportsScan;
cellularSimAbsent_ = data.cellularSimAbsent;
cellularSimLockType_ = data.cellularSimLockType;
wimaxAvailable_ = data.wimaxAvailable; wimaxAvailable_ = data.wimaxAvailable;
wimaxEnabled_ = data.wimaxEnabled; wimaxEnabled_ = data.wimaxEnabled;
...@@ -971,8 +995,7 @@ cr.define('options.network', function() { ...@@ -971,8 +995,7 @@ cr.define('options.network', function() {
var type = String('Ethernet'); var type = String('Ethernet');
var path = ethernetConnection.servicePath; var path = ethernetConnection.servicePath;
var ethernetOptions = function() { var ethernetOptions = function() {
chrome.send('networkCommand', chrome.send('networkCommand', [type, path, 'showDetails']);
[type, path, 'options']);
}; };
networkList.update( networkList.update(
{ key: 'Ethernet', { key: 'Ethernet',
...@@ -988,14 +1011,14 @@ cr.define('options.network', function() { ...@@ -988,14 +1011,14 @@ cr.define('options.network', function() {
if (data.wifiEnabled) if (data.wifiEnabled)
loadData_('WiFi', data.wirelessList, data.rememberedList); loadData_('WiFi', data.wirelessList, data.rememberedList);
else else
addEnableNetworkButton_('WiFi', 'enableWifi', 'WiFi'); addEnableNetworkButton_('WiFi');
// Only show cellular control if available. // Only show cellular control if available.
if (data.cellularAvailable) { if (data.cellularAvailable) {
if (data.cellularEnabled) if (data.cellularEnabled)
loadData_('Cellular', data.wirelessList, data.rememberedList); loadData_('Cellular', data.wirelessList, data.rememberedList);
else else
addEnableNetworkButton_('Cellular', 'enableCellular', 'Cellular'); addEnableNetworkButton_('Cellular');
} else { } else {
networkList.deleteItem('Cellular'); networkList.deleteItem('Cellular');
} }
...@@ -1005,7 +1028,7 @@ cr.define('options.network', function() { ...@@ -1005,7 +1028,7 @@ cr.define('options.network', function() {
if (data.wimaxEnabled) if (data.wimaxEnabled)
loadData_('Wimax', data.wirelessList, data.rememberedList); loadData_('Wimax', data.wirelessList, data.rememberedList);
else else
addEnableNetworkButton_('Wimax', 'enableWimax', 'Cellular'); addEnableNetworkButton_('Wimax');
} else { } else {
networkList.deleteItem('Wimax'); networkList.deleteItem('Wimax');
} }
...@@ -1019,21 +1042,29 @@ cr.define('options.network', function() { ...@@ -1019,21 +1042,29 @@ cr.define('options.network', function() {
}; };
/** /**
* Replaces a network menu with a button for reenabling the type of network. * Replaces a network menu with a button for enabling the network type.
* @param {string} name The type of network (WiFi, Cellular or Wimax). * @param {string} type The type of network (WiFi, Cellular or Wimax).
* @param {string} command The command for reenabling the network.
* @param {string} icon Type of icon (WiFi or Cellular).
* @private * @private
*/ */
function addEnableNetworkButton_(type, command, icon) { function addEnableNetworkButton_(type) {
var subtitle = loadTimeData.getString('networkDisabled'); var subtitle = loadTimeData.getString('networkDisabled');
var icon = (type == 'Wimax') ? 'Cellular' : type;
var enableNetwork = function() { var enableNetwork = function() {
if (type == 'WiFi') if (type == 'WiFi')
sendChromeMetricsAction('Options_NetworkWifiToggle'); sendChromeMetricsAction('Options_NetworkWifiToggle');
chrome.send(command); if (type == 'Cellular') {
if (cellularSimLockType_) {
chrome.send('simOperation', ['unlock']);
return;
} else if (cellularEnabled_ && cellularSimAbsent_) {
chrome.send('simOperation', ['configure']);
return;
}
}
// TODO(stevenjb): chrome.networkingPrivate.enableNetworkType
chrome.send('enableNetworkType', [type]);
}; };
var networkList = $('network-list'); $('network-list').update({key: type,
networkList.update({key: type,
subtitle: subtitle, subtitle: subtitle,
iconType: icon, iconType: icon,
command: enableNetwork}); command: enableNetwork});
......
...@@ -158,21 +158,6 @@ cr.define('cr.onc', function() { ...@@ -158,21 +158,6 @@ cr.define('cr.onc', function() {
return security; return security;
}, },
/**
* Updates the properties of |data_| from the properties in |update|.
* Note: this only looks at top level entries, so if a dictionary is
* updated the entire dictionary is written over. TODO(stevenjb):
* eliminate this function when |data_| contains only ONC entries and
* any updates consist of complete ONC dictionaries.
* @param {Object} update Dictionary containing the updated properties.
*/
updateData: function(update) {
for (var prop in update) {
if (prop in this.data_)
this.data_[prop] = update[prop];
}
},
/** /**
* Get the effective value from a Managed property ONC dictionary. * Get the effective value from a Managed property ONC dictionary.
* @param {Object} property The managed property ONC dictionary. * @param {Object} property The managed property ONC dictionary.
......
...@@ -51,12 +51,6 @@ class InternetOptionsHandler ...@@ -51,12 +51,6 @@ class InternetOptionsHandler
virtual void RegisterMessages() OVERRIDE; virtual void RegisterMessages() OVERRIDE;
// Callbacks to set network state properties. // Callbacks to set network state properties.
void EnableWifiCallback(const base::ListValue* args);
void DisableWifiCallback(const base::ListValue* args);
void EnableCellularCallback(const base::ListValue* args);
void DisableCellularCallback(const base::ListValue* args);
void EnableWimaxCallback(const base::ListValue* args);
void DisableWimaxCallback(const base::ListValue* args);
void ShowMorePlanInfoCallback(const base::ListValue* args); void ShowMorePlanInfoCallback(const base::ListValue* args);
void SetApnCallback(const base::ListValue* args); void SetApnCallback(const base::ListValue* args);
void SetApnProperties(const base::ListValue* args, void SetApnProperties(const base::ListValue* args,
...@@ -64,9 +58,15 @@ class InternetOptionsHandler ...@@ -64,9 +58,15 @@ class InternetOptionsHandler
const base::DictionaryValue& shill_properties); const base::DictionaryValue& shill_properties);
void CarrierStatusCallback(); void CarrierStatusCallback();
void SetCarrierCallback(const base::ListValue* args); void SetCarrierCallback(const base::ListValue* args);
void SetSimCardLockCallback(const base::ListValue* args); void SimOperationCallback(const base::ListValue* args);
void ChangePinCallback(const base::ListValue* args);
void RefreshNetworksCallback(const base::ListValue* args); // networkingPrvate callbacks
void DisableNetworkTypeCallback(const base::ListValue* args);
void EnableNetworkTypeCallback(const base::ListValue* args);
void GetManagedPropertiesCallback(const base::ListValue* args);
void RequestNetworkScanCallback(const base::ListValue* args);
void StartConnectCallback(const base::ListValue* args);
void StartDisconnectCallback(const base::ListValue* args);
// Retrieves a data url for a resource. // Retrieves a data url for a resource.
std::string GetIconDataUrl(int resource_id) const; std::string GetIconDataUrl(int resource_id) const;
...@@ -105,7 +105,7 @@ class InternetOptionsHandler ...@@ -105,7 +105,7 @@ class InternetOptionsHandler
const std::string& service_path, const std::string& service_path,
const base::DictionaryValue& shill_properties); const base::DictionaryValue& shill_properties);
// Retrieves the properties for |service_path| and calls showDetailedInfo // Retrieves the properties for |service_path| and calls sendNetworkDetails
// with the results. // with the results.
void PopulateDictionaryDetailsCallback( void PopulateDictionaryDetailsCallback(
const std::string& service_path, const std::string& service_path,
...@@ -128,6 +128,7 @@ class InternetOptionsHandler ...@@ -128,6 +128,7 @@ class InternetOptionsHandler
// Helper functions called by NetworkCommandCallback(...) // Helper functions called by NetworkCommandCallback(...)
void AddConnection(const std::string& type); void AddConnection(const std::string& type);
void SendShowDetailedInfo(const std::string& service_path);
// Creates the map of wired networks. // Creates the map of wired networks.
base::ListValue* GetWiredList(); base::ListValue* GetWiredList();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment