OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 void setDnsEnd(double); | 48 void setDnsEnd(double); |
49 void setConnectStart(double); | 49 void setConnectStart(double); |
50 void setConnectEnd(double); | 50 void setConnectEnd(double); |
51 void setWorkerStart(double); | 51 void setWorkerStart(double); |
52 void setWorkerReady(double); | 52 void setWorkerReady(double); |
53 void setSendStart(double); | 53 void setSendStart(double); |
54 void setSendEnd(double); | 54 void setSendEnd(double); |
55 void setReceiveHeadersEnd(double); | 55 void setReceiveHeadersEnd(double); |
56 void setSslStart(double); | 56 void setSslStart(double); |
57 void setSslEnd(double); | 57 void setSslEnd(double); |
| 58 void setPushStart(double); |
| 59 void setPushEnd(double); |
58 | 60 |
59 double dnsStart() const { return m_dnsStart; } | 61 double dnsStart() const { return m_dnsStart; } |
60 double requestTime() const { return m_requestTime; } | 62 double requestTime() const { return m_requestTime; } |
61 double proxyStart() const { return m_proxyStart; } | 63 double proxyStart() const { return m_proxyStart; } |
62 double proxyEnd() const { return m_proxyEnd; } | 64 double proxyEnd() const { return m_proxyEnd; } |
63 double dnsEnd() const { return m_dnsEnd; } | 65 double dnsEnd() const { return m_dnsEnd; } |
64 double connectStart() const { return m_connectStart; } | 66 double connectStart() const { return m_connectStart; } |
65 double connectEnd() const { return m_connectEnd; } | 67 double connectEnd() const { return m_connectEnd; } |
66 double workerStart() const { return m_workerStart; } | 68 double workerStart() const { return m_workerStart; } |
67 double workerReady() const { return m_workerReady; } | 69 double workerReady() const { return m_workerReady; } |
68 double sendStart() const { return m_sendStart; } | 70 double sendStart() const { return m_sendStart; } |
69 double sendEnd() const { return m_sendEnd; } | 71 double sendEnd() const { return m_sendEnd; } |
70 double receiveHeadersEnd() const { return m_receiveHeadersEnd; } | 72 double receiveHeadersEnd() const { return m_receiveHeadersEnd; } |
71 double sslStart() const { return m_sslStart; } | 73 double sslStart() const { return m_sslStart; } |
72 double sslEnd() const { return m_sslEnd; } | 74 double sslEnd() const { return m_sslEnd; } |
| 75 double pushStart() const { return m_pushStart; } |
| 76 double pushEnd() const { return m_pushEnd; } |
73 | 77 |
74 double calculateMillisecondDelta(double) const; | 78 double calculateMillisecondDelta(double) const; |
75 | 79 |
76 private: | 80 private: |
77 ResourceLoadTiming(); | 81 ResourceLoadTiming(); |
78 | 82 |
79 // We want to present a unified timeline to Javascript. Using walltime is pr
oblematic, because the clock may skew while resources | 83 // We want to present a unified timeline to Javascript. Using walltime is pr
oblematic, because the clock may skew while resources |
80 // load. To prevent that skew, we record a single reference walltime when ro
ot document navigation begins. All other times are | 84 // load. To prevent that skew, we record a single reference walltime when ro
ot document navigation begins. All other times are |
81 // recorded using monotonicallyIncreasingTime(). When a time needs to be pre
sented to Javascript, we build a pseudo-walltime | 85 // recorded using monotonicallyIncreasingTime(). When a time needs to be pre
sented to Javascript, we build a pseudo-walltime |
82 // using the following equation (m_requestTime as example): | 86 // using the following equation (m_requestTime as example): |
83 // pseudo time = document wall reference + (m_requestTime - document monot
onic reference). | 87 // pseudo time = document wall reference + (m_requestTime - document monot
onic reference). |
84 | 88 |
85 // All monotonicallyIncreasingTime() in seconds | 89 // All monotonicallyIncreasingTime() in seconds |
86 double m_requestTime; | 90 double m_requestTime; |
87 double m_proxyStart; | 91 double m_proxyStart; |
88 double m_proxyEnd; | 92 double m_proxyEnd; |
89 double m_dnsStart; | 93 double m_dnsStart; |
90 double m_dnsEnd; | 94 double m_dnsEnd; |
91 double m_connectStart; | 95 double m_connectStart; |
92 double m_connectEnd; | 96 double m_connectEnd; |
93 double m_workerStart; | 97 double m_workerStart; |
94 double m_workerReady; | 98 double m_workerReady; |
95 double m_sendStart; | 99 double m_sendStart; |
96 double m_sendEnd; | 100 double m_sendEnd; |
97 double m_receiveHeadersEnd; | 101 double m_receiveHeadersEnd; |
98 double m_sslStart; | 102 double m_sslStart; |
99 double m_sslEnd; | 103 double m_sslEnd; |
| 104 double m_pushStart; |
| 105 double m_pushEnd; |
100 }; | 106 }; |
101 | 107 |
102 } // namespace blink | 108 } // namespace blink |
103 | 109 |
104 #endif | 110 #endif |
OLD | NEW |