Index: chromeos/network/network_connection_handler.cc |
diff --git a/chromeos/network/network_connection_handler.cc b/chromeos/network/network_connection_handler.cc |
index ebfe949b35426a02f730083c0c84c12f359bc9ab..018d924cef89fd59d9dd3a53cfb0151e1fe8c5ac 100644 |
--- a/chromeos/network/network_connection_handler.cc |
+++ b/chromeos/network/network_connection_handler.cc |
@@ -787,14 +787,15 @@ void NetworkConnectionHandler::DisconnectIfPolicyRequires() { |
::onc::global_network_config::kAllowOnlyPolicyNetworksToAutoconnect, |
&only_policy_autoconnect); |
- if (!only_policy_autoconnect) |
- return; |
+ if (only_policy_autoconnect) |
+ DisconnectFromUnmanagedSharedWiFiNetworks(); |
+ |
+ ConnectToBestNetworkAfterLogin(); |
+} |
- NET_LOG_DEBUG("DisconnectIfPolicyRequires", |
- "Disconnecting unmanaged and shared networks if any exist."); |
+void NetworkConnectionHandler::DisconnectFromUnmanagedSharedWiFiNetworks() { |
+ NET_LOG_DEBUG("DisconnectFromUnmanagedSharedWiFiNetworks", ""); |
- // Get the list of unmanaged & shared networks that are connected or |
- // connecting. |
NetworkStateHandler::NetworkStateList networks; |
network_state_handler_->GetVisibleNetworkListByType( |
NetworkTypePattern::Wireless(), &networks); |
@@ -820,8 +821,6 @@ void NetworkConnectionHandler::DisconnectIfPolicyRequires() { |
CallShillDisconnect( |
network->path(), base::Closure(), network_handler::ErrorCallback()); |
} |
- |
- ConnectToBestNetworkAfterLogin(); |
} |
} // namespace chromeos |