• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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