Chromium Code Reviews| 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. |
|
mmenke
2016/04/11 17:45:52
If the request is still being pushed? Once we cre
caseq
2016/04/13 21:48:45
Well, that probably depends on how you look on it,
mmenke
2016/04/14 15:50:33
Think the comment needs to be clearer. Just readi
|
| + base::TimeTicks push_start; |
| + base::TimeTicks push_end; |
| }; |
| } // namespace net |