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