Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(843)

Unified Diff: third_party/WebKit/Source/core/timing/PerformanceResourceTiming.cpp

Issue 2429063002: Implement nextHopProtocol in PerformanceResourceTiming and PerformanceNavigationTiming.
Patch Set: connection_info initial value Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/timing/PerformanceResourceTiming.cpp
diff --git a/third_party/WebKit/Source/core/timing/PerformanceResourceTiming.cpp b/third_party/WebKit/Source/core/timing/PerformanceResourceTiming.cpp
index bc8441f93083ed1450207b77a167a1a936e177f3..bdf3e3dab1ae3f4efdb9c050309178cb13adcdd6 100644
--- a/third_party/WebKit/Source/core/timing/PerformanceResourceTiming.cpp
+++ b/third_party/WebKit/Source/core/timing/PerformanceResourceTiming.cpp
@@ -62,6 +62,8 @@ PerformanceResourceTiming::PerformanceResourceTiming(
monotonicTimeToDOMHighResTimeStamp(timeOrigin,
info.loadFinishTime())),
m_initiatorType(info.initiatorType()),
+ m_nextHopProtocol(info.finalResponse().alpnNegotiatedProtocol()),
+ m_connectionInfo(info.finalResponse().connectionInfo()),
m_timeOrigin(timeOrigin),
m_timing(info.finalResponse().resourceLoadTiming()),
m_lastRedirectEndTime(lastRedirectEndTime),
@@ -75,10 +77,28 @@ PerformanceResourceTiming::PerformanceResourceTiming(
PerformanceResourceTiming::~PerformanceResourceTiming() {}
+AtomicString PerformanceResourceTiming::produceNextHopProtocol(
+ const AtomicString& alpnNegotiatedProtocol,
+ const AtomicString& connectionInfo) {
+ AtomicString returnedProtocol = alpnNegotiatedProtocol == "unknown"
+ ? connectionInfo
+ : alpnNegotiatedProtocol;
+ returnedProtocol =
+ 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"
+ returnedProtocol =
+ 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.
+ return returnedProtocol;
+}
+
AtomicString PerformanceResourceTiming::initiatorType() const {
return m_initiatorType;
}
+AtomicString PerformanceResourceTiming::nextHopProtocol() const {
+ return PerformanceResourceTiming::produceNextHopProtocol(m_nextHopProtocol,
+ m_connectionInfo);
+}
+
double PerformanceResourceTiming::workerStart() const {
if (!m_timing || m_timing->workerStart() == 0.0)
return 0.0;

Powered by Google App Engine
This is Rietveld 408576698