Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(394)

Unified Diff: chrome/browser/chromeos/login/helper.cc

Issue 2890383003: Bootstrapping: Send meaningful error code/message from Slave to Master (Closed)
Patch Set: . Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {

Powered by Google App Engine
This is Rietveld 408576698