Index: net/socket/client_socket_handle.cc |
=================================================================== |
--- net/socket/client_socket_handle.cc (revision 172981) |
+++ net/socket/client_socket_handle.cc (working copy) |
@@ -9,6 +9,7 @@ |
#include "base/compiler_specific.h" |
#include "base/metrics/histogram.h" |
#include "base/logging.h" |
+#include "net/base/load_timing_info.h" |
#include "net/base/net_errors.h" |
#include "net/socket/client_socket_pool.h" |
#include "net/socket/client_socket_pool_histograms.h" |
@@ -62,6 +63,7 @@ |
idle_time_ = base::TimeDelta(); |
init_time_ = base::TimeTicks(); |
setup_time_ = base::TimeDelta(); |
+ connect_timing_ = ConnectTiming(); |
mmenke
2012/12/14 01:15:18
This will result in a URLRequest not giving correc
eroman
2012/12/14 04:08:34
I suggest additionally dumping these timings into
mmenke
2012/12/14 13:36:12
Where are you thinking of dumping them? With in-p
|
pool_id_ = -1; |
} |
@@ -103,6 +105,29 @@ |
} |
} |
+bool ClientSocketHandle::GetLoadTimingInfo( |
+ bool is_reused, |
+ LoadTimingInfo* load_timing_info) const { |
+ // Only return load timing information when there's a socket. |
+ if (!socket_) |
+ return false; |
+ |
+ load_timing_info->socket_log_id = socket_->NetLog().source().id; |
+ load_timing_info->socket_reused = is_reused; |
+ |
+ // No times if the socket is reused. |
+ if (is_reused) |
+ return true; |
+ |
+ load_timing_info->dns_start = connect_timing_.dns_start; |
+ load_timing_info->dns_end = connect_timing_.dns_end; |
+ load_timing_info->connect_start = connect_timing_.connect_start; |
+ load_timing_info->connect_end = connect_timing_.connect_end; |
+ load_timing_info->ssl_start = connect_timing_.ssl_start; |
+ load_timing_info->ssl_end = connect_timing_.ssl_end; |
+ return true; |
+} |
+ |
void ClientSocketHandle::OnIOComplete(int result) { |
CompletionCallback callback = user_callback_; |
user_callback_.Reset(); |