root/components/translate/content/common/translate_messages.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Multiply-included message file, hence no include guard.

#include "components/translate/core/common/language_detection_details.h"
#include "components/translate/core/common/translate_errors.h"
#include "content/public/common/common_param_traits.h"
#include "ipc/ipc_message_macros.h"
#include "ipc/ipc_message_utils.h"

#define IPC_MESSAGE_START TranslateMsgStart

IPC_ENUM_TRAITS(TranslateErrors::Type)

IPC_STRUCT_TRAITS_BEGIN(LanguageDetectionDetails)
  IPC_STRUCT_TRAITS_MEMBER(time)
  IPC_STRUCT_TRAITS_MEMBER(url)
  IPC_STRUCT_TRAITS_MEMBER(content_language)
  IPC_STRUCT_TRAITS_MEMBER(cld_language)
  IPC_STRUCT_TRAITS_MEMBER(is_cld_reliable)
  IPC_STRUCT_TRAITS_MEMBER(html_root_language)
  IPC_STRUCT_TRAITS_MEMBER(adopted_language)
  IPC_STRUCT_TRAITS_MEMBER(contents)
IPC_STRUCT_TRAITS_END()

//-----------------------------------------------------------------------------
// RenderView messages
// These are messages sent from the browser to the renderer process.

// Tells the renderer to translate the page contents from one language to
// another.
IPC_MESSAGE_ROUTED4(ChromeViewMsg_TranslatePage,
                    int /* page id */,
                    std::string, /* the script injected in the page */
                    std::string, /* BCP 47/RFC 5646 language code the page
                                    is in */
                    std::string /* BCP 47/RFC 5646 language code to translate
                                   to */)

#if defined(CLD2_DYNAMIC_MODE)
// Informs the renderer process that Compact Language Detector (CLD) data is
// available and provides an IPC::PlatformFileForTransit obtained from
// IPC::GetFileHandleForProcess(...)
// See also: ChromeViewHostMsg_NeedCLDData
IPC_MESSAGE_ROUTED3(ChromeViewMsg_CLDDataAvailable,
                    IPC::PlatformFileForTransit /* ipc_file_handle */,
                    uint64 /* data_offset */,
                    uint64 /* data_length */)
#endif

//-----------------------------------------------------------------------------
// Misc messages
// These are messages sent from the renderer to the browser process.

// Notification that the language for the tab has been determined.
IPC_MESSAGE_ROUTED2(ChromeViewHostMsg_TranslateLanguageDetermined,
                    LanguageDetectionDetails /* details about lang detection */,
                    bool /* whether the page needs translation */)

// Notifies the browser that a page has been translated.
IPC_MESSAGE_ROUTED4(ChromeViewHostMsg_PageTranslated,
                    int,                  /* page id */
                    std::string           /* the original language */,
                    std::string           /* the translated language */,
                    TranslateErrors::Type /* the error type if available */)

// Tells the renderer to revert the text of translated page to its original
// contents.
IPC_MESSAGE_ROUTED1(ChromeViewMsg_RevertTranslation,
                    int /* page id */)

#if defined(CLD2_DYNAMIC_MODE)
// Informs the browser process that Compact Language Detector (CLD) data is
// required by the originating renderer. The browser process should respond
// with a ChromeViewMsg_CLDDataAvailable if the data is available, else it
// should go unanswered (the renderer will ask again later).
// See also: ChromeViewMsg_CLDDataAvailable
IPC_MESSAGE_ROUTED0(ChromeViewHostMsg_NeedCLDData)
#endif

/* [<][>][^][v][top][bottom][index][help] */