summaryrefslogtreecommitdiff
path: root/Source/WebCore/page/PerformanceResourceTiming.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/page/PerformanceResourceTiming.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/page/PerformanceResourceTiming.h')
-rw-r--r--Source/WebCore/page/PerformanceResourceTiming.h45
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)