1 // Copyright (c) 2012 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 // Singly or Multiply-included shared traits file depending on circumstances. 6 // This allows the use of IPC serialization macros in more than one IPC message 7 // file. 8 #ifndef CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ 9 #define CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ 10 11 #include "content/common/content_export.h" 12 #include "ipc/ipc_message_macros.h" 13 #include "third_party/WebKit/public/web/WebInputEvent.h" 14 #include "ui/events/latency_info.h" 15 #include "webkit/common/resource_type.h" 16 17 #undef IPC_MESSAGE_EXPORT 18 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT 19 20 IPC_ENUM_TRAITS(ResourceType::Type) 21 IPC_ENUM_TRAITS(blink::WebInputEvent::Type) 22 IPC_ENUM_TRAITS(ui::LatencyComponentType) 23 24 IPC_STRUCT_TRAITS_BEGIN(ui::LatencyInfo::LatencyComponent) 25 IPC_STRUCT_TRAITS_MEMBER(sequence_number) 26 IPC_STRUCT_TRAITS_MEMBER(event_time) 27 IPC_STRUCT_TRAITS_MEMBER(event_count) 28 IPC_STRUCT_TRAITS_END() 29 30 IPC_STRUCT_TRAITS_BEGIN(ui::LatencyInfo) 31 IPC_STRUCT_TRAITS_MEMBER(latency_components) 32 IPC_STRUCT_TRAITS_MEMBER(trace_id) 33 IPC_STRUCT_TRAITS_MEMBER(terminated) 34 IPC_STRUCT_TRAITS_END() 35 36 #endif // CONTENT_COMMON_CONTENT_PARAM_TRAITS_MACROS_H_ 37