| 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 091e564ed63cb1587927f3836a014812ae5c0ffe..564d035f6ae18915d5abc2210cc8e0bf99d2fb87 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
|
| @@ -10,6 +10,7 @@
|
| #include "base/command_line.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/browser_process_platform_part_chromeos.h"
|
| +#include "chrome/browser/chromeos/net/network_portal_detector.h"
|
| #include "chrome/browser/chromeos/profiles/profile_helper.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/extensions/api/networking_private.h"
|
| @@ -31,6 +32,7 @@ namespace api = extensions::api::networking_private;
|
| using chromeos::DBusThreadManager;
|
| using chromeos::ManagedNetworkConfigurationHandler;
|
| using chromeos::NetworkHandler;
|
| +using chromeos::NetworkPortalDetector;
|
| using chromeos::NetworkState;
|
| using chromeos::NetworkStateHandler;
|
| using chromeos::NetworkTypePattern;
|
| @@ -688,3 +690,32 @@ void NetworkingPrivateGetWifiTDLSStatusFunction::Failure(
|
| error_ = error_name;
|
| SendResponse(false);
|
| }
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// NetworkingPrivateGetCaptivePortalStatusFunction
|
| +
|
| +NetworkingPrivateGetCaptivePortalStatusFunction::
|
| + ~NetworkingPrivateGetCaptivePortalStatusFunction() {}
|
| +
|
| +bool NetworkingPrivateGetCaptivePortalStatusFunction::RunImpl() {
|
| + scoped_ptr<api::GetCaptivePortalStatus::Params> params =
|
| + api::GetCaptivePortalStatus::Params::Create(*args_);
|
| + EXTENSION_FUNCTION_VALIDATE(params);
|
| +
|
| + // The |network_guid| parameter is storing the service path.
|
| + const std::string& service_path = params->network_guid;
|
| +
|
| + NetworkPortalDetector* detector = NetworkPortalDetector::Get();
|
| + if (!detector) {
|
| + error_ = "Error.NotReady";
|
| + return false;
|
| + }
|
| +
|
| + NetworkPortalDetector::CaptivePortalState state =
|
| + detector->GetCaptivePortalState(service_path);
|
| +
|
| + SetResult(new base::StringValue(
|
| + NetworkPortalDetector::CaptivePortalStatusString(state.status)));
|
| + SendResponse(true);
|
| + return true;
|
| +}
|
|
|