OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |