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

Unified Diff: chrome/browser/chromeos/network_login_observer.cc

Issue 13004024: Add ConnectToBestServices call when Certs are loaded (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 9 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/network_login_observer.cc
diff --git a/chrome/browser/chromeos/network_login_observer.cc b/chrome/browser/chromeos/network_login_observer.cc
index a82bd247aadba75ed8208bd51a16db57932d2229..b6a08f0792215aeb9506ea7fc36fa1e3c25492e3 100644
--- a/chrome/browser/chromeos/network_login_observer.cc
+++ b/chrome/browser/chromeos/network_login_observer.cc
@@ -4,17 +4,35 @@
#include "chrome/browser/chromeos/network_login_observer.h"
+#include "chrome/browser/chromeos/cros/cros_library.h"
#include "chrome/browser/chromeos/cros/network_library.h"
#include "chrome/browser/chromeos/options/network_config_view.h"
+#include "chromeos/dbus/dbus_thread_manager.h"
+#include "chromeos/dbus/shill_manager_client.h"
#include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_delegate.h"
namespace chromeos {
+namespace {
+
+void ShillErrorCallback(const std::string& error_name,
+ const std::string& error_message) {
+ LOG(ERROR) << "Shill Error calling ConnectToBestServices: "
+ << error_name << " : " << error_message;
+}
+
+} // namespace
+
NetworkLoginObserver::NetworkLoginObserver() {
+ if (CrosLibrary::Get()->GetCertLibrary()->CertificatesLoaded())
+ OnCertificatesLoaded(true);
+ else
+ CrosLibrary::Get()->GetCertLibrary()->AddObserver(this);
}
NetworkLoginObserver::~NetworkLoginObserver() {
+ CrosLibrary::Get()->GetCertLibrary()->RemoveObserver(this);
}
void NetworkLoginObserver::OnNetworkManagerChanged(NetworkLibrary* cros) {
@@ -80,4 +98,11 @@ void NetworkLoginObserver::OnNetworkManagerChanged(NetworkLibrary* cros) {
}
}
+void NetworkLoginObserver::OnCertificatesLoaded(bool initial_load) {
+ // Once certificates have loaded, signal Shill connect to the "best"
+ // available network.
+ DBusThreadManager::Get()->GetShillManagerClient()->ConnectToBestServices(
+ base::Bind(&base::DoNothing), base::Bind(&ShillErrorCallback));
+}
+
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698