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

Side by Side Diff: third_party/WebKit/Source/platform/network/ResourceTimingInfo.h

Issue 2105713002: Render process changes for ResourceTiming sizes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@resource_timing_sizes_browser_process
Patch Set: Initialise encoded_body_length for sync XHR to data: URLs Created 4 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) 2013 Intel Inc. All rights reserved. 2 * Copyright (C) 2013 Intel Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 69
70 void setLoadFinishTime(double time) { m_loadFinishTime = time; } 70 void setLoadFinishTime(double time) { m_loadFinishTime = time; }
71 double loadFinishTime() const { return m_loadFinishTime; } 71 double loadFinishTime() const { return m_loadFinishTime; }
72 72
73 void setInitialRequest(const ResourceRequest& request) { m_initialRequest = request; } 73 void setInitialRequest(const ResourceRequest& request) { m_initialRequest = request; }
74 const ResourceRequest& initialRequest() const { return m_initialRequest; } 74 const ResourceRequest& initialRequest() const { return m_initialRequest; }
75 75
76 void setFinalResponse(const ResourceResponse& response) { m_finalResponse = response; } 76 void setFinalResponse(const ResourceResponse& response) { m_finalResponse = response; }
77 const ResourceResponse& finalResponse() const { return m_finalResponse; } 77 const ResourceResponse& finalResponse() const { return m_finalResponse; }
78 78
79 void addRedirect(const ResourceResponse& redirectResponse) { m_redirectChain .append(redirectResponse); } 79 void addRedirect(const ResourceResponse& redirectResponse, long long encoded DataLength, bool crossOrigin);
80 const Vector<ResourceResponse>& redirectChain() const { return m_redirectCha in; } 80 const Vector<ResourceResponse>& redirectChain() const { return m_redirectCha in; }
81 81
82 void addFinalTransferSize(long long encodedDataLength) { m_transferSize += e ncodedDataLength; }
83 long long transferSize() const { return m_transferSize; }
84
82 void clearLoadTimings() 85 void clearLoadTimings()
83 { 86 {
84 m_finalResponse.setResourceLoadTiming(nullptr); 87 m_finalResponse.setResourceLoadTiming(nullptr);
85 for (ResourceResponse& redirect : m_redirectChain) 88 for (ResourceResponse& redirect : m_redirectChain)
86 redirect.setResourceLoadTiming(nullptr); 89 redirect.setResourceLoadTiming(nullptr);
87 } 90 }
88 91
89 private: 92 private:
90 ResourceTimingInfo(const AtomicString& type, const double time, bool isMainR esource) 93 ResourceTimingInfo(const AtomicString& type, const double time, bool isMainR esource)
91 : m_type(type) 94 : m_type(type)
92 , m_initialTime(time) 95 , m_initialTime(time)
96 , m_transferSize(0)
93 , m_isMainResource(isMainResource) 97 , m_isMainResource(isMainResource)
98 , m_hasCrossOriginRedirect(false)
94 { 99 {
95 } 100 }
96 101
97 AtomicString m_type; 102 AtomicString m_type;
98 AtomicString m_originalTimingAllowOrigin; 103 AtomicString m_originalTimingAllowOrigin;
99 double m_initialTime; 104 double m_initialTime;
100 double m_loadFinishTime; 105 double m_loadFinishTime;
101 ResourceRequest m_initialRequest; 106 ResourceRequest m_initialRequest;
102 ResourceResponse m_finalResponse; 107 ResourceResponse m_finalResponse;
103 Vector<ResourceResponse> m_redirectChain; 108 Vector<ResourceResponse> m_redirectChain;
109 long long m_transferSize;
104 bool m_isMainResource; 110 bool m_isMainResource;
111 bool m_hasCrossOriginRedirect;
105 }; 112 };
106 113
107 struct CrossThreadResourceTimingInfoData { 114 struct CrossThreadResourceTimingInfoData {
108 WTF_MAKE_NONCOPYABLE(CrossThreadResourceTimingInfoData); 115 WTF_MAKE_NONCOPYABLE(CrossThreadResourceTimingInfoData);
109 USING_FAST_MALLOC(CrossThreadResourceTimingInfoData); 116 USING_FAST_MALLOC(CrossThreadResourceTimingInfoData);
110 public: 117 public:
111 CrossThreadResourceTimingInfoData() {} 118 CrossThreadResourceTimingInfoData() {}
112 119
113 String m_type; 120 String m_type;
114 String m_originalTimingAllowOrigin; 121 String m_originalTimingAllowOrigin;
115 double m_initialTime; 122 double m_initialTime;
116 double m_loadFinishTime; 123 double m_loadFinishTime;
117 std::unique_ptr<CrossThreadResourceRequestData> m_initialRequest; 124 std::unique_ptr<CrossThreadResourceRequestData> m_initialRequest;
118 std::unique_ptr<CrossThreadResourceResponseData> m_finalResponse; 125 std::unique_ptr<CrossThreadResourceResponseData> m_finalResponse;
119 Vector<std::unique_ptr<CrossThreadResourceResponseData>> m_redirectChain; 126 Vector<std::unique_ptr<CrossThreadResourceResponseData>> m_redirectChain;
127 long long m_transferSize;
120 bool m_isMainResource; 128 bool m_isMainResource;
121 }; 129 };
122 130
123 template <> 131 template <>
124 struct CrossThreadCopier<ResourceTimingInfo> { 132 struct CrossThreadCopier<ResourceTimingInfo> {
125 typedef WTF::PassedWrapper<std::unique_ptr<CrossThreadResourceTimingInfoData >> Type; 133 typedef WTF::PassedWrapper<std::unique_ptr<CrossThreadResourceTimingInfoData >> Type;
126 static Type copy(const ResourceTimingInfo& info) { return passed(info.copyDa ta()); } 134 static Type copy(const ResourceTimingInfo& info) { return passed(info.copyDa ta()); }
127 }; 135 };
128 136
129 } // namespace blink 137 } // namespace blink
130 138
131 #endif 139 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698