blob: f4739e80160190cbd3d86eb494e0ddcacbb8d2a8 [file] [log] [blame]
// Copyright (c) 2011 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 header, no traditional include guard.
#include <string>
#include <vector>
#include "base/basictypes.h"
#include "base/file_path.h"
#include "base/process.h"
#include "base/shared_memory.h"
#include "base/string16.h"
#include "base/sync_socket.h"
#include "gpu/command_buffer/common/command_buffer.h"
#include "gpu/ipc/gpu_command_buffer_traits.h"
#include "ipc/ipc_channel_handle.h"
#include "ipc/ipc_message_macros.h"
#include "ipc/ipc_message_utils.h"
#include "ipc/ipc_platform_file.h"
#include "ppapi/c/pp_bool.h"
#include "ppapi/c/pp_file_info.h"
#include "ppapi/c/pp_instance.h"
#include "ppapi/c/pp_module.h"
#include "ppapi/c/pp_point.h"
#include "ppapi/c/pp_rect.h"
#include "ppapi/c/pp_resource.h"
#include "ppapi/c/pp_size.h"
#include "ppapi/c/private/ppb_flash_tcp_socket.h"
#include "ppapi/proxy/ppapi_param_traits.h"
#include "ppapi/proxy/serialized_flash_menu.h"
#include "ppapi/proxy/serialized_structs.h"
#include "ppapi/shared_impl/input_event_impl.h"
#include "ppapi/shared_impl/ppapi_preferences.h"
#define IPC_MESSAGE_START PpapiMsgStart
IPC_ENUM_TRAITS(PP_InputEvent_Type)
IPC_ENUM_TRAITS(PP_InputEvent_MouseButton)
IPC_STRUCT_TRAITS_BEGIN(PP_Point)
IPC_STRUCT_TRAITS_MEMBER(x)
IPC_STRUCT_TRAITS_MEMBER(y)
IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(PP_FloatPoint)
IPC_STRUCT_TRAITS_MEMBER(x)
IPC_STRUCT_TRAITS_MEMBER(y)
IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(PP_Size)
IPC_STRUCT_TRAITS_MEMBER(height)
IPC_STRUCT_TRAITS_MEMBER(width)
IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(PP_Rect)
IPC_STRUCT_TRAITS_MEMBER(point)
IPC_STRUCT_TRAITS_MEMBER(size)
IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(::ppapi::Preferences)
IPC_STRUCT_TRAITS_MEMBER(standard_font_family)
IPC_STRUCT_TRAITS_MEMBER(fixed_font_family)
IPC_STRUCT_TRAITS_MEMBER(serif_font_family)
IPC_STRUCT_TRAITS_MEMBER(sans_serif_font_family)
IPC_STRUCT_TRAITS_MEMBER(default_font_size)
IPC_STRUCT_TRAITS_MEMBER(default_fixed_font_size)
IPC_STRUCT_TRAITS_END()
IPC_STRUCT_TRAITS_BEGIN(::ppapi::InputEventData)
IPC_STRUCT_TRAITS_MEMBER(is_filtered)
IPC_STRUCT_TRAITS_MEMBER(event_type)
IPC_STRUCT_TRAITS_MEMBER(event_time_stamp)
IPC_STRUCT_TRAITS_MEMBER(event_modifiers)
IPC_STRUCT_TRAITS_MEMBER(mouse_button)
IPC_STRUCT_TRAITS_MEMBER(mouse_position)
IPC_STRUCT_TRAITS_MEMBER(mouse_click_count)
IPC_STRUCT_TRAITS_MEMBER(wheel_delta)
IPC_STRUCT_TRAITS_MEMBER(wheel_ticks)
IPC_STRUCT_TRAITS_MEMBER(wheel_scroll_by_page)
IPC_STRUCT_TRAITS_MEMBER(key_code)
IPC_STRUCT_TRAITS_MEMBER(character_text)
IPC_STRUCT_TRAITS_END()
// These are from the browser to the plugin.
// Loads the given plugin.
IPC_MESSAGE_CONTROL1(PpapiMsg_LoadPlugin, FilePath /* path */)
// Creates a channel to talk to a renderer. The plugin will respond with
// PpapiHostMsg_ChannelCreated.
IPC_MESSAGE_CONTROL2(PpapiMsg_CreateChannel,
base::ProcessHandle /* host_process_handle */,
int /* renderer_id */)
// Each plugin may be referenced by multiple renderers. We need the instance
// IDs to be unique within a plugin, despite coming from different renderers,
// and unique within a renderer, despite going to different plugins. This means
// that neither the renderer nor the plugin can generate instance IDs without
// consulting the other.
//
// We resolve this by having the renderer generate a unique instance ID inside
// its process. It then asks the plugin to reserve that ID by sending this sync
// message. If the plugin has not yet seen this ID, it will remember it as used
// (to prevent a race condition if another renderer tries to then use the same
// instance), and set usable as true.
//
// If the plugin has already seen the instance ID, it will set usable as false
// and the renderer must retry a new instance ID.
IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_ReserveInstanceId,
PP_Instance /* instance */,
bool /* usable */)
// Passes the WebKit preferences to the plugin.
IPC_MESSAGE_CONTROL1(PpapiMsg_SetPreferences,
::ppapi::Preferences)
// Network state notification from the browser for implementing
// PPP_NetworkState_Dev.
IPC_MESSAGE_CONTROL1(PpapiMsg_SetNetworkState,
bool /* online */)
// Sent in both directions to see if the other side supports the given
// interface.
IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_SupportsInterface,
std::string /* interface_name */,
bool /* result */)
IPC_MESSAGE_CONTROL2(PpapiMsg_ExecuteCallback,
uint32 /* serialized_callback */,
int32 /* param */)
// Broker Process.
IPC_SYNC_MESSAGE_CONTROL2_0(PpapiMsg_ConnectToPlugin,
PP_Instance /* instance */,
IPC::PlatformFileForTransit /* handle */)
// PPB_Audio.
// Notifies the result of the audio stream create call. This is called in
// both error cases and in the normal success case. These cases are
// differentiated by the result code, which is one of the standard PPAPI
// result codes.
//
// The handler of this message should always close all of the handles passed
// in, since some could be valid even in the error case.
IPC_MESSAGE_ROUTED5(PpapiMsg_PPBAudio_NotifyAudioStreamCreated,
pp::proxy::HostResource /* audio_id */,
int32_t /* result_code (will be != PP_OK on failure) */,
IPC::PlatformFileForTransit /* socket_handle */,
base::SharedMemoryHandle /* handle */,
int32_t /* length */)
// PPB_Broker.
IPC_MESSAGE_ROUTED3(
PpapiMsg_PPBBroker_ConnectComplete,
pp::proxy::HostResource /* broker */,
IPC::PlatformFileForTransit /* handle */,
int32_t /* result */)
// PPB_FileChooser.
IPC_MESSAGE_ROUTED3(
PpapiMsg_PPBFileChooser_ChooseComplete,
pp::proxy::HostResource /* chooser */,
int32_t /* result_code (will be != PP_OK on failure */,
std::vector<pp::proxy::PPBFileRef_CreateInfo> /* chosen_files */)
// PPB_FileSystem.
IPC_MESSAGE_ROUTED2(
PpapiMsg_PPBFileSystem_OpenComplete,
pp::proxy::HostResource /* filesystem */,
int32_t /* result */)
// PPB_Flash_NetConnector.
IPC_MESSAGE_ROUTED5(PpapiMsg_PPBFlashNetConnector_ConnectACK,
pp::proxy::HostResource /* net_connector */,
int32_t /* result */,
IPC::PlatformFileForTransit /* handle */,
std::string /* local_addr_as_string */,
std::string /* remote_addr_as_string */)
// PPB_Flash_TCPSocket.
IPC_MESSAGE_ROUTED5(PpapiMsg_PPBFlashTCPSocket_ConnectACK,
uint32 /* plugin_dispatcher_id */,
uint32 /* socket_id */,
bool /* succeeded */,
PP_Flash_NetAddress /* local_addr */,
PP_Flash_NetAddress /* remote_addr */)
IPC_MESSAGE_ROUTED4(PpapiMsg_PPBFlashTCPSocket_ReadACK,
uint32 /* plugin_dispatcher_id */,
uint32 /* socket_id */,
bool /* succeeded */,
std::string /* data */)
IPC_MESSAGE_ROUTED4(PpapiMsg_PPBFlashTCPSocket_WriteACK,
uint32 /* plugin_dispatcher_id */,
uint32 /* socket_id */,
bool /* succeeded */,
int32_t /* bytes_written */)
// PPB_Graphics2D.
IPC_MESSAGE_ROUTED2(PpapiMsg_PPBGraphics2D_FlushACK,
pp::proxy::HostResource /* graphics_2d */,
int32_t /* pp_error */)
// PPB_Graphics3D.
IPC_MESSAGE_ROUTED2(PpapiMsg_PPBGraphics3D_SwapBuffersACK,
pp::proxy::HostResource /* graphics_3d */,
int32_t /* pp_error */)
// PPB_Surface3D.
IPC_MESSAGE_ROUTED2(PpapiMsg_PPBSurface3D_SwapBuffersACK,
pp::proxy::HostResource /* surface_3d */,
int32_t /* pp_error */)
// PPP_Class.
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasProperty,
int64 /* ppp_class */,
int64 /* object */,
pp::proxy::SerializedVar /* property */,
pp::proxy::SerializedVar /* out_exception */,
bool /* result */)
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasMethod,
int64 /* ppp_class */,
int64 /* object */,
pp::proxy::SerializedVar /* method */,
pp::proxy::SerializedVar /* out_exception */,
bool /* result */)
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_GetProperty,
int64 /* ppp_class */,
int64 /* object */,
pp::proxy::SerializedVar /* property */,
pp::proxy::SerializedVar /* out_exception */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiMsg_PPPClass_EnumerateProperties,
int64 /* ppp_class */,
int64 /* object */,
std::vector<pp::proxy::SerializedVar> /* props */,
pp::proxy::SerializedVar /* out_exception */)
IPC_SYNC_MESSAGE_ROUTED4_1(PpapiMsg_PPPClass_SetProperty,
int64 /* ppp_class */,
int64 /* object */,
pp::proxy::SerializedVar /* name */,
pp::proxy::SerializedVar /* value */,
pp::proxy::SerializedVar /* out_exception */)
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPClass_RemoveProperty,
int64 /* ppp_class */,
int64 /* object */,
pp::proxy::SerializedVar /* property */,
pp::proxy::SerializedVar /* out_exception */)
IPC_SYNC_MESSAGE_ROUTED4_2(PpapiMsg_PPPClass_Call,
int64 /* ppp_class */,
int64 /* object */,
pp::proxy::SerializedVar /* method_name */,
std::vector<pp::proxy::SerializedVar> /* args */,
pp::proxy::SerializedVar /* out_exception */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_Construct,
int64 /* ppp_class */,
int64 /* object */,
std::vector<pp::proxy::SerializedVar> /* args */,
pp::proxy::SerializedVar /* out_exception */,
pp::proxy::SerializedVar /* result */)
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPClass_Deallocate,
int64 /* ppp_class */,
int64 /* object */)
// PPP_Graphics3D_Dev.
IPC_MESSAGE_ROUTED1(PpapiMsg_PPPGraphics3D_ContextLost,
PP_Instance /* instance */)
// PPP_InputEvent.
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPInputEvent_HandleInputEvent,
PP_Instance /* instance */,
ppapi::InputEventData /* data */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPInputEvent_HandleFilteredInputEvent,
PP_Instance /* instance */,
ppapi::InputEventData /* data */,
PP_Bool /* result */)
// PPP_Instance.
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPInstance_DidCreate,
PP_Instance /* instance */,
std::vector<std::string> /* argn */,
std::vector<std::string> /* argv */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED1_0(PpapiMsg_PPPInstance_DidDestroy,
PP_Instance /* instance */)
IPC_MESSAGE_ROUTED4(PpapiMsg_PPPInstance_DidChangeView,
PP_Instance /* instance */,
PP_Rect /* position */,
PP_Rect /* clip */,
PP_Bool /* fullscreen */)
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPInstance_DidChangeFocus,
PP_Instance /* instance */,
PP_Bool /* has_focus */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPInstance_HandleDocumentLoad,
PP_Instance /* instance */,
pp::proxy::HostResource /* url_loader */,
PP_Bool /* result */)
// PPP_Instance_Private.
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPInstancePrivate_GetInstanceObject,
PP_Instance /* instance */,
pp::proxy::SerializedVar /* result */)
// PPB_URLLoader
// (Messages from browser to plugin to notify it of changes in state.)
IPC_MESSAGE_ROUTED1(PpapiMsg_PPBURLLoader_UpdateProgress,
pp::proxy::PPBURLLoader_UpdateProgress_Params /* params */)
IPC_MESSAGE_ROUTED3(PpapiMsg_PPBURLLoader_ReadResponseBody_Ack,
pp::proxy::HostResource /* loader */,
int32 /* result */,
std::string /* data */)
// -----------------------------------------------------------------------------
// These are from the plugin to the renderer.
// Reply to PpapiMsg_CreateChannel. The handle will be NULL if the channel
// could not be established. This could be because the IPC could not be created
// for some weird reason, but more likely that the plugin failed to load or
// initialize properly.
IPC_MESSAGE_CONTROL1(PpapiHostMsg_ChannelCreated,
IPC::ChannelHandle /* handle */)
// PPB_Audio.
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBAudio_Create,
PP_Instance /* instance_id */,
int32_t /* sample_rate */,
uint32_t /* sample_frame_count */,
pp::proxy::HostResource /* result */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBAudio_StartOrStop,
pp::proxy::HostResource /* audio_id */,
bool /* play */)
// PPB_Broker.
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBBroker_Create,
PP_Instance /* instance */,
pp::proxy::HostResource /* result_resource */)
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBBroker_Connect,
pp::proxy::HostResource /* broker */)
// PPB_Buffer.
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBBuffer_Create,
PP_Instance /* instance */,
uint32_t /* size */,
pp::proxy::HostResource /* result_resource */,
base::SharedMemoryHandle /* result_shm_handle */)
// PPB_Console.
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBConsole_Log,
PP_Instance /* instance */,
int /* log_level */,
pp::proxy::SerializedVar /* value */)
IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBConsole_LogWithSource,
PP_Instance /* instance */,
int /* log_level */,
pp::proxy::SerializedVar /* soruce */,
pp::proxy::SerializedVar /* value */)
// PPB_Context3D.
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBContext3D_Create,
PP_Instance /* instance */,
int32_t /* config */,
std::vector<int32_t> /* attrib_list */,
pp::proxy::HostResource /* result */)
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBContext3D_BindSurfaces,
pp::proxy::HostResource /* context */,
pp::proxy::HostResource /* draw */,
pp::proxy::HostResource /* read */,
int32_t /* result */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBContext3D_Initialize,
pp::proxy::HostResource /* context */,
int32 /* size */,
base::SharedMemoryHandle /* ring_buffer */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBContext3D_GetState,
pp::proxy::HostResource /* context */,
gpu::CommandBuffer::State /* state */)
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBContext3D_Flush,
pp::proxy::HostResource /* context */,
int32 /* put_offset */,
int32 /* last_known_get */,
gpu::CommandBuffer::State /* state */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBContext3D_AsyncFlush,
pp::proxy::HostResource /* context */,
int32 /* put_offset */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBContext3D_CreateTransferBuffer,
pp::proxy::HostResource /* context */,
int32 /* size */,
int32 /* id */)
IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBContext3D_DestroyTransferBuffer,
pp::proxy::HostResource /* context */,
int32 /* id */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBContext3D_GetTransferBuffer,
pp::proxy::HostResource /* context */,
int32 /* id */,
base::SharedMemoryHandle /* transfer_buffer */,
uint32 /* size */)
// PPB_Core.
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBCore_AddRefResource,
pp::proxy::HostResource)
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBCore_ReleaseResource,
pp::proxy::HostResource)
// PPB_CharSet.
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBCharSet_GetDefaultCharSet,
PP_Instance /* instance */,
pp::proxy::SerializedVar /* result */)
// PPB_CursorControl.
IPC_SYNC_MESSAGE_ROUTED4_1(PpapiHostMsg_PPBCursorControl_SetCursor,
PP_Instance /* instance */,
int32_t /* type */,
pp::proxy::HostResource /* custom_image */,
PP_Point /* hot_spot */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBCursorControl_LockCursor,
PP_Instance /* instance */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBCursorControl_UnlockCursor,
PP_Instance /* instance */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBCursorControl_HasCursorLock,
PP_Instance /* instance */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBCursorControl_CanLockCursor,
PP_Instance /* instance */,
PP_Bool /* result */)
// PPB_FileChooser.
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBFileChooser_Create,
PP_Instance /* instance */,
int /* mode */,
std::string /* accept_mime_types */,
pp::proxy::HostResource /* result */)
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBFileChooser_Show,
pp::proxy::HostResource /* file_chooser */)
// PPB_FileRef.
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFileRef_Create,
pp::proxy::HostResource /* file_system */,
std::string /* path */,
pp::proxy::PPBFileRef_CreateInfo /* result */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFileRef_GetParent,
pp::proxy::HostResource /* file_ref */,
pp::proxy::PPBFileRef_CreateInfo /* result */)
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBFileRef_MakeDirectory,
pp::proxy::HostResource /* file_ref */,
PP_Bool /* make_ancestors */,
uint32_t /* serialized_callback */)
IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBFileRef_Touch,
pp::proxy::HostResource /* file_ref */,
PP_Time /* last_access */,
PP_Time /* last_modified */,
uint32_t /* serialized_callback */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBFileRef_Delete,
pp::proxy::HostResource /* file_ref */,
uint32_t /* serialized_callback */)
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBFileRef_Rename,
pp::proxy::HostResource /* file_ref */,
pp::proxy::HostResource /* new_file_ref */,
uint32_t /* serialized_callback */)
// PPB_FileSystem.
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFileSystem_Create,
PP_Instance /* instance */,
int /* type */,
pp::proxy::HostResource /* result */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBFileSystem_Open,
pp::proxy::HostResource /* result */,
int64_t /* expected_size */)
// PPB_Flash.
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBFlash_SetInstanceAlwaysOnTop,
PP_Instance /* instance */,
PP_Bool /* on_top */)
// This has to be synchronous becuase the caller may want to composite on
// top of the resulting text after the call is complete.
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFlash_DrawGlyphs,
pp::proxy::PPBFlash_DrawGlyphs_Params /* params */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFlash_GetProxyForURL,
PP_Instance /* instance */,
std::string /* url */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBFlash_Navigate,
pp::proxy::HostResource /* request_info */,
std::string /* target */,
bool /* from_user_action */,
int32_t /* result */)
IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBFlash_RunMessageLoop,
PP_Instance /* instance */)
IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBFlash_QuitMessageLoop,
PP_Instance /* instance */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFlash_GetLocalTimeZoneOffset,
PP_Instance /* instance */,
PP_Time /* t */,
double /* offset */)
// PPB_Flash_Clipboard.
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBFlashClipboard_IsFormatAvailable,
PP_Instance /* instance */,
int /* clipboard_type */,
int /* format */,
bool /* result */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFlashClipboard_ReadPlainText,
PP_Instance /* instance */,
int /* clipboard_type */,
pp::proxy::SerializedVar /* result */)
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBFlashClipboard_WritePlainText,
PP_Instance /* instance */,
int /* clipboard_type */,
pp::proxy::SerializedVar /* text */)
// PPB_Flash_File_FileRef.
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBFlashFile_FileRef_OpenFile,
pp::proxy::HostResource /* file_ref */,
int32_t /* mode */,
IPC::PlatformFileForTransit /* file_handle */,
int32_t /* result */)
IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBFlashFile_FileRef_QueryFile,
pp::proxy::HostResource /* file_ref */,
PP_FileInfo /* info */,
int32_t /* result */)
// PPB_Flash_File_ModuleLocal.
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBFlashFile_ModuleLocal_OpenFile,
PP_Instance /* instance */,
std::string /* path */,
int32_t /* mode */,
IPC::PlatformFileForTransit /* file_handle */,
int32_t /* result */)
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBFlashFile_ModuleLocal_RenameFile,
PP_Instance /* instance */,
std::string /* path_from */,
std::string /* path_to */,
int32_t /* result */)
IPC_SYNC_MESSAGE_ROUTED3_1(
PpapiHostMsg_PPBFlashFile_ModuleLocal_DeleteFileOrDir,
PP_Instance /* instance */,
std::string /* path */,
PP_Bool /* recursive */,
int32_t /* result */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFlashFile_ModuleLocal_CreateDir,
PP_Instance /* instance */,
std::string /* path */,
int32_t /* result */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBFlashFile_ModuleLocal_QueryFile,
PP_Instance /* instance */,
std::string /* path */,
PP_FileInfo /* info */,
int32_t /* result */)
IPC_SYNC_MESSAGE_ROUTED2_2(
PpapiHostMsg_PPBFlashFile_ModuleLocal_GetDirContents,
PP_Instance /* instance */,
std::string /* path */,
std::vector<pp::proxy::SerializedDirEntry> /* entries */,
int32_t /* result */)
// PPB_Flash_Menu
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFlashMenu_Create,
PP_Instance /* instance */,
pp::proxy::SerializedFlashMenu /* menu_data */,
pp::proxy::HostResource /* result */)
IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBFlashMenu_Show,
pp::proxy::HostResource /* menu */,
PP_Point /* location */)
IPC_MESSAGE_ROUTED3(PpapiMsg_PPBFlashMenu_ShowACK,
pp::proxy::HostResource /* menu */,
int32_t /* selected_id */,
int32_t /* result */)
// PPB_Flash_NetConnector.
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFlashNetConnector_Create,
PP_Instance /* instance_id */,
pp::proxy::HostResource /* result */)
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBFlashNetConnector_ConnectTcp,
pp::proxy::HostResource /* connector */,
std::string /* host */,
uint16_t /* port */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBFlashNetConnector_ConnectTcpAddress,
pp::proxy::HostResource /* connector */,
std::string /* net_address_as_string */)
// PPB_Flash_TCPSocket.
IPC_SYNC_MESSAGE_CONTROL2_1(PpapiHostMsg_PPBFlashTCPSocket_Create,
int32 /* routing_id */,
uint32 /* plugin_dispatcher_id */,
uint32 /* socket_id */)
IPC_MESSAGE_CONTROL3(PpapiHostMsg_PPBFlashTCPSocket_Connect,
uint32 /* socket_id */,
std::string /* host */,
uint16_t /* port */)
IPC_MESSAGE_CONTROL2(PpapiHostMsg_PPBFlashTCPSocket_ConnectWithNetAddress,
uint32 /* socket_id */,
PP_Flash_NetAddress /* net_addr */)
IPC_MESSAGE_CONTROL2(PpapiHostMsg_PPBFlashTCPSocket_Read,
uint32 /* socket_id */,
int32_t /* bytes_to_read */)
IPC_MESSAGE_CONTROL2(PpapiHostMsg_PPBFlashTCPSocket_Write,
uint32 /* socket_id */,
std::string /* data */)
IPC_MESSAGE_CONTROL1(PpapiHostMsg_PPBFlashTCPSocket_Disconnect,
uint32 /* socket_id */)
// PPB_Font.
IPC_SYNC_MESSAGE_CONTROL0_1(PpapiHostMsg_PPBFont_GetFontFamilies,
std::string /* result */)
// PPB_Graphics2D.
IPC_MESSAGE_ROUTED5(PpapiHostMsg_PPBGraphics2D_PaintImageData,
pp::proxy::HostResource /* graphics_2d */,
pp::proxy::HostResource /* image_data */,
PP_Point /* top_left */,
bool /* src_rect_specified */,
PP_Rect /* src_rect */)
IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBGraphics2D_Scroll,
pp::proxy::HostResource /* graphics_2d */,
bool /* clip_specified */,
PP_Rect /* clip */,
PP_Point /* amount */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBGraphics2D_ReplaceContents,
pp::proxy::HostResource /* graphics_2d */,
pp::proxy::HostResource /* image_data */)
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBGraphics2D_Flush,
pp::proxy::HostResource /* graphics_2d */)
// PPB_Graphics3D.
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBGraphics3D_Create,
PP_Instance /* instance */,
int32_t /* config */,
std::vector<int32_t> /* attrib_list */,
pp::proxy::HostResource /* result */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBGraphics3D_InitCommandBuffer,
pp::proxy::HostResource /* context */,
int32 /* size */,
base::SharedMemoryHandle /* ring_buffer */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBGraphics3D_GetState,
pp::proxy::HostResource /* context */,
gpu::CommandBuffer::State /* state */)
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBGraphics3D_Flush,
pp::proxy::HostResource /* context */,
int32 /* put_offset */,
int32 /* last_known_get */,
gpu::CommandBuffer::State /* state */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBGraphics3D_AsyncFlush,
pp::proxy::HostResource /* context */,
int32 /* put_offset */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBGraphics3D_CreateTransferBuffer,
pp::proxy::HostResource /* context */,
int32 /* size */,
int32 /* id */)
IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBGraphics3D_DestroyTransferBuffer,
pp::proxy::HostResource /* context */,
int32 /* id */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBGraphics3D_GetTransferBuffer,
pp::proxy::HostResource /* context */,
int32 /* id */,
base::SharedMemoryHandle /* transfer_buffer */,
uint32 /* size */)
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBGraphics3D_SwapBuffers,
pp::proxy::HostResource /* graphics_3d */)
// PPB_Instance.
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetWindowObject,
PP_Instance /* instance */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetOwnerElementObject,
PP_Instance /* instance */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_BindGraphics,
PP_Instance /* instance */,
pp::proxy::HostResource /* device */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_IsFullFrame,
PP_Instance /* instance */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBInstance_ExecuteScript,
PP_Instance /* instance */,
pp::proxy::SerializedVar /* script */,
pp::proxy::SerializedVar /* out_exception */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_SetFullscreen,
PP_Instance /* instance */,
PP_Bool /* fullscreen */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBInstance_GetScreenSize,
PP_Instance /* instance */,
PP_Bool /* result */,
PP_Size /* size */)
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_RequestInputEvents,
PP_Instance /* instance */,
bool /* is_filtering */,
uint32_t /* event_classes */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_ClearInputEvents,
PP_Instance /* instance */,
uint32_t /* event_classes */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_PostMessage,
PP_Instance /* instance */,
pp::proxy::SerializedVar /* message */)
IPC_SYNC_MESSAGE_ROUTED3_1(
PpapiHostMsg_PPBPDF_GetFontFileWithFallback,
PP_Instance /* instance */,
pp::proxy::SerializedFontDescription /* description */,
int32_t /* charset */,
pp::proxy::HostResource /* result */)
IPC_SYNC_MESSAGE_ROUTED2_1(
PpapiHostMsg_PPBPDF_GetFontTableForPrivateFontFile,
pp::proxy::HostResource /* font_file */,
uint32_t /* table */,
std::string /* result */)
// PPB_Surface3D.
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBSurface3D_Create,
PP_Instance /* instance */,
int32_t /* config */,
std::vector<int32_t> /* attrib_list */,
pp::proxy::HostResource /* result */)
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBSurface3D_SwapBuffers,
pp::proxy::HostResource /* surface_3d */)
// PPB_Testing.
IPC_SYNC_MESSAGE_ROUTED3_1(
PpapiHostMsg_PPBTesting_ReadImageData,
pp::proxy::HostResource /* device_context_2d */,
pp::proxy::HostResource /* image */,
PP_Point /* top_left */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBTesting_RunMessageLoop,
PP_Instance /* instance */)
IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBTesting_QuitMessageLoop,
PP_Instance /* instance */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance,
PP_Instance /* instance */,
uint32 /* result */)
// PPB_URLLoader.
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLLoader_Create,
PP_Instance /* instance */,
pp::proxy::HostResource /* result */)
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBURLLoader_Open,
pp::proxy::HostResource /* loader */,
pp::proxy::HostResource /*request_info */,
uint32_t /* serialized_callback */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBURLLoader_FollowRedirect,
pp::proxy::HostResource /* loader */,
uint32_t /* serialized_callback */)
IPC_SYNC_MESSAGE_ROUTED1_1(
PpapiHostMsg_PPBURLLoader_GetResponseInfo,
pp::proxy::HostResource /* loader */,
pp::proxy::HostResource /* response_info_out */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBURLLoader_ReadResponseBody,
pp::proxy::HostResource /* loader */,
int32_t /* bytes_to_read */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBURLLoader_FinishStreamingToFile,
pp::proxy::HostResource /* loader */,
uint32_t /* serialized_callback */)
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBURLLoader_Close,
pp::proxy::HostResource /* loader */)
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBURLLoader_GrantUniversalAccess,
pp::proxy::HostResource /* loader */)
// PPB_URLRequestInfo.
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLRequestInfo_Create,
PP_Instance /* instance */,
pp::proxy::HostResource /* result */)
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBURLRequestInfo_SetProperty,
pp::proxy::HostResource /* request */,
int32_t /* property */,
pp::proxy::SerializedVar /* value */)
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBURLRequestInfo_AppendDataToBody,
pp::proxy::HostResource /* request */,
std::string /* data */)
IPC_MESSAGE_ROUTED5(PpapiHostMsg_PPBURLRequestInfo_AppendFileToBody,
pp::proxy::HostResource /* request */,
pp::proxy::HostResource /* file_ref */,
int64_t /* start_offset */,
int64_t /* number_of_bytes */,
double /* expected_last_modified_time */)
// PPB_URLResponseInfo.
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBURLResponseInfo_GetProperty,
pp::proxy::HostResource /* response */,
int32_t /* property */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLResponseInfo_GetBodyAsFileRef,
pp::proxy::HostResource /* response */,
pp::proxy::PPBFileRef_CreateInfo /* result */)
// PPB_URLUtil.
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBURLUtil_ResolveRelativeToDocument,
PP_Instance /* instance */,
pp::proxy::SerializedVar /* relative */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBURLUtil_DocumentCanRequest,
PP_Instance /* instance */,
pp::proxy::SerializedVar /* relative */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBURLUtil_DocumentCanAccessDocument,
PP_Instance /* active */,
PP_Instance /* target */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLUtil_GetDocumentURL,
PP_Instance /* active */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLUtil_GetPluginInstanceURL,
PP_Instance /* active */,
pp::proxy::SerializedVar /* result */)
// PPB_Var.
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBVar_AddRefObject,
int64 /* object_id */,
int /* unused - need a return value for sync msgs */)
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVar_ReleaseObject,
int64 /* object_id */)
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBVar_ConvertType,
PP_Instance /* instance */,
pp::proxy::SerializedVar /* var */,
int /* new_type */,
pp::proxy::SerializedVar /* exception */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_HasProperty,
pp::proxy::SerializedVar /* object */,
pp::proxy::SerializedVar /* property */,
pp::proxy::SerializedVar /* out_exception */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_HasMethodDeprecated,
pp::proxy::SerializedVar /* object */,
pp::proxy::SerializedVar /* method */,
pp::proxy::SerializedVar /* out_exception */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_GetProperty,
pp::proxy::SerializedVar /* object */,
pp::proxy::SerializedVar /* property */,
pp::proxy::SerializedVar /* out_exception */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_DeleteProperty,
pp::proxy::SerializedVar /* object */,
pp::proxy::SerializedVar /* property */,
pp::proxy::SerializedVar /* out_exception */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBVar_EnumerateProperties,
pp::proxy::SerializedVar /* object */,
std::vector<pp::proxy::SerializedVar> /* props */,
pp::proxy::SerializedVar /* out_exception */)
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVar_SetPropertyDeprecated,
pp::proxy::SerializedVar /* object */,
pp::proxy::SerializedVar /* name */,
pp::proxy::SerializedVar /* value */,
pp::proxy::SerializedVar /* out_exception */)
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBVar_CallDeprecated,
pp::proxy::SerializedVar /* object */,
pp::proxy::SerializedVar /* method_name */,
std::vector<pp::proxy::SerializedVar> /* args */,
pp::proxy::SerializedVar /* out_exception */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_Construct,
pp::proxy::SerializedVar /* object */,
std::vector<pp::proxy::SerializedVar> /* args */,
pp::proxy::SerializedVar /* out_exception */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_IsInstanceOfDeprecated,
pp::proxy::SerializedVar /* var */,
int64 /* object_class */,
int64 /* object-data */,
PP_Bool /* result */)
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVar_CreateObjectDeprecated,
PP_Instance /* instance */,
int64 /* object_class */,
int64 /* object_data */,
pp::proxy::SerializedVar /* result */)
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_ResourceCreation_Graphics2D,
PP_Instance /* instance */,
PP_Size /* size */,
PP_Bool /* is_always_opaque */,
pp::proxy::HostResource /* result */)
IPC_SYNC_MESSAGE_ROUTED4_3(PpapiHostMsg_ResourceCreation_ImageData,
PP_Instance /* instance */,
int32 /* format */,
PP_Size /* size */,
PP_Bool /* init_to_zero */,
pp::proxy::HostResource /* result_resource */,
std::string /* image_data_desc */,
pp::proxy::ImageHandle /* result */)