Roll Clang 206824:209387
[chromium-blink-merge.git] / ppapi / proxy / ppapi_messages.h
blob95ac3d9e0d89c37bd1462bcc2447187b681efd34
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 <map>
7 #include <string>
8 #include <vector>
10 #include "base/basictypes.h"
11 #include "base/files/file_path.h"
12 #include "base/memory/shared_memory.h"
13 #include "base/process/process.h"
14 #include "base/strings/string16.h"
15 #include "base/sync_socket.h"
16 #include "base/values.h"
17 #include "gpu/command_buffer/common/command_buffer.h"
18 #include "gpu/ipc/gpu_command_buffer_traits.h"
19 #include "ipc/ipc_channel_handle.h"
20 #include "ipc/ipc_message_macros.h"
21 #include "ipc/ipc_message_utils.h"
22 #include "ipc/ipc_platform_file.h"
23 #include "ppapi/c/dev/pp_video_capture_dev.h"
24 #include "ppapi/c/dev/pp_video_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/ppb_image_data.h"
39 #include "ppapi/c/ppb_tcp_socket.h"
40 #include "ppapi/c/ppb_text_input_controller.h"
41 #include "ppapi/c/ppb_udp_socket.h"
42 #include "ppapi/c/private/pp_content_decryptor.h"
43 #include "ppapi/c/private/pp_private_font_charset.h"
44 #include "ppapi/c/private/ppb_flash.h"
45 #include "ppapi/c/private/ppb_host_resolver_private.h"
46 #include "ppapi/c/private/ppb_isolated_file_system_private.h"
47 #include "ppapi/c/private/ppb_net_address_private.h"
48 #include "ppapi/c/private/ppb_pdf.h"
49 #include "ppapi/c/private/ppb_talk_private.h"
50 #include "ppapi/c/private/ppp_flash_browser_operations.h"
51 #include "ppapi/proxy/host_resolver_private_resource.h"
52 #include "ppapi/proxy/network_list_resource.h"
53 #include "ppapi/proxy/ppapi_param_traits.h"
54 #include "ppapi/proxy/ppapi_proxy_export.h"
55 #include "ppapi/proxy/resource_message_params.h"
56 #include "ppapi/proxy/serialized_flash_menu.h"
57 #include "ppapi/proxy/serialized_handle.h"
58 #include "ppapi/proxy/serialized_structs.h"
59 #include "ppapi/proxy/serialized_var.h"
60 #include "ppapi/shared_impl/dir_contents.h"
61 #include "ppapi/shared_impl/file_growth.h"
62 #include "ppapi/shared_impl/file_path.h"
63 #include "ppapi/shared_impl/file_ref_create_info.h"
64 #include "ppapi/shared_impl/media_stream_video_track_shared.h"
65 #include "ppapi/shared_impl/ppapi_nacl_plugin_args.h"
66 #include "ppapi/shared_impl/ppapi_preferences.h"
67 #include "ppapi/shared_impl/ppb_device_ref_shared.h"
68 #include "ppapi/shared_impl/ppb_input_event_shared.h"
69 #include "ppapi/shared_impl/ppb_tcp_socket_shared.h"
70 #include "ppapi/shared_impl/ppb_view_shared.h"
71 #include "ppapi/shared_impl/ppp_flash_browser_operations_shared.h"
72 #include "ppapi/shared_impl/private/ppb_x509_certificate_private_shared.h"
73 #include "ppapi/shared_impl/socket_option_data.h"
74 #include "ppapi/shared_impl/url_request_info_data.h"
75 #include "ppapi/shared_impl/url_response_info_data.h"
77 #undef IPC_MESSAGE_EXPORT
78 #define IPC_MESSAGE_EXPORT PPAPI_PROXY_EXPORT
80 #define IPC_MESSAGE_START PpapiMsgStart
82 IPC_ENUM_TRAITS_MAX_VALUE(ppapi::TCPSocketVersion,
83 ppapi::TCP_SOCKET_VERSION_1_1_OR_ABOVE)
84 IPC_ENUM_TRAITS(PP_AudioSampleRate)
85 IPC_ENUM_TRAITS(PP_DeviceType_Dev)
86 IPC_ENUM_TRAITS(PP_DecryptorStreamType)
87 IPC_ENUM_TRAITS_MAX_VALUE(PP_FileSystemType, PP_FILESYSTEMTYPE_ISOLATED)
88 IPC_ENUM_TRAITS_MAX_VALUE(PP_FileType, PP_FILETYPE_OTHER)
89 IPC_ENUM_TRAITS(PP_Flash_BrowserOperations_Permission)
90 IPC_ENUM_TRAITS(PP_Flash_BrowserOperations_SettingType)
91 IPC_ENUM_TRAITS(PP_FlashSetting)
92 IPC_ENUM_TRAITS(PP_ImageDataFormat)
93 IPC_ENUM_TRAITS(PP_InputEvent_MouseButton)
94 IPC_ENUM_TRAITS(PP_InputEvent_Type)
95 IPC_ENUM_TRAITS_MAX_VALUE(PP_IsolatedFileSystemType_Private,
96 PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_PLUGINPRIVATE)
97 IPC_ENUM_TRAITS_MAX_VALUE(PP_NetAddressFamily_Private,
98 PP_NETADDRESSFAMILY_PRIVATE_IPV6)
99 IPC_ENUM_TRAITS_MAX_VALUE(PP_NetworkList_State, PP_NETWORKLIST_STATE_UP)
100 IPC_ENUM_TRAITS_MAX_VALUE(PP_NetworkList_Type, PP_NETWORKLIST_TYPE_CELLULAR)
101 IPC_ENUM_TRAITS(PP_PrintOrientation_Dev)
102 IPC_ENUM_TRAITS(PP_PrintOutputFormat_Dev)
103 IPC_ENUM_TRAITS(PP_PrintScalingOption_Dev)
104 IPC_ENUM_TRAITS(PP_PrivateFontCharset)
105 IPC_ENUM_TRAITS(PP_ResourceImage)
106 IPC_ENUM_TRAITS(PP_ResourceString)
107 IPC_ENUM_TRAITS_MAX_VALUE(PP_TalkEvent, PP_TALKEVENT_NUM_EVENTS - 1)
108 IPC_ENUM_TRAITS_MAX_VALUE(PP_TalkPermission,
109 PP_TALKPERMISSION_NUM_PERMISSIONS - 1)
110 IPC_ENUM_TRAITS_MAX_VALUE(PP_TCPSocket_Option,
111 PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE)
112 IPC_ENUM_TRAITS(PP_TextInput_Type)
113 IPC_ENUM_TRAITS(PP_TrueTypeFontFamily_Dev)
114 IPC_ENUM_TRAITS(PP_TrueTypeFontStyle_Dev)
115 IPC_ENUM_TRAITS(PP_TrueTypeFontWeight_Dev)
116 IPC_ENUM_TRAITS(PP_TrueTypeFontWidth_Dev)
117 IPC_ENUM_TRAITS(PP_TrueTypeFontCharset_Dev)
118 IPC_ENUM_TRAITS_MAX_VALUE(PP_UDPSocket_Option,
119 PP_UDPSOCKET_OPTION_RECV_BUFFER_SIZE)
120 IPC_ENUM_TRAITS(PP_VideoDecodeError_Dev)
121 IPC_ENUM_TRAITS(PP_VideoDecoder_Profile)
122 IPC_ENUM_TRAITS_MAX_VALUE(PP_VideoFrame_Format, PP_VIDEOFRAME_FORMAT_LAST)
124 IPC_STRUCT_TRAITS_BEGIN(PP_Point)
125 IPC_STRUCT_TRAITS_MEMBER(x)
126 IPC_STRUCT_TRAITS_MEMBER(y)
127 IPC_STRUCT_TRAITS_END()
129 IPC_STRUCT_TRAITS_BEGIN(PP_FloatPoint)
130 IPC_STRUCT_TRAITS_MEMBER(x)
131 IPC_STRUCT_TRAITS_MEMBER(y)
132 IPC_STRUCT_TRAITS_END()
134 IPC_STRUCT_TRAITS_BEGIN(PP_Size)
135 IPC_STRUCT_TRAITS_MEMBER(height)
136 IPC_STRUCT_TRAITS_MEMBER(width)
137 IPC_STRUCT_TRAITS_END()
139 IPC_STRUCT_TRAITS_BEGIN(PP_Rect)
140 IPC_STRUCT_TRAITS_MEMBER(point)
141 IPC_STRUCT_TRAITS_MEMBER(size)
142 IPC_STRUCT_TRAITS_END()
144 IPC_STRUCT_TRAITS_BEGIN(PP_ImageDataDesc)
145 IPC_STRUCT_TRAITS_MEMBER(format)
146 IPC_STRUCT_TRAITS_MEMBER(size)
147 IPC_STRUCT_TRAITS_MEMBER(stride)
148 IPC_STRUCT_TRAITS_END()
150 IPC_STRUCT_TRAITS_BEGIN(PP_PictureBuffer_Dev)
151 IPC_STRUCT_TRAITS_MEMBER(id)
152 IPC_STRUCT_TRAITS_MEMBER(size)
153 IPC_STRUCT_TRAITS_MEMBER(texture_id)
154 IPC_STRUCT_TRAITS_END()
156 IPC_STRUCT_TRAITS_BEGIN(PP_Picture_Dev)
157 IPC_STRUCT_TRAITS_MEMBER(picture_buffer_id)
158 IPC_STRUCT_TRAITS_MEMBER(bitstream_buffer_id)
159 IPC_STRUCT_TRAITS_END()
161 IPC_STRUCT_TRAITS_BEGIN(PP_PrintPageNumberRange_Dev)
162 IPC_STRUCT_TRAITS_MEMBER(first_page_number)
163 IPC_STRUCT_TRAITS_MEMBER(last_page_number)
164 IPC_STRUCT_TRAITS_END()
166 IPC_STRUCT_TRAITS_BEGIN(PP_VideoCaptureDeviceInfo_Dev)
167 IPC_STRUCT_TRAITS_MEMBER(width)
168 IPC_STRUCT_TRAITS_MEMBER(height)
169 IPC_STRUCT_TRAITS_MEMBER(frames_per_second)
170 IPC_STRUCT_TRAITS_END()
172 IPC_STRUCT_TRAITS_BEGIN(PP_HostResolver_Private_Hint)
173 IPC_STRUCT_TRAITS_MEMBER(family)
174 IPC_STRUCT_TRAITS_MEMBER(flags)
175 IPC_STRUCT_TRAITS_END()
177 IPC_STRUCT_TRAITS_BEGIN(PP_PrintSettings_Dev)
178 IPC_STRUCT_TRAITS_MEMBER(printable_area)
179 IPC_STRUCT_TRAITS_MEMBER(content_area)
180 IPC_STRUCT_TRAITS_MEMBER(paper_size)
181 IPC_STRUCT_TRAITS_MEMBER(dpi)
182 IPC_STRUCT_TRAITS_MEMBER(orientation)
183 IPC_STRUCT_TRAITS_MEMBER(print_scaling_option)
184 IPC_STRUCT_TRAITS_MEMBER(grayscale)
185 IPC_STRUCT_TRAITS_MEMBER(format)
186 IPC_STRUCT_TRAITS_END()
188 IPC_STRUCT_TRAITS_BEGIN(PP_URLComponent_Dev)
189 IPC_STRUCT_TRAITS_MEMBER(begin)
190 IPC_STRUCT_TRAITS_MEMBER(len)
191 IPC_STRUCT_TRAITS_END()
193 IPC_STRUCT_TRAITS_BEGIN(PP_URLComponents_Dev)
194 IPC_STRUCT_TRAITS_MEMBER(scheme)
195 IPC_STRUCT_TRAITS_MEMBER(username)
196 IPC_STRUCT_TRAITS_MEMBER(password)
197 IPC_STRUCT_TRAITS_MEMBER(host)
198 IPC_STRUCT_TRAITS_MEMBER(port)
199 IPC_STRUCT_TRAITS_MEMBER(path)
200 IPC_STRUCT_TRAITS_MEMBER(query)
201 IPC_STRUCT_TRAITS_MEMBER(ref)
202 IPC_STRUCT_TRAITS_END()
204 IPC_STRUCT_TRAITS_BEGIN(PP_FileInfo)
205 IPC_STRUCT_TRAITS_MEMBER(size)
206 IPC_STRUCT_TRAITS_MEMBER(type)
207 IPC_STRUCT_TRAITS_MEMBER(system_type)
208 IPC_STRUCT_TRAITS_MEMBER(creation_time)
209 IPC_STRUCT_TRAITS_MEMBER(last_access_time)
210 IPC_STRUCT_TRAITS_MEMBER(last_modified_time)
211 IPC_STRUCT_TRAITS_END()
213 IPC_STRUCT_TRAITS_BEGIN(ppapi::FileGrowth)
214 IPC_STRUCT_TRAITS_MEMBER(max_written_offset)
215 IPC_STRUCT_TRAITS_MEMBER(append_mode_write_amount)
216 IPC_STRUCT_TRAITS_END()
218 IPC_STRUCT_TRAITS_BEGIN(ppapi::DeviceRefData)
219 IPC_STRUCT_TRAITS_MEMBER(type)
220 IPC_STRUCT_TRAITS_MEMBER(name)
221 IPC_STRUCT_TRAITS_MEMBER(id)
222 IPC_STRUCT_TRAITS_END()
224 IPC_STRUCT_TRAITS_BEGIN(ppapi::DirEntry)
225 IPC_STRUCT_TRAITS_MEMBER(name)
226 IPC_STRUCT_TRAITS_MEMBER(is_dir)
227 IPC_STRUCT_TRAITS_END()
229 IPC_STRUCT_TRAITS_BEGIN(ppapi::FileRefCreateInfo)
230 IPC_STRUCT_TRAITS_MEMBER(file_system_type)
231 IPC_STRUCT_TRAITS_MEMBER(internal_path)
232 IPC_STRUCT_TRAITS_MEMBER(display_name)
233 IPC_STRUCT_TRAITS_MEMBER(browser_pending_host_resource_id)
234 IPC_STRUCT_TRAITS_MEMBER(renderer_pending_host_resource_id)
235 IPC_STRUCT_TRAITS_MEMBER(file_system_plugin_resource)
236 IPC_STRUCT_TRAITS_END()
238 IPC_STRUCT_TRAITS_BEGIN(ppapi::FlashSiteSetting)
239 IPC_STRUCT_TRAITS_MEMBER(site)
240 IPC_STRUCT_TRAITS_MEMBER(permission)
241 IPC_STRUCT_TRAITS_END()
243 IPC_STRUCT_TRAITS_BEGIN(ppapi::MediaStreamVideoTrackShared::Attributes)
244 IPC_STRUCT_TRAITS_MEMBER(buffers)
245 IPC_STRUCT_TRAITS_MEMBER(width)
246 IPC_STRUCT_TRAITS_MEMBER(height)
247 IPC_STRUCT_TRAITS_MEMBER(format)
248 IPC_STRUCT_TRAITS_END()
250 IPC_STRUCT_TRAITS_BEGIN(ppapi::ViewData)
251 IPC_STRUCT_TRAITS_MEMBER(rect)
252 IPC_STRUCT_TRAITS_MEMBER(is_fullscreen)
253 IPC_STRUCT_TRAITS_MEMBER(is_page_visible)
254 IPC_STRUCT_TRAITS_MEMBER(clip_rect)
255 IPC_STRUCT_TRAITS_MEMBER(device_scale)
256 IPC_STRUCT_TRAITS_MEMBER(css_scale)
257 IPC_STRUCT_TRAITS_END()
259 IPC_STRUCT_TRAITS_BEGIN(PP_TouchPoint)
260 IPC_STRUCT_TRAITS_MEMBER(id)
261 IPC_STRUCT_TRAITS_MEMBER(position)
262 IPC_STRUCT_TRAITS_MEMBER(radius)
263 IPC_STRUCT_TRAITS_MEMBER(rotation_angle)
264 IPC_STRUCT_TRAITS_MEMBER(pressure)
265 IPC_STRUCT_TRAITS_END()
267 IPC_STRUCT_TRAITS_BEGIN(ppapi::Preferences)
268 IPC_STRUCT_TRAITS_MEMBER(standard_font_family_map)
269 IPC_STRUCT_TRAITS_MEMBER(fixed_font_family_map)
270 IPC_STRUCT_TRAITS_MEMBER(serif_font_family_map)
271 IPC_STRUCT_TRAITS_MEMBER(sans_serif_font_family_map)
272 IPC_STRUCT_TRAITS_MEMBER(default_font_size)
273 IPC_STRUCT_TRAITS_MEMBER(default_fixed_font_size)
274 IPC_STRUCT_TRAITS_MEMBER(number_of_cpu_cores)
275 IPC_STRUCT_TRAITS_MEMBER(is_3d_supported)
276 IPC_STRUCT_TRAITS_MEMBER(is_stage3d_supported)
277 IPC_STRUCT_TRAITS_MEMBER(is_stage3d_baseline_supported)
278 IPC_STRUCT_TRAITS_MEMBER(is_accelerated_video_decode_enabled)
279 IPC_STRUCT_TRAITS_END()
281 IPC_STRUCT_TRAITS_BEGIN(ppapi::InputEventData)
282 IPC_STRUCT_TRAITS_MEMBER(is_filtered)
283 IPC_STRUCT_TRAITS_MEMBER(event_type)
284 IPC_STRUCT_TRAITS_MEMBER(event_time_stamp)
285 IPC_STRUCT_TRAITS_MEMBER(event_modifiers)
286 IPC_STRUCT_TRAITS_MEMBER(mouse_button)
287 IPC_STRUCT_TRAITS_MEMBER(mouse_position)
288 IPC_STRUCT_TRAITS_MEMBER(mouse_click_count)
289 IPC_STRUCT_TRAITS_MEMBER(mouse_movement)
290 IPC_STRUCT_TRAITS_MEMBER(wheel_delta)
291 IPC_STRUCT_TRAITS_MEMBER(wheel_ticks)
292 IPC_STRUCT_TRAITS_MEMBER(wheel_scroll_by_page)
293 IPC_STRUCT_TRAITS_MEMBER(key_code)
294 IPC_STRUCT_TRAITS_MEMBER(code)
295 IPC_STRUCT_TRAITS_MEMBER(character_text)
296 IPC_STRUCT_TRAITS_MEMBER(composition_segment_offsets)
297 IPC_STRUCT_TRAITS_MEMBER(composition_target_segment)
298 IPC_STRUCT_TRAITS_MEMBER(composition_selection_start)
299 IPC_STRUCT_TRAITS_MEMBER(composition_selection_end)
300 IPC_STRUCT_TRAITS_MEMBER(touches)
301 IPC_STRUCT_TRAITS_MEMBER(changed_touches)
302 IPC_STRUCT_TRAITS_MEMBER(target_touches)
303 IPC_STRUCT_TRAITS_END()
305 IPC_STRUCT_TRAITS_BEGIN(ppapi::HostPortPair)
306 IPC_STRUCT_TRAITS_MEMBER(host)
307 IPC_STRUCT_TRAITS_MEMBER(port)
308 IPC_STRUCT_TRAITS_END()
310 IPC_STRUCT_TRAITS_BEGIN(ppapi::URLRequestInfoData)
311 IPC_STRUCT_TRAITS_MEMBER(url)
312 IPC_STRUCT_TRAITS_MEMBER(method)
313 IPC_STRUCT_TRAITS_MEMBER(headers)
314 IPC_STRUCT_TRAITS_MEMBER(stream_to_file)
315 IPC_STRUCT_TRAITS_MEMBER(follow_redirects)
316 IPC_STRUCT_TRAITS_MEMBER(record_download_progress)
317 IPC_STRUCT_TRAITS_MEMBER(record_upload_progress)
318 IPC_STRUCT_TRAITS_MEMBER(has_custom_referrer_url)
319 IPC_STRUCT_TRAITS_MEMBER(custom_referrer_url)
320 IPC_STRUCT_TRAITS_MEMBER(allow_cross_origin_requests)
321 IPC_STRUCT_TRAITS_MEMBER(allow_credentials)
322 IPC_STRUCT_TRAITS_MEMBER(has_custom_content_transfer_encoding)
323 IPC_STRUCT_TRAITS_MEMBER(custom_content_transfer_encoding)
324 IPC_STRUCT_TRAITS_MEMBER(prefetch_buffer_upper_threshold)
325 IPC_STRUCT_TRAITS_MEMBER(prefetch_buffer_lower_threshold)
326 IPC_STRUCT_TRAITS_MEMBER(has_custom_user_agent)
327 IPC_STRUCT_TRAITS_MEMBER(custom_user_agent)
328 IPC_STRUCT_TRAITS_MEMBER(body)
329 IPC_STRUCT_TRAITS_END()
331 IPC_STRUCT_TRAITS_BEGIN(ppapi::URLRequestInfoData::BodyItem)
332 IPC_STRUCT_TRAITS_MEMBER(is_file)
333 IPC_STRUCT_TRAITS_MEMBER(data)
334 IPC_STRUCT_TRAITS_MEMBER(file_ref_pp_resource)
335 IPC_STRUCT_TRAITS_MEMBER(start_offset)
336 IPC_STRUCT_TRAITS_MEMBER(number_of_bytes)
337 IPC_STRUCT_TRAITS_MEMBER(expected_last_modified_time)
338 IPC_STRUCT_TRAITS_END()
340 IPC_STRUCT_TRAITS_BEGIN(ppapi::URLResponseInfoData)
341 IPC_STRUCT_TRAITS_MEMBER(url)
342 IPC_STRUCT_TRAITS_MEMBER(headers)
343 IPC_STRUCT_TRAITS_MEMBER(status_code)
344 IPC_STRUCT_TRAITS_MEMBER(status_text)
345 IPC_STRUCT_TRAITS_MEMBER(redirect_url)
346 IPC_STRUCT_TRAITS_MEMBER(body_as_file_ref)
347 IPC_STRUCT_TRAITS_END()
349 IPC_STRUCT_TRAITS_BEGIN(ppapi::proxy::SerializedNetworkInfo)
350 IPC_STRUCT_TRAITS_MEMBER(name)
351 IPC_STRUCT_TRAITS_MEMBER(type)
352 IPC_STRUCT_TRAITS_MEMBER(state)
353 IPC_STRUCT_TRAITS_MEMBER(addresses)
354 IPC_STRUCT_TRAITS_MEMBER(display_name)
355 IPC_STRUCT_TRAITS_MEMBER(mtu)
356 IPC_STRUCT_TRAITS_END()
358 // Only whitelisted switches passed through PpapiNaClPluginArgs.
359 // The list of switches can be found in:
360 // components/nacl/browser/nacl_process_host.cc
361 IPC_STRUCT_TRAITS_BEGIN(ppapi::PpapiNaClPluginArgs)
362 IPC_STRUCT_TRAITS_MEMBER(off_the_record)
363 IPC_STRUCT_TRAITS_MEMBER(permissions)
364 IPC_STRUCT_TRAITS_MEMBER(keepalive_throttle_interval_milliseconds)
365 IPC_STRUCT_TRAITS_MEMBER(switch_names)
366 IPC_STRUCT_TRAITS_MEMBER(switch_values)
367 IPC_STRUCT_TRAITS_END()
369 #if !defined(OS_NACL) && !defined(NACL_WIN64)
371 IPC_STRUCT_TRAITS_BEGIN(ppapi::proxy::PPPDecryptor_Buffer)
372 IPC_STRUCT_TRAITS_MEMBER(resource)
373 IPC_STRUCT_TRAITS_MEMBER(handle)
374 IPC_STRUCT_TRAITS_MEMBER(size)
375 IPC_STRUCT_TRAITS_END()
377 #endif // !defined(OS_NACL) && !defined(NACL_WIN64)
379 // These are from the browser to the plugin.
380 // Loads the given plugin.
381 IPC_MESSAGE_CONTROL2(PpapiMsg_LoadPlugin,
382 base::FilePath /* path */,
383 ppapi::PpapiPermissions /* permissions */)
385 // Creates a channel to talk to a renderer. The plugin will respond with
386 // PpapiHostMsg_ChannelCreated.
387 IPC_MESSAGE_CONTROL3(PpapiMsg_CreateChannel,
388 base::ProcessId /* renderer_pid */,
389 int /* renderer_child_id */,
390 bool /* incognito */)
392 // Initializes the IPC dispatchers in the NaCl plugin.
393 IPC_MESSAGE_CONTROL1(PpapiMsg_InitializeNaClDispatcher,
394 ppapi::PpapiNaClPluginArgs /* args */)
396 // Instructs the plugin process to crash.
397 IPC_MESSAGE_CONTROL0(PpapiMsg_Crash)
399 // Instructs the plugin process to hang.
400 IPC_MESSAGE_CONTROL0(PpapiMsg_Hang)
402 // Each plugin may be referenced by multiple renderers. We need the instance
403 // IDs to be unique within a plugin, despite coming from different renderers,
404 // and unique within a renderer, despite going to different plugins. This means
405 // that neither the renderer nor the plugin can generate instance IDs without
406 // consulting the other.
408 // We resolve this by having the renderer generate a unique instance ID inside
409 // its process. It then asks the plugin to reserve that ID by sending this sync
410 // message. If the plugin has not yet seen this ID, it will remember it as used
411 // (to prevent a race condition if another renderer tries to then use the same
412 // instance), and set usable as true.
414 // If the plugin has already seen the instance ID, it will set usable as false
415 // and the renderer must retry a new instance ID.
416 IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_ReserveInstanceId,
417 PP_Instance /* instance */,
418 bool /* usable */)
420 // Passes the WebKit preferences to the plugin.
421 IPC_MESSAGE_CONTROL1(PpapiMsg_SetPreferences,
422 ppapi::Preferences)
424 // Sent in both directions to see if the other side supports the given
425 // interface.
426 IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_SupportsInterface,
427 std::string /* interface_name */,
428 bool /* result */)
430 IPC_MESSAGE_CONTROL1(PpapiHostMsg_LogInterfaceUsage,
431 int /* interface_hash */)
433 #if !defined(OS_NACL) && !defined(NACL_WIN64)
434 // Network state notification from the browser for implementing
435 // PPP_NetworkState_Dev.
436 IPC_MESSAGE_CONTROL1(PpapiMsg_SetNetworkState,
437 bool /* online */)
439 // Requests a list of sites that have data stored from the plugin. The plugin
440 // process will respond with PpapiHostMsg_GetSitesWithDataResult. This is used
441 // for Flash.
442 IPC_MESSAGE_CONTROL2(PpapiMsg_GetSitesWithData,
443 uint32 /* request_id */,
444 base::FilePath /* plugin_data_path */)
445 IPC_MESSAGE_CONTROL2(PpapiHostMsg_GetSitesWithDataResult,
446 uint32 /* request_id */,
447 std::vector<std::string> /* sites */)
449 // Instructs the plugin to clear data for the given site & time. The plugin
450 // process will respond with PpapiHostMsg_ClearSiteDataResult. This is used
451 // for Flash.
452 IPC_MESSAGE_CONTROL5(PpapiMsg_ClearSiteData,
453 uint32 /* request_id */,
454 base::FilePath /* plugin_data_path */,
455 std::string /* site */,
456 uint64 /* flags */,
457 uint64 /* max_age */)
458 IPC_MESSAGE_CONTROL2(PpapiHostMsg_ClearSiteDataResult,
459 uint32 /* request_id */,
460 bool /* success */)
462 IPC_MESSAGE_CONTROL2(PpapiMsg_DeauthorizeContentLicenses,
463 uint32 /* request_id */,
464 base::FilePath /* plugin_data_path */)
465 IPC_MESSAGE_CONTROL2(PpapiHostMsg_DeauthorizeContentLicensesResult,
466 uint32 /* request_id */,
467 bool /* success */)
469 IPC_MESSAGE_CONTROL3(PpapiMsg_GetPermissionSettings,
470 uint32 /* request_id */,
471 base::FilePath /* plugin_data_path */,
472 PP_Flash_BrowserOperations_SettingType /* setting_type */)
473 IPC_MESSAGE_CONTROL4(
474 PpapiHostMsg_GetPermissionSettingsResult,
475 uint32 /* request_id */,
476 bool /* success */,
477 PP_Flash_BrowserOperations_Permission /* default_permission */,
478 ppapi::FlashSiteSettings /* sites */)
480 IPC_MESSAGE_CONTROL5(PpapiMsg_SetDefaultPermission,
481 uint32 /* request_id */,
482 base::FilePath /* plugin_data_path */,
483 PP_Flash_BrowserOperations_SettingType /* setting_type */,
484 PP_Flash_BrowserOperations_Permission /* permission */,
485 bool /* clear_site_specific */)
486 IPC_MESSAGE_CONTROL2(PpapiHostMsg_SetDefaultPermissionResult,
487 uint32 /* request_id */,
488 bool /* success */)
490 IPC_MESSAGE_CONTROL4(PpapiMsg_SetSitePermission,
491 uint32 /* request_id */,
492 base::FilePath /* plugin_data_path */,
493 PP_Flash_BrowserOperations_SettingType /* setting_type */,
494 ppapi::FlashSiteSettings /* sites */)
495 IPC_MESSAGE_CONTROL2(PpapiHostMsg_SetSitePermissionResult,
496 uint32 /* request_id */,
497 bool /* success */)
499 // Broker Process.
500 IPC_SYNC_MESSAGE_CONTROL2_1(PpapiMsg_ConnectToPlugin,
501 PP_Instance /* instance */,
502 IPC::PlatformFileForTransit /* handle */,
503 int32_t /* result */)
504 #endif // !defined(OS_NACL) && !defined(NACL_WIN64)
506 // PPB_Audio.
508 // Notifies the result of the audio stream create call. This is called in
509 // both error cases and in the normal success case. These cases are
510 // differentiated by the result code, which is one of the standard PPAPI
511 // result codes.
513 // The handler of this message should always close all of the handles passed
514 // in, since some could be valid even in the error case.
515 IPC_MESSAGE_ROUTED4(PpapiMsg_PPBAudio_NotifyAudioStreamCreated,
516 ppapi::HostResource /* audio_id */,
517 int32_t /* result_code (will be != PP_OK on failure) */,
518 ppapi::proxy::SerializedHandle /* socket_handle */,
519 ppapi::proxy::SerializedHandle /* handle */)
521 // PPB_Graphics3D.
522 IPC_MESSAGE_ROUTED2(PpapiMsg_PPBGraphics3D_SwapBuffersACK,
523 ppapi::HostResource /* graphics_3d */,
524 int32_t /* pp_error */)
526 // PPB_ImageData.
527 IPC_MESSAGE_ROUTED1(PpapiMsg_PPBImageData_NotifyUnusedImageData,
528 ppapi::HostResource /* old_image_data */)
530 // PPB_Instance.
531 IPC_MESSAGE_ROUTED2(PpapiMsg_PPBInstance_MouseLockComplete,
532 PP_Instance /* instance */,
533 int32_t /* result */)
535 // PPP_Class.
536 IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasProperty,
537 int64 /* ppp_class */,
538 int64 /* object */,
539 ppapi::proxy::SerializedVar /* property */,
540 ppapi::proxy::SerializedVar /* out_exception */,
541 bool /* result */)
542 IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasMethod,
543 int64 /* ppp_class */,
544 int64 /* object */,
545 ppapi::proxy::SerializedVar /* method */,
546 ppapi::proxy::SerializedVar /* out_exception */,
547 bool /* result */)
548 IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_GetProperty,
549 int64 /* ppp_class */,
550 int64 /* object */,
551 ppapi::proxy::SerializedVar /* property */,
552 ppapi::proxy::SerializedVar /* out_exception */,
553 ppapi::proxy::SerializedVar /* result */)
554 IPC_SYNC_MESSAGE_ROUTED2_2(PpapiMsg_PPPClass_EnumerateProperties,
555 int64 /* ppp_class */,
556 int64 /* object */,
557 std::vector<ppapi::proxy::SerializedVar> /* props */,
558 ppapi::proxy::SerializedVar /* out_exception */)
559 IPC_SYNC_MESSAGE_ROUTED4_1(PpapiMsg_PPPClass_SetProperty,
560 int64 /* ppp_class */,
561 int64 /* object */,
562 ppapi::proxy::SerializedVar /* name */,
563 ppapi::proxy::SerializedVar /* value */,
564 ppapi::proxy::SerializedVar /* out_exception */)
565 IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPClass_RemoveProperty,
566 int64 /* ppp_class */,
567 int64 /* object */,
568 ppapi::proxy::SerializedVar /* property */,
569 ppapi::proxy::SerializedVar /* out_exception */)
570 IPC_SYNC_MESSAGE_ROUTED4_2(PpapiMsg_PPPClass_Call,
571 int64 /* ppp_class */,
572 int64 /* object */,
573 ppapi::proxy::SerializedVar /* method_name */,
574 std::vector<ppapi::proxy::SerializedVar> /* args */,
575 ppapi::proxy::SerializedVar /* out_exception */,
576 ppapi::proxy::SerializedVar /* result */)
577 IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_Construct,
578 int64 /* ppp_class */,
579 int64 /* object */,
580 std::vector<ppapi::proxy::SerializedVar> /* args */,
581 ppapi::proxy::SerializedVar /* out_exception */,
582 ppapi::proxy::SerializedVar /* result */)
583 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPClass_Deallocate,
584 int64 /* ppp_class */,
585 int64 /* object */)
587 // PPP_Graphics3D_Dev.
588 IPC_MESSAGE_ROUTED1(PpapiMsg_PPPGraphics3D_ContextLost,
589 PP_Instance /* instance */)
591 // PPP_InputEvent.
592 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPInputEvent_HandleInputEvent,
593 PP_Instance /* instance */,
594 ppapi::InputEventData /* data */)
595 IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPInputEvent_HandleFilteredInputEvent,
596 PP_Instance /* instance */,
597 ppapi::InputEventData /* data */,
598 PP_Bool /* result */)
600 // PPP_Instance.
601 IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPInstance_DidCreate,
602 PP_Instance /* instance */,
603 std::vector<std::string> /* argn */,
604 std::vector<std::string> /* argv */,
605 PP_Bool /* result */)
606 IPC_SYNC_MESSAGE_ROUTED1_0(PpapiMsg_PPPInstance_DidDestroy,
607 PP_Instance /* instance */)
608 IPC_MESSAGE_ROUTED3(PpapiMsg_PPPInstance_DidChangeView,
609 PP_Instance /* instance */,
610 ppapi::ViewData /* new_data */,
611 PP_Bool /* flash_fullscreen */)
612 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPInstance_DidChangeFocus,
613 PP_Instance /* instance */,
614 PP_Bool /* has_focus */)
615 IPC_MESSAGE_ROUTED3(PpapiMsg_PPPInstance_HandleDocumentLoad,
616 PP_Instance /* instance */,
617 int /* pending_loader_host_id */,
618 ppapi::URLResponseInfoData /* response */)
620 // PPP_Messaging.
621 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPMessaging_HandleMessage,
622 PP_Instance /* instance */,
623 ppapi::proxy::SerializedVar /* message */)
625 // PPP_MouseLock.
626 IPC_MESSAGE_ROUTED1(PpapiMsg_PPPMouseLock_MouseLockLost,
627 PP_Instance /* instance */)
629 // PPP_Pdf
630 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPPdf_Rotate,
631 PP_Instance /* instance */,
632 bool /* clockwise */)
634 // Find
635 IPC_MESSAGE_ROUTED2(PpapiPluginMsg_PPPFind_StartFind,
636 PP_Instance /* instance */,
637 std::string /* text */)
638 IPC_MESSAGE_ROUTED2(PpapiPluginMsg_PPPFind_SelectFindResult,
639 PP_Instance /* instance */,
640 PP_Bool /* forward */)
641 IPC_MESSAGE_ROUTED1(PpapiPluginMsg_PPPFind_StopFind,
642 PP_Instance /* instance */)
644 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBInstance_SetPluginToHandleFindRequests,
645 PP_Instance /* instance */)
646 IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_NumberOfFindResultsChanged,
647 PP_Instance /* instance */,
648 int32_t /* total */,
649 PP_Bool /* final_result */)
650 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_SelectFindResultChanged,
651 PP_Instance /* instance */,
652 int32_t /* index */)
653 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_SetTickmarks,
654 PP_Instance /* instance */,
655 std::vector<PP_Rect> /* tickmarks */)
657 // PPP_Printing
658 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPPrinting_QuerySupportedFormats,
659 PP_Instance /* instance */,
660 uint32_t /* result */)
661 IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPPrinting_Begin,
662 PP_Instance /* instance */,
663 std::string /* settings_string */,
664 int32_t /* result */)
665 IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPPrinting_PrintPages,
666 PP_Instance /* instance */,
667 std::vector<PP_PrintPageNumberRange_Dev> /* pages */,
668 ppapi::HostResource /* result */)
669 IPC_MESSAGE_ROUTED1(PpapiMsg_PPPPrinting_End,
670 PP_Instance /* instance */)
671 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPPrinting_IsScalingDisabled,
672 PP_Instance /* instance */,
673 bool /* result */)
675 // PPP_TextInput.
676 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPTextInput_RequestSurroundingText,
677 PP_Instance /* instance */,
678 uint32_t /* desired_number_of_characters */)
680 #if !defined(OS_NACL) && !defined(NACL_WIN64)
681 // PPB_Broker.
682 IPC_MESSAGE_ROUTED3(
683 PpapiMsg_PPBBroker_ConnectComplete,
684 ppapi::HostResource /* broker */,
685 IPC::PlatformFileForTransit /* handle */,
686 int32_t /* result */)
688 // PPP_ContentDecryptor_Dev
689 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPContentDecryptor_Initialize,
690 PP_Instance /* instance */,
691 ppapi::proxy::SerializedVar /* key_system, String */)
692 IPC_MESSAGE_ROUTED4(PpapiMsg_PPPContentDecryptor_CreateSession,
693 PP_Instance /* instance */,
694 uint32_t /* session_id */,
695 ppapi::proxy::SerializedVar /* content_type, String */,
696 ppapi::proxy::SerializedVar /* init_data, ArrayBuffer */)
697 IPC_MESSAGE_ROUTED3(PpapiMsg_PPPContentDecryptor_LoadSession,
698 PP_Instance /* instance */,
699 uint32_t /* session_id */,
700 ppapi::proxy::SerializedVar /* web_session_id, String */)
701 IPC_MESSAGE_ROUTED3(PpapiMsg_PPPContentDecryptor_UpdateSession,
702 PP_Instance /* instance */,
703 uint32_t /* session_id */,
704 ppapi::proxy::SerializedVar /* response, ArrayBuffer */)
705 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPContentDecryptor_ReleaseSession,
706 PP_Instance /* instance */,
707 uint32_t /* session_id */)
708 IPC_MESSAGE_ROUTED3(PpapiMsg_PPPContentDecryptor_Decrypt,
709 PP_Instance /* instance */,
710 ppapi::proxy::PPPDecryptor_Buffer /* buffer */,
711 std::string /* serialized_block_info */)
712 IPC_MESSAGE_ROUTED3(
713 PpapiMsg_PPPContentDecryptor_InitializeAudioDecoder,
714 PP_Instance /* instance */,
715 std::string /* serialized_decoder_config */,
716 ppapi::proxy::PPPDecryptor_Buffer /* extra_data_buffer */)
717 IPC_MESSAGE_ROUTED3(
718 PpapiMsg_PPPContentDecryptor_InitializeVideoDecoder,
719 PP_Instance /* instance */,
720 std::string /* serialized_decoder_config */,
721 ppapi::proxy::PPPDecryptor_Buffer /* extra_data_buffer. */)
722 IPC_MESSAGE_ROUTED3(PpapiMsg_PPPContentDecryptor_DeinitializeDecoder,
723 PP_Instance /* instance */,
724 PP_DecryptorStreamType /* decoder_type */,
725 uint32_t /* request_id */)
726 IPC_MESSAGE_ROUTED3(PpapiMsg_PPPContentDecryptor_ResetDecoder,
727 PP_Instance /* instance */,
728 PP_DecryptorStreamType /* decoder_type */,
729 uint32_t /* request_id */)
730 IPC_MESSAGE_ROUTED4(PpapiMsg_PPPContentDecryptor_DecryptAndDecode,
731 PP_Instance /* instance */,
732 PP_DecryptorStreamType /* decoder_type */,
733 ppapi::proxy::PPPDecryptor_Buffer /* buffer */,
734 std::string /* serialized_block_info */)
736 // PPP_Instance_Private.
737 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPInstancePrivate_GetInstanceObject,
738 PP_Instance /* instance */,
739 ppapi::proxy::SerializedVar /* result */)
741 #endif // !defined(OS_NACL) && !defined(NACL_WIN64)
743 // Reports to the browser that a plugin has been active.
744 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Keepalive)
746 // -----------------------------------------------------------------------------
747 // These are from the plugin to the renderer.
749 // Reply to PpapiMsg_CreateChannel. The handle will be NULL if the channel
750 // could not be established. This could be because the IPC could not be created
751 // for some weird reason, but more likely that the plugin failed to load or
752 // initialize properly.
753 IPC_MESSAGE_CONTROL1(PpapiHostMsg_ChannelCreated,
754 IPC::ChannelHandle /* handle */)
756 // Notify the renderer that the PPAPI channel gets ready in the plugin.
757 IPC_MESSAGE_CONTROL0(PpapiHostMsg_StartupInitializationComplete);
759 // Calls renderer to open a resource file for nacl_irt_open_resource().
760 IPC_SYNC_MESSAGE_CONTROL1_1(PpapiHostMsg_OpenResource,
761 std::string /* key */,
762 ppapi::proxy::SerializedHandle /* fd */)
764 // Logs the given message to the console of all instances.
765 IPC_MESSAGE_CONTROL4(PpapiHostMsg_LogWithSource,
766 PP_Instance /* instance */,
767 int /* log_level */,
768 std::string /* source */,
769 std::string /* value */)
771 // PPB_Audio.
772 IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBAudio_Create,
773 PP_Instance /* instance_id */,
774 int32_t /* sample_rate */,
775 uint32_t /* sample_frame_count */,
776 ppapi::HostResource /* result */)
777 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBAudio_StartOrStop,
778 ppapi::HostResource /* audio_id */,
779 bool /* play */)
781 // PPB_Core.
782 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBCore_AddRefResource,
783 ppapi::HostResource)
784 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBCore_ReleaseResource,
785 ppapi::HostResource)
787 // PPB_Graphics3D.
788 IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBGraphics3D_Create,
789 PP_Instance /* instance */,
790 ppapi::HostResource /* share_context */,
791 std::vector<int32_t> /* attrib_list */,
792 ppapi::HostResource /* result */)
793 IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBGraphics3D_SetGetBuffer,
794 ppapi::HostResource /* context */,
795 int32 /* transfer_buffer_id */)
796 IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBGraphics3D_WaitForTokenInRange,
797 ppapi::HostResource /* context */,
798 int32 /* start */,
799 int32 /* end */,
800 gpu::CommandBuffer::State /* state */,
801 bool /* success */)
802 IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBGraphics3D_WaitForGetOffsetInRange,
803 ppapi::HostResource /* context */,
804 int32 /* start */,
805 int32 /* end */,
806 gpu::CommandBuffer::State /* state */,
807 bool /* success */)
808 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBGraphics3D_AsyncFlush,
809 ppapi::HostResource /* context */,
810 int32 /* put_offset */)
811 IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBGraphics3D_CreateTransferBuffer,
812 ppapi::HostResource /* context */,
813 uint32 /* size */,
814 int32 /* id */,
815 ppapi::proxy::SerializedHandle /* transfer_buffer */)
816 IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBGraphics3D_DestroyTransferBuffer,
817 ppapi::HostResource /* context */,
818 int32 /* id */)
819 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBGraphics3D_SwapBuffers,
820 ppapi::HostResource /* graphics_3d */)
821 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBGraphics3D_InsertSyncPoint,
822 ppapi::HostResource /* context */,
823 uint32 /* sync_point */)
825 // PPB_ImageData.
826 IPC_SYNC_MESSAGE_ROUTED4_3(PpapiHostMsg_PPBImageData_CreatePlatform,
827 PP_Instance /* instance */,
828 int32 /* format */,
829 PP_Size /* size */,
830 PP_Bool /* init_to_zero */,
831 ppapi::HostResource /* result_resource */,
832 PP_ImageDataDesc /* image_data_desc */,
833 ppapi::proxy::ImageHandle /* result */)
834 IPC_SYNC_MESSAGE_ROUTED4_3(PpapiHostMsg_PPBImageData_CreateSimple,
835 PP_Instance /* instance */,
836 int32 /* format */,
837 PP_Size /* size */,
838 PP_Bool /* init_to_zero */,
839 ppapi::HostResource /* result_resource */,
840 PP_ImageDataDesc /* image_data_desc */,
841 ppapi::proxy::SerializedHandle /* result */)
843 // PPB_Instance.
844 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetWindowObject,
845 PP_Instance /* instance */,
846 ppapi::proxy::SerializedVar /* result */)
847 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetOwnerElementObject,
848 PP_Instance /* instance */,
849 ppapi::proxy::SerializedVar /* result */)
850 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_BindGraphics,
851 PP_Instance /* instance */,
852 PP_Resource /* device */)
853 IPC_SYNC_MESSAGE_ROUTED1_1(
854 PpapiHostMsg_PPBInstance_GetAudioHardwareOutputSampleRate,
855 PP_Instance /* instance */,
856 uint32_t /* result */)
857 IPC_SYNC_MESSAGE_ROUTED1_1(
858 PpapiHostMsg_PPBInstance_GetAudioHardwareOutputBufferSize,
859 PP_Instance /* instance */,
860 uint32_t /* result */)
861 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_IsFullFrame,
862 PP_Instance /* instance */,
863 PP_Bool /* result */)
864 IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBInstance_ExecuteScript,
865 PP_Instance /* instance */,
866 ppapi::proxy::SerializedVar /* script */,
867 ppapi::proxy::SerializedVar /* out_exception */,
868 ppapi::proxy::SerializedVar /* result */)
869 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetDefaultCharSet,
870 PP_Instance /* instance */,
871 ppapi::proxy::SerializedVar /* result */)
872 IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_SetFullscreen,
873 PP_Instance /* instance */,
874 PP_Bool /* fullscreen */,
875 PP_Bool /* result */)
876 IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBInstance_GetScreenSize,
877 PP_Instance /* instance */,
878 PP_Bool /* result */,
879 PP_Size /* size */)
880 IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_RequestInputEvents,
881 PP_Instance /* instance */,
882 bool /* is_filtering */,
883 uint32_t /* event_classes */)
884 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_ClearInputEvents,
885 PP_Instance /* instance */,
886 uint32_t /* event_classes */)
887 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_PostMessage,
888 PP_Instance /* instance */,
889 ppapi::proxy::SerializedVar /* message */)
890 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBInstance_LockMouse,
891 PP_Instance /* instance */)
892 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBInstance_UnlockMouse,
893 PP_Instance /* instance */)
894 IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_ResolveRelativeToDocument,
895 PP_Instance /* instance */,
896 ppapi::proxy::SerializedVar /* relative */,
897 ppapi::proxy::SerializedVar /* result */)
898 IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_DocumentCanRequest,
899 PP_Instance /* instance */,
900 ppapi::proxy::SerializedVar /* relative */,
901 PP_Bool /* result */)
902 IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_DocumentCanAccessDocument,
903 PP_Instance /* active */,
904 PP_Instance /* target */,
905 PP_Bool /* result */)
906 IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBInstance_GetDocumentURL,
907 PP_Instance /* active */,
908 PP_URLComponents_Dev /* components */,
909 ppapi::proxy::SerializedVar /* result */)
910 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetPluginInstanceURL,
911 PP_Instance /* active */,
912 ppapi::proxy::SerializedVar /* result */)
913 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetPluginReferrerURL,
914 PP_Instance /* instance */,
915 ppapi::proxy::SerializedVar /* result */)
916 IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_SetCursor,
917 PP_Instance /* instance */,
918 int32_t /* type */,
919 ppapi::HostResource /* custom_image */,
920 PP_Point /* hot_spot */)
921 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_SetTextInputType,
922 PP_Instance /* instance */,
923 PP_TextInput_Type /* type */)
924 IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_UpdateCaretPosition,
925 PP_Instance /* instance */,
926 PP_Rect /* caret */,
927 PP_Rect /* bounding_box */)
928 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBInstance_CancelCompositionText,
929 PP_Instance /* instance */)
930 IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_UpdateSurroundingText,
931 PP_Instance /* instance */,
932 std::string /* text */,
933 uint32_t /* caret */,
934 uint32_t /* anchor */)
936 // PPB_Var.
937 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBVar_AddRefObject,
938 int64 /* object_id */,
939 int /* unused - need a return value for sync msgs */)
940 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVar_ReleaseObject,
941 int64 /* object_id */)
942 IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_HasProperty,
943 ppapi::proxy::SerializedVar /* object */,
944 ppapi::proxy::SerializedVar /* property */,
945 ppapi::proxy::SerializedVar /* out_exception */,
946 PP_Bool /* result */)
947 IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_HasMethodDeprecated,
948 ppapi::proxy::SerializedVar /* object */,
949 ppapi::proxy::SerializedVar /* method */,
950 ppapi::proxy::SerializedVar /* out_exception */,
951 PP_Bool /* result */)
952 IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_GetProperty,
953 ppapi::proxy::SerializedVar /* object */,
954 ppapi::proxy::SerializedVar /* property */,
955 ppapi::proxy::SerializedVar /* out_exception */,
956 ppapi::proxy::SerializedVar /* result */)
957 IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_DeleteProperty,
958 ppapi::proxy::SerializedVar /* object */,
959 ppapi::proxy::SerializedVar /* property */,
960 ppapi::proxy::SerializedVar /* out_exception */,
961 PP_Bool /* result */)
962 IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBVar_EnumerateProperties,
963 ppapi::proxy::SerializedVar /* object */,
964 std::vector<ppapi::proxy::SerializedVar> /* props */,
965 ppapi::proxy::SerializedVar /* out_exception */)
966 IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVar_SetPropertyDeprecated,
967 ppapi::proxy::SerializedVar /* object */,
968 ppapi::proxy::SerializedVar /* name */,
969 ppapi::proxy::SerializedVar /* value */,
970 ppapi::proxy::SerializedVar /* out_exception */)
971 IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBVar_CallDeprecated,
972 ppapi::proxy::SerializedVar /* object */,
973 ppapi::proxy::SerializedVar /* method_name */,
974 std::vector<ppapi::proxy::SerializedVar> /* args */,
975 ppapi::proxy::SerializedVar /* out_exception */,
976 ppapi::proxy::SerializedVar /* result */)
977 IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_Construct,
978 ppapi::proxy::SerializedVar /* object */,
979 std::vector<ppapi::proxy::SerializedVar> /* args */,
980 ppapi::proxy::SerializedVar /* out_exception */,
981 ppapi::proxy::SerializedVar /* result */)
982 IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_IsInstanceOfDeprecated,
983 ppapi::proxy::SerializedVar /* var */,
984 int64 /* object_class */,
985 int64 /* object-data */,
986 PP_Bool /* result */)
987 IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVar_CreateObjectDeprecated,
988 PP_Instance /* instance */,
989 int64 /* object_class */,
990 int64 /* object_data */,
991 ppapi::proxy::SerializedVar /* result */)
993 #if !defined(OS_NACL) && !defined(NACL_WIN64)
994 // PPB_Broker.
995 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBBroker_Create,
996 PP_Instance /* instance */,
997 ppapi::HostResource /* result_resource */)
998 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBBroker_Connect,
999 ppapi::HostResource /* broker */)
1001 // PPB_Buffer.
1002 IPC_SYNC_MESSAGE_ROUTED2_2(
1003 PpapiHostMsg_PPBBuffer_Create,
1004 PP_Instance /* instance */,
1005 uint32_t /* size */,
1006 ppapi::HostResource /* result_resource */,
1007 ppapi::proxy::SerializedHandle /* result_shm_handle */)
1009 // PPB_ContentDecryptor_Dev messages handled in PPB_Instance_Proxy.
1010 IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_SessionCreated,
1011 PP_Instance /* instance */,
1012 uint32_t /* session_id */,
1013 ppapi::proxy::SerializedVar /* web_session_id, String */)
1014 IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_SessionMessage,
1015 PP_Instance /* instance */,
1016 uint32_t /* session_id */,
1017 ppapi::proxy::SerializedVar /* message, ArrayBuffer */,
1018 ppapi::proxy::SerializedVar /* destination_url, String */)
1019 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_SessionReady,
1020 PP_Instance /* instance */,
1021 uint32_t /* session_id */)
1022 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_SessionClosed,
1023 PP_Instance /* instance */,
1024 uint32_t /* session_id */)
1025 IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_SessionError,
1026 PP_Instance /* instance */,
1027 uint32_t /* session_id */,
1028 int32_t /* media_error */,
1029 int32_t /* system_code */)
1030 IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_DeliverBlock,
1031 PP_Instance /* instance */,
1032 PP_Resource /* decrypted_block, PPB_Buffer_Dev */,
1033 std::string /* serialized_block_info */)
1034 IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_DecoderInitializeDone,
1035 PP_Instance /* instance */,
1036 PP_DecryptorStreamType /* decoder_type */,
1037 uint32_t /* request_id */,
1038 PP_Bool /* success */)
1039 IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_DecoderDeinitializeDone,
1040 PP_Instance /* instance */,
1041 PP_DecryptorStreamType /* decoder_type */,
1042 uint32_t /* request_id */)
1043 IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_DecoderResetDone,
1044 PP_Instance /* instance */,
1045 PP_DecryptorStreamType /* decoder_type */,
1046 uint32_t /* request_id */)
1047 IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_DeliverFrame,
1048 PP_Instance /* instance */,
1049 PP_Resource /* decrypted_frame, PPB_Buffer_Dev */,
1050 std::string /* serialized_block_info */)
1051 IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_DeliverSamples,
1052 PP_Instance /* instance */,
1053 PP_Resource /* audio_frames, PPB_Buffer_Dev */,
1054 std::string /* serialized_block_info */)
1055 #endif // !defined(OS_NACL) && !defined(NACL_WIN64)
1057 // PPB_Testing.
1058 IPC_SYNC_MESSAGE_ROUTED3_1(
1059 PpapiHostMsg_PPBTesting_ReadImageData,
1060 ppapi::HostResource /* device_context_2d */,
1061 ppapi::HostResource /* image */,
1062 PP_Point /* top_left */,
1063 PP_Bool /* result */)
1064 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance,
1065 PP_Instance /* instance */,
1066 uint32 /* result */)
1067 IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBTesting_SimulateInputEvent,
1068 PP_Instance /* instance */,
1069 ppapi::InputEventData /* input_event */)
1070 IPC_SYNC_MESSAGE_ROUTED1_0(
1071 PpapiHostMsg_PPBTesting_SetMinimumArrayBufferSizeForShmem,
1072 uint32_t /* threshold */)
1074 #if !defined(OS_NACL) && !defined(NACL_WIN64)
1076 // PPB_VideoDecoder_Dev.
1077 // (Messages from plugin to renderer.)
1078 IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVideoDecoder_Create,
1079 PP_Instance /* instance */,
1080 ppapi::HostResource /* context */,
1081 PP_VideoDecoder_Profile /* profile */,
1082 ppapi::HostResource /* result */)
1083 IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBVideoDecoder_Decode,
1084 ppapi::HostResource /* video_decoder */,
1085 ppapi::HostResource /* bitstream buffer */,
1086 int32 /* bitstream buffer id */,
1087 uint32 /* size of buffer */)
1088 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBVideoDecoder_AssignPictureBuffers,
1089 ppapi::HostResource /* video_decoder */,
1090 std::vector<PP_PictureBuffer_Dev> /* picture buffers */)
1091 IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBVideoDecoder_ReusePictureBuffer,
1092 ppapi::HostResource /* video_decoder */,
1093 int32_t /* picture buffer id */)
1094 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVideoDecoder_Flush,
1095 ppapi::HostResource /* video_decoder */)
1096 IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVideoDecoder_Reset,
1097 ppapi::HostResource /* video_decoder */)
1098 IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBVideoDecoder_Destroy,
1099 ppapi::HostResource /* video_decoder */)
1101 // PPB_VideoDecoder_Dev.
1102 // (Messages from renderer to plugin to notify it to run callbacks.)
1103 IPC_MESSAGE_ROUTED3(PpapiMsg_PPBVideoDecoder_EndOfBitstreamACK,
1104 ppapi::HostResource /* video_decoder */,
1105 int32_t /* bitstream buffer id */,
1106 int32_t /* PP_CompletionCallback result */)
1107 IPC_MESSAGE_ROUTED2(PpapiMsg_PPBVideoDecoder_FlushACK,
1108 ppapi::HostResource /* video_decoder */,
1109 int32_t /* PP_CompletionCallback result */)
1110 IPC_MESSAGE_ROUTED2(PpapiMsg_PPBVideoDecoder_ResetACK,
1111 ppapi::HostResource /* video_decoder */,
1112 int32_t /* PP_CompletionCallback result */)
1114 // PPP_VideoDecoder_Dev.
1115 IPC_MESSAGE_ROUTED4(PpapiMsg_PPPVideoDecoder_ProvidePictureBuffers,
1116 ppapi::HostResource /* video_decoder */,
1117 uint32_t /* requested number of buffers */,
1118 PP_Size /* dimensions of buffers */,
1119 uint32_t /* texture_target */)
1120 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPVideoDecoder_DismissPictureBuffer,
1121 ppapi::HostResource /* video_decoder */,
1122 int32_t /* picture buffer id */)
1123 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPVideoDecoder_PictureReady,
1124 ppapi::HostResource /* video_decoder */,
1125 PP_Picture_Dev /* output picture */)
1126 IPC_MESSAGE_ROUTED2(PpapiMsg_PPPVideoDecoder_NotifyError,
1127 ppapi::HostResource /* video_decoder */,
1128 PP_VideoDecodeError_Dev /* error */)
1129 #endif // !defined(OS_NACL) && !defined(NACL_WIN64)
1131 // PPB_X509Certificate_Private
1132 IPC_SYNC_MESSAGE_CONTROL1_2(PpapiHostMsg_PPBX509Certificate_ParseDER,
1133 std::vector<char> /* der */,
1134 bool /* succeeded */,
1135 ppapi::PPB_X509Certificate_Fields /* result */)
1137 //-----------------------------------------------------------------------------
1138 // Resource call/reply messages.
1140 // These are the new-style resource implementations where the resource is only
1141 // implemented in the proxy and "resource messages" are sent between this and a
1142 // host object. Resource messages are a wrapper around some general routing
1143 // information and a separate message of a type defined by the specific resource
1144 // sending/receiving it. The extra paremeters allow the nested message to be
1145 // routed automatically to the correct resource.
1147 // Notification that a resource has been created in the plugin. The nested
1148 // message will be resource-type-specific.
1149 IPC_MESSAGE_CONTROL3(PpapiHostMsg_ResourceCreated,
1150 ppapi::proxy::ResourceMessageCallParams /* call_params */,
1151 PP_Instance /* instance */,
1152 IPC::Message /* nested_msg */)
1154 // Notification that a resource has been destroyed in the plugin.
1155 IPC_MESSAGE_CONTROL1(PpapiHostMsg_ResourceDestroyed,
1156 PP_Resource /* resource */)
1158 // Most resources are created by the plugin, which then sends a ResourceCreated
1159 // message to create a corresponding ResourceHost in the renderer or browser
1160 // host process. However, some resources are first created in the host and
1161 // "pushed" or returned to the plugin.
1163 // In this case, the host will create a "pending" ResourceHost object which
1164 // is identified by an ID. The ID is sent to the plugin process and the
1165 // PluginResource object is created. This message is sent from the plugin to
1166 // the host process to connect the PluginResource and the pending ResourceHost
1167 // (at which point, it's no longer pending).
1168 IPC_MESSAGE_CONTROL2(PpapiHostMsg_AttachToPendingHost,
1169 PP_Resource /* resource */,
1170 int /* pending_host_id */)
1172 // A resource call is a request from the plugin to the host. It may or may not
1173 // require a reply, depending on the params. The nested message will be
1174 // resource-type-specific.
1175 IPC_MESSAGE_CONTROL2(PpapiHostMsg_ResourceCall,
1176 ppapi::proxy::ResourceMessageCallParams /* call_params */,
1177 IPC::Message /* nested_msg */)
1178 IPC_MESSAGE_CONTROL3(PpapiHostMsg_InProcessResourceCall,
1179 int /* routing_id */,
1180 ppapi::proxy::ResourceMessageCallParams /* call_params */,
1181 IPC::Message /* nested_msg */)
1183 // A resource reply is a response to a ResourceCall from a host to the
1184 // plugin. The resource ID + sequence number in the params will correspond to
1185 // that of the previous ResourceCall.
1186 IPC_MESSAGE_CONTROL2(
1187 PpapiPluginMsg_ResourceReply,
1188 ppapi::proxy::ResourceMessageReplyParams /* reply_params */,
1189 IPC::Message /* nested_msg */)
1190 IPC_MESSAGE_ROUTED2(
1191 PpapiHostMsg_InProcessResourceReply,
1192 ppapi::proxy::ResourceMessageReplyParams /* reply_params */,
1193 IPC::Message /* nested_msg */)
1195 IPC_SYNC_MESSAGE_CONTROL2_2(PpapiHostMsg_ResourceSyncCall,
1196 ppapi::proxy::ResourceMessageCallParams /* call_params */,
1197 IPC::Message /* nested_msg */,
1198 ppapi::proxy::ResourceMessageReplyParams /* reply_params */,
1199 IPC::Message /* reply_msg */)
1201 // This message is sent from the renderer to the browser when it wants to create
1202 // ResourceHosts in the browser. It contains the process ID of the plugin and
1203 // the instance of the plugin for which to create the resource for. params
1204 // contains the sequence number for the message to track the response.
1205 // The nested messages are ResourceHost creation messages.
1206 IPC_MESSAGE_CONTROL5(
1207 PpapiHostMsg_CreateResourceHostsFromHost,
1208 int /* routing_id */,
1209 int /* child_process_id */,
1210 ppapi::proxy::ResourceMessageCallParams /* params */,
1211 PP_Instance /* instance */,
1212 std::vector<IPC::Message> /* nested_msgs */)
1214 // This message is sent from the browser to the renderer when it has created
1215 // ResourceHosts for the renderer. It contains the sequence number that was sent
1216 // in the request and the IDs of the pending ResourceHosts which were created in
1217 // the browser. These IDs are only useful for the plugin which can attach to the
1218 // ResourceHosts in the browser.
1219 IPC_MESSAGE_ROUTED2(
1220 PpapiHostMsg_CreateResourceHostsFromHostReply,
1221 int32_t /* sequence */,
1222 std::vector<int> /* pending_host_ids */)
1224 //-----------------------------------------------------------------------------
1225 // Messages for resources using call/reply above.
1227 // Broker ----------------------------------------------------------------------
1228 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Broker_Create)
1230 // Queries whether the plugin has permission to connect to the Pepper broker.
1231 // The response is contained in the error value of the
1232 // ResourceMessageReplyParams in the reply message.
1233 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Broker_IsAllowed)
1235 // Extensions common -----------------------------------------------------------
1236 IPC_MESSAGE_CONTROL0(PpapiHostMsg_ExtensionsCommon_Create)
1238 // Starts an extension API request which doesn't expect a response.
1239 // |request_name| is an API function name. |args| is a list of input arguments.
1240 IPC_MESSAGE_CONTROL2(PpapiHostMsg_ExtensionsCommon_Post,
1241 std::string /* request_name */,
1242 base::ListValue /* args */)
1244 // Starts an extension API request which expects a response sent back using a
1245 // PpapiPluginMsg_ExtensionsCommon_CallReply message.
1246 // |request_name| is an API function name. |args| is a list of input arguments.
1247 // |output| is a list of output results.
1248 IPC_MESSAGE_CONTROL2(PpapiHostMsg_ExtensionsCommon_Call,
1249 std::string /* request_name */,
1250 base::ListValue /* args */)
1251 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_ExtensionsCommon_CallReply,
1252 base::ListValue /* output */)
1254 // UMA
1255 IPC_MESSAGE_CONTROL0(PpapiHostMsg_UMA_Create)
1256 IPC_MESSAGE_CONTROL5(PpapiHostMsg_UMA_HistogramCustomTimes,
1257 std::string /* name */,
1258 int64_t /* sample */,
1259 int64_t /* min */,
1260 int64_t /* max */,
1261 uint32_t /* bucket_count */)
1262 IPC_MESSAGE_CONTROL5(PpapiHostMsg_UMA_HistogramCustomCounts,
1263 std::string /* name */,
1264 int32_t /* sample */,
1265 int32_t /* min */,
1266 int32_t /* max */,
1267 uint32_t /* bucket_count */)
1268 IPC_MESSAGE_CONTROL3(PpapiHostMsg_UMA_HistogramEnumeration,
1269 std::string /* name */,
1270 int32_t /* sample */,
1271 int32_t /* boundary_value */)
1272 IPC_MESSAGE_CONTROL0(PpapiHostMsg_UMA_IsCrashReportingEnabled);
1273 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_UMA_IsCrashReportingEnabledReply);
1275 // File chooser.
1276 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileChooser_Create)
1277 IPC_MESSAGE_CONTROL4(PpapiHostMsg_FileChooser_Show,
1278 bool /* save_as */,
1279 bool /* open_multiple */,
1280 std::string /* suggested_file_name */,
1281 std::vector<std::string> /* accept_mime_types */)
1282 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileChooser_ShowReply,
1283 std::vector<ppapi::FileRefCreateInfo> /* files */)
1285 // FileIO
1286 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_Create)
1287 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileIO_Open,
1288 PP_Resource /* file_ref_resource */,
1289 int32_t /* open_flags */)
1290 IPC_MESSAGE_CONTROL2(PpapiPluginMsg_FileIO_OpenReply,
1291 PP_Resource /* quota_file_system */,
1292 int64_t /* file_size */)
1293 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileIO_Close,
1294 ppapi::FileGrowth /* file_growth */)
1295 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileIO_Touch,
1296 PP_Time /* last_access_time */,
1297 PP_Time /* last_modified_time */)
1298 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileIO_SetLength,
1299 int64_t /* length */)
1300 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_Flush)
1301 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_RequestOSFileHandle)
1302 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileIO_RequestOSFileHandleReply)
1303 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileIO_GeneralReply)
1305 // FileRef
1306 // Creates a FileRef to a path on an external file system. This message may
1307 // only be sent from the renderer.
1308 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileRef_CreateForRawFS,
1309 base::FilePath /* external_path */)
1311 // Creates a FileRef to a path on a file system that uses fileapi.
1312 // This message may be sent from the renderer or the plugin.
1313 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileRef_CreateForFileAPI,
1314 PP_Resource /* file_system */,
1315 std::string /* internal_path */)
1317 // Requests that the browser create a directory at the location indicated by
1318 // the FileRef.
1319 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileRef_MakeDirectory,
1320 int32_t /* make_directory_flags */)
1321 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileRef_MakeDirectoryReply)
1323 // Requests that the browser update the last accessed and last modified times
1324 // at the location indicated by the FileRef.
1325 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileRef_Touch,
1326 PP_Time /* last_accessed */,
1327 PP_Time /* last_modified */)
1328 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileRef_TouchReply)
1330 // Requests that the browser delete a file or directory at the location
1331 // indicated by the FileRef.
1332 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileRef_Delete)
1333 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileRef_DeleteReply)
1335 // Requests that the browser rename a file or directory at the location
1336 // indicated by the FileRef.
1337 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileRef_Rename,
1338 PP_Resource /* new_file_ref */)
1339 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileRef_RenameReply)
1341 // Requests that the browser retrieve metadata information for a file or
1342 // directory at the location indicated by the FileRef.
1343 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileRef_Query)
1344 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileRef_QueryReply,
1345 PP_FileInfo /* file_info */)
1347 // Requests that the browser retrieve then entries in a directory at the
1348 // location indicated by the FileRef.
1349 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileRef_ReadDirectoryEntries)
1351 // FileRefCreateInfo does not provide file type information, so two
1352 // corresponding vectors are returned.
1353 IPC_MESSAGE_CONTROL2(PpapiPluginMsg_FileRef_ReadDirectoryEntriesReply,
1354 std::vector<ppapi::FileRefCreateInfo> /* files */,
1355 std::vector<PP_FileType> /* file_types */)
1357 // Requests that the browser reply with the absolute path to the indicated
1358 // file.
1359 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileRef_GetAbsolutePath)
1360 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileRef_GetAbsolutePathReply,
1361 std::string /* absolute_path */)
1363 // FileSystem
1364 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileSystem_Create,
1365 PP_FileSystemType /* type */)
1366 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileSystem_Open,
1367 int64_t /* expected_size */)
1368 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileSystem_OpenReply)
1369 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileSystem_InitIsolatedFileSystem,
1370 std::string /* fsid */,
1371 PP_IsolatedFileSystemType_Private /* type */)
1372 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileSystem_InitIsolatedFileSystemReply)
1373 // Passed from renderer to browser. Creates an already-open file system with a
1374 // given |root_url| and |file_system_type|.
1375 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileSystem_CreateFromRenderer,
1376 std::string /* root_url */,
1377 PP_FileSystemType /* file_system_type */)
1378 // Nested within a ResourceVar for file systems being passed from the renderer
1379 // to the plugin. Creates an already-open file system resource on the plugin,
1380 // linked to the existing resource host given in the ResourceVar.
1381 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileSystem_CreateFromPendingHost,
1382 PP_FileSystemType /* file_system_type */)
1383 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileSystem_ReserveQuota,
1384 int64_t /* amount */,
1385 ppapi::FileGrowthMap /* file_growths */)
1386 IPC_MESSAGE_CONTROL2(PpapiPluginMsg_FileSystem_ReserveQuotaReply,
1387 int64_t /* amount */,
1388 ppapi::FileSizeMap /* file_sizes */)
1390 // Gamepad.
1391 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Gamepad_Create)
1393 // Requests that the gamepad host send the shared memory handle to the plugin
1394 // process.
1395 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Gamepad_RequestMemory)
1397 // Reply to a RequestMemory call. This supplies the shared memory handle. The
1398 // actual handle is passed in the ReplyParams struct.
1399 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Gamepad_SendMemory)
1402 // Graphics2D, plugin -> host
1403 IPC_MESSAGE_CONTROL2(PpapiHostMsg_Graphics2D_Create,
1404 PP_Size /* size */,
1405 PP_Bool /* is_always_opaque */)
1406 IPC_MESSAGE_CONTROL4(PpapiHostMsg_Graphics2D_PaintImageData,
1407 ppapi::HostResource /* image_data */,
1408 PP_Point /* top_left */,
1409 bool /* src_rect_specified */,
1410 PP_Rect /* src_rect */)
1411 IPC_MESSAGE_CONTROL3(PpapiHostMsg_Graphics2D_Scroll,
1412 bool /* clip_specified */,
1413 PP_Rect /* clip */,
1414 PP_Point /* amount */)
1415 IPC_MESSAGE_CONTROL1(PpapiHostMsg_Graphics2D_ReplaceContents,
1416 ppapi::HostResource /* image_data */)
1417 IPC_MESSAGE_CONTROL1(PpapiHostMsg_Graphics2D_SetScale,
1418 float /* scale */)
1420 // Graphics2D, plugin -> host -> plugin
1421 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Graphics2D_Flush)
1422 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Graphics2D_FlushAck)
1424 IPC_MESSAGE_CONTROL2(PpapiHostMsg_Graphics2D_ReadImageData,
1425 PP_Resource /* image */,
1426 PP_Point /* top_left */)
1427 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Graphics2D_ReadImageDataAck)
1429 // IsolatedFileSystem
1430 IPC_MESSAGE_CONTROL0(PpapiHostMsg_IsolatedFileSystem_Create)
1431 IPC_MESSAGE_CONTROL1(PpapiHostMsg_IsolatedFileSystem_BrowserOpen,
1432 PP_IsolatedFileSystemType_Private /* type */)
1433 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_IsolatedFileSystem_BrowserOpenReply,
1434 std::string /* fsid */)
1436 // MediaStream -----------------------------------------------------------------
1437 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_MediaStreamAudioTrack_CreateFromPendingHost,
1438 std::string /* track_id */)
1439 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_MediaStreamVideoTrack_CreateFromPendingHost,
1440 std::string /* track_id */)
1441 IPC_MESSAGE_CONTROL0(PpapiHostMsg_MediaStreamVideoTrack_Create)
1442 IPC_MESSAGE_CONTROL1(
1443 PpapiHostMsg_MediaStreamVideoTrack_Configure,
1444 ppapi::MediaStreamVideoTrackShared::Attributes /* attributes */)
1445 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_MediaStreamVideoTrack_ConfigureReply,
1446 std::string /* track_id */)
1448 // Message for init buffers. It also takes a shared memory handle which is put
1449 // in the outer ResourceReplyMessage.
1450 IPC_MESSAGE_CONTROL3(PpapiPluginMsg_MediaStreamTrack_InitBuffers,
1451 int32_t /* number_of_buffers */,
1452 int32_t /* buffer_size */,
1453 bool /* readonly */)
1454 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_MediaStreamTrack_EnqueueBuffer,
1455 int32_t /* index */);
1456 IPC_MESSAGE_CONTROL1(PpapiHostMsg_MediaStreamTrack_EnqueueBuffer,
1457 int32_t /* index */);
1458 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_MediaStreamTrack_EnqueueBuffers,
1459 std::vector<int32_t> /* indices */);
1460 IPC_MESSAGE_CONTROL0(PpapiHostMsg_MediaStreamTrack_Close)
1462 // NetworkMonitor.
1463 IPC_MESSAGE_CONTROL0(PpapiHostMsg_NetworkMonitor_Create)
1464 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_NetworkMonitor_NetworkList,
1465 ppapi::proxy::SerializedNetworkList /* network_list */)
1466 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_NetworkMonitor_Forbidden)
1468 // NetworkProxy ----------------------------------------------------------------
1469 IPC_MESSAGE_CONTROL0(PpapiHostMsg_NetworkProxy_Create)
1471 // Query the browser for the proxy server to use for the given URL.
1472 IPC_MESSAGE_CONTROL1(PpapiHostMsg_NetworkProxy_GetProxyForURL,
1473 std::string /* url */)
1475 // Reply message for GetProxyForURL containing the proxy server.
1476 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_NetworkProxy_GetProxyForURLReply,
1477 std::string /* proxy */)
1479 // TrueTypeFont.
1480 IPC_MESSAGE_CONTROL0(PpapiHostMsg_TrueTypeFontSingleton_Create)
1481 IPC_MESSAGE_CONTROL0(PpapiHostMsg_TrueTypeFontSingleton_GetFontFamilies)
1482 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TrueTypeFontSingleton_GetFontFamiliesReply,
1483 std::vector<std::string> /* font_families */)
1484 IPC_MESSAGE_CONTROL1(PpapiHostMsg_TrueTypeFontSingleton_GetFontsInFamily,
1485 std::string /* family */)
1486 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TrueTypeFontSingleton_GetFontsInFamilyReply,
1487 std::vector<ppapi::proxy::SerializedTrueTypeFontDesc>
1488 /* fonts */)
1489 IPC_MESSAGE_CONTROL1(PpapiHostMsg_TrueTypeFont_Create,
1490 ppapi::proxy::SerializedTrueTypeFontDesc /* desc */)
1491 IPC_MESSAGE_CONTROL0(PpapiHostMsg_TrueTypeFont_Describe)
1492 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TrueTypeFont_DescribeReply,
1493 ppapi::proxy::SerializedTrueTypeFontDesc /* desc */)
1494 IPC_MESSAGE_CONTROL0(PpapiHostMsg_TrueTypeFont_GetTableTags)
1495 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TrueTypeFont_GetTableTagsReply,
1496 std::vector<uint32_t> /* tags */)
1497 IPC_MESSAGE_CONTROL3(PpapiHostMsg_TrueTypeFont_GetTable,
1498 uint32_t /* table */,
1499 int32_t /* offset */,
1500 int32_t /* max_data_length */)
1501 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TrueTypeFont_GetTableReply,
1502 std::string /* data */)
1504 // Host Resolver ---------------------------------------------------------------
1505 // Creates a PPB_HostResolver resource.
1506 IPC_MESSAGE_CONTROL0(PpapiHostMsg_HostResolver_Create)
1508 // Creates a PPB_HostResolver_Private resource.
1509 IPC_MESSAGE_CONTROL0(PpapiHostMsg_HostResolver_CreatePrivate)
1511 // Resolves the given hostname.
1512 IPC_MESSAGE_CONTROL2(PpapiHostMsg_HostResolver_Resolve,
1513 ppapi::HostPortPair /* host_port */,
1514 PP_HostResolver_Private_Hint /* hint */)
1516 // This message is a reply to HostResolver_Resolve. On success,
1517 // |canonical_name| contains the canonical name of the host; |net_address_list|
1518 // is a list of network addresses. On failure, both fields are set to empty.
1519 IPC_MESSAGE_CONTROL2(PpapiPluginMsg_HostResolver_ResolveReply,
1520 std::string /* canonical_name */,
1521 std::vector<PP_NetAddress_Private> /* net_address_list */)
1523 // Platform Verification -------------------------------------------------------
1524 IPC_MESSAGE_CONTROL0(PpapiHostMsg_PlatformVerification_Create)
1525 IPC_MESSAGE_CONTROL2(PpapiHostMsg_PlatformVerification_ChallengePlatform,
1526 std::string /* service_id */,
1527 std::vector<uint8_t> /* challenge */)
1528 IPC_MESSAGE_CONTROL3(PpapiHostMsg_PlatformVerification_ChallengePlatformReply,
1529 std::vector<uint8_t> /* signed_data */,
1530 std::vector<uint8_t> /* signed_data_signature */,
1531 std::string /* platform_key_certificate */)
1533 // Printing.
1534 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Printing_Create)
1535 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Printing_GetDefaultPrintSettings)
1536 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_Printing_GetDefaultPrintSettingsReply,
1537 PP_PrintSettings_Dev /* print_settings */)
1539 // TCP Socket ------------------------------------------------------------------
1540 // Creates a PPB_TCPSocket resource.
1541 IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_Create,
1542 ppapi::TCPSocketVersion /* version */)
1544 // Creates a PPB_TCPSocket_Private resource.
1545 IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPSocket_CreatePrivate)
1547 IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_Bind,
1548 PP_NetAddress_Private /* net_addr */)
1549 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TCPSocket_BindReply,
1550 PP_NetAddress_Private /* local_addr */)
1551 IPC_MESSAGE_CONTROL2(PpapiHostMsg_TCPSocket_Connect,
1552 std::string /* host */,
1553 uint16_t /* port */)
1554 IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_ConnectWithNetAddress,
1555 PP_NetAddress_Private /* net_addr */)
1556 IPC_MESSAGE_CONTROL2(PpapiPluginMsg_TCPSocket_ConnectReply,
1557 PP_NetAddress_Private /* local_addr */,
1558 PP_NetAddress_Private /* remote_addr */)
1559 IPC_MESSAGE_CONTROL4(PpapiHostMsg_TCPSocket_SSLHandshake,
1560 std::string /* server_name */,
1561 uint16_t /* server_port */,
1562 std::vector<std::vector<char> > /* trusted_certs */,
1563 std::vector<std::vector<char> > /* untrusted_certs */)
1564 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TCPSocket_SSLHandshakeReply,
1565 ppapi::PPB_X509Certificate_Fields /* certificate_fields */)
1566 IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_Read,
1567 int32_t /* bytes_to_read */)
1568 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TCPSocket_ReadReply,
1569 std::string /* data */)
1570 IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_Write,
1571 std::string /* data */)
1572 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_TCPSocket_WriteReply)
1573 IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_Listen,
1574 int32_t /* backlog */)
1575 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_TCPSocket_ListenReply)
1576 IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPSocket_Accept)
1577 IPC_MESSAGE_CONTROL3(PpapiPluginMsg_TCPSocket_AcceptReply,
1578 int /* pending_host_id*/,
1579 PP_NetAddress_Private /* local_addr */,
1580 PP_NetAddress_Private /* remote_addr */)
1581 IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPSocket_Close)
1582 IPC_MESSAGE_CONTROL2(PpapiHostMsg_TCPSocket_SetOption,
1583 PP_TCPSocket_Option /* name */,
1584 ppapi::SocketOptionData /* value */)
1585 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_TCPSocket_SetOptionReply)
1587 // TCP Server Socket -----------------------------------------------------------
1588 // Creates a PPB_TCPServerSocket_Private resource.
1589 IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPServerSocket_CreatePrivate)
1591 IPC_MESSAGE_CONTROL2(PpapiHostMsg_TCPServerSocket_Listen,
1592 PP_NetAddress_Private /* addr */,
1593 int32_t /* backlog */)
1594 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TCPServerSocket_ListenReply,
1595 PP_NetAddress_Private /* local_addr */)
1596 IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPServerSocket_Accept)
1597 IPC_MESSAGE_CONTROL3(PpapiPluginMsg_TCPServerSocket_AcceptReply,
1598 int /* pending_resource_id */,
1599 PP_NetAddress_Private /* local_addr */,
1600 PP_NetAddress_Private /* remote_addr */)
1601 IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPServerSocket_StopListening)
1603 // UDP Socket ------------------------------------------------------------------
1604 // Creates a PPB_UDPSocket resource.
1605 IPC_MESSAGE_CONTROL0(PpapiHostMsg_UDPSocket_Create)
1607 // Creates a PPB_UDPSocket_Private resource.
1608 IPC_MESSAGE_CONTROL0(PpapiHostMsg_UDPSocket_CreatePrivate)
1610 IPC_MESSAGE_CONTROL2(PpapiHostMsg_UDPSocket_SetOption,
1611 PP_UDPSocket_Option /* name */,
1612 ppapi::SocketOptionData /* value */)
1613 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_UDPSocket_SetOptionReply)
1614 IPC_MESSAGE_CONTROL1(PpapiHostMsg_UDPSocket_Bind,
1615 PP_NetAddress_Private /* net_addr */)
1616 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_UDPSocket_BindReply,
1617 PP_NetAddress_Private /* bound_addr */)
1618 IPC_MESSAGE_CONTROL1(PpapiHostMsg_UDPSocket_RecvFrom,
1619 int32_t /* num_bytes */)
1620 IPC_MESSAGE_CONTROL2(PpapiPluginMsg_UDPSocket_RecvFromReply,
1621 std::string /* data */,
1622 PP_NetAddress_Private /* remote_addr */)
1623 IPC_MESSAGE_CONTROL2(PpapiHostMsg_UDPSocket_SendTo,
1624 std::string /* data */,
1625 PP_NetAddress_Private /* net_addr */)
1626 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_UDPSocket_SendToReply,
1627 int32_t /* bytes_written */)
1628 IPC_MESSAGE_CONTROL0(PpapiHostMsg_UDPSocket_Close)
1630 // URLLoader ------------------------------------------------------------------
1632 IPC_MESSAGE_CONTROL0(PpapiHostMsg_URLLoader_Create)
1634 // These messages correspond to PPAPI calls and all should get a
1635 // CallbackComplete message.
1636 IPC_MESSAGE_CONTROL1(PpapiHostMsg_URLLoader_Open,
1637 ppapi::URLRequestInfoData /* request_data */)
1639 // The plugin can tell the host to defer a load to hold off on sending more
1640 // data because the buffer in the plugin is full. When defers_loading is set to
1641 // false, data streaming will resume.
1643 // When auditing redirects (no auto follow) the load will be automatically
1644 // deferred each time we get a redirect. The plugin will reset this to false
1645 // by sending this message when it wants to continue following the redirect.
1647 // When streaming data, the host may still send more data after this call (for
1648 // example, it could already be in-flight at the time of this request).
1649 IPC_MESSAGE_CONTROL1(PpapiHostMsg_URLLoader_SetDeferLoading,
1650 bool /* defers_loading */)
1652 // Closes the URLLoader. There is no reply.
1653 IPC_MESSAGE_CONTROL0(PpapiHostMsg_URLLoader_Close)
1655 // Requests that cross-site restrictions be ignored. The plugin must have
1656 // the private permission set. Otherwise this message will be ignored by the
1657 // renderer. There is no reply.
1658 IPC_MESSAGE_CONTROL0(PpapiHostMsg_URLLoader_GrantUniversalAccess)
1660 // Push notification that a response is available.
1661 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_URLLoader_ReceivedResponse,
1662 ppapi::URLResponseInfoData /* response */)
1664 // Push notification with load data from the renderer. It is a custom generated
1665 // message with the response data (array of bytes stored via WriteData)
1666 // appended.
1667 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_URLLoader_SendData)
1669 // Push notification indicating that all data has been sent, either via
1670 // SendData or by streaming it to a file. Note that since this is a push
1671 // notification, we don't use the result field of the ResourceMessageReply.
1672 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_URLLoader_FinishedLoading,
1673 int32_t /* result */)
1675 // Push notification from the renderer to the plugin to tell it about download
1676 // and upload progress. This will only be sent if the plugin has requested
1677 // progress updates, and only the fields requested by the plugin will be
1678 // valid.
1679 IPC_MESSAGE_CONTROL4(PpapiPluginMsg_URLLoader_UpdateProgress,
1680 int64_t /* bytes_sent */,
1681 int64_t /* total_bytes_to_be_sent */,
1682 int64_t /* bytes_received */,
1683 int64_t /* total_bytes_to_be_received */)
1685 // Shared memory ---------------------------------------------------------------
1687 // Creates shared memory on the host side, returning a handle to the shared
1688 // memory on the plugin and keeping the memory mapped in on the host.
1689 // We return a "host handle_id" that can be mapped back to the
1690 // handle on the host side by PpapiGlobals::UntrackSharedMemoryHandle().
1691 IPC_SYNC_MESSAGE_CONTROL2_2(PpapiHostMsg_SharedMemory_CreateSharedMemory,
1692 PP_Instance /* instance */,
1693 uint32_t /* size */,
1694 int /* host_handle_id */,
1695 ppapi::proxy::SerializedHandle /* plugin_handle */)
1697 // MediaStream -----------------------------------------------------------------
1699 // VideoDestination Private.
1700 IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoDestination_Create)
1701 IPC_MESSAGE_CONTROL1(PpapiHostMsg_VideoDestination_Open,
1702 std::string /* stream_url */)
1703 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_VideoDestination_OpenReply)
1704 IPC_MESSAGE_CONTROL2(PpapiHostMsg_VideoDestination_PutFrame,
1705 ppapi::HostResource /* image_data */,
1706 PP_TimeTicks /* timestamp */)
1707 IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoDestination_Close)
1709 // VideoSource Private.
1710 IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoSource_Create)
1711 IPC_MESSAGE_CONTROL1(PpapiHostMsg_VideoSource_Open,
1712 std::string /* stream_url */)
1713 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_VideoSource_OpenReply)
1714 IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoSource_GetFrame)
1715 IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VideoSource_GetFrameReply,
1716 ppapi::HostResource /* resource_id */,
1717 PP_ImageDataDesc /* image_data_desc */,
1718 PP_TimeTicks /* timestamp */)
1719 IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoSource_Close)
1721 // WebSocket -------------------------------------------------------------------
1723 IPC_MESSAGE_CONTROL0(PpapiHostMsg_WebSocket_Create)
1725 // Establishes the connection to a server. This message requires
1726 // WebSocket_ConnectReply as a reply message.
1727 IPC_MESSAGE_CONTROL2(PpapiHostMsg_WebSocket_Connect,
1728 std::string /* url */,
1729 std::vector<std::string> /* protocols */)
1731 // Closes established connection with graceful closing handshake. This message
1732 // requires WebSocket_CloseReply as a reply message.
1733 IPC_MESSAGE_CONTROL2(PpapiHostMsg_WebSocket_Close,
1734 int32_t /* code */,
1735 std::string /* reason */)
1737 // Sends a text frame to the server. No reply is defined.
1738 IPC_MESSAGE_CONTROL1(PpapiHostMsg_WebSocket_SendText,
1739 std::string /* message */)
1741 // Sends a binary frame to the server. No reply is defined.
1742 IPC_MESSAGE_CONTROL1(PpapiHostMsg_WebSocket_SendBinary,
1743 std::vector<uint8_t> /* message */)
1745 // Fails the connection. This message invokes RFC6455 defined
1746 // _Fail the WebSocket Connection_ operation. No reply is defined.
1747 IPC_MESSAGE_CONTROL1(PpapiHostMsg_WebSocket_Fail,
1748 std::string /* message */)
1750 // This message is a reply to WebSocket_Connect. If the |url| and |protocols|
1751 // are invalid, WebSocket_ConnectReply is issued immediately and it contains
1752 // proper error code in its result. Otherwise, WebSocket_ConnectReply is sent
1753 // with valid |url|, |protocol|, and result PP_OK. |protocol| is not a passed
1754 // |protocols|, but a result of opening handshake negotiation. If the
1755 // connection can not be established successfully, WebSocket_ConnectReply is
1756 // not issued, but WebSocket_ClosedReply is sent instead.
1757 IPC_MESSAGE_CONTROL2(PpapiPluginMsg_WebSocket_ConnectReply,
1758 std::string /* url */,
1759 std::string /* protocol */)
1761 // This message is a reply to WebSocket_Close. If the operation fails,
1762 // WebSocket_CloseReply is issued immediately and it contains PP_ERROR_FAILED.
1763 // Otherwise, CloseReply will be issued after the closing handshake is
1764 // finished. All arguments will be valid iff the result is PP_OK and it means
1765 // that the client initiated closing handshake is finished gracefully.
1766 IPC_MESSAGE_CONTROL4(PpapiPluginMsg_WebSocket_CloseReply,
1767 uint64_t /* buffered_amount */,
1768 bool /* was_clean */,
1769 uint16_t /* code */,
1770 std::string /* reason */)
1772 // Unsolicited reply message to transmit a receiving text frame.
1773 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_ReceiveTextReply,
1774 std::string /* message */)
1776 // Unsolicited reply message to transmit a receiving binary frame.
1777 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_ReceiveBinaryReply,
1778 std::vector<uint8_t> /* message */)
1780 // Unsolicited reply message to notify a error on underlying network connetion.
1781 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_WebSocket_ErrorReply)
1783 // Unsolicited reply message to update the buffered amount value.
1784 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_BufferedAmountReply,
1785 uint64_t /* buffered_amount */)
1787 // Unsolicited reply message to update |state| because of incoming external
1788 // events, e.g., protocol error, or unexpected network closure.
1789 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_StateReply,
1790 int32_t /* state */)
1792 // Unsolicited reply message to notify that the connection is closed without
1793 // any WebSocket_Close request. Server initiated closing handshake or
1794 // unexpected network errors will invoke this message.
1795 IPC_MESSAGE_CONTROL4(PpapiPluginMsg_WebSocket_ClosedReply,
1796 uint64_t /* buffered_amount */,
1797 bool /* was_clean */,
1798 uint16_t /* code */,
1799 std::string /* reason */)
1801 // OutputProtection -----------------------------------------------------------
1803 IPC_MESSAGE_CONTROL0(PpapiHostMsg_OutputProtection_Create)
1804 IPC_MESSAGE_CONTROL1(PpapiHostMsg_OutputProtection_EnableProtection,
1805 uint32_t /* desired_method_mask */)
1806 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_OutputProtection_EnableProtectionReply)
1807 IPC_MESSAGE_CONTROL0(PpapiHostMsg_OutputProtection_QueryStatus)
1808 IPC_MESSAGE_CONTROL2(PpapiPluginMsg_OutputProtection_QueryStatusReply,
1809 uint32_t /* link_mask */,
1810 uint32_t /* protection_mask */)
1812 #if !defined(OS_NACL) && !defined(NACL_WIN64)
1814 // Audio input.
1815 IPC_MESSAGE_CONTROL0(PpapiHostMsg_AudioInput_Create)
1816 IPC_MESSAGE_CONTROL3(PpapiHostMsg_AudioInput_Open,
1817 std::string /* device_id */,
1818 PP_AudioSampleRate /* sample_rate */,
1819 uint32_t /* sample_frame_count */)
1820 // Reply to an Open call. This supplies a socket handle and a shared memory
1821 // handle. Both handles are passed in the ReplyParams struct.
1822 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_AudioInput_OpenReply)
1823 IPC_MESSAGE_CONTROL1(PpapiHostMsg_AudioInput_StartOrStop, bool /* capture */)
1824 IPC_MESSAGE_CONTROL0(PpapiHostMsg_AudioInput_Close)
1826 // BrowserFont -----------------------------------------------------------------
1828 IPC_MESSAGE_CONTROL0(PpapiHostMsg_BrowserFontSingleton_Create)
1830 // Requests that the browser reply with the list of font families via
1831 // PpapiPluginMsg_BrowserFontSingleton_GetFontFamiliesReply.
1832 IPC_MESSAGE_CONTROL0(PpapiHostMsg_BrowserFontSingleton_GetFontFamilies)
1834 // Reply to PpapiHostMsg_BrowserFontSingleton_GetFontFamilies with the font
1835 // family list. The |families| result is encoded by separating each family name
1836 // by a null character.
1837 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_BrowserFontSingleton_GetFontFamiliesReply,
1838 std::string /* families */)
1840 // Flash -----------------------------------------------------------------------
1842 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Flash_Create)
1844 // Message to notify the browser to register an update in system activity.
1845 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Flash_UpdateActivity)
1847 // Query the browser for the proxy server to use for the given URL.
1848 IPC_MESSAGE_CONTROL1(PpapiHostMsg_Flash_GetProxyForURL, std::string /* url */)
1849 // Reply message for GetProxyForURL containing the proxy server.
1850 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_Flash_GetProxyForURLReply,
1851 std::string /* proxy */)
1853 // Queries the browser for the local time zone offset for a given time.
1854 IPC_MESSAGE_CONTROL1(PpapiHostMsg_Flash_GetLocalTimeZoneOffset,
1855 base::Time /* time */)
1856 // Reply to GetLocalTimeZoneOffset containing the time zone offset as a double.
1857 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_Flash_GetLocalTimeZoneOffsetReply,
1858 double /* offset */)
1860 // Query the browser for the restrictions on storing Flash LSOs.
1861 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Flash_GetLocalDataRestrictions)
1862 // Reply message for GetLocalDataRestrictions containing the restrictions to
1863 // use. These are PP_FlashLSORestrictions cast to an int32_t.
1864 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_Flash_GetLocalDataRestrictionsReply,
1865 int32_t /* restrictions */)
1867 // Notifies the renderer whether the Flash instance is in windowed mode. No
1868 // reply is sent.
1869 IPC_MESSAGE_CONTROL1(PpapiHostMsg_Flash_SetInstanceAlwaysOnTop,
1870 bool /* on_top */)
1872 // Notifies the renderer to draw text to the given PP_ImageData resource. All
1873 // parmeters for drawing (including the resource to draw to) are contianed in
1874 // the PPBFlash_DrawGlyphs_Params structure. An error code is sent in a reply
1875 // message indicating success.
1876 IPC_MESSAGE_CONTROL1(PpapiHostMsg_Flash_DrawGlyphs,
1877 ppapi::proxy::PPBFlash_DrawGlyphs_Params /* params */)
1879 // Notifies the renderer to navigate to the given URL contained in the
1880 // URLRequestInfoData. An error code is sent in a reply message indicating
1881 // success.
1882 IPC_MESSAGE_CONTROL3(PpapiHostMsg_Flash_Navigate,
1883 ppapi::URLRequestInfoData /* data */,
1884 std::string /* target */,
1885 bool /* from_user_action */)
1887 // Queries the renderer on whether the plugin instance is the topmost element
1888 // in the area of the instance specified by the given PP_Rect. PP_OK is sent as
1889 // the error code in a reply message if the rect is topmost otherwise
1890 // PP_ERROR_FAILED is sent.
1891 IPC_MESSAGE_CONTROL1(PpapiHostMsg_Flash_IsRectTopmost,
1892 PP_Rect /* rect */)
1894 // Notifies the renderer to invoke printing for the given plugin instance. No
1895 // reply is sent.
1896 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Flash_InvokePrinting)
1898 // DeviceEnumeration -----------------------------------------------------------
1899 // Device enumeration messages used by audio input and video capture.
1900 IPC_MESSAGE_CONTROL0(PpapiHostMsg_DeviceEnumeration_EnumerateDevices)
1901 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_DeviceEnumeration_EnumerateDevicesReply,
1902 std::vector<ppapi::DeviceRefData> /* devices */)
1903 IPC_MESSAGE_CONTROL1(PpapiHostMsg_DeviceEnumeration_MonitorDeviceChange,
1904 uint32_t /* callback_id */)
1905 IPC_MESSAGE_CONTROL0(PpapiHostMsg_DeviceEnumeration_StopMonitoringDeviceChange)
1906 IPC_MESSAGE_CONTROL2(PpapiPluginMsg_DeviceEnumeration_NotifyDeviceChange,
1907 uint32_t /* callback_id */,
1908 std::vector<ppapi::DeviceRefData> /* devices */)
1910 // Flash clipboard.
1911 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashClipboard_Create)
1912 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashClipboard_RegisterCustomFormat,
1913 std::string /* format_name */)
1914 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashClipboard_RegisterCustomFormatReply,
1915 uint32_t /* format */)
1916 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashClipboard_IsFormatAvailable,
1917 uint32_t /* clipboard_type */,
1918 uint32_t /* format */)
1919 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashClipboard_ReadData,
1920 uint32_t /* clipboard_type */,
1921 uint32_t /* format */)
1922 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashClipboard_ReadDataReply,
1923 std::string /* result */)
1924 IPC_MESSAGE_CONTROL3(PpapiHostMsg_FlashClipboard_WriteData,
1925 uint32_t /* clipboard_type */,
1926 std::vector<uint32_t> /* formats */,
1927 std::vector<std::string> /* data */)
1928 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashClipboard_GetSequenceNumber,
1929 uint32_t /* clipboard_type */)
1930 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashClipboard_GetSequenceNumberReply,
1931 uint64_t /* sequence_number */)
1933 // Flash DRM.
1934 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashDRM_Create)
1936 // Requests the device ID.
1937 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashDRM_GetDeviceID)
1938 // Reply for GetDeviceID which includes the device ID as a string.
1939 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashDRM_GetDeviceIDReply,
1940 std::string /* id */)
1942 // Requests the HMONITOR corresponding to the monitor on which the instance is
1943 // displayed.
1944 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashDRM_GetHmonitor)
1945 // Reply message for GetHmonitor which contains the HMONITOR as an int64_t.
1946 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashDRM_GetHmonitorReply,
1947 int64_t /* hmonitor */)
1949 // Requests the voucher file which is used to verify the integrity of the Flash
1950 // module. A PPB_FileRef resource will be created.
1951 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashDRM_GetVoucherFile)
1952 // Reply message for GetVoucherFile which contains the CreateInfo for a
1953 // PPB_FileRef which points to the voucher file.
1954 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashDRM_GetVoucherFileReply,
1955 ppapi::FileRefCreateInfo /* file_info */)
1957 // Requests a value indicating whether the monitor on which the instance is
1958 // displayed is external.
1959 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashDRM_MonitorIsExternal)
1960 // Reply message for MonitorIsExternal which contains the value indicating if
1961 // the monitor is external.
1962 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashDRM_MonitorIsExternalReply,
1963 PP_Bool /* is_external */)
1965 // Flash file.
1966 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashFile_Create)
1967 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashFile_OpenFile,
1968 ppapi::PepperFilePath /* path */,
1969 int /* pp_open_flags */)
1970 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashFile_RenameFile,
1971 ppapi::PepperFilePath /* from_path */,
1972 ppapi::PepperFilePath /* to_path */)
1973 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashFile_DeleteFileOrDir,
1974 ppapi::PepperFilePath /* path */,
1975 bool /* recursive */)
1976 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashFile_CreateDir,
1977 ppapi::PepperFilePath /* path */)
1978 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashFile_QueryFile,
1979 ppapi::PepperFilePath /* path */)
1980 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashFile_QueryFileReply,
1981 base::File::Info /* file_info */)
1982 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashFile_GetDirContents,
1983 ppapi::PepperFilePath /* path */)
1984 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashFile_GetDirContentsReply,
1985 ppapi::DirContents /* entries */)
1986 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashFile_CreateTemporaryFile)
1988 // Flash font file.
1989 IPC_MESSAGE_CONTROL2(PpapiHostMsg_FlashFontFile_Create,
1990 ppapi::proxy::SerializedFontDescription /* description */,
1991 PP_PrivateFontCharset /* charset */)
1992 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashFontFile_GetFontTable,
1993 uint32_t /* table */)
1994 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashFontFile_GetFontTableReply,
1995 std::string /* output */)
1997 // Flash fullscreen.
1998 IPC_MESSAGE_CONTROL0(PpapiHostMsg_FlashFullscreen_Create)
1999 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashFullscreen_SetFullscreen,
2000 bool /* fullscreen */)
2002 // FlashMenu.
2004 // Creates the flash menu with the given data.
2005 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashMenu_Create,
2006 ppapi::proxy::SerializedFlashMenu /* menu_data */)
2008 // Shows the menu at the given location relative to the plugin instance.
2009 IPC_MESSAGE_CONTROL1(PpapiHostMsg_FlashMenu_Show,
2010 PP_Point /* location */)
2012 // Reply to a show command. If the resource reply is PP_OK, the selected_id
2013 // will be the menu item ID chosen by the user.
2014 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FlashMenu_ShowReply,
2015 int32_t /* selected_id */)
2017 // PPB_Flash_MessageLoop.
2018 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFlashMessageLoop_Create,
2019 PP_Instance /* instance */,
2020 ppapi::HostResource /* result */)
2021 IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFlashMessageLoop_Run,
2022 ppapi::HostResource /* flash_message_loop */,
2023 int32_t /* result */)
2024 IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBFlashMessageLoop_Quit,
2025 ppapi::HostResource /* flash_message_loop */)
2027 // PDF ------------------------------------------------------------------------
2029 // Creates the PDF resource.
2030 IPC_MESSAGE_CONTROL0(PpapiHostMsg_PDF_Create)
2032 // Requests the localized string for the given ID.
2033 IPC_MESSAGE_CONTROL1(PpapiHostMsg_PDF_GetLocalizedString,
2034 PP_ResourceString /* string_id */)
2035 // Reply for PpapiHostMsg_PDF_GetLocalizedString containing the localized
2036 // string.
2037 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_PDF_GetLocalizedStringReply,
2038 std::string /* localized_string*/)
2040 // Notifies the renderer that the PDF started loading.
2041 IPC_MESSAGE_CONTROL0(PpapiHostMsg_PDF_DidStartLoading)
2043 // Notifies the renderer that the PDF stopped loading.
2044 IPC_MESSAGE_CONTROL0(PpapiHostMsg_PDF_DidStopLoading)
2046 // Sets any restrictions on the PDF content.
2047 IPC_MESSAGE_CONTROL1(PpapiHostMsg_PDF_SetContentRestriction,
2048 int /* restrictions */)
2050 // Requests that the specified action be recorded with UMA.
2051 IPC_MESSAGE_CONTROL1(PpapiHostMsg_PDF_UserMetricsRecordAction,
2052 std::string /* action */)
2054 // Notifies the renderer that the current PDF uses an unsupported feature.
2055 IPC_MESSAGE_CONTROL0(PpapiHostMsg_PDF_HasUnsupportedFeature)
2057 // Notifies the renderer to print the current PDF.
2058 IPC_MESSAGE_CONTROL0(PpapiHostMsg_PDF_Print)
2060 // Notifies the renderer to save the current PDF.
2061 IPC_MESSAGE_CONTROL0(PpapiHostMsg_PDF_SaveAs)
2063 // Requests a resource image for the plugin at a particular scale.
2064 IPC_MESSAGE_CONTROL2(PpapiHostMsg_PDF_GetResourceImage,
2065 PP_ResourceImage /* image_id */,
2066 float /* scale */)
2068 // Reply for PpapiHostMsg_PDF_GetResourceImage containing the host resource id
2069 // of the image and a PP_ImageDataDesc which describes the image. Also carries
2070 // a shared memory handle pointing to the memory containg the image.
2071 IPC_MESSAGE_CONTROL2(PpapiPluginMsg_PDF_GetResourceImageReply,
2072 ppapi::HostResource /* resource_id */,
2073 PP_ImageDataDesc /* image_data_desc */)
2075 // Called by the plugin when its selection changes.
2076 IPC_MESSAGE_CONTROL1(PpapiHostMsg_PDF_SetSelectedText,
2077 base::string16 /* selected_text */)
2079 // Called by the plugin to set the link under the cursor.
2080 IPC_MESSAGE_CONTROL1(PpapiHostMsg_PDF_SetLinkUnderCursor,
2081 std::string /* url */)
2083 // VideoCapture_Dev, plugin -> host
2084 IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_Create)
2085 IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_StartCapture)
2086 IPC_MESSAGE_CONTROL1(PpapiHostMsg_VideoCapture_ReuseBuffer,
2087 uint32_t /* buffer */)
2088 IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_StopCapture)
2089 IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_Close)
2091 // VideoCapture_Dev, plugin -> host -> plugin
2092 IPC_MESSAGE_CONTROL3(PpapiHostMsg_VideoCapture_Open,
2093 std::string /* device_id */,
2094 PP_VideoCaptureDeviceInfo_Dev /* requested_info */,
2095 uint32_t /* buffer_count */)
2096 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_VideoCapture_OpenReply)
2098 // VideoCapture_Dev, host -> plugin
2099 IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VideoCapture_OnDeviceInfo,
2100 PP_VideoCaptureDeviceInfo_Dev /* info */,
2101 std::vector<ppapi::HostResource> /* buffers */,
2102 uint32_t /* buffer_size */)
2103 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoCapture_OnStatus,
2104 uint32_t /* status */)
2105 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoCapture_OnError,
2106 uint32_t /* error */)
2107 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoCapture_OnBufferReady,
2108 uint32_t /* buffer */)
2110 // Talk ------------------------------------------------------------------------
2112 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Talk_Create)
2113 IPC_MESSAGE_CONTROL1(PpapiHostMsg_Talk_RequestPermission,
2114 PP_TalkPermission /* permission */)
2115 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Talk_RequestPermissionReply)
2116 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Talk_StartRemoting)
2117 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Talk_StartRemotingReply)
2118 IPC_MESSAGE_CONTROL0(PpapiHostMsg_Talk_StopRemoting)
2119 IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Talk_StopRemotingReply)
2120 IPC_MESSAGE_CONTROL1(PpapiPluginMsg_Talk_NotifyEvent, PP_TalkEvent /* event */)
2122 #endif // !defined(OS_NACL) && !defined(NACL_WIN64)