Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / content / common / input_messages.h
index 6b36bec..1827212 100644 (file)
 #include "content/common/input/synthetic_pinch_gesture_params.h"
 #include "content/common/input/synthetic_smooth_scroll_gesture_params.h"
 #include "content/common/input/synthetic_tap_gesture_params.h"
-#include "content/public/common/common_param_traits.h"
 #include "content/common/input/touch_action.h"
+#include "content/public/common/common_param_traits.h"
 #include "ipc/ipc_message_macros.h"
 #include "third_party/WebKit/public/web/WebInputEvent.h"
 #include "ui/events/ipc/latency_info_param_traits.h"
+#include "ui/gfx/ipc/gfx_param_traits.h"
 #include "ui/gfx/point.h"
+#include "ui/gfx/range/range.h"
 #include "ui/gfx/rect.h"
 #include "ui/gfx/vector2d_f.h"
 
@@ -57,6 +59,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::DidOverscrollParams)
   IPC_STRUCT_TRAITS_MEMBER(accumulated_overscroll)
   IPC_STRUCT_TRAITS_MEMBER(latest_overscroll_delta)
   IPC_STRUCT_TRAITS_MEMBER(current_fling_velocity)
+  IPC_STRUCT_TRAITS_MEMBER(causal_event_viewport_point)
 IPC_STRUCT_TRAITS_END()
 
 IPC_STRUCT_TRAITS_BEGIN(content::EditCommand)
@@ -113,6 +116,33 @@ IPC_MESSAGE_ROUTED3(InputMsg_HandleInputEvent,
 IPC_MESSAGE_ROUTED1(InputMsg_CursorVisibilityChange,
                     bool /* is_visible */)
 
+// Sets the text composition to be between the given start and end offsets in
+// the currently focused editable field.
+IPC_MESSAGE_ROUTED3(InputMsg_SetCompositionFromExistingText,
+    int /* start */,
+    int /* end */,
+    std::vector<blink::WebCompositionUnderline> /* underlines */)
+
+// Deletes the current selection plus the specified number of characters before
+// and after the selection or caret.
+IPC_MESSAGE_ROUTED2(InputMsg_ExtendSelectionAndDelete,
+                    int /* before */,
+                    int /* after */)
+
+// This message sends a string being composed with an input method.
+IPC_MESSAGE_ROUTED4(
+    InputMsg_ImeSetComposition,
+    base::string16, /* text */
+    std::vector<blink::WebCompositionUnderline>, /* underlines */
+    int, /* selectiont_start */
+    int /* selection_end */)
+
+// This message confirms an ongoing composition.
+IPC_MESSAGE_ROUTED3(InputMsg_ImeConfirmComposition,
+                    base::string16 /* text */,
+                    gfx::Range /* replacement_range */,
+                    bool /* keep_selection */)
+
 // 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
@@ -186,7 +216,7 @@ IPC_MESSAGE_ROUTED3(InputMsg_ActivateNearestFindResult,
                     float /* y */)
 #endif
 
-IPC_MESSAGE_ROUTED0(InputMsg_SyntheticGestureCompleted);
+IPC_MESSAGE_ROUTED0(InputMsg_SyntheticGestureCompleted)
 
 // -----------------------------------------------------------------------------
 // Messages sent from the renderer to the browser.
@@ -207,6 +237,18 @@ IPC_MESSAGE_ROUTED1(InputHostMsg_SetTouchAction,
 IPC_MESSAGE_ROUTED1(InputHostMsg_DidOverscroll,
                     content::DidOverscrollParams /* params */)
 
+// Required for cancelling an ongoing input method composition.
+IPC_MESSAGE_ROUTED0(InputHostMsg_ImeCancelComposition)
+
+#if defined(OS_MACOSX) || defined(USE_AURA)
+// On Mac and Aura IME can request composition character bounds
+// synchronously (see crbug.com/120597). This IPC message sends the character
+// bounds after every composition change to always have correct bound info.
+IPC_MESSAGE_ROUTED2(InputHostMsg_ImeCompositionRangeChanged,
+                    gfx::Range /* composition range */,
+                    std::vector<gfx::Rect> /* character bounds */)
+#endif
+
 // 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