1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Multiply-included message file, hence no include guard
7 #include "ipc/ipc_message_macros.h"
8 #include "ui/gfx/geometry/rect.h"
9 #include "ui/gfx/range/range.h"
11 #if defined(OS_MACOSX)
12 #include "content/common/mac/attributed_string_coder.h"
15 #define IPC_MESSAGE_START TextInputClientMsgStart
16 #undef IPC_MESSAGE_EXPORT
17 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
19 // Browser -> Renderer Messages ////////////////////////////////////////////////
20 // These messages are sent from the browser to the renderer. Each one has a
21 // corresponding reply message.
22 ////////////////////////////////////////////////////////////////////////////////
24 // Tells the renderer to send back the character index for a point.
25 IPC_MESSAGE_ROUTED1(TextInputClientMsg_CharacterIndexForPoint
,
28 // Tells the renderer to send back the rectangle for a given character range.
29 IPC_MESSAGE_ROUTED1(TextInputClientMsg_FirstRectForCharacterRange
,
32 // Tells the renderer to send back the text fragment in a given range.
33 IPC_MESSAGE_ROUTED1(TextInputClientMsg_StringForRange
,
36 // Tells the renderer to send back the word under the given point and its
38 IPC_MESSAGE_ROUTED1(TextInputClientMsg_StringAtPoint
, gfx::Point
)
40 ////////////////////////////////////////////////////////////////////////////////
42 // Renderer -> Browser Replies /////////////////////////////////////////////////
43 // These messages are sent in reply to the above messages.
44 ////////////////////////////////////////////////////////////////////////////////
46 // Reply message for TextInputClientMsg_CharacterIndexForPoint.
47 IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotCharacterIndexForPoint
,
48 size_t /* character index */)
50 // Reply message for TextInputClientMsg_FirstRectForCharacterRange.
51 IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotFirstRectForRange
,
52 gfx::Rect
/* frame rectangle */)
54 #if defined(OS_MACOSX)
55 // Reply message for TextInputClientMsg_StringForRange.
56 IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotStringForRange
,
57 mac::AttributedStringCoder::EncodedString
)
59 // Reply message for TextInputClientMsg_StringAtPoint
60 IPC_MESSAGE_ROUTED2(TextInputClientReplyMsg_GotStringAtPoint
,
61 mac::AttributedStringCoder::EncodedString
,
63 #endif // defined(OS_MACOSX)