Chromium Code Reviews| 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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 55 double lastRedirectEndTime, | 55 double lastRedirectEndTime, |
| 56 bool allowTimingDetails, | 56 bool allowTimingDetails, |
| 57 bool allowRedirectDetails) | 57 bool allowRedirectDetails) |
| 58 : PerformanceEntry( | 58 : PerformanceEntry( |
| 59 info.initialURL().getString(), | 59 info.initialURL().getString(), |
| 60 "resource", | 60 "resource", |
| 61 monotonicTimeToDOMHighResTimeStamp(timeOrigin, startTime), | 61 monotonicTimeToDOMHighResTimeStamp(timeOrigin, startTime), |
| 62 monotonicTimeToDOMHighResTimeStamp(timeOrigin, | 62 monotonicTimeToDOMHighResTimeStamp(timeOrigin, |
| 63 info.loadFinishTime())), | 63 info.loadFinishTime())), |
| 64 m_initiatorType(info.initiatorType()), | 64 m_initiatorType(info.initiatorType()), |
| 65 m_nextHopProtocol(info.finalResponse().alpnNegotiatedProtocol()), | |
| 66 m_connectionInfo(info.finalResponse().connectionInfo()), | |
| 65 m_timeOrigin(timeOrigin), | 67 m_timeOrigin(timeOrigin), |
| 66 m_timing(info.finalResponse().resourceLoadTiming()), | 68 m_timing(info.finalResponse().resourceLoadTiming()), |
| 67 m_lastRedirectEndTime(lastRedirectEndTime), | 69 m_lastRedirectEndTime(lastRedirectEndTime), |
| 68 m_finishTime(info.loadFinishTime()), | 70 m_finishTime(info.loadFinishTime()), |
| 69 m_transferSize(info.transferSize()), | 71 m_transferSize(info.transferSize()), |
| 70 m_encodedBodySize(info.finalResponse().encodedBodyLength()), | 72 m_encodedBodySize(info.finalResponse().encodedBodyLength()), |
| 71 m_decodedBodySize(info.finalResponse().decodedBodyLength()), | 73 m_decodedBodySize(info.finalResponse().decodedBodyLength()), |
| 72 m_didReuseConnection(info.finalResponse().connectionReused()), | 74 m_didReuseConnection(info.finalResponse().connectionReused()), |
| 73 m_allowTimingDetails(allowTimingDetails), | 75 m_allowTimingDetails(allowTimingDetails), |
| 74 m_allowRedirectDetails(allowRedirectDetails) {} | 76 m_allowRedirectDetails(allowRedirectDetails) {} |
| 75 | 77 |
| 76 PerformanceResourceTiming::~PerformanceResourceTiming() {} | 78 PerformanceResourceTiming::~PerformanceResourceTiming() {} |
| 77 | 79 |
| 80 AtomicString PerformanceResourceTiming::produceNextHopProtocol( | |
| 81 const AtomicString& alpnNegotiatedProtocol, | |
| 82 const AtomicString& connectionInfo) { | |
| 83 AtomicString returnedProtocol = alpnNegotiatedProtocol == "unknown" | |
| 84 ? connectionInfo | |
| 85 : alpnNegotiatedProtocol; | |
| 86 returnedProtocol = | |
| 87 returnedProtocol == "unknown" ? "http/1.1" : returnedProtocol; | |
|
panicker
2016/10/24 18:23:31
I don't think we can assume http1 version here.
sunjian
2016/10/25 00:10:55
Talked off line. Agreed to set it to be "http/1.1"
| |
| 88 returnedProtocol = | |
| 89 returnedProtocol == "quic/1+spdy/3" ? "http2/+quic/35" : returnedProtocol; | |
|
panicker
2016/10/24 18:23:31
cannot assume quic version
sunjian
2016/10/25 00:10:55
Done.
| |
| 90 return returnedProtocol; | |
| 91 } | |
| 92 | |
| 78 AtomicString PerformanceResourceTiming::initiatorType() const { | 93 AtomicString PerformanceResourceTiming::initiatorType() const { |
| 79 return m_initiatorType; | 94 return m_initiatorType; |
| 80 } | 95 } |
| 81 | 96 |
| 97 AtomicString PerformanceResourceTiming::nextHopProtocol() const { | |
| 98 return PerformanceResourceTiming::produceNextHopProtocol(m_nextHopProtocol, | |
| 99 m_connectionInfo); | |
| 100 } | |
| 101 | |
| 82 double PerformanceResourceTiming::workerStart() const { | 102 double PerformanceResourceTiming::workerStart() const { |
| 83 if (!m_timing || m_timing->workerStart() == 0.0) | 103 if (!m_timing || m_timing->workerStart() == 0.0) |
| 84 return 0.0; | 104 return 0.0; |
| 85 | 105 |
| 86 return monotonicTimeToDOMHighResTimeStamp(m_timeOrigin, | 106 return monotonicTimeToDOMHighResTimeStamp(m_timeOrigin, |
| 87 m_timing->workerStart()); | 107 m_timing->workerStart()); |
| 88 } | 108 } |
| 89 | 109 |
| 90 double PerformanceResourceTiming::workerReady() const { | 110 double PerformanceResourceTiming::workerReady() const { |
| 91 if (!m_timing || m_timing->workerReady() == 0.0) | 111 if (!m_timing || m_timing->workerReady() == 0.0) |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 253 builder.addNumber("secureConnectionStart", secureConnectionStart()); | 273 builder.addNumber("secureConnectionStart", secureConnectionStart()); |
| 254 builder.addNumber("requestStart", requestStart()); | 274 builder.addNumber("requestStart", requestStart()); |
| 255 builder.addNumber("responseStart", responseStart()); | 275 builder.addNumber("responseStart", responseStart()); |
| 256 builder.addNumber("responseEnd", responseEnd()); | 276 builder.addNumber("responseEnd", responseEnd()); |
| 257 builder.addNumber("transferSize", transferSize()); | 277 builder.addNumber("transferSize", transferSize()); |
| 258 builder.addNumber("encodedBodySize", encodedBodySize()); | 278 builder.addNumber("encodedBodySize", encodedBodySize()); |
| 259 builder.addNumber("decodedBodySize", decodedBodySize()); | 279 builder.addNumber("decodedBodySize", decodedBodySize()); |
| 260 } | 280 } |
| 261 | 281 |
| 262 } // namespace blink | 282 } // namespace blink |
| OLD | NEW |