Index: chrome/test/chromedriver/net/adb_client_socket.cc |
diff --git a/chrome/test/chromedriver/net/adb_client_socket.cc b/chrome/test/chromedriver/net/adb_client_socket.cc |
index 9a5a672c6bc7e69fc06f35237c67cd837b01f100..5c9115bcb441fba89377a21121ed2b0b2eba7926 100644 |
--- a/chrome/test/chromedriver/net/adb_client_socket.cc |
+++ b/chrome/test/chromedriver/net/adb_client_socket.cc |
@@ -370,6 +370,15 @@ void AdbClientSocket::Connect(const net::CompletionCallback& callback) { |
socket_.reset(new net::TCPClientSocket(address_list, NULL, NULL, |
pmarks
2016/09/20 00:42:13
It looks like TCPClientSocket already supports con
lepton
2016/09/20 08:04:11
Done.
|
net::NetLog::Source())); |
int result = socket_->Connect(callback); |
+ if (result == net::ERR_ADDRESS_UNREACHABLE) { |
+ VLOG(0) << "connect to IPv4 failed, trying IPv6"; |
+ address_list = |
+ net::AddressList::CreateFromIPAddress(net::IPAddress::IPv6Localhost(), |
+ port_); |
+ socket_.reset(new net::TCPClientSocket(address_list, NULL, NULL, |
+ net::NetLog::Source())); |
+ result = socket_->Connect(callback); |
+ } |
if (result != net::ERR_IO_PENDING) |
callback.Run(result); |
} |