OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/timing/PerformanceNavigationTiming.h" | 5 #include "core/timing/PerformanceNavigationTiming.h" |
6 | 6 |
7 #include "bindings/core/v8/V8ObjectBuilder.h" | 7 #include "bindings/core/v8/V8ObjectBuilder.h" |
8 #include "core/timing/PerformanceBase.h" | 8 #include "core/timing/PerformanceBase.h" |
9 | 9 |
10 namespace blink { | 10 namespace blink { |
(...skipping 13 matching lines...) Expand all Loading... |
24 double timeOrigin, | 24 double timeOrigin, |
25 double unloadEventStart, | 25 double unloadEventStart, |
26 double unloadEventEnd, | 26 double unloadEventEnd, |
27 double loadEventStart, | 27 double loadEventStart, |
28 double loadEventEnd, | 28 double loadEventEnd, |
29 unsigned short redirectCount, | 29 unsigned short redirectCount, |
30 double domInteractive, | 30 double domInteractive, |
31 double domContentLoadedEventStart, | 31 double domContentLoadedEventStart, |
32 double domContentLoadedEventEnd, | 32 double domContentLoadedEventEnd, |
33 double domComplete, | 33 double domComplete, |
34 NavigationType type, | 34 PerformanceNavigationType type, |
35 double redirectStart, | 35 double redirectStart, |
36 double redirectEnd, | 36 double redirectEnd, |
37 double fetchStart, | 37 double fetchStart, |
38 double responseEnd, | 38 double responseEnd, |
39 bool hasCrossOriginRedirect, | 39 bool hasCrossOriginRedirect, |
40 bool hasSameOriginAsPreviousDocument, | 40 bool hasSameOriginAsPreviousDocument, |
41 ResourceLoadTiming* timing, | 41 ResourceLoadTiming* timing, |
42 double lastRedirectEndTime, | 42 double lastRedirectEndTime, |
43 double finishTime, | 43 double finishTime, |
44 unsigned long long transferSize, | 44 unsigned long long transferSize, |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 } | 117 } |
118 | 118 |
119 double PerformanceNavigationTiming::loadEventEnd() const { | 119 double PerformanceNavigationTiming::loadEventEnd() const { |
120 return monotonicTimeToDOMHighResTimeStamp(m_timeOrigin, m_loadEventEnd); | 120 return monotonicTimeToDOMHighResTimeStamp(m_timeOrigin, m_loadEventEnd); |
121 } | 121 } |
122 | 122 |
123 AtomicString PerformanceNavigationTiming::type() const { | 123 AtomicString PerformanceNavigationTiming::type() const { |
124 // TODO(sunjian) Right now NavigationType doesn't seem to have a Prerender | 124 // TODO(sunjian) Right now NavigationType doesn't seem to have a Prerender |
125 // type yet, need to look into this crbug/663217 | 125 // type yet, need to look into this crbug/663217 |
126 switch (m_type) { | 126 switch (m_type) { |
127 case NavigationTypeReload: | 127 case KTypeReload: |
128 return "reload"; | 128 return "reload"; |
129 case NavigationTypeBackForward: | 129 case KTypeBackForward: |
130 return "back_forward"; | 130 return "back_forward"; |
| 131 case KTypePrerender: |
| 132 return "prerender"; |
131 default: | 133 default: |
132 return "navigate"; | 134 return "navigate"; |
133 } | 135 } |
134 } | 136 } |
135 | 137 |
136 unsigned short PerformanceNavigationTiming::redirectCount() const { | 138 unsigned short PerformanceNavigationTiming::redirectCount() const { |
137 // TODO(sunjian): Also check response headers to allow opt-in crbugs/665160 | 139 // TODO(sunjian): Also check response headers to allow opt-in crbugs/665160 |
138 if (m_hasCrossOriginRedirect) | 140 if (m_hasCrossOriginRedirect) |
139 return 0; | 141 return 0; |
140 return m_redirectCount; | 142 return m_redirectCount; |
(...skipping 27 matching lines...) Expand all Loading... |
168 builder.addNumber("domInteractive", domInteractive()); | 170 builder.addNumber("domInteractive", domInteractive()); |
169 builder.addNumber("domContentLoadedEventStart", domContentLoadedEventStart()); | 171 builder.addNumber("domContentLoadedEventStart", domContentLoadedEventStart()); |
170 builder.addNumber("domContentLoadedEventEnd", domContentLoadedEventEnd()); | 172 builder.addNumber("domContentLoadedEventEnd", domContentLoadedEventEnd()); |
171 builder.addNumber("domComplete", domComplete()); | 173 builder.addNumber("domComplete", domComplete()); |
172 builder.addNumber("loadEventStart", loadEventStart()); | 174 builder.addNumber("loadEventStart", loadEventStart()); |
173 builder.addNumber("loadEventEnd", loadEventEnd()); | 175 builder.addNumber("loadEventEnd", loadEventEnd()); |
174 builder.addString("type", type()); | 176 builder.addString("type", type()); |
175 builder.addNumber("redirectCount", redirectCount()); | 177 builder.addNumber("redirectCount", redirectCount()); |
176 } | 178 } |
177 } | 179 } |
OLD | NEW |