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

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

Issue 2932003002: Implement nextHopProtocol in PerformanceResourceTiming and PerformanceNavigationTiming. (Closed)
Patch Set: Make ConnectionInfoString() return AtomicString 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 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * Copyright (C) 2012 Intel Inc. All rights reserved. 3 * Copyright (C) 2012 Intel Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 26 matching lines...) Expand all
37 #include "platform/heap/Handle.h" 37 #include "platform/heap/Handle.h"
38 #include "platform/wtf/Forward.h" 38 #include "platform/wtf/Forward.h"
39 39
40 namespace blink { 40 namespace blink {
41 41
42 class ResourceLoadTiming; 42 class ResourceLoadTiming;
43 class ResourceTimingInfo; 43 class ResourceTimingInfo;
44 44
45 class CORE_EXPORT PerformanceResourceTiming : public PerformanceEntry { 45 class CORE_EXPORT PerformanceResourceTiming : public PerformanceEntry {
46 DEFINE_WRAPPERTYPEINFO(); 46 DEFINE_WRAPPERTYPEINFO();
47 friend class PerformanceResourceTimingTest;
47 48
48 public: 49 public:
49 ~PerformanceResourceTiming() override; 50 ~PerformanceResourceTiming() override;
50 static PerformanceResourceTiming* Create(const ResourceTimingInfo& info, 51 static PerformanceResourceTiming* Create(const ResourceTimingInfo& info,
51 double time_origin, 52 double time_origin,
52 double start_time, 53 double start_time,
53 double last_redirect_end_time, 54 double last_redirect_end_time,
54 bool allow_timing_details, 55 bool allow_timing_details,
55 bool allow_redirect_details) { 56 bool allow_redirect_details) {
56 return new PerformanceResourceTiming( 57 return new PerformanceResourceTiming(
57 info, time_origin, start_time, last_redirect_end_time, 58 info, time_origin, start_time, last_redirect_end_time,
58 allow_timing_details, allow_redirect_details); 59 allow_timing_details, allow_redirect_details);
59 } 60 }
60 61
61 static PerformanceResourceTiming* Create(const ResourceTimingInfo& info, 62 static PerformanceResourceTiming* Create(const ResourceTimingInfo& info,
62 double time_origin, 63 double time_origin,
63 double start_time, 64 double start_time,
64 bool allow_timing_details) { 65 bool allow_timing_details) {
65 return new PerformanceResourceTiming(info, time_origin, start_time, 0.0, 66 return new PerformanceResourceTiming(info, time_origin, start_time, 0.0,
66 allow_timing_details, false); 67 allow_timing_details, false);
67 } 68 }
68 // Related doc: https://goo.gl/uNecAj. 69 // Related doc: https://goo.gl/uNecAj.
69 virtual AtomicString initiatorType() const; 70 virtual AtomicString initiatorType() const;
71 AtomicString nextHopProtocol() const;
70 DOMHighResTimeStamp workerStart() const; 72 DOMHighResTimeStamp workerStart() const;
71 virtual DOMHighResTimeStamp redirectStart() const; 73 virtual DOMHighResTimeStamp redirectStart() const;
72 virtual DOMHighResTimeStamp redirectEnd() const; 74 virtual DOMHighResTimeStamp redirectEnd() const;
73 virtual DOMHighResTimeStamp fetchStart() const; 75 virtual DOMHighResTimeStamp fetchStart() const;
74 DOMHighResTimeStamp domainLookupStart() const; 76 DOMHighResTimeStamp domainLookupStart() const;
75 DOMHighResTimeStamp domainLookupEnd() const; 77 DOMHighResTimeStamp domainLookupEnd() const;
76 DOMHighResTimeStamp connectStart() const; 78 DOMHighResTimeStamp connectStart() const;
77 DOMHighResTimeStamp connectEnd() const; 79 DOMHighResTimeStamp connectEnd() const;
78 DOMHighResTimeStamp secureConnectionStart() const; 80 DOMHighResTimeStamp secureConnectionStart() const;
79 DOMHighResTimeStamp requestStart() const; 81 DOMHighResTimeStamp requestStart() const;
80 DOMHighResTimeStamp responseStart() const; 82 DOMHighResTimeStamp responseStart() const;
81 virtual DOMHighResTimeStamp responseEnd() const; 83 virtual DOMHighResTimeStamp responseEnd() const;
82 unsigned long long transferSize() const; 84 unsigned long long transferSize() const;
83 unsigned long long encodedBodySize() const; 85 unsigned long long encodedBodySize() const;
84 unsigned long long decodedBodySize() const; 86 unsigned long long decodedBodySize() const;
85 87
86 protected: 88 protected:
87 void BuildJSONValue(V8ObjectBuilder&) const override; 89 void BuildJSONValue(V8ObjectBuilder&) const override;
88 90
89 // This constructor is for PerformanceNavigationTiming. 91 // This constructor is for PerformanceNavigationTiming.
90 // Related doc: https://goo.gl/uNecAj. 92 // Related doc: https://goo.gl/uNecAj.
91 PerformanceResourceTiming(const String& name, 93 PerformanceResourceTiming(const String& name,
92 const String& entry_type, 94 const String& entry_type,
93 double start_time, 95 double start_time,
94 double duration); 96 double duration);
97 virtual AtomicString AlpnNegotiatedProtocol() const;
98 virtual AtomicString ConnectionInfo() const;
95 99
96 private: 100 private:
97 PerformanceResourceTiming(const ResourceTimingInfo&, 101 PerformanceResourceTiming(const ResourceTimingInfo&,
98 double time_origin, 102 double time_origin,
99 double start_time, 103 double start_time,
100 double last_redirect_end_time, 104 double last_redirect_end_time,
101 bool allow_timing_details, 105 bool allow_timing_details,
102 bool allow_redirect_details); 106 bool allow_redirect_details);
103 107
108 static AtomicString GetNextHopProtocol(
109 const AtomicString& alpn_negotiated_protocol,
110 const AtomicString& connection_info);
111
104 double WorkerReady() const; 112 double WorkerReady() const;
105 113
106 virtual ResourceLoadTiming* GetResourceLoadTiming() const; 114 virtual ResourceLoadTiming* GetResourceLoadTiming() const;
107 virtual bool AllowTimingDetails() const; 115 virtual bool AllowTimingDetails() const;
108 virtual bool DidReuseConnection() const; 116 virtual bool DidReuseConnection() const;
109 virtual unsigned long long GetTransferSize() const; 117 virtual unsigned long long GetTransferSize() const;
110 virtual unsigned long long GetEncodedBodySize() const; 118 virtual unsigned long long GetEncodedBodySize() const;
111 virtual unsigned long long GetDecodedBodySize() const; 119 virtual unsigned long long GetDecodedBodySize() const;
112 120
113 AtomicString initiator_type_; 121 AtomicString initiator_type_;
122 AtomicString alpn_negotiated_protocol_;
123 AtomicString connection_info_;
114 double time_origin_; 124 double time_origin_;
115 RefPtr<ResourceLoadTiming> timing_; 125 RefPtr<ResourceLoadTiming> timing_;
116 double last_redirect_end_time_; 126 double last_redirect_end_time_;
117 double finish_time_; 127 double finish_time_;
118 unsigned long long transfer_size_; 128 unsigned long long transfer_size_;
119 unsigned long long encoded_body_size_; 129 unsigned long long encoded_body_size_;
120 unsigned long long decoded_body_size_; 130 unsigned long long decoded_body_size_;
121 bool did_reuse_connection_; 131 bool did_reuse_connection_;
122 bool allow_timing_details_; 132 bool allow_timing_details_;
123 bool allow_redirect_details_; 133 bool allow_redirect_details_;
124 bool allow_negative_value_; 134 bool allow_negative_value_;
125 }; 135 };
126 136
127 } // namespace blink 137 } // namespace blink
128 138
129 #endif // PerformanceResourceTiming_h 139 #endif // PerformanceResourceTiming_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698