Index: Source/core/timing/PerformanceResourceTiming.cpp |
diff --git a/Source/core/timing/PerformanceResourceTiming.cpp b/Source/core/timing/PerformanceResourceTiming.cpp |
index 222edbf61957c6c7858f897b9572e5c7e2344f8b..cf0bc1be8023c46e3d1b18ed85ca94cdae284720 100644 |
--- a/Source/core/timing/PerformanceResourceTiming.cpp |
+++ b/Source/core/timing/PerformanceResourceTiming.cpp |
@@ -69,11 +69,22 @@ AtomicString PerformanceResourceTiming::initiatorType() const |
return m_initiatorType; |
} |
+double PerformanceResourceTiming::workerStart() const |
+{ |
+ if (!m_timing || m_timing->workerStart() == 0.0) |
+ return 0.0; |
+ |
+ return monotonicTimeToDocumentMilliseconds(m_requestingDocument.get(), m_timing->workerStart()); |
+} |
+ |
double PerformanceResourceTiming::redirectStart() const |
{ |
if (!m_lastRedirectEndTime || !m_allowRedirectDetails) |
return 0.0; |
+ if (double workerStartTime = workerStart()) |
+ return workerStartTime; |
+ |
return PerformanceEntry::startTime(); |
} |
@@ -94,6 +105,9 @@ double PerformanceResourceTiming::fetchStart() const |
return monotonicTimeToDocumentMilliseconds(m_requestingDocument.get(), m_timing->requestTime()); |
} |
+ if (double workerStartTime = workerStart()) |
+ return workerStartTime; |
+ |
return PerformanceEntry::startTime(); |
} |