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

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: Response to comments 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 when a request starts/stops blocking on an event, not the
+// time the events actually occurred. In particular, in the case of preconnects
+// and socket reuse, no time may be spent blocking 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 blocking 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.
« no previous file with comments | « chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc ('k') | net/url_request/url_request.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698