1 // Copyright 2019 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CC_IPC_CC_PARAM_TRAITS_MACROS_H_
6 #define CC_IPC_CC_PARAM_TRAITS_MACROS_H_
8 #include "base/component_export.h"
9 #include "cc/input/browser_controls_state.h"
10 #include "cc/input/overscroll_behavior.h"
11 #include "cc/input/touch_action.h"
12 #include "cc/trees/browser_controls_params.h"
13 #include "ipc/ipc_message_macros.h"
15 #undef IPC_MESSAGE_EXPORT
16 #define IPC_MESSAGE_EXPORT COMPONENT_EXPORT(CC_IPC)
18 IPC_ENUM_TRAITS_MAX_VALUE(cc::OverscrollBehavior::Type,
19 cc::OverscrollBehavior::Type::kMax)
21 IPC_STRUCT_TRAITS_BEGIN(cc::OverscrollBehavior)
22 IPC_STRUCT_TRAITS_MEMBER(x)
23 IPC_STRUCT_TRAITS_MEMBER(y)
24 IPC_STRUCT_TRAITS_END()
26 IPC_ENUM_TRAITS_MAX_VALUE(cc::TouchAction, cc::TouchAction::kMax)
28 IPC_STRUCT_TRAITS_BEGIN(cc::BrowserControlsParams)
29 IPC_STRUCT_TRAITS_MEMBER(top_controls_height)
30 IPC_STRUCT_TRAITS_MEMBER(top_controls_min_height)
31 IPC_STRUCT_TRAITS_MEMBER(bottom_controls_height)
32 IPC_STRUCT_TRAITS_MEMBER(bottom_controls_min_height)
33 IPC_STRUCT_TRAITS_MEMBER(animate_browser_controls_height_changes)
34 IPC_STRUCT_TRAITS_MEMBER(browser_controls_shrink_blink_size)
35 IPC_STRUCT_TRAITS_MEMBER(only_expand_top_controls_at_page_top)
36 IPC_STRUCT_TRAITS_END()
38 IPC_ENUM_TRAITS_MAX_VALUE(cc::BrowserControlsState,
39 cc::BrowserControlsState::kMaxValue)
41 #endif // CC_IPC_CC_PARAM_TRAITS_MACROS_H_