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