- add sources.
[platform/framework/web/crosswalk.git] / src / content / common / text_input_client_messages.h
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.
4
5 // Multiply-included message file, hence no include guard
6
7 #include "ipc/ipc_message_macros.h"
8 #include "ui/gfx/range/range.h"
9 #include "ui/gfx/rect.h"
10
11 #if defined(OS_MACOSX)
12 #include "content/common/mac/attributed_string_coder.h"
13 #endif
14
15 #define IPC_MESSAGE_START TextInputClientMsgStart
16 #undef IPC_MESSAGE_EXPORT
17 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
18
19 // Browser -> Renderer Messages ////////////////////////////////////////////////
20 // These messages are sent from the browser to the renderer. Each one has a
21 // corresponding reply message.
22 ////////////////////////////////////////////////////////////////////////////////
23
24 // Tells the renderer to send back the character index for a point.
25 IPC_MESSAGE_ROUTED1(TextInputClientMsg_CharacterIndexForPoint,
26                     gfx::Point)
27
28 // Tells the renderer to send back the rectangle for a given character range.
29 IPC_MESSAGE_ROUTED1(TextInputClientMsg_FirstRectForCharacterRange,
30                     gfx::Range)
31
32 // Tells the renderer to send back the text fragment in a given range.
33 IPC_MESSAGE_ROUTED1(TextInputClientMsg_StringForRange,
34                     gfx::Range)
35
36 ////////////////////////////////////////////////////////////////////////////////
37
38 // Renderer -> Browser Replies /////////////////////////////////////////////////
39 // These messages are sent in reply to the above messages.
40 ////////////////////////////////////////////////////////////////////////////////
41
42 // Reply message for TextInputClientMsg_CharacterIndexForPoint.
43 IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotCharacterIndexForPoint,
44                     size_t /* character index */)
45
46 // Reply message for TextInputClientMsg_FirstRectForCharacterRange.
47 IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotFirstRectForRange,
48                     gfx::Rect /* frame rectangle */)
49
50 #if defined(OS_MACOSX)
51 // Reply message for TextInputClientMsg_StringForRange.
52 IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotStringForRange,
53                     mac::AttributedStringCoder::EncodedString)
54 #endif  // defined(OS_MACOSX)
55