Index: net/base/load_timing_info.h |
diff --git a/net/base/load_timing_info.h b/net/base/load_timing_info.h |
index 8ee5a22ec14c8da3e74dc061d87d3c09f6b13053..2c938df36d7bac191e147995e64bc104896c135d 100644 |
--- a/net/base/load_timing_info.h |
+++ b/net/base/load_timing_info.h |
@@ -38,12 +38,20 @@ namespace net { |
// send_end |
// receive_headers_end |
// |
-// 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 |
+// 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, PAC scripts are only run once for each shared session, |
// so no time may be spent blocking on them. |
// |
+// (*) Note 1: push_start and push_end are the exception to this, as they |
+// represent the operation which is asynchronous to normal request flow and |
+// hence are provided as absolute values and not converted to "blocking" time. |
+// |
+// (*) Note 2: Internally to the network stack, times are those of actual event |
+// occurrence. URLRequest converts them to time which the network stack was |
+// blocked on each state, as per resource timing specs. |
+// |
// 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) |
// have SSL times. One exception to this is when a proxy server itself returns |
@@ -52,9 +60,6 @@ namespace net { |
// 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. |
@@ -136,6 +141,12 @@ struct NET_EXPORT LoadTimingInfo { |
// The time at which the end of the HTTP headers were received. |
base::TimeTicks receive_headers_end; |
+ |
+ // In case the resource was proactively pushed by the server, these are |
+ // the times that push started and ended. Note that push_end will be null |
+ // if the request is still being pushed. |
+ base::TimeTicks push_start; |
+ base::TimeTicks push_end; |
}; |
} // namespace net |