OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * Copyright (C) 2012 Intel Inc. All rights reserved. | 3 * Copyright (C) 2012 Intel Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 22 matching lines...) Expand all Loading... | |
33 | 33 |
34 #include "bindings/core/v8/V8ObjectBuilder.h" | 34 #include "bindings/core/v8/V8ObjectBuilder.h" |
35 #include "core/timing/PerformanceBase.h" | 35 #include "core/timing/PerformanceBase.h" |
36 #include "platform/network/ResourceRequest.h" | 36 #include "platform/network/ResourceRequest.h" |
37 #include "platform/network/ResourceResponse.h" | 37 #include "platform/network/ResourceResponse.h" |
38 #include "platform/network/ResourceTimingInfo.h" | 38 #include "platform/network/ResourceTimingInfo.h" |
39 | 39 |
40 namespace blink { | 40 namespace blink { |
41 | 41 |
42 PerformanceResourceTiming::PerformanceResourceTiming( | 42 PerformanceResourceTiming::PerformanceResourceTiming( |
43 const AtomicString& initiatorType, | |
44 double timeOrigin, | |
45 ResourceLoadTiming* timing, | |
46 double lastRedirectEndTime, | |
47 double finishTime, | |
48 unsigned long long transferSize, | |
49 unsigned long long encodedBodyLength, | |
50 unsigned long long decodedBodyLength, | |
51 bool didReuseConnection, | |
52 bool allowTimingDetails, | |
53 bool allowRedirectDetails, | |
54 const String& name, | |
55 const String& entryType, | |
56 double startTime) | |
57 : PerformanceEntry( | |
58 name, | |
59 entryType, | |
60 PerformanceBase::monotonicTimeToDOMHighResTimeStamp(timeOrigin, | |
61 startTime), | |
62 PerformanceBase::monotonicTimeToDOMHighResTimeStamp(timeOrigin, | |
63 finishTime)), | |
64 m_initiatorType(initiatorType), | |
65 m_timeOrigin(timeOrigin), | |
66 m_timing(timing), | |
67 m_lastRedirectEndTime(lastRedirectEndTime), | |
68 m_finishTime(finishTime), | |
69 m_transferSize(transferSize), | |
70 m_encodedBodySize(encodedBodyLength), | |
71 m_decodedBodySize(decodedBodyLength), | |
72 m_didReuseConnection(didReuseConnection), | |
73 m_allowTimingDetails(allowTimingDetails), | |
74 m_allowRedirectDetails(allowRedirectDetails) {} | |
75 | |
76 PerformanceResourceTiming::PerformanceResourceTiming( | |
77 const ResourceTimingInfo& info, | 43 const ResourceTimingInfo& info, |
78 double timeOrigin, | 44 double timeOrigin, |
79 double startTime, | 45 double startTime, |
80 double lastRedirectEndTime, | 46 double lastRedirectEndTime, |
81 bool allowTimingDetails, | 47 bool allowTimingDetails, |
82 bool allowRedirectDetails) | 48 bool allowRedirectDetails) |
83 : PerformanceResourceTiming(info.initiatorType(), | 49 : PerformanceEntry( |
84 timeOrigin, | 50 info.initialURL().getString(), |
85 info.finalResponse().resourceLoadTiming(), | 51 "resource", |
86 lastRedirectEndTime, | 52 PerformanceBase::monotonicTimeToDOMHighResTimeStamp(timeOrigin, |
87 info.loadFinishTime(), | 53 startTime), |
88 info.transferSize(), | 54 PerformanceBase::monotonicTimeToDOMHighResTimeStamp( |
89 info.finalResponse().encodedBodyLength(), | 55 timeOrigin, |
90 info.finalResponse().decodedBodyLength(), | 56 info.loadFinishTime())), |
91 info.finalResponse().connectionReused(), | 57 m_initiatorType(info.initiatorType()), |
92 allowTimingDetails, | 58 m_timeOrigin(timeOrigin), |
93 allowRedirectDetails, | 59 m_timing(info.finalResponse().resourceLoadTiming()), |
94 info.initialURL().getString(), | 60 m_lastRedirectEndTime(lastRedirectEndTime), |
95 "resource", | 61 m_finishTime(info.loadFinishTime()), |
96 startTime) {} | 62 m_transferSize(info.transferSize()), |
63 m_encodedBodySize(info.finalResponse().encodedBodyLength()), | |
64 m_decodedBodySize(info.finalResponse().decodedBodyLength()), | |
65 m_didReuseConnection(info.finalResponse().connectionReused()), | |
66 m_allowTimingDetails(allowTimingDetails), | |
67 m_allowRedirectDetails(allowRedirectDetails) {} | |
68 | |
69 // This constructor is for PerformanceNavigationTiming. | |
panicker
2017/02/03 23:53:52
Add TODO with link to design doc and indicate this
sunjian
2017/02/10 18:32:46
I'm not sure what TODO to add. We can't get rid of
| |
70 PerformanceResourceTiming::PerformanceResourceTiming(const String& name, | |
71 const String& entryType, | |
72 double startTime, | |
73 double duration) | |
74 : PerformanceEntry(name, entryType, startTime, duration) {} | |
97 | 75 |
98 PerformanceResourceTiming::~PerformanceResourceTiming() {} | 76 PerformanceResourceTiming::~PerformanceResourceTiming() {} |
99 | 77 |
100 AtomicString PerformanceResourceTiming::initiatorType() const { | 78 AtomicString PerformanceResourceTiming::initiatorType() const { |
101 return m_initiatorType; | 79 return m_initiatorType; |
102 } | 80 } |
103 | 81 |
104 DOMHighResTimeStamp PerformanceResourceTiming::workerStart() const { | 82 DOMHighResTimeStamp PerformanceResourceTiming::workerStart() const { |
105 if (!m_timing || m_timing->workerStart() == 0.0) | 83 if (!m_timing || m_timing->workerStart() == 0.0) |
106 return 0.0; | 84 return 0.0; |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
280 builder.addNumber("secureConnectionStart", secureConnectionStart()); | 258 builder.addNumber("secureConnectionStart", secureConnectionStart()); |
281 builder.addNumber("requestStart", requestStart()); | 259 builder.addNumber("requestStart", requestStart()); |
282 builder.addNumber("responseStart", responseStart()); | 260 builder.addNumber("responseStart", responseStart()); |
283 builder.addNumber("responseEnd", responseEnd()); | 261 builder.addNumber("responseEnd", responseEnd()); |
284 builder.addNumber("transferSize", transferSize()); | 262 builder.addNumber("transferSize", transferSize()); |
285 builder.addNumber("encodedBodySize", encodedBodySize()); | 263 builder.addNumber("encodedBodySize", encodedBodySize()); |
286 builder.addNumber("decodedBodySize", decodedBodySize()); | 264 builder.addNumber("decodedBodySize", decodedBodySize()); |
287 } | 265 } |
288 | 266 |
289 } // namespace blink | 267 } // namespace blink |
OLD | NEW |