void DocumentLoadTiming::setNavigationStart(double navigationStart) { ASSERT(m_referenceMonotonicTime && m_referenceWallTime); m_navigationStart = navigationStart; // |m_referenceMonotonicTime| and |m_referenceWallTime| represent // navigationStart. When the embedder sets navigationStart (because the // navigation started earlied on the browser side), we need to adjust these // as well. m_referenceWallTime = monotonicTimeToPseudoWallTime(navigationStart); m_referenceMonotonicTime = navigationStart; }
void DocumentLoadTiming::setNavigationStart(double navigationStart) { // |m_referenceMonotonicTime| and |m_referenceWallTime| represent // navigationStart. We must set these to the current time if they haven't // been set yet in order to have a valid reference time in both units. ensureReferenceTimesSet(); m_navigationStart = navigationStart; TRACE_EVENT_MARK_WITH_TIMESTAMP1( "blink.user_timing", "navigationStart", TraceEvent::toTraceTimestamp(m_navigationStart), "frame", frame()); // The reference times are adjusted based on the embedder's navigationStart. DCHECK(m_referenceMonotonicTime); DCHECK(m_referenceWallTime); m_referenceWallTime = monotonicTimeToPseudoWallTime(navigationStart); m_referenceMonotonicTime = navigationStart; notifyDocumentTimingChanged(); }