Home | History | Annotate | Download | only in common
      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 // Tells the renderer to send back the word under the given point and its
     37 // baseline point.
     38 IPC_MESSAGE_ROUTED1(TextInputClientMsg_StringAtPoint, gfx::Point)
     39 
     40 ////////////////////////////////////////////////////////////////////////////////
     41 
     42 // Renderer -> Browser Replies /////////////////////////////////////////////////
     43 // These messages are sent in reply to the above messages.
     44 ////////////////////////////////////////////////////////////////////////////////
     45 
     46 // Reply message for TextInputClientMsg_CharacterIndexForPoint.
     47 IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotCharacterIndexForPoint,
     48                     size_t /* character index */)
     49 
     50 // Reply message for TextInputClientMsg_FirstRectForCharacterRange.
     51 IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotFirstRectForRange,
     52                     gfx::Rect /* frame rectangle */)
     53 
     54 #if defined(OS_MACOSX)
     55 // Reply message for TextInputClientMsg_StringForRange.
     56 IPC_MESSAGE_ROUTED1(TextInputClientReplyMsg_GotStringForRange,
     57                     mac::AttributedStringCoder::EncodedString)
     58 
     59 // Reply message for TextInputClientMsg_StringAtPoint
     60 IPC_MESSAGE_ROUTED2(TextInputClientReplyMsg_GotStringAtPoint,
     61                     mac::AttributedStringCoder::EncodedString,
     62                     gfx::Point)
     63 #endif  // defined(OS_MACOSX)
     64 
     65