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

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

Issue 2804693002: Remove coordinates from LatencyInfo objects. (Closed)
Patch Set: Fix mojo latencyInfo 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
« no previous file with comments | « ui/latency/ipc/latency_info_param_traits_unittest.cc ('k') | ui/latency/latency_info.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 LatencyComponent* output) const; 195 LatencyComponent* output) const;
196 196
197 // Returns true if a component with |type| is found in the latency component. 197 // Returns true if a component with |type| is found in the latency component.
198 // The first such component (when iterating over latency_components_) is 198 // The first such component (when iterating over latency_components_) is
199 // stored to |output| if |output| is not NULL. Returns false if no such 199 // stored to |output| if |output| is not NULL. Returns false if no such
200 // component is found. 200 // component is found.
201 bool FindLatency(LatencyComponentType type, LatencyComponent* output) const; 201 bool FindLatency(LatencyComponentType type, LatencyComponent* output) const;
202 202
203 void RemoveLatency(LatencyComponentType type); 203 void RemoveLatency(LatencyComponentType type);
204 204
205 // Returns true if there is still room for keeping the |input_coordinate|,
206 // false otherwise.
207 bool AddInputCoordinate(const gfx::PointF& input_coordinate);
208
209 uint32_t input_coordinates_size() const { return input_coordinates_size_; }
210 const gfx::PointF* input_coordinates() const { return input_coordinates_; }
211
212 const LatencyMap& latency_components() const { return latency_components_; } 205 const LatencyMap& latency_components() const { return latency_components_; }
213 206
214 const SourceEventType& source_event_type() const { 207 const SourceEventType& source_event_type() const {
215 return source_event_type_; 208 return source_event_type_;
216 } 209 }
217 void set_source_event_type(SourceEventType type) { 210 void set_source_event_type(SourceEventType type) {
218 source_event_type_ = type; 211 source_event_type_ = type;
219 } 212 }
220 213
221 bool terminated() const { return terminated_; } 214 bool terminated() const { return terminated_; }
222 void set_coalesced() { coalesced_ = true; } 215 void set_coalesced() { coalesced_ = true; }
223 bool coalesced() const { return coalesced_; } 216 bool coalesced() const { return coalesced_; }
224 int64_t trace_id() const { return trace_id_; } 217 int64_t trace_id() const { return trace_id_; }
225 218
226 private: 219 private:
227 void AddLatencyNumberWithTimestampImpl(LatencyComponentType component, 220 void AddLatencyNumberWithTimestampImpl(LatencyComponentType component,
228 int64_t id, 221 int64_t id,
229 int64_t component_sequence_number, 222 int64_t component_sequence_number,
230 base::TimeTicks time, 223 base::TimeTicks time,
231 uint32_t event_count, 224 uint32_t event_count,
232 const char* trace_name_str); 225 const char* trace_name_str);
233 226
234 // Converts latencyinfo into format that can be dumped into trace buffer. 227 // Converts latencyinfo into format that can be dumped into trace buffer.
235 std::unique_ptr<base::trace_event::ConvertableToTraceFormat> 228 std::unique_ptr<base::trace_event::ConvertableToTraceFormat>
236 AsTraceableData(); 229 AsTraceableData();
237 std::unique_ptr<base::trace_event::ConvertableToTraceFormat>
238 CoordinatesAsTraceableData();
239 230
240 // Shown as part of the name of the trace event for this LatencyInfo. 231 // Shown as part of the name of the trace event for this LatencyInfo.
241 // String is empty if no tracing is enabled. 232 // String is empty if no tracing is enabled.
242 std::string trace_name_; 233 std::string trace_name_;
243 234
244 LatencyMap latency_components_; 235 LatencyMap latency_components_;
245 236
246 // These coordinates represent window coordinates of the original input event.
247 uint32_t input_coordinates_size_;
248 gfx::PointF input_coordinates_[kMaxInputCoordinates];
249
250 // The unique id for matching the ASYNC_BEGIN/END trace event. 237 // The unique id for matching the ASYNC_BEGIN/END trace event.
251 int64_t trace_id_; 238 int64_t trace_id_;
252 // Whether this event has been coalesced into another event. 239 // Whether this event has been coalesced into another event.
253 bool coalesced_; 240 bool coalesced_;
254 // Whether a terminal component has been added. 241 // Whether a terminal component has been added.
255 bool terminated_; 242 bool terminated_;
256 // Stores the type of the first source event. 243 // Stores the type of the first source event.
257 SourceEventType source_event_type_; 244 SourceEventType source_event_type_;
258 245
259 #if !defined(OS_IOS) 246 #if !defined(OS_IOS)
260 friend struct IPC::ParamTraits<ui::LatencyInfo>; 247 friend struct IPC::ParamTraits<ui::LatencyInfo>;
261 friend struct mojo::StructTraits<ui::mojom::LatencyInfoDataView, 248 friend struct mojo::StructTraits<ui::mojom::LatencyInfoDataView,
262 ui::LatencyInfo>; 249 ui::LatencyInfo>;
263 #endif 250 #endif
264 }; 251 };
265 252
266 // This is declared here for use in gtest-based unit tests, but is defined in 253 // This is declared here for use in gtest-based unit tests, but is defined in
267 // //ui/latency:test_support target. 254 // //ui/latency:test_support target.
268 // Without this the default PrintTo template in gtest tries to pass LatencyInfo 255 // Without this the default PrintTo template in gtest tries to pass LatencyInfo
269 // by value, which leads to an alignment compile error on Windows. 256 // by value, which leads to an alignment compile error on Windows.
270 void PrintTo(const LatencyInfo& latency, ::std::ostream* os); 257 void PrintTo(const LatencyInfo& latency, ::std::ostream* os);
271 258
272 } // namespace ui 259 } // namespace ui
273 260
274 #endif // UI_LATENCY_LATENCY_INFO_H_ 261 #endif // UI_LATENCY_LATENCY_INFO_H_
OLDNEW
« no previous file with comments | « ui/latency/ipc/latency_info_param_traits_unittest.cc ('k') | ui/latency/latency_info.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698