Index: third_party/WebKit/Source/core/timing/PerformanceNavigationTiming.h |
diff --git a/third_party/WebKit/Source/core/timing/PerformanceNavigationTiming.h b/third_party/WebKit/Source/core/timing/PerformanceNavigationTiming.h |
index c26ba4b1d3aa00270416844ff3e17241c1ff14df..713f0d60a0e4a85e046b0c0364d3e1c63ac3de05 100644 |
--- a/third_party/WebKit/Source/core/timing/PerformanceNavigationTiming.h |
+++ b/third_party/WebKit/Source/core/timing/PerformanceNavigationTiming.h |
@@ -7,43 +7,36 @@ |
#include "core/CoreExport.h" |
#include "core/dom/DOMHighResTimeStamp.h" |
+#include "core/loader/FrameLoaderTypes.h" |
#include "core/timing/PerformanceResourceTiming.h" |
namespace blink { |
+class Document; |
+class DocumentTiming; |
+class DocumentLoader; |
+class DocumentLoadTiming; |
+class LocalFrame; |
+class ExecutionContext; |
+class ResourceTimingInfo; |
+class ResourceLoadTiming; |
+ |
class CORE_EXPORT PerformanceNavigationTiming final |
: public PerformanceResourceTiming { |
DEFINE_WRAPPERTYPEINFO(); |
+ friend class PerformanceNavigationTimingTest; |
public: |
- enum class NavigationType { Navigate, Reload, BackForward, Prerender }; |
- |
- PerformanceNavigationTiming(double timeOrigin, |
- const String& requestedUrl, |
- double unloadEventStart, |
- double unloadEventEnd, |
- double loadEventStart, |
- double loadEventEnd, |
- unsigned short redirectCount, |
- double domInteractive, |
- double domContentLoadedEventStart, |
- double domContentLoadedEventEnd, |
- double domComplete, |
- NavigationType, |
- double redirectStart, |
- double redirectEnd, |
- double fetchStart, |
- double responseEnd, |
- bool allowRedirectDetails, |
- bool hasSameOriginAsPreviousDocument, |
- ResourceLoadTiming*, |
- double lastRedirectEndTime, |
- double finishTime, |
- unsigned long long transferSize, |
- unsigned long long encodedBodyLength, |
- unsigned long long decodedBodyLength, |
- bool didReuseConnection); |
+ PerformanceNavigationTiming(LocalFrame*, |
+ ResourceTimingInfo*, |
+ double timeOrigin); |
+ |
+ // Attributes inheritted from PerformanceEntry. |
+ DOMHighResTimeStamp duration() const override; |
+ AtomicString initiatorType() const override; |
+ |
+ // PerformanceNavigationTiming's unique attributes. |
DOMHighResTimeStamp unloadEventStart() const; |
DOMHighResTimeStamp unloadEventEnd() const; |
DOMHighResTimeStamp domInteractive() const; |
@@ -61,29 +54,31 @@ class CORE_EXPORT PerformanceNavigationTiming final |
DOMHighResTimeStamp redirectEnd() const override; |
DOMHighResTimeStamp responseEnd() const override; |
+ DECLARE_VIRTUAL_TRACE(); |
+ |
protected: |
void buildJSONValue(V8ObjectBuilder&) const override; |
private: |
~PerformanceNavigationTiming() override; |
+ static AtomicString getNavigationType(NavigationType, const Document*); |
+ const DocumentTiming* documentTiming() const; |
+ DocumentLoader* documentLoader() const; |
+ DocumentLoadTiming* documentLoadTiming() const; |
+ |
+ virtual ResourceLoadTiming* resourceLoadTiming() const; |
+ virtual bool allowTimingDetails() const; |
+ virtual bool didReuseConnection() const; |
+ virtual unsigned long long getTransferSize() const; |
+ virtual unsigned long long getEncodedBodySize() const; |
+ virtual unsigned long long getDecodedBodySize() const; |
+ |
+ bool getAllowRedirectDetails() const; |
+ |
double m_timeOrigin; |
- double m_unloadEventStart; |
- double m_unloadEventEnd; |
- double m_loadEventStart; |
- double m_loadEventEnd; |
- unsigned short m_redirectCount; |
- double m_domInteractive; |
- double m_domContentLoadedEventStart; |
- double m_domContentLoadedEventEnd; |
- double m_domComplete; |
- NavigationType m_type; |
- double m_redirectStart; |
- double m_redirectEnd; |
- double m_fetchStart; |
- double m_responseEnd; |
- bool m_allowRedirectDetails; |
- bool m_hasSameOriginAsPreviousDocument; |
+ RefPtr<ResourceTimingInfo> m_resourceTimingInfo; |
+ WeakMember<LocalFrame> m_frame; |
}; |
} // namespace blink |