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