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/input_event.h" |
| 14 #include "content/common/input/input_event_disposition.h" |
| 15 #include "content/common/input/input_param_traits.h" |
| 16 #include "content/common/input/ipc_input_event_payload.h" |
| 17 #include "content/common/input/event_packet.h" |
13 #include "content/port/common/input_event_ack_state.h" | 18 #include "content/port/common/input_event_ack_state.h" |
14 #include "content/public/common/common_param_traits.h" | 19 #include "content/public/common/common_param_traits.h" |
15 #include "ipc/ipc_message_macros.h" | 20 #include "ipc/ipc_message_macros.h" |
16 #include "third_party/WebKit/public/web/WebInputEvent.h" | 21 #include "third_party/WebKit/public/web/WebInputEvent.h" |
17 #include "ui/base/latency_info.h" | 22 #include "ui/base/latency_info.h" |
18 #include "ui/gfx/point.h" | 23 #include "ui/gfx/point.h" |
19 #include "ui/gfx/rect.h" | 24 #include "ui/gfx/rect.h" |
20 | 25 |
21 #undef IPC_MESSAGE_EXPORT | 26 #undef IPC_MESSAGE_EXPORT |
22 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT | 27 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT |
23 | 28 |
24 #ifdef IPC_MESSAGE_START | 29 #ifdef IPC_MESSAGE_START |
25 #error IPC_MESSAGE_START | 30 #error IPC_MESSAGE_START |
26 #endif | 31 #endif |
27 | 32 |
28 #define IPC_MESSAGE_START InputMsgStart | 33 #define IPC_MESSAGE_START InputMsgStart |
29 | 34 |
30 IPC_ENUM_TRAITS(content::InputEventAckState) | 35 IPC_ENUM_TRAITS_MAX_VALUE(content::InputEvent::Payload::Type, |
| 36 content::InputEvent::Payload::PAYLOAD_TYPE_MAX) |
| 37 IPC_ENUM_TRAITS_MAX_VALUE(content::InputEventAckState, |
| 38 content::INPUT_EVENT_ACK_STATE_MAX) |
| 39 IPC_ENUM_TRAITS_MAX_VALUE(content::InputEventDisposition, |
| 40 content::INPUT_EVENT_DISPOSITION_MAX) |
31 | 41 |
32 IPC_STRUCT_TRAITS_BEGIN(content::EditCommand) | 42 IPC_STRUCT_TRAITS_BEGIN(content::EditCommand) |
33 IPC_STRUCT_TRAITS_MEMBER(name) | 43 IPC_STRUCT_TRAITS_MEMBER(name) |
34 IPC_STRUCT_TRAITS_MEMBER(value) | 44 IPC_STRUCT_TRAITS_MEMBER(value) |
35 IPC_STRUCT_TRAITS_END() | 45 IPC_STRUCT_TRAITS_END() |
36 | 46 |
| 47 IPC_STRUCT_TRAITS_BEGIN(content::IPCInputEventPayload) |
| 48 IPC_STRUCT_TRAITS_MEMBER(message) |
| 49 IPC_STRUCT_TRAITS_END() |
| 50 |
37 // Sends an input event to the render widget. | 51 // Sends an input event to the render widget. |
38 IPC_MESSAGE_ROUTED3(InputMsg_HandleInputEvent, | 52 IPC_MESSAGE_ROUTED3(InputMsg_HandleInputEvent, |
39 IPC::WebInputEventPointer /* event */, | 53 IPC::WebInputEventPointer /* event */, |
40 ui::LatencyInfo /* latency_info */, | 54 ui::LatencyInfo /* latency_info */, |
41 bool /* is_keyboard_shortcut */) | 55 bool /* is_keyboard_shortcut */) |
42 | 56 |
| 57 // Sends an event packet to the render widget. |
| 58 IPC_MESSAGE_ROUTED2(InputMsg_HandleEventPacket, |
| 59 content::EventPacket /* event_packet */, |
| 60 content::InputEventDispositions /* dispositions */) |
| 61 |
43 // Sends the cursor visibility state to the render widget. | 62 // Sends the cursor visibility state to the render widget. |
44 IPC_MESSAGE_ROUTED1(InputMsg_CursorVisibilityChange, | 63 IPC_MESSAGE_ROUTED1(InputMsg_CursorVisibilityChange, |
45 bool /* is_visible */) | 64 bool /* is_visible */) |
46 | 65 |
47 // This message notifies the renderer that the next key event is bound to one | 66 // This message notifies the renderer that the next key event is bound to one |
48 // or more pre-defined edit commands. If the next key event is not handled | 67 // or more pre-defined edit commands. If the next key event is not handled |
49 // by webkit, the specified edit commands shall be executed against current | 68 // by webkit, the specified edit commands shall be executed against current |
50 // focused frame. | 69 // focused frame. |
51 // Parameters | 70 // Parameters |
52 // * edit_commands (see chrome/common/edit_command_types.h) | 71 // * edit_commands (see chrome/common/edit_command_types.h) |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 | 143 |
125 // ----------------------------------------------------------------------------- | 144 // ----------------------------------------------------------------------------- |
126 // Messages sent from the renderer to the browser. | 145 // Messages sent from the renderer to the browser. |
127 | 146 |
128 // Acknowledges receipt of a InputMsg_HandleInputEvent message. | 147 // Acknowledges receipt of a InputMsg_HandleInputEvent message. |
129 IPC_MESSAGE_ROUTED3(InputHostMsg_HandleInputEvent_ACK, | 148 IPC_MESSAGE_ROUTED3(InputHostMsg_HandleInputEvent_ACK, |
130 WebKit::WebInputEvent::Type, | 149 WebKit::WebInputEvent::Type, |
131 content::InputEventAckState /* ack_result */, | 150 content::InputEventAckState /* ack_result */, |
132 ui::LatencyInfo /* latency_info */) | 151 ui::LatencyInfo /* latency_info */) |
133 | 152 |
| 153 IPC_MESSAGE_ROUTED2(InputHostMsg_HandleEventPacket_ACK, |
| 154 int64 /* event_packet_id */, |
| 155 content::InputEventDispositions /* dispositions */) |
| 156 |
134 | 157 |
135 // Adding a new message? Stick to the sort order above: first platform | 158 // Adding a new message? Stick to the sort order above: first platform |
136 // independent InputMsg, then ifdefs for platform specific InputMsg, then | 159 // independent InputMsg, then ifdefs for platform specific InputMsg, then |
137 // platform independent InputHostMsg, then ifdefs for platform specific | 160 // platform independent InputHostMsg, then ifdefs for platform specific |
138 // InputHostMsg. | 161 // InputHostMsg. |
OLD | NEW |