Home | History | Annotate | Download | only in common
      1 // Copyright 2014 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 "components/translate/core/common/language_detection_details.h"
      8 #include "components/translate/core/common/translate_errors.h"
      9 #include "content/public/common/common_param_traits.h"
     10 #include "ipc/ipc_message_macros.h"
     11 #include "ipc/ipc_message_utils.h"
     12 
     13 #define IPC_MESSAGE_START TranslateMsgStart
     14 
     15 IPC_ENUM_TRAITS(translate::TranslateErrors::Type)
     16 
     17 IPC_STRUCT_TRAITS_BEGIN(translate::LanguageDetectionDetails)
     18   IPC_STRUCT_TRAITS_MEMBER(time)
     19   IPC_STRUCT_TRAITS_MEMBER(url)
     20   IPC_STRUCT_TRAITS_MEMBER(content_language)
     21   IPC_STRUCT_TRAITS_MEMBER(cld_language)
     22   IPC_STRUCT_TRAITS_MEMBER(is_cld_reliable)
     23   IPC_STRUCT_TRAITS_MEMBER(html_root_language)
     24   IPC_STRUCT_TRAITS_MEMBER(adopted_language)
     25   IPC_STRUCT_TRAITS_MEMBER(contents)
     26 IPC_STRUCT_TRAITS_END()
     27 
     28 //-----------------------------------------------------------------------------
     29 // RenderView messages
     30 // These are messages sent from the browser to the renderer process.
     31 
     32 // Tells the renderer to translate the page contents from one language to
     33 // another.
     34 IPC_MESSAGE_ROUTED4(ChromeViewMsg_TranslatePage,
     35                     int /* page_seq_no */,
     36                     std::string, /* the script injected in the page */
     37                     std::string, /* BCP 47/RFC 5646 language code the page
     38                                     is in */
     39                     std::string /* BCP 47/RFC 5646 language code to translate
     40                                    to */)
     41 
     42 // Tells the renderer to revert the text of translated page to its original
     43 // contents.
     44 IPC_MESSAGE_ROUTED1(ChromeViewMsg_RevertTranslation,
     45                     int /* page id */)
     46 
     47 //-----------------------------------------------------------------------------
     48 // Host messages
     49 // These are messages sent from the renderer to the browser process.
     50 
     51 // Notification that the current page was assigned a sequence number.
     52 IPC_MESSAGE_ROUTED1(ChromeViewHostMsg_TranslateAssignedSequenceNumber,
     53                     int /* page_seq_no */)
     54 
     55 // Notification that the language for the tab has been determined.
     56 IPC_MESSAGE_ROUTED2(
     57     ChromeViewHostMsg_TranslateLanguageDetermined,
     58     translate::LanguageDetectionDetails /* details about lang detection */,
     59     bool /* whether the page needs translation */)
     60 
     61 // Notifies the browser that a page has been translated.
     62 IPC_MESSAGE_ROUTED3(
     63     ChromeViewHostMsg_PageTranslated,
     64     std::string /* the original language */,
     65     std::string /* the translated language */,
     66     translate::TranslateErrors::Type /* the error type if available */)
     67