| 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
|
|
|