示例#1
0
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;
}
示例#2
0
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();
}