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: 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: Rebased 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
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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 InputCoordinateArray input_coordinates_array = {
323 ui::LatencyInfo::kMaxInputCoordinates, 283 info.input_coordinates_size_, ui::LatencyInfo::kMaxInputCoordinates,
324 const_cast<gfx::PointF*>(info.input_coordinates_)}; 284 const_cast<gfx::PointF*>(info.input_coordinates_)};
325 return input_coordinates_array; 285 return input_coordinates_array;
326 } 286 }
327 287
328 int64_t StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::trace_id( 288 int64_t StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::trace_id(
329 const ui::LatencyInfo& info) { 289 const ui::LatencyInfo& info) {
330 return info.trace_id(); 290 return info.trace_id();
331 } 291 }
332 292
333 bool StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::coalesced( 293 bool StructTraits<ui::mojom::LatencyInfo, ui::LatencyInfo>::coalesced(
(...skipping 12 matching lines...) Expand all
346 if (!data.ReadTraceName(&out->trace_name_)) 306 if (!data.ReadTraceName(&out->trace_name_))
347 return false; 307 return false;
348 308
349 mojo::Array<ui::mojom::LatencyComponentPairPtr> components; 309 mojo::Array<ui::mojom::LatencyComponentPairPtr> components;
350 if (!data.ReadLatencyComponents(&components)) 310 if (!data.ReadLatencyComponents(&components))
351 return false; 311 return false;
352 for (uint32_t i = 0; i < components.size(); ++i) 312 for (uint32_t i = 0; i < components.size(); ++i)
353 out->latency_components_[components[i]->key] = components[i]->value; 313 out->latency_components_[components[i]->key] = components[i]->value;
354 314
355 InputCoordinateArray input_coordinate_array = { 315 InputCoordinateArray input_coordinate_array = {
356 ui::LatencyInfo::kMaxInputCoordinates, out->input_coordinates_}; 316 0, ui::LatencyInfo::kMaxInputCoordinates, out->input_coordinates_};
357 if (!data.ReadInputCoordinates(&input_coordinate_array)) 317 if (!data.ReadInputCoordinates(&input_coordinate_array))
358 return false; 318 return false;
359 // TODO(fsamuel): ui::LatencyInfo::input_coordinates_size_ should be a size_t. 319 // TODO(fsamuel): ui::LatencyInfo::input_coordinates_size_ should be a size_t.
360 out->input_coordinates_size_ = 320 out->input_coordinates_size_ =
361 static_cast<uint32_t>(input_coordinate_array.size); 321 static_cast<uint32_t>(input_coordinate_array.size);
362 322
363 out->trace_id_ = data.trace_id(); 323 out->trace_id_ = data.trace_id();
364 out->coalesced_ = data.coalesced(); 324 out->coalesced_ = data.coalesced();
365 out->terminated_ = data.terminated(); 325 out->terminated_ = data.terminated();
366 return true; 326 return true;
367 } 327 }
368 328
369 } // namespace mojo 329 } // namespace mojo
OLDNEW
« mojo/public/cpp/bindings/array_traits_carray.h ('K') | « 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