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

Side by Side Diff: ui/latency/latency_info.h

Issue 2804693002: Remove coordinates from LatencyInfo objects. (Closed)
Patch Set: Fix fuzzer test Created 3 years, 8 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 UI_LATENCY_LATENCY_INFO_H_ 5 #ifndef UI_LATENCY_LATENCY_INFO_H_
6 #define UI_LATENCY_LATENCY_INFO_H_ 6 #define UI_LATENCY_LATENCY_INFO_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 188
189 // Returns true if the a component with |type| and |id| is found in 189 // Returns true if the a component with |type| and |id| is found in
190 // the latency_components and the component is stored to |output| if 190 // the latency_components and the component is stored to |output| if
191 // |output| is not NULL. Returns false if no such component is found. 191 // |output| is not NULL. Returns false if no such component is found.
192 bool FindLatency(LatencyComponentType type, 192 bool FindLatency(LatencyComponentType type,
193 int64_t id, 193 int64_t id,
194 LatencyComponent* output) const; 194 LatencyComponent* output) const;
195 195
196 void RemoveLatency(LatencyComponentType type); 196 void RemoveLatency(LatencyComponentType type);
197 197
198 // Returns true if there is still room for keeping the |input_coordinate|,
199 // false otherwise.
200 bool AddInputCoordinate(const gfx::PointF& input_coordinate);
201
202 uint32_t input_coordinates_size() const { return input_coordinates_size_; }
203 const gfx::PointF* input_coordinates() const { return input_coordinates_; }
204
205 const LatencyMap& latency_components() const { return latency_components_; } 198 const LatencyMap& latency_components() const { return latency_components_; }
206 199
207 const SourceEventType& source_event_type() const { 200 const SourceEventType& source_event_type() const {
208 return source_event_type_; 201 return source_event_type_;
209 } 202 }
210 void set_source_event_type(SourceEventType type) { 203 void set_source_event_type(SourceEventType type) {
211 source_event_type_ = type; 204 source_event_type_ = type;
212 } 205 }
213 206
214 bool terminated() const { return terminated_; } 207 bool terminated() const { return terminated_; }
215 void set_coalesced() { coalesced_ = true; } 208 void set_coalesced() { coalesced_ = true; }
216 bool coalesced() const { return coalesced_; } 209 bool coalesced() const { return coalesced_; }
217 int64_t trace_id() const { return trace_id_; } 210 int64_t trace_id() const { return trace_id_; }
218 211
219 private: 212 private:
220 void AddLatencyNumberWithTimestampImpl(LatencyComponentType component, 213 void AddLatencyNumberWithTimestampImpl(LatencyComponentType component,
221 int64_t id, 214 int64_t id,
222 int64_t component_sequence_number, 215 int64_t component_sequence_number,
223 base::TimeTicks time, 216 base::TimeTicks time,
224 uint32_t event_count, 217 uint32_t event_count,
225 const char* trace_name_str); 218 const char* trace_name_str);
226 219
227 // Converts latencyinfo into format that can be dumped into trace buffer. 220 // Converts latencyinfo into format that can be dumped into trace buffer.
228 std::unique_ptr<base::trace_event::ConvertableToTraceFormat> 221 std::unique_ptr<base::trace_event::ConvertableToTraceFormat>
229 AsTraceableData(); 222 AsTraceableData();
230 std::unique_ptr<base::trace_event::ConvertableToTraceFormat>
231 CoordinatesAsTraceableData();
232 223
233 // Shown as part of the name of the trace event for this LatencyInfo. 224 // Shown as part of the name of the trace event for this LatencyInfo.
234 // String is empty if no tracing is enabled. 225 // String is empty if no tracing is enabled.
235 std::string trace_name_; 226 std::string trace_name_;
236 227
237 LatencyMap latency_components_; 228 LatencyMap latency_components_;
238 229
239 // These coordinates represent window coordinates of the original input event.
240 uint32_t input_coordinates_size_;
241 gfx::PointF input_coordinates_[kMaxInputCoordinates];
242
243 // The unique id for matching the ASYNC_BEGIN/END trace event. 230 // The unique id for matching the ASYNC_BEGIN/END trace event.
244 int64_t trace_id_; 231 int64_t trace_id_;
245 // Whether this event has been coalesced into another event. 232 // Whether this event has been coalesced into another event.
246 bool coalesced_; 233 bool coalesced_;
247 // Whether a terminal component has been added. 234 // Whether a terminal component has been added.
248 bool terminated_; 235 bool terminated_;
249 // Stores the type of the first source event. 236 // Stores the type of the first source event.
250 SourceEventType source_event_type_; 237 SourceEventType source_event_type_;
251 238
252 #if !defined(OS_IOS) 239 #if !defined(OS_IOS)
253 friend struct IPC::ParamTraits<ui::LatencyInfo>; 240 friend struct IPC::ParamTraits<ui::LatencyInfo>;
254 friend struct mojo::StructTraits<ui::mojom::LatencyInfoDataView, 241 friend struct mojo::StructTraits<ui::mojom::LatencyInfoDataView,
255 ui::LatencyInfo>; 242 ui::LatencyInfo>;
256 #endif 243 #endif
257 }; 244 };
258 245
259 } // namespace ui 246 } // namespace ui
260 247
261 #endif // UI_LATENCY_LATENCY_INFO_H_ 248 #endif // UI_LATENCY_LATENCY_INFO_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698