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..72cb93fe330d7e4662cefc204e1e0cdd59a80a55 100644 |
--- a/third_party/WebKit/Source/core/timing/Performance.cpp |
+++ b/third_party/WebKit/Source/core/timing/Performance.cpp |
@@ -43,6 +43,8 @@ |
#include "core/loader/DocumentLoader.h" |
#include "core/origin_trials/OriginTrials.h" |
#include "core/timing/PerformanceTiming.h" |
+#include "platform/RuntimeEnabledFeatures.h" |
+#include "platform/network/ResourceTimingInfo.h" |
static const double kLongTaskThreshold = 0.05; |
@@ -140,6 +142,19 @@ PerformanceTiming* Performance::timing() const { |
return m_timing.get(); |
} |
+PerformanceNavigationTiming* Performance::createNavigationTimingInstance() { |
+ if (!RuntimeEnabledFeatures::performanceNavigationTiming2Enabled()) |
+ return nullptr; |
+ if (!frame()) |
+ return nullptr; |
+ const DocumentLoader* documentLoader = frame()->loader().documentLoader(); |
+ DCHECK(documentLoader); |
+ ResourceTimingInfo* info = documentLoader->getNavigationTimingInfo(); |
+ if (!info) |
+ return nullptr; |
+ return new PerformanceNavigationTiming(frame(), info, timeOrigin()); |
+} |
+ |
void Performance::updateLongTaskInstrumentation() { |
DCHECK(frame()); |
if (!frame()->document()) |