Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / ui / events / ipc / latency_info_param_traits.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef UI_EVENTS_IPC_LATENCY_INFO_PARAM_TRAITS_H_
6 #define UI_EVENTS_IPC_LATENCY_INFO_PARAM_TRAITS_H_
7
8 #include "ipc/ipc_message_macros.h"
9 #include "ui/events/events_export.h"
10 #include "ui/events/latency_info.h"
11
12 #undef IPC_MESSAGE_EXPORT
13 #define IPC_MESSAGE_EXPORT EVENTS_EXPORT
14
15 IPC_ENUM_TRAITS_MAX_VALUE(ui::LatencyComponentType,
16                           ui::LATENCY_COMPONENT_TYPE_LAST)
17
18 IPC_STRUCT_TRAITS_BEGIN(ui::LatencyInfo::LatencyComponent)
19   IPC_STRUCT_TRAITS_MEMBER(sequence_number)
20   IPC_STRUCT_TRAITS_MEMBER(event_time)
21   IPC_STRUCT_TRAITS_MEMBER(event_count)
22 IPC_STRUCT_TRAITS_END()
23
24 IPC_STRUCT_TRAITS_BEGIN(ui::LatencyInfo::InputCoordinate)
25 IPC_STRUCT_TRAITS_MEMBER(x)
26 IPC_STRUCT_TRAITS_MEMBER(y)
27 IPC_STRUCT_TRAITS_END()
28
29 IPC_STRUCT_TRAITS_BEGIN(ui::LatencyInfo)
30   IPC_STRUCT_TRAITS_MEMBER(latency_components)
31   IPC_STRUCT_TRAITS_MEMBER(trace_id)
32   IPC_STRUCT_TRAITS_MEMBER(terminated)
33   IPC_STRUCT_TRAITS_MEMBER(input_coordinates_size)
34   IPC_STRUCT_TRAITS_MEMBER(input_coordinates[0])
35   IPC_STRUCT_TRAITS_MEMBER(input_coordinates[1])
36 IPC_STRUCT_TRAITS_END()
37
38 #endif // UI_EVENTS_IPC_LATENCY_INFO_PARAM_TRAITS_H_