| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 // IPC messages for input events and other messages that require processing in | 5 // IPC messages for input events and other messages that require processing in |
| 6 // order relative to input events. | 6 // order relative to input events. |
| 7 // Multiply-included message file, hence no include guard. | 7 // Multiply-included message file, hence no include guard. |
| 8 | 8 |
| 9 #include "base/strings/string16.h" | 9 #include "base/strings/string16.h" |
| 10 #include "content/common/content_export.h" | 10 #include "content/common/content_export.h" |
| 11 #include "content/common/content_param_traits.h" | 11 #include "content/common/content_param_traits.h" |
| 12 #include "content/common/edit_command.h" | 12 #include "content/common/edit_command.h" |
| 13 #include "content/common/input/did_overscroll_params.h" |
| 13 #include "content/common/input/input_event.h" | 14 #include "content/common/input/input_event.h" |
| 14 #include "content/common/input/input_event_ack_state.h" | 15 #include "content/common/input/input_event_ack_state.h" |
| 15 #include "content/common/input/input_param_traits.h" | 16 #include "content/common/input/input_param_traits.h" |
| 16 #include "content/common/input/synthetic_gesture_packet.h" | 17 #include "content/common/input/synthetic_gesture_packet.h" |
| 17 #include "content/common/input/synthetic_gesture_params.h" | 18 #include "content/common/input/synthetic_gesture_params.h" |
| 18 #include "content/common/input/synthetic_pinch_gesture_params.h" | 19 #include "content/common/input/synthetic_pinch_gesture_params.h" |
| 19 #include "content/common/input/synthetic_smooth_scroll_gesture_params.h" | 20 #include "content/common/input/synthetic_smooth_scroll_gesture_params.h" |
| 20 #include "content/common/input/synthetic_tap_gesture_params.h" | 21 #include "content/common/input/synthetic_tap_gesture_params.h" |
| 21 #include "content/public/common/common_param_traits.h" | 22 #include "content/public/common/common_param_traits.h" |
| 22 #include "content/common/input/touch_action.h" | 23 #include "content/common/input/touch_action.h" |
| 23 #include "ipc/ipc_message_macros.h" | 24 #include "ipc/ipc_message_macros.h" |
| 24 #include "third_party/WebKit/public/web/WebInputEvent.h" | 25 #include "third_party/WebKit/public/web/WebInputEvent.h" |
| 25 #include "ui/events/latency_info.h" | 26 #include "ui/events/latency_info.h" |
| 26 #include "ui/gfx/point.h" | 27 #include "ui/gfx/point.h" |
| 27 #include "ui/gfx/rect.h" | 28 #include "ui/gfx/rect.h" |
| 29 #include "ui/gfx/vector2d_f.h" |
| 28 | 30 |
| 29 #undef IPC_MESSAGE_EXPORT | 31 #undef IPC_MESSAGE_EXPORT |
| 30 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT | 32 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT |
| 31 | 33 |
| 32 #ifdef IPC_MESSAGE_START | 34 #ifdef IPC_MESSAGE_START |
| 33 #error IPC_MESSAGE_START | 35 #error IPC_MESSAGE_START |
| 34 #endif | 36 #endif |
| 35 | 37 |
| 36 #define IPC_MESSAGE_START InputMsgStart | 38 #define IPC_MESSAGE_START InputMsgStart |
| 37 | 39 |
| 38 IPC_ENUM_TRAITS_MAX_VALUE(content::InputEventAckState, | 40 IPC_ENUM_TRAITS_MAX_VALUE(content::InputEventAckState, |
| 39 content::INPUT_EVENT_ACK_STATE_MAX) | 41 content::INPUT_EVENT_ACK_STATE_MAX) |
| 40 IPC_ENUM_TRAITS_MAX_VALUE( | 42 IPC_ENUM_TRAITS_MAX_VALUE( |
| 41 content::SyntheticGestureParams::GestureSourceType, | 43 content::SyntheticGestureParams::GestureSourceType, |
| 42 content::SyntheticGestureParams::GESTURE_SOURCE_TYPE_MAX) | 44 content::SyntheticGestureParams::GESTURE_SOURCE_TYPE_MAX) |
| 43 IPC_ENUM_TRAITS_MAX_VALUE( | 45 IPC_ENUM_TRAITS_MAX_VALUE( |
| 44 content::SyntheticGestureParams::GestureType, | 46 content::SyntheticGestureParams::GestureType, |
| 45 content::SyntheticGestureParams::SYNTHETIC_GESTURE_TYPE_MAX) | 47 content::SyntheticGestureParams::SYNTHETIC_GESTURE_TYPE_MAX) |
| 46 IPC_ENUM_TRAITS_VALIDATE(content::TouchAction, ( | 48 IPC_ENUM_TRAITS_VALIDATE(content::TouchAction, ( |
| 47 value >= 0 && | 49 value >= 0 && |
| 48 value <= content::TOUCH_ACTION_MAX && | 50 value <= content::TOUCH_ACTION_MAX && |
| 49 (!(value & content::TOUCH_ACTION_NONE) || | 51 (!(value & content::TOUCH_ACTION_NONE) || |
| 50 (value == content::TOUCH_ACTION_NONE)) && | 52 (value == content::TOUCH_ACTION_NONE)) && |
| 51 (!(value & content::TOUCH_ACTION_PINCH_ZOOM) || | 53 (!(value & content::TOUCH_ACTION_PINCH_ZOOM) || |
| 52 (value == content::TOUCH_ACTION_MANIPULATION)))) | 54 (value == content::TOUCH_ACTION_MANIPULATION)))) |
| 53 | 55 |
| 56 IPC_STRUCT_TRAITS_BEGIN(content::DidOverscrollParams) |
| 57 IPC_STRUCT_TRAITS_MEMBER(accumulated_overscroll) |
| 58 IPC_STRUCT_TRAITS_MEMBER(latest_overscroll_delta) |
| 59 IPC_STRUCT_TRAITS_MEMBER(current_fling_velocity) |
| 60 IPC_STRUCT_TRAITS_END() |
| 61 |
| 54 IPC_STRUCT_TRAITS_BEGIN(content::EditCommand) | 62 IPC_STRUCT_TRAITS_BEGIN(content::EditCommand) |
| 55 IPC_STRUCT_TRAITS_MEMBER(name) | 63 IPC_STRUCT_TRAITS_MEMBER(name) |
| 56 IPC_STRUCT_TRAITS_MEMBER(value) | 64 IPC_STRUCT_TRAITS_MEMBER(value) |
| 57 IPC_STRUCT_TRAITS_END() | 65 IPC_STRUCT_TRAITS_END() |
| 58 | 66 |
| 59 IPC_STRUCT_TRAITS_BEGIN(content::InputEvent) | 67 IPC_STRUCT_TRAITS_BEGIN(content::InputEvent) |
| 60 IPC_STRUCT_TRAITS_MEMBER(web_event) | 68 IPC_STRUCT_TRAITS_MEMBER(web_event) |
| 61 IPC_STRUCT_TRAITS_MEMBER(latency_info) | 69 IPC_STRUCT_TRAITS_MEMBER(latency_info) |
| 62 IPC_STRUCT_TRAITS_MEMBER(is_keyboard_shortcut) | 70 IPC_STRUCT_TRAITS_MEMBER(is_keyboard_shortcut) |
| 63 IPC_STRUCT_TRAITS_END() | 71 IPC_STRUCT_TRAITS_END() |
| (...skipping 17 matching lines...) Expand all Loading... |
| 81 IPC_STRUCT_TRAITS_MEMBER(anchor) | 89 IPC_STRUCT_TRAITS_MEMBER(anchor) |
| 82 IPC_STRUCT_TRAITS_MEMBER(relative_pointer_speed_in_pixels_s) | 90 IPC_STRUCT_TRAITS_MEMBER(relative_pointer_speed_in_pixels_s) |
| 83 IPC_STRUCT_TRAITS_END() | 91 IPC_STRUCT_TRAITS_END() |
| 84 | 92 |
| 85 IPC_STRUCT_TRAITS_BEGIN(content::SyntheticTapGestureParams) | 93 IPC_STRUCT_TRAITS_BEGIN(content::SyntheticTapGestureParams) |
| 86 IPC_STRUCT_TRAITS_PARENT(content::SyntheticGestureParams) | 94 IPC_STRUCT_TRAITS_PARENT(content::SyntheticGestureParams) |
| 87 IPC_STRUCT_TRAITS_MEMBER(position) | 95 IPC_STRUCT_TRAITS_MEMBER(position) |
| 88 IPC_STRUCT_TRAITS_MEMBER(duration_ms) | 96 IPC_STRUCT_TRAITS_MEMBER(duration_ms) |
| 89 IPC_STRUCT_TRAITS_END() | 97 IPC_STRUCT_TRAITS_END() |
| 90 | 98 |
| 99 IPC_STRUCT_BEGIN(InputHostMsg_HandleInputEvent_ACK_Params) |
| 100 IPC_STRUCT_MEMBER(blink::WebInputEvent::Type, type) |
| 101 IPC_STRUCT_MEMBER(content::InputEventAckState, state) |
| 102 IPC_STRUCT_MEMBER(ui::LatencyInfo, latency) |
| 103 // TODO(jdduke): Use Optional<T> type to avoid heap alloc, crbug.com/375002. |
| 104 IPC_STRUCT_MEMBER(scoped_ptr<content::DidOverscrollParams>, overscroll) |
| 105 IPC_STRUCT_END() |
| 106 |
| 91 // Sends an input event to the render widget. | 107 // Sends an input event to the render widget. |
| 92 IPC_MESSAGE_ROUTED3(InputMsg_HandleInputEvent, | 108 IPC_MESSAGE_ROUTED3(InputMsg_HandleInputEvent, |
| 93 IPC::WebInputEventPointer /* event */, | 109 IPC::WebInputEventPointer /* event */, |
| 94 ui::LatencyInfo /* latency_info */, | 110 ui::LatencyInfo /* latency_info */, |
| 95 bool /* is_keyboard_shortcut */) | 111 bool /* is_keyboard_shortcut */) |
| 96 | 112 |
| 97 // Sends the cursor visibility state to the render widget. | 113 // Sends the cursor visibility state to the render widget. |
| 98 IPC_MESSAGE_ROUTED1(InputMsg_CursorVisibilityChange, | 114 IPC_MESSAGE_ROUTED1(InputMsg_CursorVisibilityChange, |
| 99 bool /* is_visible */) | 115 bool /* is_visible */) |
| 100 | 116 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 float /* x */, | 186 float /* x */, |
| 171 float /* y */) | 187 float /* y */) |
| 172 #endif | 188 #endif |
| 173 | 189 |
| 174 IPC_MESSAGE_ROUTED0(InputMsg_SyntheticGestureCompleted); | 190 IPC_MESSAGE_ROUTED0(InputMsg_SyntheticGestureCompleted); |
| 175 | 191 |
| 176 // ----------------------------------------------------------------------------- | 192 // ----------------------------------------------------------------------------- |
| 177 // Messages sent from the renderer to the browser. | 193 // Messages sent from the renderer to the browser. |
| 178 | 194 |
| 179 // Acknowledges receipt of a InputMsg_HandleInputEvent message. | 195 // Acknowledges receipt of a InputMsg_HandleInputEvent message. |
| 180 IPC_MESSAGE_ROUTED3(InputHostMsg_HandleInputEvent_ACK, | 196 IPC_MESSAGE_ROUTED1(InputHostMsg_HandleInputEvent_ACK, |
| 181 blink::WebInputEvent::Type, | 197 InputHostMsg_HandleInputEvent_ACK_Params) |
| 182 content::InputEventAckState /* ack_result */, | |
| 183 ui::LatencyInfo /* latency_info */) | |
| 184 | 198 |
| 185 IPC_MESSAGE_ROUTED1(InputHostMsg_QueueSyntheticGesture, | 199 IPC_MESSAGE_ROUTED1(InputHostMsg_QueueSyntheticGesture, |
| 186 content::SyntheticGesturePacket) | 200 content::SyntheticGesturePacket) |
| 187 | 201 |
| 188 // Notifies the allowed touch actions for a new touch point. | 202 // Notifies the allowed touch actions for a new touch point. |
| 189 IPC_MESSAGE_ROUTED1(InputHostMsg_SetTouchAction, | 203 IPC_MESSAGE_ROUTED1(InputHostMsg_SetTouchAction, |
| 190 content::TouchAction /* touch_action */) | 204 content::TouchAction /* touch_action */) |
| 191 | 205 |
| 206 // Sent by the compositor when input scroll events are dropped due to bounds |
| 207 // restrictions on the root scroll offset. |
| 208 IPC_MESSAGE_ROUTED1(InputHostMsg_DidOverscroll, |
| 209 content::DidOverscrollParams /* params */) |
| 210 |
| 192 // Adding a new message? Stick to the sort order above: first platform | 211 // Adding a new message? Stick to the sort order above: first platform |
| 193 // independent InputMsg, then ifdefs for platform specific InputMsg, then | 212 // independent InputMsg, then ifdefs for platform specific InputMsg, then |
| 194 // platform independent InputHostMsg, then ifdefs for platform specific | 213 // platform independent InputHostMsg, then ifdefs for platform specific |
| 195 // InputHostMsg. | 214 // InputHostMsg. |
| OLD | NEW |