| // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef CONTENT_COMMON_INPUT_MESSAGES_H_ | 
 | #define CONTENT_COMMON_INPUT_MESSAGES_H_ | 
 |  | 
 | // IPC messages for input events and other messages that require processing in | 
 | // order relative to input events. | 
 |  | 
 | #include "base/strings/string16.h" | 
 | #include "build/build_config.h" | 
 | #include "cc/input/overscroll_behavior.h" | 
 | #include "content/common/content_export.h" | 
 | #include "content/common/content_param_traits.h" | 
 | #include "content/common/edit_command.h" | 
 | #include "content/common/input/input_event.h" | 
 | #include "content/common/input/input_event_ack.h" | 
 | #include "content/common/input/input_event_dispatch_type.h" | 
 | #include "content/common/input/input_param_traits.h" | 
 | #include "content/common/input/synthetic_gesture_params.h" | 
 | #include "content/common/input/synthetic_pinch_gesture_params.h" | 
 | #include "content/common/input/synthetic_pointer_action_list_params.h" | 
 | #include "content/common/input/synthetic_pointer_action_params.h" | 
 | #include "content/common/input/synthetic_smooth_drag_gesture_params.h" | 
 | #include "content/common/input/synthetic_smooth_scroll_gesture_params.h" | 
 | #include "content/common/input/synthetic_tap_gesture_params.h" | 
 | #include "content/public/common/input_event_ack_source.h" | 
 | #include "content/public/common/input_event_ack_state.h" | 
 | #include "ipc/ipc_message_macros.h" | 
 | #include "third_party/blink/public/platform/web_input_event.h" | 
 | #include "third_party/blink/public/platform/web_pointer_properties.h" | 
 | #include "ui/events/blink/did_overscroll_params.h" | 
 | #include "ui/gfx/geometry/point.h" | 
 | #include "ui/gfx/geometry/rect.h" | 
 | #include "ui/gfx/geometry/vector2d_f.h" | 
 | #include "ui/gfx/ipc/gfx_param_traits.h" | 
 | #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h" | 
 | #include "ui/gfx/range/range.h" | 
 | #include "ui/latency/ipc/latency_info_param_traits.h" | 
 |  | 
 | #undef IPC_MESSAGE_EXPORT | 
 | #define IPC_MESSAGE_EXPORT CONTENT_EXPORT | 
 |  | 
 | #ifdef IPC_MESSAGE_START | 
 | #error IPC_MESSAGE_START | 
 | #endif | 
 |  | 
 | #define IPC_MESSAGE_START InputMsgStart | 
 |  | 
 | IPC_ENUM_TRAITS_MAX_VALUE(content::InputEventAckSource, | 
 |                           content::InputEventAckSource::MAX_FROM_RENDERER) | 
 | IPC_ENUM_TRAITS_MAX_VALUE( | 
 |     content::SyntheticGestureParams::GestureSourceType, | 
 |     content::SyntheticGestureParams::GESTURE_SOURCE_TYPE_MAX) | 
 | IPC_ENUM_TRAITS_MAX_VALUE( | 
 |     content::SyntheticGestureParams::GestureType, | 
 |     content::SyntheticGestureParams::SYNTHETIC_GESTURE_TYPE_MAX) | 
 | IPC_ENUM_TRAITS_MAX_VALUE( | 
 |     content::SyntheticPointerActionParams::PointerActionType, | 
 |     content::SyntheticPointerActionParams::PointerActionType:: | 
 |         POINTER_ACTION_TYPE_MAX) | 
 | IPC_ENUM_TRAITS_MAX_VALUE( | 
 |     content::SyntheticPointerActionParams::Button, | 
 |     content::SyntheticPointerActionParams::Button::BUTTON_MAX) | 
 | IPC_ENUM_TRAITS_MAX_VALUE(content::InputEventDispatchType, | 
 |                           content::InputEventDispatchType::DISPATCH_TYPE_MAX) | 
 | IPC_ENUM_TRAITS_MIN_MAX_VALUE(blink::WebPointerProperties::Button, | 
 |                               blink::WebPointerProperties::Button::kNoButton, | 
 |                               blink::WebPointerProperties::Button::kLastEntry) | 
 | IPC_ENUM_TRAITS_MAX_VALUE(blink::WebPointerProperties::PointerType, | 
 |                           blink::WebPointerProperties::PointerType::kLastEntry) | 
 | IPC_ENUM_TRAITS_MAX_VALUE(blink::WebGestureDevice, | 
 |                           (blink::WebGestureDevice::kWebGestureDeviceCount - 1)) | 
 | IPC_ENUM_TRAITS_MAX_VALUE(blink::WebInputEvent::DispatchType, | 
 |                           blink::WebInputEvent::DispatchType::kLastDispatchType) | 
 | IPC_ENUM_TRAITS_MAX_VALUE(blink::WebGestureEvent::ScrollUnits, | 
 |                           blink::WebGestureEvent::ScrollUnits::kLastScrollUnit) | 
 | IPC_ENUM_TRAITS_MAX_VALUE( | 
 |     blink::WebGestureEvent::InertialPhaseState, | 
 |     blink::WebGestureEvent::InertialPhaseState::kLastPhase) | 
 | IPC_ENUM_TRAITS_MAX_VALUE(blink::WebTouchPoint::State, | 
 |                           blink::WebTouchPoint::State::kStateMax) | 
 | IPC_ENUM_TRAITS_MAX_VALUE( | 
 |     cc::OverscrollBehavior::OverscrollBehaviorType, | 
 |     cc::OverscrollBehavior::OverscrollBehaviorType::kOverscrollBehaviorTypeMax) | 
 |  | 
 | IPC_STRUCT_TRAITS_BEGIN(ui::DidOverscrollParams) | 
 |   IPC_STRUCT_TRAITS_MEMBER(accumulated_overscroll) | 
 |   IPC_STRUCT_TRAITS_MEMBER(latest_overscroll_delta) | 
 |   IPC_STRUCT_TRAITS_MEMBER(current_fling_velocity) | 
 |   IPC_STRUCT_TRAITS_MEMBER(causal_event_viewport_point) | 
 |   IPC_STRUCT_TRAITS_MEMBER(overscroll_behavior) | 
 | IPC_STRUCT_TRAITS_END() | 
 |  | 
 | IPC_STRUCT_TRAITS_BEGIN(cc::OverscrollBehavior) | 
 |   IPC_STRUCT_TRAITS_MEMBER(x) | 
 |   IPC_STRUCT_TRAITS_MEMBER(y) | 
 | IPC_STRUCT_TRAITS_END() | 
 |  | 
 | IPC_STRUCT_TRAITS_BEGIN(content::EditCommand) | 
 |   IPC_STRUCT_TRAITS_MEMBER(name) | 
 |   IPC_STRUCT_TRAITS_MEMBER(value) | 
 | IPC_STRUCT_TRAITS_END() | 
 |  | 
 | IPC_STRUCT_TRAITS_BEGIN(content::SyntheticGestureParams) | 
 |   IPC_STRUCT_TRAITS_MEMBER(gesture_source_type) | 
 | IPC_STRUCT_TRAITS_END() | 
 |  | 
 | IPC_STRUCT_TRAITS_BEGIN(content::SyntheticSmoothDragGestureParams) | 
 |   IPC_STRUCT_TRAITS_PARENT(content::SyntheticGestureParams) | 
 |   IPC_STRUCT_TRAITS_MEMBER(start_point) | 
 |   IPC_STRUCT_TRAITS_MEMBER(distances) | 
 |   IPC_STRUCT_TRAITS_MEMBER(speed_in_pixels_s) | 
 | IPC_STRUCT_TRAITS_END() | 
 |  | 
 | IPC_STRUCT_TRAITS_BEGIN(content::SyntheticSmoothScrollGestureParams) | 
 |   IPC_STRUCT_TRAITS_PARENT(content::SyntheticGestureParams) | 
 |   IPC_STRUCT_TRAITS_MEMBER(anchor) | 
 |   IPC_STRUCT_TRAITS_MEMBER(distances) | 
 |   IPC_STRUCT_TRAITS_MEMBER(prevent_fling) | 
 |   IPC_STRUCT_TRAITS_MEMBER(speed_in_pixels_s) | 
 |   IPC_STRUCT_TRAITS_MEMBER(fling_velocity_x) | 
 |   IPC_STRUCT_TRAITS_MEMBER(fling_velocity_y) | 
 |   IPC_STRUCT_TRAITS_MEMBER(precise_scrolling_deltas) | 
 |   IPC_STRUCT_TRAITS_MEMBER(scroll_by_page) | 
 | IPC_STRUCT_TRAITS_END() | 
 |  | 
 | IPC_STRUCT_TRAITS_BEGIN(content::SyntheticPinchGestureParams) | 
 |   IPC_STRUCT_TRAITS_PARENT(content::SyntheticGestureParams) | 
 |   IPC_STRUCT_TRAITS_MEMBER(scale_factor) | 
 |   IPC_STRUCT_TRAITS_MEMBER(anchor) | 
 |   IPC_STRUCT_TRAITS_MEMBER(relative_pointer_speed_in_pixels_s) | 
 | IPC_STRUCT_TRAITS_END() | 
 |  | 
 | IPC_STRUCT_TRAITS_BEGIN(content::SyntheticTapGestureParams) | 
 |   IPC_STRUCT_TRAITS_PARENT(content::SyntheticGestureParams) | 
 |   IPC_STRUCT_TRAITS_MEMBER(position) | 
 |   IPC_STRUCT_TRAITS_MEMBER(duration_ms) | 
 | IPC_STRUCT_TRAITS_END() | 
 |  | 
 | IPC_STRUCT_TRAITS_BEGIN(content::SyntheticPointerActionParams) | 
 |   IPC_STRUCT_TRAITS_MEMBER(pointer_action_type_) | 
 |   IPC_STRUCT_TRAITS_MEMBER(pointer_id_) | 
 |   IPC_STRUCT_TRAITS_MEMBER(position_) | 
 |   IPC_STRUCT_TRAITS_MEMBER(button_) | 
 | IPC_STRUCT_TRAITS_END() | 
 |  | 
 | IPC_STRUCT_TRAITS_BEGIN(content::SyntheticPointerActionListParams) | 
 |   IPC_STRUCT_TRAITS_PARENT(content::SyntheticGestureParams) | 
 |   IPC_STRUCT_TRAITS_MEMBER(params) | 
 | IPC_STRUCT_TRAITS_END() | 
 |  | 
 | // TODO(dtapuska): Remove this as only OOPIF uses this | 
 | IPC_MESSAGE_ROUTED1(InputMsg_SetFocus, | 
 |                     bool /* enable */) | 
 |  | 
 | #endif  // CONTENT_COMMON_INPUT_MESSAGES_H_ |