double PerformanceResourceTiming::requestStart() const { if (!m_shouldReportDetails) return 0.0; return resourceTimeToDocumentMilliseconds(m_timing.requestStart); }
double PerformanceResourceTiming::secureConnectionStart() const { if (!m_shouldReportDetails) return 0.0; if (m_timing.secureConnectionStart < 0) // Secure connection not negotiated. return 0.0; return resourceTimeToDocumentMilliseconds(m_timing.secureConnectionStart); }
double PerformanceResourceTiming::domainLookupEnd() const { if (!m_shouldReportDetails) return 0.0; if (m_timing.domainLookupEnd < 0) return domainLookupStart(); return resourceTimeToDocumentMilliseconds(m_timing.domainLookupEnd); }
double PerformanceResourceTiming::responseStart() const { if (!m_shouldReportDetails) return 0.0; if (!m_timing) return requestStart(); // FIXME: This number isn't exactly correct. See the notes in PerformanceTiming::responseStart(). return resourceTimeToDocumentMilliseconds(m_timing->receiveHeadersEnd); }
double PerformanceResourceTiming::domainLookupStart() const { if (!m_shouldReportDetails) return 0.0; if (!m_timing || m_timing->dnsStart < 0) return fetchStart(); return resourceTimeToDocumentMilliseconds(m_timing->dnsStart); }
double PerformanceResourceTiming::connectEnd() const { if (!m_shouldReportDetails) return 0.0; // connectStart will be -1 when a network request is not made. if (m_timing.connectEnd < 0) return connectStart(); return resourceTimeToDocumentMilliseconds(m_timing.connectEnd); }
double PerformanceResourceTiming::connectStart() const { if (!m_shouldReportDetails) return 0.0; // connectStart will be -1 when a network request is not made. if (m_timing.connectStart < 0) return domainLookupEnd(); // connectStart includes any DNS time, so we may need to trim that off. int connectStart = m_timing.connectStart; if (m_timing.domainLookupEnd >= 0) connectStart = m_timing.domainLookupEnd; return resourceTimeToDocumentMilliseconds(connectStart); }