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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 |
OLD | NEW |