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 |