Index: third_party/WebKit/Source/core/timing/Performance.cpp |
diff --git a/third_party/WebKit/Source/core/timing/Performance.cpp b/third_party/WebKit/Source/core/timing/Performance.cpp |
index 20e24d20693b5bd6a4eb7f10a0cc1b28e6d5309b..16c5de7eabbc00feb223ffed1d8f8181bf9b6d9a 100644 |
--- a/third_party/WebKit/Source/core/timing/Performance.cpp |
+++ b/third_party/WebKit/Source/core/timing/Performance.cpp |
@@ -43,6 +43,7 @@ |
#include "core/loader/DocumentLoader.h" |
#include "core/origin_trials/OriginTrials.h" |
#include "core/timing/PerformanceTiming.h" |
+#include "platform/network/ResourceTimingInfo.h" |
static const double kLongTaskThreshold = 0.05; |
@@ -140,6 +141,18 @@ PerformanceTiming* Performance::timing() const { |
return m_timing.get(); |
} |
+PerformanceNavigationTiming* Performance::createNavigationTimingInstance() { |
+ ResourceTimingInfo* resourceTimingInfo = nullptr; |
+ if (frame()) { |
Kunihiko Sakamoto
2017/02/15 06:35:30
If frame() is null, can we return nullptr here? Cu
sunjian
2017/02/15 20:30:28
Agree with returning nullptr directly when frame()
panicker
2017/02/16 00:37:23
Which dchecks are being referred to here specifica
Kunihiko Sakamoto
2017/02/16 08:42:29
Ah I overlooked that m_frame is a weak pointer.
S
sunjian
2017/02/16 22:30:49
Acknowledged.
|
+ const DocumentLoader* documentLoader = frame()->loader().documentLoader(); |
+ DCHECK(documentLoader); |
+ resourceTimingInfo = documentLoader->getNavigationTimingInfo(); |
+ } |
+ |
+ return new PerformanceNavigationTiming(frame(), resourceTimingInfo, |
+ timeOrigin()); |
+} |
+ |
void Performance::updateLongTaskInstrumentation() { |
DCHECK(frame()); |
if (!frame()->document()) |