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

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

Issue 1428353002: Network Setup from Shark to Remora. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address achuithb@'s comment. Created 5 years, 1 month 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 69696fcda58e15ea83a4fd2946f353c44d462dfa..9db91de50869ad8e0bd2c3bc810036f505c82660 100644
--- a/chrome/browser/chromeos/login/helper.cc
+++ b/chrome/browser/chromeos/login/helper.cc
@@ -15,6 +15,7 @@
#include "chrome/grit/generated_resources.h"
#include "chromeos/chromeos_switches.h"
#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_state.h"
#include "chromeos/network/network_state_handler.h"
@@ -128,8 +129,10 @@ base::string16 NetworkStateHelper::GetCurrentNetworkName() const {
return base::string16();
}
-void NetworkStateHelper::CreateNetworkFromOnc(
- const std::string& onc_spec) const {
+void NetworkStateHelper::CreateAndConnectNetworkFromOnc(
+ const std::string& onc_spec,
+ const base::Closure& success_callback,
+ const base::Closure& error_callback) const {
std::string error;
scoped_ptr<base::Value> root = base::JSONReader::ReadAndReturnError(
onc_spec, base::JSON_ALLOW_TRAILING_COMMAS, nullptr, &error);
@@ -140,24 +143,14 @@ void NetworkStateHelper::CreateNetworkFromOnc(
return;
}
- NetworkHandler::Get()->managed_network_configuration_handler()->
- CreateConfiguration(
+ NetworkHandler::Get()
+ ->managed_network_configuration_handler()
+ ->CreateConfiguration(
"", *toplevel_onc,
base::Bind(&NetworkStateHelper::OnCreateConfiguration,
- base::Unretained(this)),
- base::Bind(&NetworkStateHelper::OnCreateConfigurationFailed,
- base::Unretained(this)));
-}
-
-void NetworkStateHelper::OnCreateConfiguration(
- const std::string& service_path) const {
- // Do Nothing.
-}
-
-void NetworkStateHelper::OnCreateConfigurationFailed(
- const std::string& error_name,
- scoped_ptr<base::DictionaryValue> error_data) const {
- LOG(ERROR) << "Failed to create network configuration: " << error_name;
+ base::Unretained(this), success_callback, error_callback),
+ base::Bind(&NetworkStateHelper::OnCreateOrConnectNetworkFailed,
+ base::Unretained(this), error_callback));
}
bool NetworkStateHelper::IsConnected() const {
@@ -174,6 +167,26 @@ bool NetworkStateHelper::IsConnecting() const {
chromeos::NetworkTypePattern::Default()) != nullptr;
}
+void NetworkStateHelper::OnCreateConfiguration(
+ const base::Closure& success_callback,
+ const base::Closure& error_callback,
+ const std::string& service_path) 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,
+ scoped_ptr<base::DictionaryValue> error_data) const {
+ LOG(ERROR) << "Failed to create or connect to network: " << error_name;
+ error_callback.Run();
+}
+
content::StoragePartition* GetSigninPartition() {
content::WebContents* embedder = GetLoginWebContents();
if (!embedder)

Powered by Google App Engine
This is Rietveld 408576698