Index: content/common/input_messages.h |
diff --git a/content/common/input_messages.h b/content/common/input_messages.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1c459b46c524575cf108ed92d4612265c796be67 |
--- /dev/null |
+++ b/content/common/input_messages.h |
@@ -0,0 +1,131 @@ |
+// 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. |
+ |
+// IPC messages for input events and other messages that require processing in |
+// order relative to input events. |
+// Multiply-included message file, hence no include guard. |
+ |
+#include "base/string16.h" |
+#include "content/common/content_export.h" |
+#include "content/common/content_param_traits.h" |
+#include "content/common/edit_command.h" |
+#include "content/port/common/input_event_ack_state.h" |
+#include "content/public/common/common_param_traits.h" |
+#include "ipc/ipc_message_macros.h" |
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" |
+#include "ui/gfx/point.h" |
+#include "ui/gfx/rect.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(content::InputEventAckState) |
+ |
+IPC_STRUCT_TRAITS_BEGIN(content::EditCommand) |
+ IPC_STRUCT_TRAITS_MEMBER(name) |
+ IPC_STRUCT_TRAITS_MEMBER(value) |
+IPC_STRUCT_TRAITS_END() |
+ |
+// Sends an input event to the render widget. |
+IPC_MESSAGE_ROUTED2(InputMsg_HandleInputEvent, |
+ IPC::WebInputEventPointer /* event */, |
+ bool /* is_keyboard_shortcut */) |
+ |
+// This message notifies the renderer that the next key event is bound to one |
+// or more pre-defined edit commands. If the next key event is not handled |
+// by webkit, the specified edit commands shall be executed against current |
+// focused frame. |
+// Parameters |
+// * edit_commands (see chrome/common/edit_command_types.h) |
+// Contains one or more edit commands. |
+// See third_party/WebKit/Source/WebCore/editing/EditorCommand.cpp for detailed |
+// definition of webkit edit commands. |
+// |
+// This message must be sent just before sending a key event. |
+IPC_MESSAGE_ROUTED1(InputMsg_SetEditCommandsForNextKeyEvent, |
+ std::vector<content::EditCommand> /* edit_commands */) |
+ |
+// Message payload is the name/value of a WebCore edit command to execute. |
+IPC_MESSAGE_ROUTED2(InputMsg_ExecuteEditCommand, |
+ std::string, /* name */ |
+ std::string /* value */) |
+ |
+IPC_MESSAGE_ROUTED0(InputMsg_MouseCaptureLost) |
+ |
+// TODO(darin): figure out how this meshes with RestoreFocus |
+IPC_MESSAGE_ROUTED1(InputMsg_SetFocus, |
+ bool /* enable */) |
+ |
+// Tells the renderer to focus the first (last if reverse is true) focusable |
+// node. |
+IPC_MESSAGE_ROUTED1(InputMsg_SetInitialFocus, |
+ bool /* reverse */) |
+ |
+// Tells the renderer to scroll the currently focused node into rect only if |
+// the currently focused node is a Text node (textfield, text area or content |
+// editable divs). |
+IPC_MESSAGE_ROUTED1(InputMsg_ScrollFocusedEditableNodeIntoRect, gfx::Rect) |
+ |
+// These messages are typically generated from context menus and request the |
+// renderer to apply the specified operation to the current selection. |
+IPC_MESSAGE_ROUTED0(InputMsg_Undo) |
+IPC_MESSAGE_ROUTED0(InputMsg_Redo) |
+IPC_MESSAGE_ROUTED0(InputMsg_Cut) |
+IPC_MESSAGE_ROUTED0(InputMsg_Copy) |
+#if defined(OS_MACOSX) |
+IPC_MESSAGE_ROUTED0(InputMsg_CopyToFindPboard) |
+#endif |
+IPC_MESSAGE_ROUTED0(InputMsg_Paste) |
+IPC_MESSAGE_ROUTED0(InputMsg_PasteAndMatchStyle) |
+// Replaces the selected region or a word around the cursor with the |
+// specified string. |
+IPC_MESSAGE_ROUTED1(InputMsg_Replace, |
+ string16) |
+// Replaces the misspelling in the selected region with the specified string. |
+IPC_MESSAGE_ROUTED1(InputMsg_ReplaceMisspelling, |
+ string16) |
+IPC_MESSAGE_ROUTED0(InputMsg_Delete) |
+IPC_MESSAGE_ROUTED0(InputMsg_SelectAll) |
+ |
+IPC_MESSAGE_ROUTED0(InputMsg_Unselect) |
+ |
+// Requests the renderer to select the region between two points. |
+// Expects a SelectRange_ACK message when finished. |
+IPC_MESSAGE_ROUTED2(InputMsg_SelectRange, |
+ gfx::Point /* start */, |
+ gfx::Point /* end */) |
+ |
+// Requests the renderer to move the caret selection toward the point. |
+// Expects a MoveCaret_ACK message when finished. |
+IPC_MESSAGE_ROUTED1(InputMsg_MoveCaret, |
+ gfx::Point /* location */) |
+ |
+#if defined(OS_ANDROID) |
+// Sent when the user clicks on the find result bar to activate a find result. |
+// The point (x,y) is in fractions of the content document's width and height. |
+IPC_MESSAGE_ROUTED3(InputMsg_ActivateNearestFindResult, |
+ int /* request_id */, |
+ float /* x */, |
+ float /* y */) |
+#endif |
+ |
+// ----------------------------------------------------------------------------- |
+// Messages sent from the renderer to the browser. |
+ |
+// Acknowledges receipt of a InputMsg_HandleInputEvent message. |
+IPC_MESSAGE_ROUTED2(InputHostMsg_HandleInputEvent_ACK, |
+ WebKit::WebInputEvent::Type, |
+ content::InputEventAckState /* ack_result */) |
+ |
+ |
+// Adding a new message? Stick to the sort order above: first platform |
+// independent InputMsg, then ifdefs for platform specific InputMsg, then |
+// platform independent InputHostMsg, then ifdefs for platform specific |
+// InputHostMsg. |