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

Side by Side Diff: ui/events/mojo/latency_info_struct_traits.cc

Issue 2046563005: Add ArrayTraits<CArray<T>> utility template (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed tsepez's comments Created 4 years, 6 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/events/mojo/latency_info_struct_traits.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "ui/events/mojo/latency_info_struct_traits.h" 5 #include "ui/events/mojo/latency_info_struct_traits.h"
6 6
7 #include "ipc/ipc_message_utils.h" 7 #include "ipc/ipc_message_utils.h"
8 8
9 namespace mojo { 9 namespace mojo {
10 10
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 INPUT_EVENT_LATENCY_TERMINATED_SWAP_FAILED_COMPONENT: 172 INPUT_EVENT_LATENCY_TERMINATED_SWAP_FAILED_COMPONENT:
173 return ui::INPUT_EVENT_LATENCY_TERMINATED_SWAP_FAILED_COMPONENT; 173 return ui::INPUT_EVENT_LATENCY_TERMINATED_SWAP_FAILED_COMPONENT;
174 } 174 }
175 NOTREACHED(); 175 NOTREACHED();
176 return ui::LATENCY_COMPONENT_TYPE_LAST; 176 return ui::LATENCY_COMPONENT_TYPE_LAST;
177 } 177 }
178 178
179 } // namespace 179 } // namespace
180 180
181 // static 181 // static
182 size_t ArrayTraits<InputCoordinateArray>::GetSize(
183 const InputCoordinateArray& b) {
184 return b.size;
185 }
186
187 // static
188 gfx::PointF* ArrayTraits<InputCoordinateArray>::GetData(
189 InputCoordinateArray& b) {
190 return b.data;
191 }
192
193 // static
194 const gfx::PointF* ArrayTraits<InputCoordinateArray>::GetData(
195 const InputCoordinateArray& b) {
196 return b.data;
197 }
198
199 // static
200 gfx::PointF& ArrayTraits<InputCoordinateArray>::GetAt(InputCoordinateArray& b,
201 size_t i) {
202 return b.data[i];
203 }
204
205 // static
206 const gfx::PointF& ArrayTraits<InputCoordinateArray>::GetAt(
207 const InputCoordinateArray& b,
208 size_t i) {
209 return b.data[i];
210 }
211
212 // static
213 bool ArrayTraits<InputCoordinateArray>::Resize(InputCoordinateArray& b,
214 size_t size) {
215 if (size > ui::LatencyInfo::kMaxInputCoordinates)
216 return false;
217 b.size = size;
218 return true;
219 }
220
221 // static
222 int64_t 182 int64_t
223 StructTraits<ui::mojom::LatencyComponent, ui::LatencyInfo::LatencyComponent>:: 183 StructTraits<ui::mojom::LatencyComponent, ui::LatencyInfo::LatencyComponent>::
224 sequence_number(const ui::LatencyInfo::LatencyComponent& component) { 184 sequence_number(const ui::LatencyInfo::LatencyComponent& component) {
225 return component.sequence_number; 185 return component.sequence_number;
226 } 186 }
227 187
228 // static 188 // static
229 base::TimeTicks 189 base::TimeTicks
230 StructTraits<ui::mojom::LatencyComponent, ui::LatencyInfo::LatencyComponent>:: 190 StructTraits<ui::mojom::LatencyComponent, ui::LatencyInfo::LatencyComponent>::
231 event_time(const ui::LatencyInfo::LatencyComponent& component) { 191 event_time(const ui::LatencyInfo::LatencyComponent& component) {
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::latency_components( 272 StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::latency_components(
313 const ui::LatencyInfo& info, 273 const ui::LatencyInfo& info,
314 void* context) { 274 void* context) {
315 return *static_cast<mojo::Array<ui::mojom::LatencyComponentPairPtr>*>( 275 return *static_cast<mojo::Array<ui::mojom::LatencyComponentPairPtr>*>(
316 context); 276 context);
317 } 277 }
318 278
319 InputCoordinateArray 279 InputCoordinateArray
320 StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::input_coordinates( 280 StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::input_coordinates(
321 const ui::LatencyInfo& info) { 281 const ui::LatencyInfo& info) {
322 InputCoordinateArray input_coordinates_array = { 282 return {info.input_coordinates_size_, ui::LatencyInfo::kMaxInputCoordinates,
323 ui::LatencyInfo::kMaxInputCoordinates, 283 const_cast<gfx::PointF*>(info.input_coordinates_)};
324 const_cast<gfx::PointF*>(info.input_coordinates_)};
325 return input_coordinates_array;
326 } 284 }
327 285
328 int64_t StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::trace_id( 286 int64_t StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::trace_id(
329 const ui::LatencyInfo& info) { 287 const ui::LatencyInfo& info) {
330 return info.trace_id(); 288 return info.trace_id();
331 } 289 }
332 290
333 bool StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::coalesced( 291 bool StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::coalesced(
334 const ui::LatencyInfo& info) { 292 const ui::LatencyInfo& info) {
335 return info.coalesced(); 293 return info.coalesced();
(...skipping 10 matching lines...) Expand all
346 if (!data.ReadTraceName(&out->trace_name_)) 304 if (!data.ReadTraceName(&out->trace_name_))
347 return false; 305 return false;
348 306
349 mojo::Array<ui::mojom::LatencyComponentPairPtr> components; 307 mojo::Array<ui::mojom::LatencyComponentPairPtr> components;
350 if (!data.ReadLatencyComponents(&components)) 308 if (!data.ReadLatencyComponents(&components))
351 return false; 309 return false;
352 for (uint32_t i = 0; i < components.size(); ++i) 310 for (uint32_t i = 0; i < components.size(); ++i)
353 out->latency_components_[components[i]->key] = components[i]->value; 311 out->latency_components_[components[i]->key] = components[i]->value;
354 312
355 InputCoordinateArray input_coordinate_array = { 313 InputCoordinateArray input_coordinate_array = {
356 ui::LatencyInfo::kMaxInputCoordinates, out->input_coordinates_}; 314 0, ui::LatencyInfo::kMaxInputCoordinates, out->input_coordinates_};
357 if (!data.ReadInputCoordinates(&input_coordinate_array)) 315 if (!data.ReadInputCoordinates(&input_coordinate_array))
358 return false; 316 return false;
359 // TODO(fsamuel): ui::LatencyInfo::input_coordinates_size_ should be a size_t. 317 // TODO(fsamuel): ui::LatencyInfo::input_coordinates_size_ should be a size_t.
360 out->input_coordinates_size_ = 318 out->input_coordinates_size_ =
361 static_cast<uint32_t>(input_coordinate_array.size); 319 static_cast<uint32_t>(input_coordinate_array.size);
362 320
363 out->trace_id_ = data.trace_id(); 321 out->trace_id_ = data.trace_id();
364 out->coalesced_ = data.coalesced(); 322 out->coalesced_ = data.coalesced();
365 out->terminated_ = data.terminated(); 323 out->terminated_ = data.terminated();
366 return true; 324 return true;
367 } 325 }
368 326
369 } // namespace mojo 327 } // namespace mojo
OLDNEW
« no previous file with comments | « ui/events/mojo/latency_info_struct_traits.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698