diff options
Diffstat (limited to 'Source/WebCore/page/PerformanceResourceTiming.h')
-rw-r--r-- | Source/WebCore/page/PerformanceResourceTiming.h | 45 |
1 files changed, 20 insertions, 25 deletions
diff --git a/Source/WebCore/page/PerformanceResourceTiming.h b/Source/WebCore/page/PerformanceResourceTiming.h index 6276944ca..0eebf1e9d 100644 --- a/Source/WebCore/page/PerformanceResourceTiming.h +++ b/Source/WebCore/page/PerformanceResourceTiming.h @@ -29,33 +29,27 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef PerformanceResourceTiming_h -#define PerformanceResourceTiming_h +#pragma once -#if ENABLE(RESOURCE_TIMING) +#if ENABLE(WEB_TIMING) +#include "LoadTiming.h" +#include "NetworkLoadTiming.h" #include "PerformanceEntry.h" -#include <wtf/PassRefPtr.h> #include <wtf/RefPtr.h> #include <wtf/text/WTFString.h> namespace WebCore { -class Document; -class URL; -class ResourceLoadTiming; -class ResourceRequest; -class ResourceResponse; +class ResourceTiming; -class PerformanceResourceTiming : public PerformanceEntry { +class PerformanceResourceTiming final : public PerformanceEntry { public: - static PassRefPtr<PerformanceResourceTiming> create(const AtomicString& initiatorType, const ResourceRequest& request, const ResourceResponse& response, double initiationTime, double finishTime, Document* requestingDocument) - { - return adoptRef(new PerformanceResourceTiming(initiatorType, request, response, initiationTime, finishTime, requestingDocument)); - } + static Ref<PerformanceResourceTiming> create(MonotonicTime timeOrigin, ResourceTiming&&); - AtomicString initiatorType() const; + AtomicString initiatorType() const { return m_initiatorType; } + double workerStart() const; double redirectStart() const; double redirectEnd() const; double fetchStart() const; @@ -68,24 +62,25 @@ public: double responseStart() const; double responseEnd() const; - virtual bool isResource() { return true; } + bool isResource() const override { return true; } private: - PerformanceResourceTiming(const AtomicString& initatorType, const ResourceRequest&, const ResourceResponse&, double initiationTime, double finishTime, Document*); + PerformanceResourceTiming(MonotonicTime timeOrigin, ResourceTiming&&); ~PerformanceResourceTiming(); - double resourceTimeToDocumentMilliseconds(int deltaMilliseconds) const; + double networkLoadTimeToDOMHighResTimeStamp(double deltaMilliseconds) const; AtomicString m_initiatorType; - RefPtr<ResourceLoadTiming> m_timing; - double m_finishTime; - bool m_didReuseConnection; + MonotonicTime m_timeOrigin; + LoadTiming m_loadTiming; + NetworkLoadTiming m_networkLoadTiming; bool m_shouldReportDetails; - RefPtr<Document> m_requestingDocument; }; -} +} // namespace WebCore -#endif // ENABLE(RESOURCE_TIMING) +SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::PerformanceResourceTiming) + static bool isType(const WebCore::PerformanceEntry& entry) { return entry.isResource(); } +SPECIALIZE_TYPE_TRAITS_END() -#endif // !defined(PerformanceResourceTiming_h) +#endif // ENABLE(WEB_TIMING) |