Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: content/common/input_messages.h

Issue 14487003: Add a new pair of IPC categories for messages that need handling as input events (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addresses feedback Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/common/content_message_generator.h ('k') | content/common/swapped_out_messages.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « content/common/content_message_generator.h ('k') | content/common/swapped_out_messages.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698