Index: chromeos/network/network_connection_handler_impl.cc |
diff --git a/chromeos/network/network_connection_handler_impl.cc b/chromeos/network/network_connection_handler_impl.cc |
index fb4f3201a7ffff4117570090fdef29d70afaf983..2dc84d249479a0a562891e4246298814ba09f9c5 100644 |
--- a/chromeos/network/network_connection_handler_impl.cc |
+++ b/chromeos/network/network_connection_handler_impl.cc |
@@ -241,7 +241,7 @@ void NetworkConnectionHandlerImpl::ConnectToNetwork( |
error_callback); |
} else { |
InvokeConnectErrorCallback(service_path, error_callback, |
- kErrorTetherConnectionAttemptWithNoDelegate); |
+ kErrorTetherAttemptWithNoDelegate); |
} |
return; |
} |
@@ -305,6 +305,18 @@ void NetworkConnectionHandlerImpl::DisconnectNetwork( |
kErrorNotConnected, ""); |
return; |
} |
+ if (NetworkTypePattern::Tether().MatchesType(network->type())) { |
+ if (tether_delegate_) { |
+ const std::string& tether_network_guid = network->guid(); |
+ DCHECK(!tether_network_guid.empty()); |
+ InitiateTetherNetworkDisconnection(tether_network_guid, success_callback, |
+ error_callback); |
+ } else { |
+ InvokeConnectErrorCallback(service_path, error_callback, |
+ kErrorTetherAttemptWithNoDelegate); |
+ } |
+ return; |
+ } |
pending_requests_.erase(service_path); |
CallShillDisconnect(service_path, success_callback, error_callback); |
} |