Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1705)

Unified Diff: net/base/load_timing_info.h

Issue 13653003: Fix a load timing bug in the case of SPDY session reuse (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Remove bonus whitespace, add test Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/base/load_timing_info.h
===================================================================
--- net/base/load_timing_info.h (revision 191718)
+++ net/base/load_timing_info.h (working copy)
@@ -27,21 +27,21 @@
// request_start
// proxy_start
// proxy_end
-// *dns_start
-// *dns_end
-// *connect_start
-// *ssl_start
-// *ssl_end
-// *connect_end
+// dns_start
+// dns_end
+// connect_start
+// ssl_start
+// ssl_end
+// connect_end
// send_start
// send_end
// receive_headers_end
//
-// Those times without an asterisk are computed by the URLRequest, or by objects
-// it directly creates and always owns. Those with an asterisk are computed
-// by the connection attempt itself. Since the connection attempt may be
-// started before a URLRequest, the starred times may occur before, during, or
-// after the request_start and proxy events.
+// Times represent the length of time that the request was blocked on an event,
eroman 2013/04/06 01:02:02 This comment confused me on the first read (I thou
mmenke 2013/04/08 15:31:24 Updated it to say "times represent when a request
+// not the time they actually occurred. In particular, in the case of
+// preconnects and socket reuse, no time is spent blocked on establishing a
+// connection. In the case of SPDY and HTTP pipelining, PAC scripts are only
+// run once for each shared session, so no time may be spent blocked on them.
//
// DNS and SSL times are both times for the host, not the proxy, so DNS times
// when using proxies are null, and only requests to HTTPS hosts (Not proxies)
@@ -50,6 +50,10 @@
// host. The send and receive times will all be null, however.
// See HttpNetworkTransaction::OnHttpsProxyTunnelResponse.
// TODO(mmenke): Is this worth fixing?
+//
+// Note that internal to the network stack, times are when events actually
+// occurred. URLRequest converts them to time which the network stack was
+// blocked on each state.
struct NET_EXPORT LoadTimingInfo {
// Contains the LoadTimingInfo events related to establishing a connection.
// These are all set by ConnectJobs.

Powered by Google App Engine
This is Rietveld 408576698