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