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