Index: chrome/browser/chromeos/login/helper.cc |
diff --git a/chrome/browser/chromeos/login/helper.cc b/chrome/browser/chromeos/login/helper.cc |
index 0020fc0710891aa09a01f923acbab3c8117e4242..7481105b334028e0277221e71b2b9774e4cb536f 100644 |
--- a/chrome/browser/chromeos/login/helper.cc |
+++ b/chrome/browser/chromeos/login/helper.cc |
@@ -18,6 +18,7 @@ |
#include "chromeos/network/managed_network_configuration_handler.h" |
#include "chromeos/network/network_connection_handler.h" |
#include "chromeos/network/network_handler.h" |
+#include "chromeos/network/network_handler_callbacks.h" |
#include "chromeos/network/network_state.h" |
#include "chromeos/network/network_state_handler.h" |
#include "chromeos/network/network_util.h" |
@@ -36,6 +37,8 @@ namespace chromeos { |
namespace { |
+const char kInvalidJsonError[] = "Invalid JSON Dictionary"; |
achuithb
2017/05/25 19:25:53
Does this not need to be translated?
Also, I thin
xdai1
2017/06/08 22:18:40
Done. I think it should be fine to leave it untran
|
+ |
// Gets the WebContents instance of current login display. If there is none, |
// returns nullptr. |
content::WebContents* GetLoginWebContents() { |
@@ -164,15 +167,19 @@ void NetworkStateHelper::GetConnectedWifiNetwork(std::string* out_onc_spec) { |
void NetworkStateHelper::CreateAndConnectNetworkFromOnc( |
const std::string& onc_spec, |
const base::Closure& success_callback, |
- const base::Closure& error_callback) const { |
+ const network_handler::ErrorCallback& error_callback) const { |
std::string error; |
std::unique_ptr<base::Value> root = base::JSONReader::ReadAndReturnError( |
onc_spec, base::JSON_ALLOW_TRAILING_COMMAS, nullptr, &error); |
base::DictionaryValue* toplevel_onc = nullptr; |
if (!root || !root->GetAsDictionary(&toplevel_onc)) { |
- LOG(ERROR) << "Invalid JSON Dictionary: " << error; |
- error_callback.Run(); |
+ std::unique_ptr<base::DictionaryValue> error_data( |
+ new base::DictionaryValue); |
+ error_data->SetString(network_handler::kErrorName, kInvalidJsonError); |
+ error_data->SetString(network_handler::kErrorDetail, error); |
+ LOG(ERROR) << kInvalidJsonError << ": " << error; |
achuithb
2017/05/25 19:25:53
Move this to right after the if statement?
xdai1
2017/06/08 22:18:40
Done.
|
+ error_callback.Run(kInvalidJsonError, std::move(error_data)); |
return; |
} |
@@ -182,8 +189,7 @@ void NetworkStateHelper::CreateAndConnectNetworkFromOnc( |
"", *toplevel_onc, |
base::Bind(&NetworkStateHelper::OnCreateConfiguration, |
base::Unretained(this), success_callback, error_callback), |
- base::Bind(&NetworkStateHelper::OnCreateOrConnectNetworkFailed, |
- base::Unretained(this), error_callback)); |
+ error_callback); |
} |
bool NetworkStateHelper::IsConnected() const { |
@@ -202,23 +208,12 @@ bool NetworkStateHelper::IsConnecting() const { |
void NetworkStateHelper::OnCreateConfiguration( |
const base::Closure& success_callback, |
- const base::Closure& error_callback, |
+ const network_handler::ErrorCallback& error_callback, |
const std::string& service_path, |
const std::string& guid) const { |
// Connect to the network. |
NetworkHandler::Get()->network_connection_handler()->ConnectToNetwork( |
- service_path, success_callback, |
- base::Bind(&NetworkStateHelper::OnCreateOrConnectNetworkFailed, |
- base::Unretained(this), error_callback), |
- false); |
-} |
- |
-void NetworkStateHelper::OnCreateOrConnectNetworkFailed( |
- const base::Closure& error_callback, |
- const std::string& error_name, |
- std::unique_ptr<base::DictionaryValue> error_data) const { |
- LOG(ERROR) << "Failed to create or connect to network: " << error_name; |
- error_callback.Run(); |
+ service_path, success_callback, error_callback, false); |
} |
content::StoragePartition* GetSigninPartition() { |