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