| Index: net/socket/ssl_client_socket_pool.cc
|
| diff --git a/net/socket/ssl_client_socket_pool.cc b/net/socket/ssl_client_socket_pool.cc
|
| index 3426622756b9c657e8339416e74f0ad68ae99a51..e0a7e3be237f68dd67ace68b3872bdddcba9a551 100644
|
| --- a/net/socket/ssl_client_socket_pool.cc
|
| +++ b/net/socket/ssl_client_socket_pool.cc
|
| @@ -163,6 +163,8 @@ void SSLConnectJob::GetAdditionalErrorState(ClientSocketHandle* handle) {
|
| handle->set_ssl_error_response_info(error_response_info_);
|
| if (!connect_timing_.ssl_start.is_null())
|
| handle->set_is_ssl_error(true);
|
| +
|
| + handle->set_connection_attempts(connection_attempts_);
|
| }
|
|
|
| void SSLConnectJob::OnIOComplete(int result) {
|
| @@ -232,8 +234,11 @@ int SSLConnectJob::DoTransportConnect() {
|
| }
|
|
|
| int SSLConnectJob::DoTransportConnectComplete(int result) {
|
| - if (result == OK)
|
| + connection_attempts_ = transport_socket_handle_->connection_attempts();
|
| + if (result == OK) {
|
| next_state_ = STATE_SSL_CONNECT;
|
| + transport_socket_handle_->socket()->GetPeerAddress(&server_address_);
|
| + }
|
|
|
| return result;
|
| }
|
| @@ -329,6 +334,11 @@ int SSLConnectJob::DoSSLConnectComplete(int result) {
|
|
|
| connect_timing_.ssl_end = base::TimeTicks::Now();
|
|
|
| + if (result != OK && !server_address_.address().empty()) {
|
| + connection_attempts_.push_back(ConnectionAttempt(server_address_, result));
|
| + server_address_ = IPEndPoint();
|
| + }
|
| +
|
| // If we want SPDY over ALPN/NPN, make sure it succeeded.
|
| if (params_->want_spdy_over_npn() &&
|
| !NextProtoIsSPDY(ssl_socket_->GetNegotiatedProtocol())) {
|
|
|