15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Multiply-included message file, hence no include guard
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ipc/ipc_message_macros.h"
858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "ui/gfx/range/range.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/gfx/rect.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/common/mac/attributed_string_coder.h"
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_START TextInputClientMsgStart
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#undef IPC_MESSAGE_EXPORT
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_EXPORT CONTENT_EXPORT
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Browser -> Renderer Messages ////////////////////////////////////////////////
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// These messages are sent from the browser to the renderer. Each one has a
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// corresponding reply message.
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)////////////////////////////////////////////////////////////////////////////////
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Tells the renderer to send back the character index for a point.
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_ROUTED1(TextInputClientMsg_CharacterIndexForPoint,
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    gfx::Point)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Tells the renderer to send back the rectangle for a given character range.
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_ROUTED1(TextInputClientMsg_FirstRectForCharacterRange,
3058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)                    gfx::Range)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Tells the renderer to send back the text fragment in a given range.
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_ROUTED1(TextInputClientMsg_StringForRange,
3458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)                    gfx::Range)
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Tells the renderer to send back the word under the given point and its
3723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// baseline point.
3823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)IPC_MESSAGE_ROUTED1(TextInputClientMsg_StringAtPoint, gfx::Point)
3923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)////////////////////////////////////////////////////////////////////////////////
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Renderer -> Browser Replies /////////////////////////////////////////////////
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// These messages are sent in reply to the above messages.
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)////////////////////////////////////////////////////////////////////////////////
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Reply message for TextInputClientMsg_CharacterIndexForPoint.
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotCharacterIndexForPoint,
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    size_t /* character index */)
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Reply message for TextInputClientMsg_FirstRectForCharacterRange.
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotFirstRectForRange,
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    gfx::Rect /* frame rectangle */)
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX)
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Reply message for TextInputClientMsg_StringForRange.
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotStringForRange,
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    mac::AttributedStringCoder::EncodedString)
5823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)
5923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Reply message for TextInputClientMsg_StringAtPoint
6023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)IPC_MESSAGE_ROUTED2(TextInputClientReplyMsg_GotStringAtPoint,
6123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                    mac::AttributedStringCoder::EncodedString,
6223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)                    gfx::Point)
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // defined(OS_MACOSX)
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
65