Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(415)

Side by Side Diff: third_party/WebKit/Source/core/timing/PerformanceNavigationTiming.h

Issue 2962113002: Updates to Server-Timing in accordance with with spec changes (Closed)
Patch Set: fix web-platform-tests Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PerformanceNavigationTiming_h 5 #ifndef PerformanceNavigationTiming_h
6 #define PerformanceNavigationTiming_h 6 #define PerformanceNavigationTiming_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/dom/ContextLifecycleObserver.h" 9 #include "core/dom/ContextLifecycleObserver.h"
10 #include "core/dom/DOMHighResTimeStamp.h" 10 #include "core/dom/DOMHighResTimeStamp.h"
(...skipping 14 matching lines...) Expand all
25 class CORE_EXPORT PerformanceNavigationTiming final 25 class CORE_EXPORT PerformanceNavigationTiming final
26 : public PerformanceResourceTiming, 26 : public PerformanceResourceTiming,
27 public ContextClient { 27 public ContextClient {
28 DEFINE_WRAPPERTYPEINFO(); 28 DEFINE_WRAPPERTYPEINFO();
29 USING_GARBAGE_COLLECTED_MIXIN(PerformanceNavigationTiming); 29 USING_GARBAGE_COLLECTED_MIXIN(PerformanceNavigationTiming);
30 friend class PerformanceNavigationTimingTest; 30 friend class PerformanceNavigationTimingTest;
31 31
32 public: 32 public:
33 PerformanceNavigationTiming(LocalFrame*, 33 PerformanceNavigationTiming(LocalFrame*,
34 ResourceTimingInfo*, 34 ResourceTimingInfo*,
35 double time_origin); 35 double time_origin,
36 PerformanceServerTimingVector&);
36 37
37 // Attributes inheritted from PerformanceEntry. 38 // Attributes inheritted from PerformanceEntry.
38 DOMHighResTimeStamp duration() const override; 39 DOMHighResTimeStamp duration() const override;
39 40
40 AtomicString initiatorType() const override; 41 AtomicString initiatorType() const override;
41 42
42 // PerformanceNavigationTiming's unique attributes. 43 // PerformanceNavigationTiming's unique attributes.
43 DOMHighResTimeStamp unloadEventStart() const; 44 DOMHighResTimeStamp unloadEventStart() const;
44 DOMHighResTimeStamp unloadEventEnd() const; 45 DOMHighResTimeStamp unloadEventEnd() const;
45 DOMHighResTimeStamp domInteractive() const; 46 DOMHighResTimeStamp domInteractive() const;
46 DOMHighResTimeStamp domContentLoadedEventStart() const; 47 DOMHighResTimeStamp domContentLoadedEventStart() const;
47 DOMHighResTimeStamp domContentLoadedEventEnd() const; 48 DOMHighResTimeStamp domContentLoadedEventEnd() const;
48 DOMHighResTimeStamp domComplete() const; 49 DOMHighResTimeStamp domComplete() const;
49 DOMHighResTimeStamp loadEventStart() const; 50 DOMHighResTimeStamp loadEventStart() const;
50 DOMHighResTimeStamp loadEventEnd() const; 51 DOMHighResTimeStamp loadEventEnd() const;
51 AtomicString type() const; 52 AtomicString type() const;
52 unsigned short redirectCount() const; 53 unsigned short redirectCount() const;
53 54
54 // PerformanceResourceTiming overrides: 55 // PerformanceResourceTiming overrides:
55 DOMHighResTimeStamp fetchStart() const override; 56 DOMHighResTimeStamp fetchStart() const override;
56 DOMHighResTimeStamp redirectStart() const override; 57 DOMHighResTimeStamp redirectStart() const override;
57 DOMHighResTimeStamp redirectEnd() const override; 58 DOMHighResTimeStamp redirectEnd() const override;
58 DOMHighResTimeStamp responseEnd() const override; 59 DOMHighResTimeStamp responseEnd() const override;
59 60
60 DECLARE_VIRTUAL_TRACE(); 61 DECLARE_VIRTUAL_TRACE();
61 62
62 protected: 63 protected:
63 void BuildJSONValue(V8ObjectBuilder&) const override; 64 void BuildJSONValue(ScriptState*, V8ObjectBuilder&) const override;
64 65
65 private: 66 private:
66 ~PerformanceNavigationTiming() override; 67 ~PerformanceNavigationTiming() override;
67 68
68 static AtomicString GetNavigationType(NavigationType, const Document*); 69 static AtomicString GetNavigationType(NavigationType, const Document*);
69 70
70 const DocumentTiming* GetDocumentTiming() const; 71 const DocumentTiming* GetDocumentTiming() const;
71 DocumentLoader* GetDocumentLoader() const; 72 DocumentLoader* GetDocumentLoader() const;
72 DocumentLoadTiming* GetDocumentLoadTiming() const; 73 DocumentLoadTiming* GetDocumentLoadTiming() const;
73 74
74 virtual ResourceLoadTiming* GetResourceLoadTiming() const; 75 virtual ResourceLoadTiming* GetResourceLoadTiming() const;
75 virtual bool AllowTimingDetails() const; 76 virtual bool AllowTimingDetails() const;
76 virtual bool DidReuseConnection() const; 77 virtual bool DidReuseConnection() const;
77 virtual unsigned long long GetTransferSize() const; 78 virtual unsigned long long GetTransferSize() const;
78 virtual unsigned long long GetEncodedBodySize() const; 79 virtual unsigned long long GetEncodedBodySize() const;
79 virtual unsigned long long GetDecodedBodySize() const; 80 virtual unsigned long long GetDecodedBodySize() const;
80 81
81 bool GetAllowRedirectDetails() const; 82 bool GetAllowRedirectDetails() const;
82 83
83 AtomicString AlpnNegotiatedProtocol() const override; 84 AtomicString AlpnNegotiatedProtocol() const override;
84 AtomicString ConnectionInfo() const override; 85 AtomicString ConnectionInfo() const override;
85 86
86 double time_origin_; 87 double time_origin_;
87 RefPtr<ResourceTimingInfo> resource_timing_info_; 88 RefPtr<ResourceTimingInfo> resource_timing_info_;
88 }; 89 };
89 } // namespace blink 90 } // namespace blink
90 91
91 #endif // PerformanceNavigationTiming_h 92 #endif // PerformanceNavigationTiming_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698