Index: chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc |
diff --git a/chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc b/chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc |
index 00be4f0ceb3ca8429d7cae669f32a3d68beab9b3..75ba90957c8d99875d4cc9b5456d6ded5554db11 100644 |
--- a/chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc |
+++ b/chrome/browser/extensions/api/networking_private/networking_private_api_chromeos.cc |
@@ -44,6 +44,8 @@ using chromeos::ShillManagerClient; |
namespace { |
+const int kDefaultNetworkListLimit = 1000; |
+ |
// Helper function that converts between the two types of verification |
// properties. They should always have the same fields, but we do this here to |
// prevent ShillManagerClient from depending directly on the extension API. |
@@ -286,6 +288,35 @@ void NetworkingPrivateCreateNetworkFunction::ResultCallback( |
} |
//////////////////////////////////////////////////////////////////////////////// |
+// NetworkingPrivateGetNetworksFunction |
+ |
+NetworkingPrivateGetNetworksFunction:: |
+~NetworkingPrivateGetNetworksFunction() { |
+} |
+ |
+bool NetworkingPrivateGetNetworksFunction::RunAsync() { |
+ scoped_ptr<api::GetNetworks::Params> params = |
+ api::GetNetworks::Params::Create(*args_); |
+ EXTENSION_FUNCTION_VALIDATE(params); |
+ std::string type = |
+ api::GetNetworks::Params::Filter::ToString(params->filter.type); |
+ NetworkTypePattern pattern = chromeos::onc::NetworkTypePatternFromOncType( |
+ type); |
+ const bool configured_only = |
+ params->filter.configured ? *params->filter.configured : false; |
+ const bool visible_only = |
+ params->filter.visible ? *params->filter.visible : false; |
+ const int limit = |
+ params->filter.limit ? *params->filter.limit : kDefaultNetworkListLimit; |
+ scoped_ptr<base::ListValue> network_properties_list = |
+ chromeos::network_util::TranslateNetworkListToONC( |
+ pattern, configured_only, visible_only, limit); |
+ SetResult(network_properties_list.release()); |
+ SendResponse(true); |
+ return true; |
+} |
+ |
+//////////////////////////////////////////////////////////////////////////////// |
// NetworkingPrivateGetVisibleNetworksFunction |
NetworkingPrivateGetVisibleNetworksFunction:: |
@@ -298,9 +329,11 @@ bool NetworkingPrivateGetVisibleNetworksFunction::RunAsync() { |
EXTENSION_FUNCTION_VALIDATE(params); |
NetworkTypePattern pattern = chromeos::onc::NetworkTypePatternFromOncType( |
api::GetVisibleNetworks::Params::ToString(params->type)); |
- |
+ const bool configured_only = false; |
+ const bool visible_only = true; |
scoped_ptr<base::ListValue> network_properties_list = |
- chromeos::network_util::TranslateNetworkListToONC(pattern); |
+ chromeos::network_util::TranslateNetworkListToONC( |
+ pattern, configured_only, visible_only, kDefaultNetworkListLimit); |
SetResult(network_properties_list.release()); |
SendResponse(true); |
return true; |