ppapi_messages.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 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 header, no traditional include guard. 6#include <string> 7#include <vector> 8 9#include "base/basictypes.h" 10#include "base/files/file_path.h" 11#include "base/process.h" 12#include "base/shared_memory.h" 13#include "base/string16.h" 14#include "base/sync_socket.h" 15#include "gpu/command_buffer/common/command_buffer.h" 16#include "gpu/ipc/gpu_command_buffer_traits.h" 17#include "ipc/ipc_channel_handle.h" 18#include "ipc/ipc_message_macros.h" 19#include "ipc/ipc_message_utils.h" 20#include "ipc/ipc_platform_file.h" 21#include "ppapi/c/dev/pp_video_capture_dev.h" 22#include "ppapi/c/dev/pp_video_dev.h" 23#include "ppapi/c/dev/ppb_directory_reader_dev.h" 24#include "ppapi/c/dev/ppb_text_input_dev.h" 25#include "ppapi/c/dev/ppb_truetype_font_dev.h" 26#include "ppapi/c/dev/ppb_url_util_dev.h" 27#include "ppapi/c/dev/ppp_printing_dev.h" 28#include "ppapi/c/pp_bool.h" 29#include "ppapi/c/pp_file_info.h" 30#include "ppapi/c/pp_instance.h" 31#include "ppapi/c/pp_module.h" 32#include "ppapi/c/pp_point.h" 33#include "ppapi/c/pp_rect.h" 34#include "ppapi/c/pp_resource.h" 35#include "ppapi/c/pp_size.h" 36#include "ppapi/c/pp_time.h" 37#include "ppapi/c/ppb_audio_config.h" 38#include "ppapi/c/private/pp_content_decryptor.h" 39#include "ppapi/c/private/pp_private_font_charset.h" 40#include "ppapi/c/private/ppb_flash.h" 41#include "ppapi/c/private/ppb_host_resolver_private.h" 42#include "ppapi/c/private/ppb_net_address_private.h" 43#include "ppapi/c/private/ppb_tcp_socket_private.h" 44#include "ppapi/c/private/ppb_udp_socket_private.h" 45#include "ppapi/c/private/ppp_flash_browser_operations.h" 46#include "ppapi/proxy/host_resolver_private_resource.h" 47#include "ppapi/proxy/ppapi_param_traits.h" 48#include "ppapi/proxy/ppapi_proxy_export.h" 49#include "ppapi/proxy/resource_message_params.h" 50#include "ppapi/proxy/serialized_flash_menu.h" 51#include "ppapi/proxy/serialized_handle.h" 52#include "ppapi/proxy/serialized_structs.h" 53#include "ppapi/proxy/serialized_var.h" 54#include "ppapi/shared_impl/dir_contents.h" 55#include "ppapi/shared_impl/file_path.h" 56#include "ppapi/shared_impl/ppapi_preferences.h" 57#include "ppapi/shared_impl/ppb_device_ref_shared.h" 58#include "ppapi/shared_impl/ppb_input_event_shared.h" 59#include "ppapi/shared_impl/ppb_network_list_private_shared.h" 60#include "ppapi/shared_impl/ppb_view_shared.h" 61#include "ppapi/shared_impl/ppp_flash_browser_operations_shared.h" 62#include "ppapi/shared_impl/private/ppb_x509_certificate_private_shared.h" 63#include "ppapi/shared_impl/url_request_info_data.h" 64#include "ppapi/shared_impl/url_response_info_data.h" 65 66#undef IPC_MESSAGE_EXPORT 67#define IPC_MESSAGE_EXPORT PPAPI_PROXY_EXPORT 68 69#define IPC_MESSAGE_START PpapiMsgStart 70 71IPC_ENUM_TRAITS(PP_AudioSampleRate) 72IPC_ENUM_TRAITS(PP_DeviceType_Dev) 73IPC_ENUM_TRAITS(PP_DecryptorStreamType) 74IPC_ENUM_TRAITS(PP_FileType) 75IPC_ENUM_TRAITS(PP_Flash_BrowserOperations_Permission) 76IPC_ENUM_TRAITS(PP_Flash_BrowserOperations_SettingType) 77IPC_ENUM_TRAITS(PP_FlashSetting) 78IPC_ENUM_TRAITS(PP_InputEvent_MouseButton) 79IPC_ENUM_TRAITS(PP_InputEvent_Type) 80IPC_ENUM_TRAITS(PP_NetAddressFamily_Private) 81IPC_ENUM_TRAITS(PP_NetworkListState_Private) 82IPC_ENUM_TRAITS(PP_NetworkListType_Private) 83IPC_ENUM_TRAITS(PP_PrintOrientation_Dev) 84IPC_ENUM_TRAITS(PP_PrintOutputFormat_Dev) 85IPC_ENUM_TRAITS(PP_PrintScalingOption_Dev) 86IPC_ENUM_TRAITS(PP_PrivateFontCharset) 87IPC_ENUM_TRAITS(PP_TextInput_Type) 88IPC_ENUM_TRAITS(PP_TrueTypeFontFamily_Dev) 89IPC_ENUM_TRAITS(PP_TrueTypeFontStyle_Dev) 90IPC_ENUM_TRAITS(PP_TrueTypeFontWeight_Dev) 91IPC_ENUM_TRAITS(PP_TrueTypeFontWidth_Dev) 92IPC_ENUM_TRAITS(PP_TrueTypeFontCharset_Dev) 93IPC_ENUM_TRAITS(PP_VideoDecodeError_Dev) 94IPC_ENUM_TRAITS(PP_VideoDecoder_Profile) 95 96IPC_STRUCT_TRAITS_BEGIN(PP_Point) 97 IPC_STRUCT_TRAITS_MEMBER(x) 98 IPC_STRUCT_TRAITS_MEMBER(y) 99IPC_STRUCT_TRAITS_END() 100 101IPC_STRUCT_TRAITS_BEGIN(PP_FloatPoint) 102 IPC_STRUCT_TRAITS_MEMBER(x) 103 IPC_STRUCT_TRAITS_MEMBER(y) 104IPC_STRUCT_TRAITS_END() 105 106IPC_STRUCT_TRAITS_BEGIN(PP_Size) 107 IPC_STRUCT_TRAITS_MEMBER(height) 108 IPC_STRUCT_TRAITS_MEMBER(width) 109IPC_STRUCT_TRAITS_END() 110 111IPC_STRUCT_TRAITS_BEGIN(PP_Rect) 112 IPC_STRUCT_TRAITS_MEMBER(point) 113 IPC_STRUCT_TRAITS_MEMBER(size) 114IPC_STRUCT_TRAITS_END() 115 116IPC_STRUCT_TRAITS_BEGIN(PP_PictureBuffer_Dev) 117 IPC_STRUCT_TRAITS_MEMBER(id) 118 IPC_STRUCT_TRAITS_MEMBER(size) 119 IPC_STRUCT_TRAITS_MEMBER(texture_id) 120IPC_STRUCT_TRAITS_END() 121 122IPC_STRUCT_TRAITS_BEGIN(PP_Picture_Dev) 123 IPC_STRUCT_TRAITS_MEMBER(picture_buffer_id) 124 IPC_STRUCT_TRAITS_MEMBER(bitstream_buffer_id) 125IPC_STRUCT_TRAITS_END() 126 127IPC_STRUCT_TRAITS_BEGIN(PP_PrintPageNumberRange_Dev) 128 IPC_STRUCT_TRAITS_MEMBER(first_page_number) 129 IPC_STRUCT_TRAITS_MEMBER(last_page_number) 130IPC_STRUCT_TRAITS_END() 131 132IPC_STRUCT_TRAITS_BEGIN(PP_VideoCaptureDeviceInfo_Dev) 133 IPC_STRUCT_TRAITS_MEMBER(width) 134 IPC_STRUCT_TRAITS_MEMBER(height) 135 IPC_STRUCT_TRAITS_MEMBER(frames_per_second) 136IPC_STRUCT_TRAITS_END() 137 138IPC_STRUCT_TRAITS_BEGIN(PP_HostResolver_Private_Hint) 139 IPC_STRUCT_TRAITS_MEMBER(family) 140 IPC_STRUCT_TRAITS_MEMBER(flags) 141IPC_STRUCT_TRAITS_END() 142 143IPC_STRUCT_TRAITS_BEGIN(PP_PrintSettings_Dev) 144 IPC_STRUCT_TRAITS_MEMBER(printable_area) 145 IPC_STRUCT_TRAITS_MEMBER(content_area) 146 IPC_STRUCT_TRAITS_MEMBER(paper_size) 147 IPC_STRUCT_TRAITS_MEMBER(dpi) 148 IPC_STRUCT_TRAITS_MEMBER(orientation) 149 IPC_STRUCT_TRAITS_MEMBER(print_scaling_option) 150 IPC_STRUCT_TRAITS_MEMBER(grayscale) 151 IPC_STRUCT_TRAITS_MEMBER(format) 152IPC_STRUCT_TRAITS_END() 153 154IPC_STRUCT_TRAITS_BEGIN(PP_URLComponent_Dev) 155 IPC_STRUCT_TRAITS_MEMBER(begin) 156 IPC_STRUCT_TRAITS_MEMBER(len) 157IPC_STRUCT_TRAITS_END() 158 159IPC_STRUCT_TRAITS_BEGIN(PP_URLComponents_Dev) 160 IPC_STRUCT_TRAITS_MEMBER(scheme) 161 IPC_STRUCT_TRAITS_MEMBER(username) 162 IPC_STRUCT_TRAITS_MEMBER(password) 163 IPC_STRUCT_TRAITS_MEMBER(host) 164 IPC_STRUCT_TRAITS_MEMBER(port) 165 IPC_STRUCT_TRAITS_MEMBER(path) 166 IPC_STRUCT_TRAITS_MEMBER(query) 167 IPC_STRUCT_TRAITS_MEMBER(ref) 168IPC_STRUCT_TRAITS_END() 169 170IPC_STRUCT_TRAITS_BEGIN(ppapi::DeviceRefData) 171 IPC_STRUCT_TRAITS_MEMBER(type) 172 IPC_STRUCT_TRAITS_MEMBER(name) 173 IPC_STRUCT_TRAITS_MEMBER(id) 174IPC_STRUCT_TRAITS_END() 175 176IPC_STRUCT_TRAITS_BEGIN(ppapi::DirEntry) 177 IPC_STRUCT_TRAITS_MEMBER(name) 178 IPC_STRUCT_TRAITS_MEMBER(is_dir) 179IPC_STRUCT_TRAITS_END() 180 181IPC_STRUCT_TRAITS_BEGIN(ppapi::FlashSiteSetting) 182 IPC_STRUCT_TRAITS_MEMBER(site) 183 IPC_STRUCT_TRAITS_MEMBER(permission) 184IPC_STRUCT_TRAITS_END() 185 186IPC_STRUCT_TRAITS_BEGIN(ppapi::ViewData) 187 IPC_STRUCT_TRAITS_MEMBER(rect) 188 IPC_STRUCT_TRAITS_MEMBER(is_fullscreen) 189 IPC_STRUCT_TRAITS_MEMBER(is_page_visible) 190 IPC_STRUCT_TRAITS_MEMBER(clip_rect) 191 IPC_STRUCT_TRAITS_MEMBER(device_scale) 192 IPC_STRUCT_TRAITS_MEMBER(css_scale) 193IPC_STRUCT_TRAITS_END() 194 195IPC_STRUCT_TRAITS_BEGIN(PP_TouchPoint) 196 IPC_STRUCT_TRAITS_MEMBER(id) 197 IPC_STRUCT_TRAITS_MEMBER(position) 198 IPC_STRUCT_TRAITS_MEMBER(radius) 199 IPC_STRUCT_TRAITS_MEMBER(rotation_angle) 200 IPC_STRUCT_TRAITS_MEMBER(pressure) 201IPC_STRUCT_TRAITS_END() 202 203IPC_STRUCT_TRAITS_BEGIN(ppapi::Preferences) 204 IPC_STRUCT_TRAITS_MEMBER(standard_font_family_map) 205 IPC_STRUCT_TRAITS_MEMBER(fixed_font_family_map) 206 IPC_STRUCT_TRAITS_MEMBER(serif_font_family_map) 207 IPC_STRUCT_TRAITS_MEMBER(sans_serif_font_family_map) 208 IPC_STRUCT_TRAITS_MEMBER(default_font_size) 209 IPC_STRUCT_TRAITS_MEMBER(default_fixed_font_size) 210 IPC_STRUCT_TRAITS_MEMBER(number_of_cpu_cores) 211 IPC_STRUCT_TRAITS_MEMBER(is_3d_supported) 212 IPC_STRUCT_TRAITS_MEMBER(is_stage3d_supported) 213 IPC_STRUCT_TRAITS_MEMBER(is_stage3d_baseline_supported) 214IPC_STRUCT_TRAITS_END() 215 216IPC_STRUCT_TRAITS_BEGIN(ppapi::InputEventData) 217 IPC_STRUCT_TRAITS_MEMBER(is_filtered) 218 IPC_STRUCT_TRAITS_MEMBER(event_type) 219 IPC_STRUCT_TRAITS_MEMBER(event_time_stamp) 220 IPC_STRUCT_TRAITS_MEMBER(event_modifiers) 221 IPC_STRUCT_TRAITS_MEMBER(mouse_button) 222 IPC_STRUCT_TRAITS_MEMBER(mouse_position) 223 IPC_STRUCT_TRAITS_MEMBER(mouse_click_count) 224 IPC_STRUCT_TRAITS_MEMBER(mouse_movement) 225 IPC_STRUCT_TRAITS_MEMBER(wheel_delta) 226 IPC_STRUCT_TRAITS_MEMBER(wheel_ticks) 227 IPC_STRUCT_TRAITS_MEMBER(wheel_scroll_by_page) 228 IPC_STRUCT_TRAITS_MEMBER(key_code) 229 IPC_STRUCT_TRAITS_MEMBER(usb_key_code) 230 IPC_STRUCT_TRAITS_MEMBER(character_text) 231 IPC_STRUCT_TRAITS_MEMBER(composition_segment_offsets) 232 IPC_STRUCT_TRAITS_MEMBER(composition_target_segment) 233 IPC_STRUCT_TRAITS_MEMBER(composition_selection_start) 234 IPC_STRUCT_TRAITS_MEMBER(composition_selection_end) 235 IPC_STRUCT_TRAITS_MEMBER(touches) 236 IPC_STRUCT_TRAITS_MEMBER(changed_touches) 237 IPC_STRUCT_TRAITS_MEMBER(target_touches) 238IPC_STRUCT_TRAITS_END() 239 240IPC_STRUCT_TRAITS_BEGIN(ppapi::HostPortPair) 241 IPC_STRUCT_TRAITS_MEMBER(host) 242 IPC_STRUCT_TRAITS_MEMBER(port) 243IPC_STRUCT_TRAITS_END() 244 245IPC_STRUCT_TRAITS_BEGIN(ppapi::URLRequestInfoData) 246 IPC_STRUCT_TRAITS_MEMBER(url) 247 IPC_STRUCT_TRAITS_MEMBER(method) 248 IPC_STRUCT_TRAITS_MEMBER(headers) 249 IPC_STRUCT_TRAITS_MEMBER(stream_to_file) 250 IPC_STRUCT_TRAITS_MEMBER(follow_redirects) 251 IPC_STRUCT_TRAITS_MEMBER(record_download_progress) 252 IPC_STRUCT_TRAITS_MEMBER(record_upload_progress) 253 IPC_STRUCT_TRAITS_MEMBER(has_custom_referrer_url) 254 IPC_STRUCT_TRAITS_MEMBER(custom_referrer_url) 255 IPC_STRUCT_TRAITS_MEMBER(allow_cross_origin_requests) 256 IPC_STRUCT_TRAITS_MEMBER(allow_credentials) 257 IPC_STRUCT_TRAITS_MEMBER(has_custom_content_transfer_encoding) 258 IPC_STRUCT_TRAITS_MEMBER(custom_content_transfer_encoding) 259 IPC_STRUCT_TRAITS_MEMBER(prefetch_buffer_upper_threshold) 260 IPC_STRUCT_TRAITS_MEMBER(prefetch_buffer_lower_threshold) 261 IPC_STRUCT_TRAITS_MEMBER(has_custom_user_agent) 262 IPC_STRUCT_TRAITS_MEMBER(custom_user_agent) 263 IPC_STRUCT_TRAITS_MEMBER(body) 264IPC_STRUCT_TRAITS_END() 265 266IPC_STRUCT_TRAITS_BEGIN(ppapi::URLRequestInfoData::BodyItem) 267 IPC_STRUCT_TRAITS_MEMBER(is_file) 268 IPC_STRUCT_TRAITS_MEMBER(data) 269 // Note: we don't serialize file_ref. 270 IPC_STRUCT_TRAITS_MEMBER(file_ref_host_resource) 271 IPC_STRUCT_TRAITS_MEMBER(start_offset) 272 IPC_STRUCT_TRAITS_MEMBER(number_of_bytes) 273 IPC_STRUCT_TRAITS_MEMBER(expected_last_modified_time) 274IPC_STRUCT_TRAITS_END() 275 276IPC_STRUCT_TRAITS_BEGIN(ppapi::URLResponseInfoData) 277 IPC_STRUCT_TRAITS_MEMBER(url) 278 IPC_STRUCT_TRAITS_MEMBER(headers) 279 IPC_STRUCT_TRAITS_MEMBER(status_code) 280 IPC_STRUCT_TRAITS_MEMBER(status_text) 281 IPC_STRUCT_TRAITS_MEMBER(redirect_url) 282 IPC_STRUCT_TRAITS_MEMBER(body_as_file_ref) 283IPC_STRUCT_TRAITS_END() 284 285IPC_STRUCT_TRAITS_BEGIN(ppapi::NetworkInfo) 286 IPC_STRUCT_TRAITS_MEMBER(name) 287 IPC_STRUCT_TRAITS_MEMBER(type) 288 IPC_STRUCT_TRAITS_MEMBER(state) 289 IPC_STRUCT_TRAITS_MEMBER(addresses) 290 IPC_STRUCT_TRAITS_MEMBER(display_name) 291 IPC_STRUCT_TRAITS_MEMBER(mtu) 292IPC_STRUCT_TRAITS_END() 293 294#if !defined(OS_NACL) && !defined(NACL_WIN64) 295 296IPC_STRUCT_TRAITS_BEGIN(ppapi::proxy::PPPDecryptor_Buffer) 297 IPC_STRUCT_TRAITS_MEMBER(resource) 298 IPC_STRUCT_TRAITS_MEMBER(handle) 299 IPC_STRUCT_TRAITS_MEMBER(size) 300IPC_STRUCT_TRAITS_END() 301 302#endif // !defined(OS_NACL) && !defined(NACL_WIN64) 303 304// These are from the browser to the plugin. 305// Loads the given plugin. 306IPC_MESSAGE_CONTROL2(PpapiMsg_LoadPlugin, 307 base::FilePath /* path */, 308 ppapi::PpapiPermissions /* permissions */) 309 310// Creates a channel to talk to a renderer. The plugin will respond with 311// PpapiHostMsg_ChannelCreated. 312IPC_MESSAGE_CONTROL3(PpapiMsg_CreateChannel, 313 base::ProcessId /* renderer_pid */, 314 int /* renderer_child_id */, 315 bool /* incognito */) 316 317// Creates a channel to talk to a renderer. This message is only used by the 318// NaCl IPC proxy. It is intercepted by NaClIPCAdapter, which creates the 319// actual channel and rewrites the message for the untrusted side. 320IPC_MESSAGE_CONTROL4(PpapiMsg_CreateNaClChannel, 321 int /* renderer_id */, 322 ppapi::PpapiPermissions /* permissions */, 323 bool /* incognito */, 324 ppapi::proxy::SerializedHandle /* channel_handle */) 325 326// Instructs the plugin process to crash. 327IPC_MESSAGE_CONTROL0(PpapiMsg_Crash) 328 329// Instructs the plugin process to hang. 330IPC_MESSAGE_CONTROL0(PpapiMsg_Hang) 331 332// Each plugin may be referenced by multiple renderers. We need the instance 333// IDs to be unique within a plugin, despite coming from different renderers, 334// and unique within a renderer, despite going to different plugins. This means 335// that neither the renderer nor the plugin can generate instance IDs without 336// consulting the other. 337// 338// We resolve this by having the renderer generate a unique instance ID inside 339// its process. It then asks the plugin to reserve that ID by sending this sync 340// message. If the plugin has not yet seen this ID, it will remember it as used 341// (to prevent a race condition if another renderer tries to then use the same 342// instance), and set usable as true. 343// 344// If the plugin has already seen the instance ID, it will set usable as false 345// and the renderer must retry a new instance ID. 346IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_ReserveInstanceId, 347 PP_Instance /* instance */, 348 bool /* usable */) 349 350// Passes the WebKit preferences to the plugin. 351IPC_MESSAGE_CONTROL1(PpapiMsg_SetPreferences, 352 ppapi::Preferences) 353 354// Sent in both directions to see if the other side supports the given 355// interface. 356IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_SupportsInterface, 357 std::string /* interface_name */, 358 bool /* result */) 359 360#if !defined(OS_NACL) && !defined(NACL_WIN64) 361// Network state notification from the browser for implementing 362// PPP_NetworkState_Dev. 363IPC_MESSAGE_CONTROL1(PpapiMsg_SetNetworkState, 364 bool /* online */) 365 366// Requests a list of sites that have data stored from the plugin. The plugin 367// process will respond with PpapiHostMsg_GetSitesWithDataResult. This is used 368// for Flash. 369IPC_MESSAGE_CONTROL2(PpapiMsg_GetSitesWithData, 370 uint32 /* request_id */, 371 base::FilePath /* plugin_data_path */) 372IPC_MESSAGE_CONTROL2(PpapiHostMsg_GetSitesWithDataResult, 373 uint32 /* request_id */, 374 std::vector<std::string> /* sites */) 375 376// Instructs the plugin to clear data for the given site & time. The plugin 377// process will respond with PpapiHostMsg_ClearSiteDataResult. This is used 378// for Flash. 379IPC_MESSAGE_CONTROL5(PpapiMsg_ClearSiteData, 380 uint32 /* request_id */, 381 base::FilePath /* plugin_data_path */, 382 std::string /* site */, 383 uint64 /* flags */, 384 uint64 /* max_age */) 385IPC_MESSAGE_CONTROL2(PpapiHostMsg_ClearSiteDataResult, 386 uint32 /* request_id */, 387 bool /* success */) 388 389IPC_MESSAGE_CONTROL2(PpapiMsg_DeauthorizeContentLicenses, 390 uint32 /* request_id */, 391 base::FilePath /* plugin_data_path */) 392IPC_MESSAGE_CONTROL2(PpapiHostMsg_DeauthorizeContentLicensesResult, 393 uint32 /* request_id */, 394 bool /* success */) 395 396IPC_MESSAGE_CONTROL3(PpapiMsg_GetPermissionSettings, 397 uint32 /* request_id */, 398 base::FilePath /* plugin_data_path */, 399 PP_Flash_BrowserOperations_SettingType /* setting_type */) 400IPC_MESSAGE_CONTROL4( 401 PpapiHostMsg_GetPermissionSettingsResult, 402 uint32 /* request_id */, 403 bool /* success */, 404 PP_Flash_BrowserOperations_Permission /* default_permission */, 405 ppapi::FlashSiteSettings /* sites */) 406 407IPC_MESSAGE_CONTROL5(PpapiMsg_SetDefaultPermission, 408 uint32 /* request_id */, 409 base::FilePath /* plugin_data_path */, 410 PP_Flash_BrowserOperations_SettingType /* setting_type */, 411 PP_Flash_BrowserOperations_Permission /* permission */, 412 bool /* clear_site_specific */) 413IPC_MESSAGE_CONTROL2(PpapiHostMsg_SetDefaultPermissionResult, 414 uint32 /* request_id */, 415 bool /* success */) 416 417IPC_MESSAGE_CONTROL4(PpapiMsg_SetSitePermission, 418 uint32 /* request_id */, 419 base::FilePath /* plugin_data_path */, 420 PP_Flash_BrowserOperations_SettingType /* setting_type */, 421 ppapi::FlashSiteSettings /* sites */) 422IPC_MESSAGE_CONTROL2(PpapiHostMsg_SetSitePermissionResult, 423 uint32 /* request_id */, 424 bool /* success */) 425 426// Broker Process. 427IPC_SYNC_MESSAGE_CONTROL2_1(PpapiMsg_ConnectToPlugin, 428 PP_Instance /* instance */, 429 IPC::PlatformFileForTransit /* handle */, 430 int32_t /* result */) 431#endif // !defined(OS_NACL) && !defined(NACL_WIN64) 432 433// PPB_Audio. 434 435// Notifies the result of the audio stream create call. This is called in 436// both error cases and in the normal success case. These cases are 437// differentiated by the result code, which is one of the standard PPAPI 438// result codes. 439// 440// The handler of this message should always close all of the handles passed 441// in, since some could be valid even in the error case. 442IPC_MESSAGE_ROUTED4(PpapiMsg_PPBAudio_NotifyAudioStreamCreated, 443 ppapi::HostResource /* audio_id */, 444 int32_t /* result_code (will be != PP_OK on failure) */, 445 ppapi::proxy::SerializedHandle /* socket_handle */, 446 ppapi::proxy::SerializedHandle /* handle */) 447 448// PPB_FileRef. 449IPC_MESSAGE_ROUTED3( 450 PpapiMsg_PPBFileRef_CallbackComplete, 451 ppapi::HostResource /* resource */, 452 int /* callback_id */, 453 int32_t /* result */) 454 455// PPB_FileSystem. 456IPC_MESSAGE_ROUTED2( 457 PpapiMsg_PPBFileSystem_OpenComplete, 458 ppapi::HostResource /* filesystem */, 459 int32_t /* result */) 460 461// PPB_Graphics3D. 462IPC_MESSAGE_ROUTED2(PpapiMsg_PPBGraphics3D_SwapBuffersACK, 463 ppapi::HostResource /* graphics_3d */, 464 int32_t /* pp_error */) 465 466// PPB_ImageData. 467IPC_MESSAGE_ROUTED1(PpapiMsg_PPBImageData_NotifyUnusedImageData, 468 ppapi::HostResource /* old_image_data */) 469 470// PPB_Instance. 471IPC_MESSAGE_ROUTED2(PpapiMsg_PPBInstance_MouseLockComplete, 472 PP_Instance /* instance */, 473 int32_t /* result */) 474 475// PPP_Class. 476IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasProperty, 477 int64 /* ppp_class */, 478 int64 /* object */, 479 ppapi::proxy::SerializedVar /* property */, 480 ppapi::proxy::SerializedVar /* out_exception */, 481 bool /* result */) 482IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasMethod, 483 int64 /* ppp_class */, 484 int64 /* object */, 485 ppapi::proxy::SerializedVar /* method */, 486 ppapi::proxy::SerializedVar /* out_exception */, 487 bool /* result */) 488IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_GetProperty, 489 int64 /* ppp_class */, 490 int64 /* object */, 491 ppapi::proxy::SerializedVar /* property */, 492 ppapi::proxy::SerializedVar /* out_exception */, 493 ppapi::proxy::SerializedVar /* result */) 494IPC_SYNC_MESSAGE_ROUTED2_2(PpapiMsg_PPPClass_EnumerateProperties, 495 int64 /* ppp_class */, 496 int64 /* object */, 497 std::vector<ppapi::proxy::SerializedVar> /* props */, 498 ppapi::proxy::SerializedVar /* out_exception */) 499IPC_SYNC_MESSAGE_ROUTED4_1(PpapiMsg_PPPClass_SetProperty, 500 int64 /* ppp_class */, 501 int64 /* object */, 502 ppapi::proxy::SerializedVar /* name */, 503 ppapi::proxy::SerializedVar /* value */, 504 ppapi::proxy::SerializedVar /* out_exception */) 505IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPClass_RemoveProperty, 506 int64 /* ppp_class */, 507 int64 /* object */, 508 ppapi::proxy::SerializedVar /* property */, 509 ppapi::proxy::SerializedVar /* out_exception */) 510IPC_SYNC_MESSAGE_ROUTED4_2(PpapiMsg_PPPClass_Call, 511 int64 /* ppp_class */, 512 int64 /* object */, 513 ppapi::proxy::SerializedVar /* method_name */, 514 std::vector<ppapi::proxy::SerializedVar> /* args */, 515 ppapi::proxy::SerializedVar /* out_exception */, 516 ppapi::proxy::SerializedVar /* result */) 517IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_Construct, 518 int64 /* ppp_class */, 519 int64 /* object */, 520 std::vector<ppapi::proxy::SerializedVar> /* args */, 521 ppapi::proxy::SerializedVar /* out_exception */, 522 ppapi::proxy::SerializedVar /* result */) 523IPC_MESSAGE_ROUTED2(PpapiMsg_PPPClass_Deallocate, 524 int64 /* ppp_class */, 525 int64 /* object */) 526 527// PPP_Graphics3D_Dev. 528IPC_MESSAGE_ROUTED1(PpapiMsg_PPPGraphics3D_ContextLost, 529 PP_Instance /* instance */) 530 531// PPP_InputEvent. 532IPC_MESSAGE_ROUTED2(PpapiMsg_PPPInputEvent_HandleInputEvent, 533 PP_Instance /* instance */, 534 ppapi::InputEventData /* data */) 535IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPInputEvent_HandleFilteredInputEvent, 536 PP_Instance /* instance */, 537 ppapi::InputEventData /* data */, 538 PP_Bool /* result */) 539 540// PPP_Instance. 541IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPInstance_DidCreate, 542 PP_Instance /* instance */, 543 std::vector<std::string> /* argn */, 544 std::vector<std::string> /* argv */, 545 PP_Bool /* result */) 546IPC_SYNC_MESSAGE_ROUTED1_0(PpapiMsg_PPPInstance_DidDestroy, 547 PP_Instance /* instance */) 548IPC_MESSAGE_ROUTED3(PpapiMsg_PPPInstance_DidChangeView, 549 PP_Instance /* instance */, 550 ppapi::ViewData /* new_data */, 551 PP_Bool /* flash_fullscreen */) 552IPC_MESSAGE_ROUTED2(PpapiMsg_PPPInstance_DidChangeFocus, 553 PP_Instance /* instance */, 554 PP_Bool /* has_focus */) 555IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPInstance_HandleDocumentLoad, 556 PP_Instance /* instance */, 557 ppapi::HostResource /* url_loader */, 558 PP_Bool /* result */) 559 560// PPP_Messaging. 561IPC_MESSAGE_ROUTED2(PpapiMsg_PPPMessaging_HandleMessage, 562 PP_Instance /* instance */, 563 ppapi::proxy::SerializedVar /* message */) 564 565// PPP_MouseLock. 566IPC_MESSAGE_ROUTED1(PpapiMsg_PPPMouseLock_MouseLockLost, 567 PP_Instance /* instance */) 568 569// PPB_NetworkMonitor_Private. 570IPC_MESSAGE_ROUTED2(PpapiMsg_PPBNetworkMonitor_NetworkList, 571 uint32 /* plugin_dispatcher_id */, 572 ppapi::NetworkList /* network_list */) 573 574// PPP_Printing 575IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPPrinting_QuerySupportedFormats, 576 PP_Instance /* instance */, 577 uint32_t /* result */) 578IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPPrinting_Begin, 579 PP_Instance /* instance */, 580 std::string /* settings_string */, 581 int32_t /* result */) 582IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPPrinting_PrintPages, 583 PP_Instance /* instance */, 584 std::vector<PP_PrintPageNumberRange_Dev> /* pages */, 585 ppapi::HostResource /* result */) 586IPC_MESSAGE_ROUTED1(PpapiMsg_PPPPrinting_End, 587 PP_Instance /* instance */) 588IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPPrinting_IsScalingDisabled, 589 PP_Instance /* instance */, 590 bool /* result */) 591 592// PPP_TextInput. 593IPC_MESSAGE_ROUTED2(PpapiMsg_PPPTextInput_RequestSurroundingText, 594 PP_Instance /* instance */, 595 uint32_t /* desired_number_of_characters */) 596 597// PPB_URLLoader 598// (Messages from browser to plugin to notify it of changes in state.) 599// 600// NOTE: The ReadResponseBody_Ack message is a custom generated message 601// with the following fields appended: 602// ppapi::HostResource 603// response data (array of bytes stored via WriteData) 604// int result 605// 606IPC_MESSAGE_ROUTED0(PpapiMsg_PPBURLLoader_ReadResponseBody_Ack) 607IPC_MESSAGE_ROUTED2(PpapiMsg_PPBURLLoader_CallbackComplete, 608 ppapi::HostResource /* loader */, 609 int32_t /* result */) 610#if !defined(OS_NACL) && !defined(NACL_WIN64) 611// PPB_Broker. 612IPC_MESSAGE_ROUTED3( 613 PpapiMsg_PPBBroker_ConnectComplete, 614 ppapi::HostResource /* broker */, 615 IPC::PlatformFileForTransit /* handle */, 616 int32_t /* result */) 617 618// PPP_ContentDecryptor_Dev 619IPC_MESSAGE_ROUTED4(PpapiMsg_PPPContentDecryptor_GenerateKeyRequest, 620 PP_Instance /* instance */, 621 ppapi::proxy::SerializedVar /* key_system, String */, 622 ppapi::proxy::SerializedVar /* type, String */, 623 ppapi::proxy::SerializedVar /* init_data, ArrayBuffer */) 624IPC_MESSAGE_ROUTED4(PpapiMsg_PPPContentDecryptor_AddKey, 625 PP_Instance /* instance */, 626 ppapi::proxy::SerializedVar /* session_id, String */, 627 ppapi::proxy::SerializedVar /* key, ArrayBuffer */, 628 ppapi::proxy::SerializedVar /* init_data, ArrayBuffer */) 629IPC_MESSAGE_ROUTED2(PpapiMsg_PPPContentDecryptor_CancelKeyRequest, 630 PP_Instance /* instance */, 631 ppapi::proxy::SerializedVar /* session_id, String */) 632IPC_MESSAGE_ROUTED3(PpapiMsg_PPPContentDecryptor_Decrypt, 633 PP_Instance /* instance */, 634 ppapi::proxy::PPPDecryptor_Buffer /* buffer */, 635 std::string /* serialized_block_info */) 636IPC_MESSAGE_ROUTED3( 637 PpapiMsg_PPPContentDecryptor_InitializeAudioDecoder, 638 PP_Instance /* instance */, 639 std::string /* serialized_decoder_config */, 640 ppapi::proxy::PPPDecryptor_Buffer /* extra_data_buffer */) 641IPC_MESSAGE_ROUTED3( 642 PpapiMsg_PPPContentDecryptor_InitializeVideoDecoder, 643 PP_Instance /* instance */, 644 std::string /* serialized_decoder_config */, 645 ppapi::proxy::PPPDecryptor_Buffer /* extra_data_buffer. */) 646IPC_MESSAGE_ROUTED3(PpapiMsg_PPPContentDecryptor_DeinitializeDecoder, 647 PP_Instance /* instance */, 648 PP_DecryptorStreamType /* decoder_type */, 649 uint32_t /* request_id */) 650IPC_MESSAGE_ROUTED3(PpapiMsg_PPPContentDecryptor_ResetDecoder, 651 PP_Instance /* instance */, 652 PP_DecryptorStreamType /* decoder_type */, 653 uint32_t /* request_id */) 654IPC_MESSAGE_ROUTED4(PpapiMsg_PPPContentDecryptor_DecryptAndDecode, 655 PP_Instance /* instance */, 656 PP_DecryptorStreamType /* decoder_type */, 657 ppapi::proxy::PPPDecryptor_Buffer /* buffer */, 658 std::string /* serialized_block_info */) 659#endif // !defined(OS_NACL) && !defined(NACL_WIN64) 660 661// PPB_TCPSocket_Private. 662IPC_MESSAGE_ROUTED5(PpapiMsg_PPBTCPSocket_ConnectACK, 663 uint32 /* plugin_dispatcher_id */, 664 uint32 /* socket_id */, 665 bool /* succeeded */, 666 PP_NetAddress_Private /* local_addr */, 667 PP_NetAddress_Private /* remote_addr */) 668IPC_MESSAGE_ROUTED4(PpapiMsg_PPBTCPSocket_SSLHandshakeACK, 669 uint32 /* plugin_dispatcher_id */, 670 uint32 /* socket_id */, 671 bool /* succeeded */, 672 ppapi::PPB_X509Certificate_Fields /* certificate_fields */) 673IPC_MESSAGE_ROUTED4(PpapiMsg_PPBTCPSocket_ReadACK, 674 uint32 /* plugin_dispatcher_id */, 675 uint32 /* socket_id */, 676 bool /* succeeded */, 677 std::string /* data */) 678IPC_MESSAGE_ROUTED4(PpapiMsg_PPBTCPSocket_WriteACK, 679 uint32 /* plugin_dispatcher_id */, 680 uint32 /* socket_id */, 681 bool /* succeeded */, 682 int32_t /* bytes_written */) 683IPC_MESSAGE_ROUTED3(PpapiMsg_PPBTCPSocket_SetBoolOptionACK, 684 uint32 /* plugin_dispatcher_id */, 685 uint32 /* socket_id */, 686 bool /* succeeded */) 687 688// PPB_URLLoader_Trusted 689IPC_MESSAGE_ROUTED1( 690 PpapiMsg_PPBURLLoader_UpdateProgress, 691 ppapi::proxy::PPBURLLoader_UpdateProgress_Params /* params */) 692 693// PPB_TCPServerSocket_Private. 694 695// |socket_resource| should not be used as Resource in browser. The 696// only purpose of this argument is to be echoed back. 697// |status| == PP_ERROR_NOSPACE means that the socket table is full 698// and new socket can't be initialized. 699// |status| == PP_ERROR_FAILED means that socket is correctly 700// initialized (if needed) but Listen call is failed. 701// |status| == PP_OK means that socket is correctly initialized (if 702// needed) and Listen call succeeds. 703IPC_MESSAGE_ROUTED4(PpapiMsg_PPBTCPServerSocket_ListenACK, 704 uint32 /* plugin_dispatcher_id */, 705 PP_Resource /* socket_resource */, 706 uint32 /* socket_id */, 707 int32_t /* status */) 708IPC_MESSAGE_ROUTED5(PpapiMsg_PPBTCPServerSocket_AcceptACK, 709 uint32 /* plugin_dispatcher_id */, 710 uint32 /* server_socket_id */, 711 uint32 /* accepted_socket_id */, 712 PP_NetAddress_Private /* local_addr */, 713 PP_NetAddress_Private /* remote_addr */) 714 715#if !defined(OS_NACL) && !defined(NACL_WIN64) 716// PPP_Instance_Private. 717IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPInstancePrivate_GetInstanceObject, 718 PP_Instance /* instance */, 719 ppapi::proxy::SerializedVar /* result */) 720 721// PPB_VideoDecoder_Dev. 722// (Messages from renderer to plugin to notify it to run callbacks.) 723IPC_MESSAGE_ROUTED3(PpapiMsg_PPBVideoDecoder_EndOfBitstreamACK, 724 ppapi::HostResource /* video_decoder */, 725 int32_t /* bitstream buffer id */, 726 int32_t /* PP_CompletionCallback result */) 727IPC_MESSAGE_ROUTED2(PpapiMsg_PPBVideoDecoder_FlushACK, 728 ppapi::HostResource /* video_decoder */, 729 int32_t /* PP_CompletionCallback result */) 730IPC_MESSAGE_ROUTED2(PpapiMsg_PPBVideoDecoder_ResetACK, 731 ppapi::HostResource /* video_decoder */, 732 int32_t /* PP_CompletionCallback result */) 733 734// PPP_VideoDecoder_Dev. 735IPC_MESSAGE_ROUTED4(PpapiMsg_PPPVideoDecoder_ProvidePictureBuffers, 736 ppapi::HostResource /* video_decoder */, 737 uint32_t /* requested number of buffers */, 738 PP_Size /* dimensions of buffers */, 739 uint32_t /* texture_target */) 740IPC_MESSAGE_ROUTED2(PpapiMsg_PPPVideoDecoder_DismissPictureBuffer, 741 ppapi::HostResource /* video_decoder */, 742 int32_t /* picture buffer id */) 743IPC_MESSAGE_ROUTED2(PpapiMsg_PPPVideoDecoder_PictureReady, 744 ppapi::HostResource /* video_decoder */, 745 PP_Picture_Dev /* output picture */) 746IPC_MESSAGE_ROUTED2(PpapiMsg_PPPVideoDecoder_NotifyError, 747 ppapi::HostResource /* video_decoder */, 748 PP_VideoDecodeError_Dev /* error */) 749#endif // !defined(OS_NACL) && !defined(NACL_WIN64) 750 751// ----------------------------------------------------------------------------- 752// These are from the plugin to the renderer. 753 754// Reply to PpapiMsg_CreateChannel. The handle will be NULL if the channel 755// could not be established. This could be because the IPC could not be created 756// for some weird reason, but more likely that the plugin failed to load or 757// initialize properly. 758IPC_MESSAGE_CONTROL1(PpapiHostMsg_ChannelCreated, 759 IPC::ChannelHandle /* handle */) 760 761// Logs the given message to the console of all instances. 762IPC_MESSAGE_CONTROL4(PpapiHostMsg_LogWithSource, 763 PP_Instance /* instance */, 764 int /* log_level */, 765 std::string /* source */, 766 std::string /* value */) 767 768// PPB_Audio. 769IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBAudio_Create, 770 PP_Instance /* instance_id */, 771 int32_t /* sample_rate */, 772 uint32_t /* sample_frame_count */, 773 ppapi::HostResource /* result */) 774IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBAudio_StartOrStop, 775 ppapi::HostResource /* audio_id */, 776 bool /* play */) 777 778// PPB_Core. 779IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBCore_AddRefResource, 780 ppapi::HostResource) 781IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBCore_ReleaseResource, 782 ppapi::HostResource) 783 784// PPB_FileRef. 785IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFileRef_Create, 786 ppapi::HostResource /* file_system */, 787 std::string /* path */, 788 ppapi::PPB_FileRef_CreateInfo /* result */) 789IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFileRef_GetParent, 790 ppapi::HostResource /* file_ref */, 791 ppapi::PPB_FileRef_CreateInfo /* result */) 792IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBFileRef_MakeDirectory, 793 ppapi::HostResource /* file_ref */, 794 PP_Bool /* make_ancestors */, 795 int /* callback_id */) 796IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBFileRef_Touch, 797 ppapi::HostResource /* file_ref */, 798 PP_Time /* last_access */, 799 PP_Time /* last_modified */, 800 int /* callback_id */) 801IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBFileRef_Delete, 802 ppapi::HostResource /* file_ref */, 803 int /* callback_id */) 804IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBFileRef_Rename, 805 ppapi::HostResource /* file_ref */, 806 ppapi::HostResource /* new_file_ref */, 807 int /* callback_id */) 808IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFileRef_GetAbsolutePath, 809 ppapi::HostResource /* file_ref */, 810 ppapi::proxy::SerializedVar /* result */) 811 812// PPB_FileSystem. 813IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFileSystem_Create, 814 PP_Instance /* instance */, 815 int /* type */, 816 ppapi::HostResource /* result */) 817IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBFileSystem_Open, 818 ppapi::HostResource /* result */, 819 int64_t /* expected_size */) 820 821// PPB_Graphics3D. 822IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBGraphics3D_Create, 823 PP_Instance /* instance */, 824 ppapi::HostResource /* share_context */, 825 std::vector<int32_t> /* attrib_list */, 826 ppapi::HostResource /* result */) 827IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBGraphics3D_InitCommandBuffer, 828 ppapi::HostResource /* context */) 829IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBGraphics3D_SetGetBuffer, 830 ppapi::HostResource /* context */, 831 int32 /* transfer_buffer_id */) 832IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBGraphics3D_GetState, 833 ppapi::HostResource /* context */, 834 gpu::CommandBuffer::State /* state */, 835 bool /* success */) 836IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBGraphics3D_Flush, 837 ppapi::HostResource /* context */, 838 int32 /* put_offset */, 839 int32 /* last_known_get */, 840 gpu::CommandBuffer::State /* state */, 841 bool /* success */) 842IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBGraphics3D_AsyncFlush, 843 ppapi::HostResource /* context */, 844 int32 /* put_offset */) 845IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBGraphics3D_CreateTransferBuffer, 846 ppapi::HostResource /* context */, 847 uint32 /* size */, 848 int32 /* id */) 849IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBGraphics3D_DestroyTransferBuffer, 850 ppapi::HostResource /* context */, 851 int32 /* id */) 852IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBGraphics3D_GetTransferBuffer, 853 ppapi::HostResource /* context */, 854 int32 /* id */, 855 ppapi::proxy::SerializedHandle /* transfer_buffer */) 856IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBGraphics3D_SwapBuffers, 857 ppapi::HostResource /* graphics_3d */) 858IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBGraphics3D_InsertSyncPoint, 859 ppapi::HostResource /* context */, 860 uint32 /* sync_point */) 861 862// PPB_ImageData. 863IPC_SYNC_MESSAGE_ROUTED4_3(PpapiHostMsg_PPBImageData_Create, 864 PP_Instance /* instance */, 865 int32 /* format */, 866 PP_Size /* size */, 867 PP_Bool /* init_to_zero */, 868 ppapi::HostResource /* result_resource */, 869 std::string /* image_data_desc */, 870 ppapi::proxy::ImageHandle /* result */) 871IPC_SYNC_MESSAGE_ROUTED4_3(PpapiHostMsg_PPBImageData_CreateNaCl, 872 PP_Instance /* instance */, 873 int32 /* format */, 874 PP_Size /* size */, 875 PP_Bool /* init_to_zero */, 876 ppapi::HostResource /* result_resource */, 877 std::string /* image_data_desc */, 878 ppapi::proxy::SerializedHandle /* result */) 879 880// PPB_Instance. 881IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetWindowObject, 882 PP_Instance /* instance */, 883 ppapi::proxy::SerializedVar /* result */) 884IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetOwnerElementObject, 885 PP_Instance /* instance */, 886 ppapi::proxy::SerializedVar /* result */) 887IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_BindGraphics, 888 PP_Instance /* instance */, 889 PP_Resource /* device */) 890IPC_SYNC_MESSAGE_ROUTED1_1( 891 PpapiHostMsg_PPBInstance_GetAudioHardwareOutputSampleRate, 892 PP_Instance /* instance */, 893 uint32_t /* result */) 894IPC_SYNC_MESSAGE_ROUTED1_1( 895 PpapiHostMsg_PPBInstance_GetAudioHardwareOutputBufferSize, 896 PP_Instance /* instance */, 897 uint32_t /* result */) 898IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_IsFullFrame, 899 PP_Instance /* instance */, 900 PP_Bool /* result */) 901IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBInstance_ExecuteScript, 902 PP_Instance /* instance */, 903 ppapi::proxy::SerializedVar /* script */, 904 ppapi::proxy::SerializedVar /* out_exception */, 905 ppapi::proxy::SerializedVar /* result */) 906IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetDefaultCharSet, 907 PP_Instance /* instance */, 908 ppapi::proxy::SerializedVar /* result */) 909IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_SetFullscreen, 910 PP_Instance /* instance */, 911 PP_Bool /* fullscreen */, 912 PP_Bool /* result */) 913IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBInstance_GetScreenSize, 914 PP_Instance /* instance */, 915 PP_Bool /* result */, 916 PP_Size /* size */) 917IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_RequestInputEvents, 918 PP_Instance /* instance */, 919 bool /* is_filtering */, 920 uint32_t /* event_classes */) 921IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_ClearInputEvents, 922 PP_Instance /* instance */, 923 uint32_t /* event_classes */) 924IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_PostMessage, 925 PP_Instance /* instance */, 926 ppapi::proxy::SerializedVar /* message */) 927IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBInstance_LockMouse, 928 PP_Instance /* instance */) 929IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBInstance_UnlockMouse, 930 PP_Instance /* instance */) 931IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_ResolveRelativeToDocument, 932 PP_Instance /* instance */, 933 ppapi::proxy::SerializedVar /* relative */, 934 ppapi::proxy::SerializedVar /* result */) 935IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_DocumentCanRequest, 936 PP_Instance /* instance */, 937 ppapi::proxy::SerializedVar /* relative */, 938 PP_Bool /* result */) 939IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_DocumentCanAccessDocument, 940 PP_Instance /* active */, 941 PP_Instance /* target */, 942 PP_Bool /* result */) 943IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBInstance_GetDocumentURL, 944 PP_Instance /* active */, 945 PP_URLComponents_Dev /* components */, 946 ppapi::proxy::SerializedVar /* result */) 947IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetPluginInstanceURL, 948 PP_Instance /* active */, 949 ppapi::proxy::SerializedVar /* result */) 950IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_SetCursor, 951 PP_Instance /* instance */, 952 int32_t /* type */, 953 ppapi::HostResource /* custom_image */, 954 PP_Point /* hot_spot */) 955IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_SetTextInputType, 956 PP_Instance /* instance */, 957 PP_TextInput_Type /* type */) 958IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_UpdateCaretPosition, 959 PP_Instance /* instance */, 960 PP_Rect /* caret */, 961 PP_Rect /* bounding_box */) 962IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBInstance_CancelCompositionText, 963 PP_Instance /* instance */) 964IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_UpdateSurroundingText, 965 PP_Instance /* instance */, 966 std::string /* text */, 967 uint32_t /* caret */, 968 uint32_t /* anchor */) 969 970// PPB_URLLoader. 971IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLLoader_Create, 972 PP_Instance /* instance */, 973 ppapi::HostResource /* result */) 974IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBURLLoader_Open, 975 ppapi::HostResource /* loader */, 976 ppapi::URLRequestInfoData /* request_data */) 977IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBURLLoader_FollowRedirect, 978 ppapi::HostResource /* loader */) 979IPC_SYNC_MESSAGE_ROUTED1_2( 980 PpapiHostMsg_PPBURLLoader_GetResponseInfo, 981 ppapi::HostResource /* loader */, 982 bool /* success */, 983 ppapi::URLResponseInfoData /* result */) 984IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBURLLoader_ReadResponseBody, 985 ppapi::HostResource /* loader */, 986 int32_t /* bytes_to_read */) 987IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBURLLoader_FinishStreamingToFile, 988 ppapi::HostResource /* loader */) 989IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBURLLoader_Close, 990 ppapi::HostResource /* loader */) 991IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBURLLoader_GrantUniversalAccess, 992 ppapi::HostResource /* loader */) 993 994// PPB_Var. 995IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBVar_AddRefObject, 996 int64 /* object_id */, 997 int /* unused - need a return value for sync msgs */) 998IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVar_ReleaseObject, 999 int64 /* object_id */) 1000IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_HasProperty, 1001 ppapi::proxy::SerializedVar /* object */, 1002 ppapi::proxy::SerializedVar /* property */, 1003 ppapi::proxy::SerializedVar /* out_exception */, 1004 PP_Bool /* result */) 1005IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_HasMethodDeprecated, 1006 ppapi::proxy::SerializedVar /* object */, 1007 ppapi::proxy::SerializedVar /* method */, 1008 ppapi::proxy::SerializedVar /* out_exception */, 1009 PP_Bool /* result */) 1010IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_GetProperty, 1011 ppapi::proxy::SerializedVar /* object */, 1012 ppapi::proxy::SerializedVar /* property */, 1013 ppapi::proxy::SerializedVar /* out_exception */, 1014 ppapi::proxy::SerializedVar /* result */) 1015IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_DeleteProperty, 1016 ppapi::proxy::SerializedVar /* object */, 1017 ppapi::proxy::SerializedVar /* property */, 1018 ppapi::proxy::SerializedVar /* out_exception */, 1019 PP_Bool /* result */) 1020IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBVar_EnumerateProperties, 1021 ppapi::proxy::SerializedVar /* object */, 1022 std::vector<ppapi::proxy::SerializedVar> /* props */, 1023 ppapi::proxy::SerializedVar /* out_exception */) 1024IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVar_SetPropertyDeprecated, 1025 ppapi::proxy::SerializedVar /* object */, 1026 ppapi::proxy::SerializedVar /* name */, 1027 ppapi::proxy::SerializedVar /* value */, 1028 ppapi::proxy::SerializedVar /* out_exception */) 1029IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBVar_CallDeprecated, 1030 ppapi::proxy::SerializedVar /* object */, 1031 ppapi::proxy::SerializedVar /* method_name */, 1032 std::vector<ppapi::proxy::SerializedVar> /* args */, 1033 ppapi::proxy::SerializedVar /* out_exception */, 1034 ppapi::proxy::SerializedVar /* result */) 1035IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_Construct, 1036 ppapi::proxy::SerializedVar /* object */, 1037 std::vector<ppapi::proxy::SerializedVar> /* args */, 1038 ppapi::proxy::SerializedVar /* out_exception */, 1039 ppapi::proxy::SerializedVar /* result */) 1040IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_IsInstanceOfDeprecated, 1041 ppapi::proxy::SerializedVar /* var */, 1042 int64 /* object_class */, 1043 int64 /* object-data */, 1044 PP_Bool /* result */) 1045IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVar_CreateObjectDeprecated, 1046 PP_Instance /* instance */, 1047 int64 /* object_class */, 1048 int64 /* object_data */, 1049 ppapi::proxy::SerializedVar /* result */) 1050 1051#if !defined(OS_NACL) && !defined(NACL_WIN64) 1052// PPB_Broker. 1053IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBBroker_Create, 1054 PP_Instance /* instance */, 1055 ppapi::HostResource /* result_resource */) 1056IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBBroker_Connect, 1057 ppapi::HostResource /* broker */) 1058 1059// PPB_Buffer. 1060IPC_SYNC_MESSAGE_ROUTED2_2( 1061 PpapiHostMsg_PPBBuffer_Create, 1062 PP_Instance /* instance */, 1063 uint32_t /* size */, 1064 ppapi::HostResource /* result_resource */, 1065 ppapi::proxy::SerializedHandle /* result_shm_handle */) 1066 1067// PPB_ContentDecryptor_Dev messages handled in PPB_Instance_Proxy. 1068IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_NeedKey, 1069 PP_Instance /* instance */, 1070 ppapi::proxy::SerializedVar /* key_system, String */, 1071 ppapi::proxy::SerializedVar /* session_id, String */, 1072 ppapi::proxy::SerializedVar /* init_data, ArrayBuffer */) 1073IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_KeyAdded, 1074 PP_Instance /* instance */, 1075 ppapi::proxy::SerializedVar /* key_system, String */, 1076 ppapi::proxy::SerializedVar /* session_id, String */) 1077IPC_MESSAGE_ROUTED5(PpapiHostMsg_PPBInstance_KeyMessage, 1078 PP_Instance /* instance */, 1079 ppapi::proxy::SerializedVar /* key_system, String */, 1080 ppapi::proxy::SerializedVar /* session_id, String */, 1081 ppapi::proxy::SerializedVar /* message, ArrayBuffer */, 1082 ppapi::proxy::SerializedVar /* default_url, String */) 1083IPC_MESSAGE_ROUTED5(PpapiHostMsg_PPBInstance_KeyError, 1084 PP_Instance /* instance */, 1085 ppapi::proxy::SerializedVar /* key_system, String */, 1086 ppapi::proxy::SerializedVar /* session_id, String */, 1087 int32_t /* media_error */, 1088 int32_t /* system_code */) 1089IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_DeliverBlock, 1090 PP_Instance /* instance */, 1091 PP_Resource /* decrypted_block, PPB_Buffer_Dev */, 1092 std::string /* serialized_block_info */) 1093IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_DecoderInitializeDone, 1094 PP_Instance /* instance */, 1095 PP_DecryptorStreamType /* decoder_type */, 1096 uint32_t /* request_id */, 1097 PP_Bool /* success */) 1098IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_DecoderDeinitializeDone, 1099 PP_Instance /* instance */, 1100 PP_DecryptorStreamType /* decoder_type */, 1101 uint32_t /* request_id */) 1102IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_DecoderResetDone, 1103 PP_Instance /* instance */, 1104 PP_DecryptorStreamType /* decoder_type */, 1105 uint32_t /* request_id */) 1106IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_DeliverFrame, 1107 PP_Instance /* instance */, 1108 PP_Resource /* decrypted_frame, PPB_Buffer_Dev */, 1109 std::string /* serialized_block_info */) 1110IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_DeliverSamples, 1111 PP_Instance /* instance */, 1112 PP_Resource /* audio_frames, PPB_Buffer_Dev */, 1113 std::string /* serialized_block_info */) 1114#endif // !defined(OS_NACL) && !defined(NACL_WIN64) 1115 1116// PPB_NetworkMonitor_Private. 1117IPC_MESSAGE_CONTROL1(PpapiHostMsg_PPBNetworkMonitor_Start, 1118 uint32 /* plugin_dispatcher_id */) 1119IPC_MESSAGE_CONTROL1(PpapiHostMsg_PPBNetworkMonitor_Stop, 1120 uint32 /* plugin_dispatcher_id */) 1121 1122#if !defined(OS_NACL) && !defined(NACL_WIN64) 1123// PPB_PDF 1124IPC_SYNC_MESSAGE_ROUTED3_1( 1125 PpapiHostMsg_PPBPDF_GetFontFileWithFallback, 1126 PP_Instance /* instance */, 1127 ppapi::proxy::SerializedFontDescription /* description */, 1128 int32_t /* charset */, 1129 ppapi::HostResource /* result */) 1130IPC_SYNC_MESSAGE_ROUTED2_1( 1131 PpapiHostMsg_PPBPDF_GetFontTableForPrivateFontFile, 1132 ppapi::HostResource /* font_file */, 1133 uint32_t /* table */, 1134 std::string /* result */) 1135#endif // !defined(OS_NACL) && !defined(NACL_WIN64) 1136 1137// PPB_Testing. 1138IPC_SYNC_MESSAGE_ROUTED3_1( 1139 PpapiHostMsg_PPBTesting_ReadImageData, 1140 ppapi::HostResource /* device_context_2d */, 1141 ppapi::HostResource /* image */, 1142 PP_Point /* top_left */, 1143 PP_Bool /* result */) 1144IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance, 1145 PP_Instance /* instance */, 1146 uint32 /* result */) 1147IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBTesting_SimulateInputEvent, 1148 PP_Instance /* instance */, 1149 ppapi::InputEventData /* input_event */) 1150 1151#if !defined(OS_NACL) && !defined(NACL_WIN64) 1152 1153// PPB_VideoDecoder. 1154IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVideoDecoder_Create, 1155 PP_Instance /* instance */, 1156 ppapi::HostResource /* context */, 1157 PP_VideoDecoder_Profile /* profile */, 1158 ppapi::HostResource /* result */) 1159IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBVideoDecoder_Decode, 1160 ppapi::HostResource /* video_decoder */, 1161 ppapi::HostResource /* bitstream buffer */, 1162 int32 /* bitstream buffer id */, 1163 uint32 /* size of buffer */) 1164IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBVideoDecoder_AssignPictureBuffers, 1165 ppapi::HostResource /* video_decoder */, 1166 std::vector<PP_PictureBuffer_Dev> /* picture buffers */) 1167IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBVideoDecoder_ReusePictureBuffer, 1168 ppapi::HostResource /* video_decoder */, 1169 int32_t /* picture buffer id */) 1170IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVideoDecoder_Flush, 1171 ppapi::HostResource /* video_decoder */) 1172IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVideoDecoder_Reset, 1173 ppapi::HostResource /* video_decoder */) 1174IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBVideoDecoder_Destroy, 1175 ppapi::HostResource /* video_decoder */) 1176 1177// PPB_Flash_MessageLoop. 1178IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFlashMessageLoop_Create, 1179 PP_Instance /* instance */, 1180 ppapi::HostResource /* result */) 1181IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFlashMessageLoop_Run, 1182 ppapi::HostResource /* flash_message_loop */, 1183 int32_t /* result */) 1184IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBFlashMessageLoop_Quit, 1185 ppapi::HostResource /* flash_message_loop */) 1186#endif // !defined(OS_NACL) && !defined(NACL_WIN64) 1187 1188// PPB_TCPSocket_Private. 1189IPC_SYNC_MESSAGE_CONTROL2_1(PpapiHostMsg_PPBTCPSocket_Create, 1190 int32 /* routing_id */, 1191 uint32 /* plugin_dispatcher_id */, 1192 uint32 /* socket_id */) 1193IPC_MESSAGE_CONTROL4(PpapiHostMsg_PPBTCPSocket_Connect, 1194 int32 /* routing_id */, 1195 uint32 /* socket_id */, 1196 std::string /* host */, 1197 uint16_t /* port */) 1198IPC_MESSAGE_CONTROL3(PpapiHostMsg_PPBTCPSocket_ConnectWithNetAddress, 1199 int32 /* routing_id */, 1200 uint32 /* socket_id */, 1201 PP_NetAddress_Private /* net_addr */) 1202IPC_MESSAGE_CONTROL5(PpapiHostMsg_PPBTCPSocket_SSLHandshake, 1203 uint32 /* socket_id */, 1204 std::string /* server_name */, 1205 uint16_t /* server_port */, 1206 std::vector<std::vector<char> > /* trusted_certs */, 1207 std::vector<std::vector<char> > /* untrusted_certs */) 1208IPC_MESSAGE_CONTROL2(PpapiHostMsg_PPBTCPSocket_Read, 1209 uint32 /* socket_id */, 1210 int32_t /* bytes_to_read */) 1211IPC_MESSAGE_CONTROL2(PpapiHostMsg_PPBTCPSocket_Write, 1212 uint32 /* socket_id */, 1213 std::string /* data */) 1214IPC_MESSAGE_CONTROL1(PpapiHostMsg_PPBTCPSocket_Disconnect, 1215 uint32 /* socket_id */) 1216IPC_MESSAGE_CONTROL3(PpapiHostMsg_PPBTCPSocket_SetBoolOption, 1217 uint32 /* socket_id */, 1218 uint32 /* name */, 1219 bool /* value */) 1220 1221// UDPSocketPrivate. 1222IPC_MESSAGE_CONTROL0(PpapiHostMsg_UDPSocketPrivate_Create) 1223IPC_MESSAGE_CONTROL2(PpapiHostMsg_UDPSocketPrivate_SetBoolSocketFeature, 1224 int32_t /* name */, 1225 bool /* value */) 1226IPC_MESSAGE_CONTROL1(PpapiHostMsg_UDPSocketPrivate_Bind, 1227 PP_NetAddress_Private /* net_addr */) 1228IPC_MESSAGE_CONTROL1(PpapiHostMsg_UDPSocketPrivate_RecvFrom, 1229 int32_t /* num_bytes */) 1230IPC_MESSAGE_CONTROL2(PpapiHostMsg_UDPSocketPrivate_SendTo, 1231 std::string /* data */, 1232 PP_NetAddress_Private /* net_addr */) 1233IPC_MESSAGE_CONTROL0(PpapiHostMsg_UDPSocketPrivate_Close) 1234IPC_MESSAGE_CONTROL1(PpapiPluginMsg_UDPSocketPrivate_BindReply, 1235 PP_NetAddress_Private /* bound_addr */) 1236IPC_MESSAGE_CONTROL2(PpapiPluginMsg_UDPSocketPrivate_RecvFromReply, 1237 std::string /* data */, 1238 PP_NetAddress_Private /* remote_addr */) 1239IPC_MESSAGE_CONTROL1(PpapiPluginMsg_UDPSocketPrivate_SendToReply, 1240 int32_t /* bytes_written */) 1241 1242// PPB_TCPServerSocket_Private. 1243IPC_MESSAGE_CONTROL5(PpapiHostMsg_PPBTCPServerSocket_Listen, 1244 int32 /* routing_id */, 1245 uint32 /* plugin_dispatcher_id */, 1246 PP_Resource /* socket_resource */, 1247 PP_NetAddress_Private /* addr */, 1248 int32_t /* backlog */) 1249IPC_MESSAGE_CONTROL2(PpapiHostMsg_PPBTCPServerSocket_Accept, 1250 int32 /* tcp_client_socket_routing_id */, 1251 uint32 /* server_socket_id */) 1252IPC_MESSAGE_CONTROL1(PpapiHostMsg_PPBTCPServerSocket_Destroy, 1253 uint32 /* socket_id */) 1254 1255// PPB_X509Certificate_Private 1256IPC_SYNC_MESSAGE_CONTROL1_2(PpapiHostMsg_PPBX509Certificate_ParseDER, 1257 std::vector<char> /* der */, 1258 bool /* succeeded */, 1259 ppapi::PPB_X509Certificate_Fields /* result */) 1260 1261//----------------------------------------------------------------------------- 1262// Resource call/reply messages. 1263// 1264// These are the new-style resource implementations where the resource is only 1265// implemented in the proxy and "resource messages" are sent between this and a 1266// host object. Resource messages are a wrapper around some general routing 1267// information and a separate message of a type defined by the specific resource 1268// sending/receiving it. The extra paremeters allow the nested message to be 1269// routed automatically to the correct resource. 1270 1271// Notification that a resource has been created in the plugin. The nested 1272// message will be resource-type-specific. 1273IPC_MESSAGE_CONTROL3(PpapiHostMsg_ResourceCreated, 1274 ppapi::proxy::ResourceMessageCallParams /* call_params */, 1275 PP_Instance /* instance */, 1276 IPC::Message /* nested_msg */) 1277 1278// Notification that a resource has been destroyed in the plugin. 1279IPC_MESSAGE_CONTROL1(PpapiHostMsg_ResourceDestroyed, 1280 PP_Resource /* resource */) 1281 1282// Most resources are created by the plugin, which then sends a ResourceCreated 1283// message to create a corresponding ResourceHost in the renderer or browser 1284// host process. However, some resources are first created in the host and 1285// "pushed" or returned to the plugin. 1286// 1287// In this case, the host will create a "pending" ResourceHost object which 1288// is identified by an ID. The ID is sent to the plugin process and the 1289// PluginResource object is created. This message is sent from the plugin to 1290// the host process to connect the PluginResource and the pending ResourceHost 1291// (at which point, it's no longer pending). 1292IPC_MESSAGE_CONTROL2(PpapiHostMsg_AttachToPendingHost, 1293 PP_Resource /* resource */, 1294 int /* pending_host_id */) 1295 1296// A resource call is a request from the plugin to the host. It may or may not 1297// require a reply, depending on the params. The nested message will be 1298// resource-type-specific. 1299IPC_MESSAGE_CONTROL2(PpapiHostMsg_ResourceCall, 1300 ppapi::proxy::ResourceMessageCallParams /* call_params */, 1301 IPC::Message /* nested_msg */) 1302 1303// A resource reply is a response to a ResourceCall from a host to the 1304// plugin. The resource ID + sequence number in the params will correspond to 1305// that of the previous ResourceCall. 1306IPC_MESSAGE_CONTROL2( 1307 PpapiPluginMsg_ResourceReply, 1308 ppapi::proxy::ResourceMessageReplyParams /* reply_params */, 1309 IPC::Message /* nested_msg */) 1310 1311IPC_SYNC_MESSAGE_CONTROL2_2(PpapiHostMsg_ResourceSyncCall, 1312 ppapi::proxy::ResourceMessageCallParams /* call_params */, 1313 IPC::Message /* nested_msg */, 1314 ppapi::proxy::ResourceMessageReplyParams /* reply_params */, 1315 IPC::Message /* reply_msg */) 1316 1317//----------------------------------------------------------------------------- 1318// Messages for resources using call/reply above. 1319 1320// Broker ---------------------------------------------------------------------- 1321IPC_MESSAGE_CONTROL0(PpapiHostMsg_Broker_Create) 1322 1323// Queries whether the plugin has permission to connect to the Pepper broker. 1324// The response is contained in the error value of the 1325// ResourceMessageReplyParams in the reply message. 1326IPC_MESSAGE_CONTROL0(PpapiHostMsg_Broker_IsAllowed) 1327 1328// Directory reader. 1329IPC_MESSAGE_CONTROL0(PpapiHostMsg_DirectoryReader_Create) 1330IPC_MESSAGE_CONTROL1(PpapiHostMsg_DirectoryReader_GetEntries, 1331 ppapi::HostResource /* file_ref_resource */) 1332IPC_MESSAGE_CONTROL2(PpapiPluginMsg_DirectoryReader_GetEntriesReply, 1333 std::vector<ppapi::PPB_FileRef_CreateInfo> /* files */, 1334 std::vector<PP_FileType> /* file_types */) 1335 1336// File chooser. 1337IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileChooser_Create) 1338IPC_MESSAGE_CONTROL4(PpapiHostMsg_FileChooser_Show, 1339 bool /* save_as */, 1340 bool /* open_multiple */, 1341 std::string /* suggested_file_name */, 1342 std::vector<std::string> /* accept_mime_types */) 1343IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileChooser_ShowReply, 1344 std::vector<ppapi::PPB_FileRef_CreateInfo> /* files */) 1345 1346// FileIO 1347IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_Create) 1348IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileIO_Open, 1349 PP_Resource /* file_ref_resource */, 1350 int32_t /* open_flags */) 1351IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileIO_OpenReply) 1352IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_Close) 1353IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_Query) 1354IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileIO_QueryReply, PP_FileInfo /* info */) 1355IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileIO_Touch, 1356 PP_Time /* last_access_time */, 1357 PP_Time /* last_modified_time */) 1358IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileIO_Read, 1359 int64_t /* offset */, 1360 int32_t /* bytes_to_read */) 1361IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileIO_ReadReply, std::string /* data */) 1362IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileIO_Write, 1363 int64_t /* offset */, 1364 std::string /* data */) 1365IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileIO_SetLength, 1366 int64_t /* length */) 1367IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_Flush) 1368IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileIO_WillWrite, 1369 int64_t /* offset */, 1370 int32_t /* bytes_to_write */) 1371IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileIO_WillSetLength, 1372 int64_t /* length */) 1373IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_GetOSFileDescriptor) 1374IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileIO_GetOSFileDescriptorReply, 1375 int32_t /* file descriptor */) 1376IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileIO_GeneralReply) 1377 1378// Flash device ID. 1379IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashDeviceID_Create) 1380IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashDeviceID_GetDeviceID) 1381IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashDeviceID_GetDeviceIDReply, 1382 std::string /* id */) 1383 1384// Gamepad. 1385IPC_MESSAGE_CONTROL0(PpapiHostMsg_Gamepad_Create) 1386 1387// Requests that the gamepad host send the shared memory handle to the plugin 1388// process. 1389IPC_MESSAGE_CONTROL0(PpapiHostMsg_Gamepad_RequestMemory) 1390 1391// Reply to a RequestMemory call. This supplies the shared memory handle. The 1392// actual handle is passed in the ReplyParams struct. 1393IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Gamepad_SendMemory) 1394 1395 1396// Graphics2D, plugin -> host 1397IPC_MESSAGE_CONTROL2(PpapiHostMsg_Graphics2D_Create, 1398 PP_Size /* size */, 1399 PP_Bool /* is_always_opaque */) 1400IPC_MESSAGE_CONTROL4(PpapiHostMsg_Graphics2D_PaintImageData, 1401 ppapi::HostResource /* image_data */, 1402 PP_Point /* top_left */, 1403 bool /* src_rect_specified */, 1404 PP_Rect /* src_rect */) 1405IPC_MESSAGE_CONTROL3(PpapiHostMsg_Graphics2D_Scroll, 1406 bool /* clip_specified */, 1407 PP_Rect /* clip */, 1408 PP_Point /* amount */) 1409IPC_MESSAGE_CONTROL1(PpapiHostMsg_Graphics2D_ReplaceContents, 1410 ppapi::HostResource /* image_data */) 1411IPC_MESSAGE_CONTROL1(PpapiHostMsg_Graphics2D_Dev_SetScale, 1412 float /* scale */) 1413 1414// Graphics2D, plugin -> host -> plugin 1415IPC_MESSAGE_CONTROL0(PpapiHostMsg_Graphics2D_Flush) 1416IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Graphics2D_FlushAck) 1417 1418IPC_MESSAGE_CONTROL2(PpapiHostMsg_Graphics2D_ReadImageData, 1419 PP_Resource /* image */, 1420 PP_Point /* top_left */) 1421IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Graphics2D_ReadImageDataAck) 1422 1423// TrueTypeFont. 1424IPC_MESSAGE_CONTROL0(PpapiHostMsg_TrueTypeFontSingleton_Create) 1425IPC_MESSAGE_CONTROL0(PpapiHostMsg_TrueTypeFontSingleton_GetFontFamilies) 1426IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TrueTypeFontSingleton_GetFontFamiliesReply, 1427 std::vector<std::string> /* font_families */) 1428IPC_MESSAGE_CONTROL1(PpapiHostMsg_TrueTypeFont_Create, 1429 ppapi::proxy::SerializedTrueTypeFontDesc /* desc */) 1430IPC_MESSAGE_CONTROL0(PpapiHostMsg_TrueTypeFont_Describe) 1431IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TrueTypeFont_DescribeReply, 1432 ppapi::proxy::SerializedTrueTypeFontDesc /* desc */) 1433IPC_MESSAGE_CONTROL0(PpapiHostMsg_TrueTypeFont_GetTableTags) 1434IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TrueTypeFont_GetTableTagsReply, 1435 std::vector<uint32_t> /* tags */) 1436IPC_MESSAGE_CONTROL3(PpapiHostMsg_TrueTypeFont_GetTable, 1437 uint32_t /* table */, 1438 int32_t /* offset */, 1439 int32_t /* max_data_length */) 1440IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TrueTypeFont_GetTableReply, 1441 std::string /* data */) 1442 1443// HostResolverPrivate, plugin -> host -> plugin 1444IPC_MESSAGE_CONTROL0(PpapiHostMsg_HostResolverPrivate_Create) 1445IPC_MESSAGE_CONTROL2(PpapiHostMsg_HostResolverPrivate_Resolve, 1446 ppapi::HostPortPair /* host_port */, 1447 PP_HostResolver_Private_Hint /* hint */) 1448IPC_MESSAGE_CONTROL2(PpapiPluginMsg_HostResolverPrivate_ResolveReply, 1449 std::string /* canonical_name */, 1450 std::vector<PP_NetAddress_Private> /* net_address_list */) 1451 1452// Printing. 1453IPC_MESSAGE_CONTROL0(PpapiHostMsg_Printing_Create) 1454IPC_MESSAGE_CONTROL0(PpapiHostMsg_Printing_GetDefaultPrintSettings) 1455IPC_MESSAGE_CONTROL1(PpapiPluginMsg_Printing_GetDefaultPrintSettingsReply, 1456 PP_PrintSettings_Dev /* print_settings */) 1457 1458// Shared memory --------------------------------------------------------------- 1459// Creates shared memory on the host side, returning a handle to the shared 1460// memory on the plugin and keeping the memory mapped in on the host. 1461// We return a "host handle_id" that can be mapped back to the 1462// handle on the host side by PpapiGlobals::UntrackSharedMemoryHandle(). 1463IPC_SYNC_MESSAGE_CONTROL2_2(PpapiHostMsg_SharedMemory_CreateSharedMemory, 1464 PP_Instance /* instance */, 1465 uint32_t /* size */, 1466 int /* host_handle_id */, 1467 ppapi::proxy::SerializedHandle /* plugin_handle */) 1468 1469// WebSocket ------------------------------------------------------------------ 1470IPC_MESSAGE_CONTROL0(PpapiHostMsg_WebSocket_Create) 1471 1472// Establishes the connection to a server. This message requires 1473// WebSocket_ConnectReply as a reply message. 1474IPC_MESSAGE_CONTROL2(PpapiHostMsg_WebSocket_Connect, 1475 std::string /* url */, 1476 std::vector<std::string> /* protocols */) 1477 1478// Closes established connection with graceful closing handshake. This message 1479// requires WebSocket_CloseReply as a reply message. 1480IPC_MESSAGE_CONTROL2(PpapiHostMsg_WebSocket_Close, 1481 int32_t /* code */, 1482 std::string /* reason */) 1483 1484// Sends a text frame to the server. No reply is defined. 1485IPC_MESSAGE_CONTROL1(PpapiHostMsg_WebSocket_SendText, 1486 std::string /* message */) 1487 1488// Sends a binary frame to the server. No reply is defined. 1489IPC_MESSAGE_CONTROL1(PpapiHostMsg_WebSocket_SendBinary, 1490 std::vector<uint8_t> /* message */) 1491 1492// Fails the connection. This message invokes RFC6455 defined 1493// _Fail the WebSocket Connection_ operation. No reply is defined. 1494IPC_MESSAGE_CONTROL1(PpapiHostMsg_WebSocket_Fail, 1495 std::string /* message */) 1496 1497// This message is a reply to WebSocket_Connect. If the |url| and |protocols| 1498// are invalid, WebSocket_ConnectReply is issued immediately and it contains 1499// proper error code in its result. Otherwise, WebSocket_ConnectReply is sent 1500// with valid |url|, |protocol|, and result PP_OK. |protocol| is not a passed 1501// |protocols|, but a result of opening handshake negotiation. If the 1502// connection can not be established successfully, WebSocket_ConnectReply is 1503// not issued, but WebSocket_ClosedReply is sent instead. 1504IPC_MESSAGE_CONTROL2(PpapiPluginMsg_WebSocket_ConnectReply, 1505 std::string /* url */, 1506 std::string /* protocol */) 1507 1508// This message is a reply to WebSocket_Close. If the operation fails, 1509// WebSocket_CloseReply is issued immediately and it contains PP_ERROR_FAILED. 1510// Otherwise, CloseReply will be issued after the closing handshake is 1511// finished. All arguments will be valid iff the result is PP_OK and it means 1512// that the client initiated closing handshake is finished gracefully. 1513IPC_MESSAGE_CONTROL4(PpapiPluginMsg_WebSocket_CloseReply, 1514 uint64_t /* buffered_amount */, 1515 bool /* was_clean */, 1516 uint16_t /* code */, 1517 std::string /* reason */) 1518 1519// Unsolicited reply message to transmit a receiving text frame. 1520IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_ReceiveTextReply, 1521 std::string /* message */) 1522 1523// Unsolicited reply message to transmit a receiving binary frame. 1524IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_ReceiveBinaryReply, 1525 std::vector<uint8_t> /* message */) 1526 1527// Unsolicited reply message to notify a error on underlying network connetion. 1528IPC_MESSAGE_CONTROL0(PpapiPluginMsg_WebSocket_ErrorReply) 1529 1530// Unsolicited reply message to update the buffered amount value. 1531IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_BufferedAmountReply, 1532 uint64_t /* buffered_amount */) 1533 1534// Unsolicited reply message to update |state| because of incoming external 1535// events, e.g., protocol error, or unexpected network closure. 1536IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_StateReply, 1537 int32_t /* state */) 1538 1539// Unsolicited reply message to notify that the connection is closed without 1540// any WebSocket_Close request. Server initiated closing handshake or 1541// unexpected network errors will invoke this message. 1542IPC_MESSAGE_CONTROL4(PpapiPluginMsg_WebSocket_ClosedReply, 1543 uint64_t /* buffered_amount */, 1544 bool /* was_clean */, 1545 uint16_t /* code */, 1546 std::string /* reason */) 1547 1548#if !defined(OS_NACL) && !defined(NACL_WIN64) 1549 1550// Audio input. 1551IPC_MESSAGE_CONTROL0(PpapiHostMsg_AudioInput_Create) 1552IPC_MESSAGE_CONTROL3(PpapiHostMsg_AudioInput_Open, 1553 std::string /* device_id */, 1554 PP_AudioSampleRate /* sample_rate */, 1555 uint32_t /* sample_frame_count */) 1556// Reply to an Open call. This supplies a socket handle and a shared memory 1557// handle. Both handles are passed in the ReplyParams struct. 1558IPC_MESSAGE_CONTROL0(PpapiPluginMsg_AudioInput_OpenReply) 1559IPC_MESSAGE_CONTROL1(PpapiHostMsg_AudioInput_StartOrStop, bool /* capture */) 1560IPC_MESSAGE_CONTROL0(PpapiHostMsg_AudioInput_Close) 1561 1562// BrowserFont ----------------------------------------------------------------- 1563 1564IPC_MESSAGE_CONTROL0(PpapiHostMsg_BrowserFontSingleton_Create) 1565 1566// Requests that the browser reply with the list of font families via 1567// PpapiPluginMsg_BrowserFontSingleton_GetFontFamiliesReply. 1568IPC_MESSAGE_CONTROL0(PpapiHostMsg_BrowserFontSingleton_GetFontFamilies) 1569 1570// Reply to PpapiHostMsg_BrowserFontSingleton_GetFontFamilies with the font 1571// family list. The |families| result is encoded by separating each family name 1572// by a null character. 1573IPC_MESSAGE_CONTROL1(PpapiPluginMsg_BrowserFontSingleton_GetFontFamiliesReply, 1574 std::string /* families */) 1575 1576// Flash ----------------------------------------------------------------------- 1577 1578IPC_MESSAGE_CONTROL0(PpapiHostMsg_Flash_Create) 1579 1580// Message to notify the browser to register an update in system activity. 1581IPC_MESSAGE_CONTROL0(PpapiHostMsg_Flash_UpdateActivity) 1582 1583// Query the browser for the proxy server to use for the given URL. 1584IPC_MESSAGE_CONTROL1(PpapiHostMsg_Flash_GetProxyForURL, std::string /* url */) 1585// Reply message for GetProxyForURL containing the proxy server. 1586IPC_MESSAGE_CONTROL1(PpapiPluginMsg_Flash_GetProxyForURLReply, 1587 std::string /* proxy */) 1588 1589// Queries the browser for the local time zone offset for a given time. 1590IPC_MESSAGE_CONTROL1(PpapiHostMsg_Flash_GetLocalTimeZoneOffset, 1591 base::Time /* time */) 1592// Reply to GetLocalTimeZoneOffset containing the time zone offset as a double. 1593IPC_MESSAGE_CONTROL1(PpapiPluginMsg_Flash_GetLocalTimeZoneOffsetReply, 1594 double /* offset */) 1595 1596// Query the browser for the restrictions on storing Flash LSOs. 1597IPC_MESSAGE_CONTROL0(PpapiHostMsg_Flash_GetLocalDataRestrictions) 1598// Reply message for GetLocalDataRestrictions containing the restrictions to 1599// use. These are PP_FlashLSORestrictions cast to an int32_t. 1600IPC_MESSAGE_CONTROL1(PpapiPluginMsg_Flash_GetLocalDataRestrictionsReply, 1601 int32_t /* restrictions */) 1602 1603// Notifies the renderer whether the Flash instance is in windowed mode. No 1604// reply is sent. 1605IPC_MESSAGE_CONTROL1(PpapiHostMsg_Flash_SetInstanceAlwaysOnTop, 1606 bool /* on_top */) 1607 1608// Notifies the renderer to draw text to the given PP_ImageData resource. All 1609// parmeters for drawing (including the resource to draw to) are contianed in 1610// the PPBFlash_DrawGlyphs_Params structure. An error code is sent in a reply 1611// message indicating success. 1612IPC_MESSAGE_CONTROL1(PpapiHostMsg_Flash_DrawGlyphs, 1613 ppapi::proxy::PPBFlash_DrawGlyphs_Params /* params */) 1614 1615// Notifies the renderer to navigate to the given URL contained in the 1616// URLRequestInfoData. An error code is sent in a reply message indicating 1617// success. 1618IPC_MESSAGE_CONTROL3(PpapiHostMsg_Flash_Navigate, 1619 ppapi::URLRequestInfoData /* data */, 1620 std::string /* target */, 1621 bool /* from_user_action */) 1622 1623// Queries the renderer on whether the plugin instance is the topmost element 1624// in the area of the instance specified by the given PP_Rect. PP_OK is sent as 1625// the error code in a reply message if the rect is topmost otherwise 1626// PP_ERROR_FAILED is sent. 1627IPC_MESSAGE_CONTROL1(PpapiHostMsg_Flash_IsRectTopmost, 1628 PP_Rect /* rect */) 1629 1630// Notifies the renderer to invoke printing for the given plugin instance. No 1631// reply is sent. 1632IPC_MESSAGE_CONTROL0(PpapiHostMsg_Flash_InvokePrinting) 1633 1634// DeviceEnumeration ----------------------------------------------------------- 1635// Device enumeration messages used by audio input and video capture. 1636IPC_MESSAGE_CONTROL0(PpapiHostMsg_DeviceEnumeration_EnumerateDevices) 1637IPC_MESSAGE_CONTROL1(PpapiPluginMsg_DeviceEnumeration_EnumerateDevicesReply, 1638 std::vector<ppapi::DeviceRefData> /* devices */) 1639IPC_MESSAGE_CONTROL1(PpapiHostMsg_DeviceEnumeration_MonitorDeviceChange, 1640 uint32_t /* callback_id */) 1641IPC_MESSAGE_CONTROL0(PpapiHostMsg_DeviceEnumeration_StopMonitoringDeviceChange) 1642IPC_MESSAGE_CONTROL2(PpapiPluginMsg_DeviceEnumeration_NotifyDeviceChange, 1643 uint32_t /* callback_id */, 1644 std::vector<ppapi::DeviceRefData> /* devices */) 1645 1646// Flash clipboard. 1647IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashClipboard_Create) 1648IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashClipboard_RegisterCustomFormat, 1649 std::string /* format_name */) 1650IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashClipboard_RegisterCustomFormatReply, 1651 uint32_t /* format */) 1652IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashClipboard_IsFormatAvailable, 1653 uint32_t /* clipboard_type */, 1654 uint32_t /* format */) 1655IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashClipboard_ReadData, 1656 uint32_t /* clipboard_type */, 1657 uint32_t /* format */) 1658IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashClipboard_ReadDataReply, 1659 std::string /* result */) 1660IPC_MESSAGE_CONTROL3(PpapiHostMsg_FlashClipboard_WriteData, 1661 uint32_t /* clipboard_type */, 1662 std::vector<uint32_t> /* formats */, 1663 std::vector<std::string> /* data */) 1664 1665// Flash file. 1666IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashFile_Create) 1667IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashFile_OpenFile, 1668 ppapi::PepperFilePath /* path */, 1669 int /* flags */) 1670IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashFile_RenameFile, 1671 ppapi::PepperFilePath /* from_path */, 1672 ppapi::PepperFilePath /* to_path */) 1673IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashFile_DeleteFileOrDir, 1674 ppapi::PepperFilePath /* path */, 1675 bool /* recursive */) 1676IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashFile_CreateDir, 1677 ppapi::PepperFilePath /* path */) 1678IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashFile_QueryFile, 1679 ppapi::PepperFilePath /* path */) 1680IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashFile_QueryFileReply, 1681 base::PlatformFileInfo /* file_info */) 1682IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashFile_GetDirContents, 1683 ppapi::PepperFilePath /* path */) 1684IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashFile_GetDirContentsReply, 1685 ppapi::DirContents /* entries */) 1686IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashFile_CreateTemporaryFile) 1687 1688// Flash font file. 1689IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashFontFile_Create, 1690 ppapi::proxy::SerializedFontDescription /* description */, 1691 PP_PrivateFontCharset /* charset */) 1692IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashFontFile_GetFontTable, 1693 uint32_t /* table */) 1694IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashFontFile_GetFontTableReply, 1695 std::string /* output */) 1696 1697// Flash fullscreen. 1698IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashFullscreen_Create) 1699IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashFullscreen_SetFullscreen, 1700 bool /* fullscreen */) 1701 1702// FlashMenu ------------------------------------------------------------------ 1703 1704// Creates the flash menu with the given data. 1705IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashMenu_Create, 1706 ppapi::proxy::SerializedFlashMenu /* menu_data */) 1707 1708// Shows the menu at the given location relative to the plugin instance. 1709IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashMenu_Show, 1710 PP_Point /* location */) 1711 1712// Reply to a show command. If the resource reply is PP_OK, the selected_id 1713// will be the menu item ID chosen by the user. 1714IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashMenu_ShowReply, 1715 int32_t /* selected_id */) 1716 1717// VideoCapture_Dev, plugin -> host 1718IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_Create) 1719IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_StartCapture) 1720IPC_MESSAGE_CONTROL1(PpapiHostMsg_VideoCapture_ReuseBuffer, 1721 uint32_t /* buffer */) 1722IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_StopCapture) 1723IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_Close) 1724 1725// VideoCapture_Dev, plugin -> host -> plugin 1726IPC_MESSAGE_CONTROL3(PpapiHostMsg_VideoCapture_Open, 1727 std::string /* device_id */, 1728 PP_VideoCaptureDeviceInfo_Dev /* requested_info */, 1729 uint32_t /* buffer_count */) 1730IPC_MESSAGE_CONTROL0(PpapiPluginMsg_VideoCapture_OpenReply) 1731 1732// Talk ------------------------------------------------------------------------ 1733 1734IPC_MESSAGE_CONTROL0(PpapiHostMsg_Talk_Create) 1735 1736// Requests talk permissions. The host will respond with GetPermissionReply. 1737IPC_MESSAGE_CONTROL0(PpapiHostMsg_Talk_GetPermission) 1738 1739// Response to GetPermission. 1740// 1741// The result of this message is the general Pepper "result" in the ReplyParams. 1742IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Talk_GetPermissionReply) 1743 1744// VideoCapture_Dev, host -> plugin 1745IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VideoCapture_OnDeviceInfo, 1746 PP_VideoCaptureDeviceInfo_Dev /* info */, 1747 std::vector<ppapi::HostResource> /* buffers */, 1748 uint32_t /* buffer_size */) 1749IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoCapture_OnStatus, 1750 uint32_t /* status */) 1751IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoCapture_OnError, 1752 uint32_t /* error */) 1753IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoCapture_OnBufferReady, 1754 uint32_t /* buffer */) 1755 1756#endif // !defined(OS_NACL) && !defined(NACL_WIN64) 1757