blob: 270af8434ecedcf28024e223e5d0c12bca8cf33c [file] [log] [blame]
[email protected]631179b2011-03-14 22:26:201// Copyright (c) 2011 The Chromium Authors. All rights reserved.
[email protected]c2932f5e2010-11-03 03:22:332// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
[email protected]631179b2011-03-14 22:26:205// Multiply-included message header, no traditional include guard.
[email protected]c2932f5e2010-11-03 03:22:336#include <string>
7#include <vector>
8
9#include "base/basictypes.h"
[email protected]631179b2011-03-14 22:26:2010#include "base/file_path.h"
[email protected]5d84d012010-12-02 17:17:2111#include "base/process.h"
12#include "base/shared_memory.h"
[email protected]19d2b012010-11-08 16:32:1813#include "base/string16.h"
[email protected]5d84d012010-12-02 17:17:2114#include "base/sync_socket.h"
[email protected]631179b2011-03-14 22:26:2015#include "gpu/command_buffer/common/command_buffer.h"
16#include "gpu/ipc/gpu_command_buffer_traits.h"
17#include "ipc/ipc_channel_handle.h"
18#include "ipc/ipc_message_macros.h"
[email protected]c2932f5e2010-11-03 03:22:3319#include "ipc/ipc_message_utils.h"
[email protected]5d84d012010-12-02 17:17:2120#include "ipc/ipc_platform_file.h"
[email protected]631179b2011-03-14 22:26:2021#include "ppapi/c/dev/pp_file_info_dev.h"
[email protected]19d2b012010-11-08 16:32:1822#include "ppapi/c/pp_bool.h"
[email protected]c2932f5e2010-11-03 03:22:3323#include "ppapi/c/pp_instance.h"
24#include "ppapi/c/pp_module.h"
25#include "ppapi/c/pp_resource.h"
26#include "ppapi/proxy/ppapi_param_traits.h"
[email protected]7358d572011-02-15 18:44:4027#include "ppapi/proxy/serialized_flash_menu.h"
[email protected]fb35dcf2010-11-14 17:08:0028#include "ppapi/proxy/serialized_structs.h"
[email protected]19d2b012010-11-08 16:32:1829
[email protected]631179b2011-03-14 22:26:2030#define IPC_MESSAGE_START PpapiMsgStart
[email protected]c2932f5e2010-11-03 03:22:3331
[email protected]eb415bf0e2011-04-14 02:45:4232// These are from the browser to the plugin.
[email protected]631179b2011-03-14 22:26:2033// Loads the given plugin.
34IPC_MESSAGE_CONTROL1(PpapiMsg_LoadPlugin, FilePath /* path */)
35
36// Creates a channel to talk to a renderer. The plugin will respond with
37// PpapiHostMsg_ChannelCreated.
38IPC_MESSAGE_CONTROL2(PpapiMsg_CreateChannel,
39 base::ProcessHandle /* host_process_handle */,
[email protected]e503a122011-03-17 18:20:5240 int /* renderer_id */)
[email protected]631179b2011-03-14 22:26:2041
42// Each plugin may be referenced by multiple renderers. We need the instance
43// IDs to be unique within a plugin, despite coming from different renderers,
44// and unique within a renderer, despite going to different plugins. This means
45// that neither the renderer nor the plugin can generate instance IDs without
46// consulting the other.
47//
48// We resolve this by having the renderer generate a unique instance ID inside
49// its process. It then asks the plugin to reserve that ID by sending this sync
50// message. If the plugin has not yet seen this ID, it will remember it as used
51// (to prevent a race condition if another renderer tries to then use the same
52// instance), and set usable as true.
53//
54// If the plugin has already seen the instance ID, it will set usable as false
55// and the renderer must retry a new instance ID.
56IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_ReserveInstanceId,
57 PP_Instance /* instance */,
58 bool /* usable */)
59
60// Sent in both directions to see if the other side supports the given
61// interface.
62IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_SupportsInterface,
63 std::string /* interface_name */,
64 bool /* result */)
65
66IPC_MESSAGE_CONTROL2(PpapiMsg_ExecuteCallback,
67 uint32 /* serialized_callback */,
68 int32 /* param */)
69
70// PPB_Audio.
71
72// Notifies the result of the audio stream create call. This is called in
73// both error cases and in the normal success case. These cases are
74// differentiated by the result code, which is one of the standard PPAPI
75// result codes.
76//
77// The handler of this message should always close all of the handles passed
78// in, since some could be valid even in the error case.
79IPC_MESSAGE_ROUTED5(PpapiMsg_PPBAudio_NotifyAudioStreamCreated,
80 pp::proxy::HostResource /* audio_id */,
81 int32_t /* result_code (will be != PP_OK on failure) */,
82 IPC::PlatformFileForTransit /* socket_handle */,
83 base::SharedMemoryHandle /* handle */,
84 int32_t /* length */)
85
86// PPB_FileChooser.
87IPC_MESSAGE_ROUTED3(
88 PpapiMsg_PPBFileChooser_ChooseComplete,
89 pp::proxy::HostResource /* chooser */,
90 int32_t /* result_code (will be != PP_OK on failure */,
91 std::vector<pp::proxy::PPBFileRef_CreateInfo> /* chosen_files */)
92
93// PPB_FileSystem.
94IPC_MESSAGE_ROUTED2(
95 PpapiMsg_PPBFileSystem_OpenComplete,
96 pp::proxy::HostResource /* filesystem */,
97 int32_t /* result */)
98
[email protected]7d3782f2011-03-29 19:16:2399// PPB_Flash_NetConnector.
100IPC_MESSAGE_ROUTED5(PpapiMsg_PPBFlashNetConnector_ConnectACK,
101 pp::proxy::HostResource /* net_connector */,
102 int32_t /* result */,
103 IPC::PlatformFileForTransit /* handle */,
104 std::string /* local_addr_as_string */,
105 std::string /* remote_addr_as_string */)
106
[email protected]631179b2011-03-14 22:26:20107// PPB_Graphics2D.
108IPC_MESSAGE_ROUTED2(PpapiMsg_PPBGraphics2D_FlushACK,
109 pp::proxy::HostResource /* graphics_2d */,
110 int32_t /* pp_error */)
111
112// PPB_Surface3D.
113IPC_MESSAGE_ROUTED2(PpapiMsg_PPBSurface3D_SwapBuffersACK,
114 pp::proxy::HostResource /* surface_3d */,
115 int32_t /* pp_error */)
116
117// PPP_Class.
118IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasProperty,
119 int64 /* ppp_class */,
120 int64 /* object */,
121 pp::proxy::SerializedVar /* property */,
122 pp::proxy::SerializedVar /* out_exception */,
123 bool /* result */)
124IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasMethod,
125 int64 /* ppp_class */,
126 int64 /* object */,
127 pp::proxy::SerializedVar /* method */,
128 pp::proxy::SerializedVar /* out_exception */,
129 bool /* result */)
130IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_GetProperty,
131 int64 /* ppp_class */,
132 int64 /* object */,
133 pp::proxy::SerializedVar /* property */,
134 pp::proxy::SerializedVar /* out_exception */,
135 pp::proxy::SerializedVar /* result */)
136IPC_SYNC_MESSAGE_ROUTED2_2(PpapiMsg_PPPClass_EnumerateProperties,
137 int64 /* ppp_class */,
138 int64 /* object */,
139 std::vector<pp::proxy::SerializedVar> /* props */,
140 pp::proxy::SerializedVar /* out_exception */)
141IPC_SYNC_MESSAGE_ROUTED4_1(PpapiMsg_PPPClass_SetProperty,
142 int64 /* ppp_class */,
143 int64 /* object */,
144 pp::proxy::SerializedVar /* name */,
145 pp::proxy::SerializedVar /* value */,
146 pp::proxy::SerializedVar /* out_exception */)
147IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPClass_RemoveProperty,
148 int64 /* ppp_class */,
149 int64 /* object */,
150 pp::proxy::SerializedVar /* property */,
151 pp::proxy::SerializedVar /* out_exception */)
152IPC_SYNC_MESSAGE_ROUTED4_2(PpapiMsg_PPPClass_Call,
153 int64 /* ppp_class */,
154 int64 /* object */,
155 pp::proxy::SerializedVar /* method_name */,
156 std::vector<pp::proxy::SerializedVar> /* args */,
157 pp::proxy::SerializedVar /* out_exception */,
158 pp::proxy::SerializedVar /* result */)
159IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_Construct,
160 int64 /* ppp_class */,
161 int64 /* object */,
162 std::vector<pp::proxy::SerializedVar> /* args */,
163 pp::proxy::SerializedVar /* out_exception */,
164 pp::proxy::SerializedVar /* result */)
165IPC_MESSAGE_ROUTED2(PpapiMsg_PPPClass_Deallocate,
166 int64 /* ppp_class */,
167 int64 /* object */)
168
[email protected]8c3bd1d2011-04-12 20:01:42169// PPP_Graphics3D_Dev.
170IPC_MESSAGE_ROUTED1(PpapiMsg_PPPGraphics3D_ContextLost,
171 PP_Instance /* instance */)
172
[email protected]631179b2011-03-14 22:26:20173// PPP_Instance.
174IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPInstance_DidCreate,
175 PP_Instance /* instance */,
176 std::vector<std::string> /* argn */,
177 std::vector<std::string> /* argv */,
178 PP_Bool /* result */)
[email protected]5e5d0b02011-04-04 19:32:07179IPC_SYNC_MESSAGE_ROUTED1_0(PpapiMsg_PPPInstance_DidDestroy,
180 PP_Instance /* instance */)
[email protected]994dd1e22011-04-01 18:21:05181IPC_MESSAGE_ROUTED3(PpapiMsg_PPPInstance_DidChangeView,
[email protected]631179b2011-03-14 22:26:20182 PP_Instance /* instance */,
183 PP_Rect /* position */,
184 PP_Rect /* clip */)
185IPC_MESSAGE_ROUTED2(PpapiMsg_PPPInstance_DidChangeFocus,
186 PP_Instance /* instance */,
187 PP_Bool /* has_focus */)
188IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPInstance_HandleInputEvent,
189 PP_Instance /* instance */,
190 PP_InputEvent /* event */,
191 PP_Bool /* result */)
192IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPInstance_HandleDocumentLoad,
193 PP_Instance /* instance */,
194 pp::proxy::HostResource /* url_loader */,
195 PP_Bool /* result */)
196IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPInstance_GetInstanceObject,
197 PP_Instance /* instance */,
198 pp::proxy::SerializedVar /* result */)
199
200
201// PPB_URLLoader
202// (Messages from browser to plugin to notify it of changes in state.)
203IPC_MESSAGE_ROUTED1(PpapiMsg_PPBURLLoader_UpdateProgress,
204 pp::proxy::PPBURLLoader_UpdateProgress_Params /* params */)
205IPC_MESSAGE_ROUTED3(PpapiMsg_PPBURLLoader_ReadResponseBody_Ack,
206 pp::proxy::HostResource /* loader */,
207 int32 /* result */,
208 std::string /* data */)
209
210// -----------------------------------------------------------------------------
211// These are from the plugin to the renderer.
212
213// Reply to PpapiMsg_CreateChannel. The handle will be NULL if the channel
214// could not be established. This could be because the IPC could not be created
215// for some weird reason, but more likely that the plugin failed to load or
216// initialize properly.
217IPC_MESSAGE_CONTROL1(PpapiHostMsg_ChannelCreated,
218 IPC::ChannelHandle /* handle */)
219
220// PPB_Audio.
221IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBAudio_Create,
222 PP_Instance /* instance_id */,
223 pp::proxy::HostResource /* config_id */,
224 pp::proxy::HostResource /* result */)
225IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBAudio_StartOrStop,
226 pp::proxy::HostResource /* audio_id */,
227 bool /* play */)
228
229// PPB_AudioConfig.
230IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBAudioConfig_Create,
231 PP_Instance /* instance */,
232 int32_t /* sample_rate */,
233 uint32_t /* sample_frame_count */,
234 pp::proxy::HostResource /* result */)
235IPC_SYNC_MESSAGE_ROUTED2_1(
236 PpapiHostMsg_PPBAudioConfig_RecommendSampleFrameCount,
237 int32_t /* sample_rate */,
238 uint32_t /* requested */,
239 uint32_t /* result */)
240
241// PPB_Buffer.
242IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBBuffer_Create,
243 PP_Instance /* instance */,
244 uint32_t /* size */,
245 pp::proxy::HostResource /* result_resource */,
246 int32_t /* result_shm_handle */)
247
248// PPB_Console.
249IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBConsole_Log,
250 PP_Instance /* instance */,
251 int /* log_level */,
252 pp::proxy::SerializedVar /* value */)
253IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBConsole_LogWithSource,
254 PP_Instance /* instance */,
255 int /* log_level */,
256 pp::proxy::SerializedVar /* soruce */,
257 pp::proxy::SerializedVar /* value */)
258
259// PPB_Context3D.
260IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBContext3D_Create,
261 PP_Instance /* instance */,
262 int32_t /* config */,
263 std::vector<int32_t> /* attrib_list */,
264 pp::proxy::HostResource /* result */)
265
266IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBContext3D_BindSurfaces,
267 pp::proxy::HostResource /* context */,
268 pp::proxy::HostResource /* draw */,
269 pp::proxy::HostResource /* read */,
270 int32_t /* result */)
271
272IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBContext3D_Initialize,
273 pp::proxy::HostResource /* context */,
274 int32 /* size */,
275 base::SharedMemoryHandle /* ring_buffer */)
276
277IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBContext3D_GetState,
278 pp::proxy::HostResource /* context */,
279 gpu::CommandBuffer::State /* state */)
280
281IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBContext3D_Flush,
282 pp::proxy::HostResource /* context */,
283 int32 /* put_offset */,
284 gpu::CommandBuffer::State /* state */)
285
286IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBContext3D_AsyncFlush,
287 pp::proxy::HostResource /* context */,
288 int32 /* put_offset */)
289
290IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBContext3D_CreateTransferBuffer,
291 pp::proxy::HostResource /* context */,
292 int32 /* size */,
293 int32 /* id */)
294
295IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBContext3D_DestroyTransferBuffer,
296 pp::proxy::HostResource /* context */,
297 int32 /* id */)
298
299IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBContext3D_GetTransferBuffer,
300 pp::proxy::HostResource /* context */,
301 int32 /* id */,
302 base::SharedMemoryHandle /* transfer_buffer */,
303 uint32 /* size */)
304
305// PPB_Core.
306IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBCore_AddRefResource,
307 pp::proxy::HostResource)
308IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBCore_ReleaseResource,
309 pp::proxy::HostResource)
310
311// PPB_CharSet.
[email protected]631179b2011-03-14 22:26:20312IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBCharSet_GetDefaultCharSet,
313 PP_Instance /* instance */,
314 pp::proxy::SerializedVar /* result */)
315
316// PPB_CursorControl.
317IPC_SYNC_MESSAGE_ROUTED4_1(PpapiHostMsg_PPBCursorControl_SetCursor,
318 PP_Instance /* instance */,
319 int32_t /* type */,
320 pp::proxy::HostResource /* custom_image */,
321 PP_Point /* hot_spot */,
322 PP_Bool /* result */)
323IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBCursorControl_LockCursor,
324 PP_Instance /* instance */,
325 PP_Bool /* result */)
326IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBCursorControl_UnlockCursor,
327 PP_Instance /* instance */,
328 PP_Bool /* result */)
329IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBCursorControl_HasCursorLock,
330 PP_Instance /* instance */,
331 PP_Bool /* result */)
332IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBCursorControl_CanLockCursor,
333 PP_Instance /* instance */,
334 PP_Bool /* result */)
335
336// PPB_FileChooser.
337IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBFileChooser_Create,
338 PP_Instance /* instance */,
339 int /* mode */,
340 std::string /* accept_mime_types */,
341 pp::proxy::HostResource /* result */)
342IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBFileChooser_Show,
343 pp::proxy::HostResource /* file_chooser */)
344
345
346// PPB_FileRef.
347IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFileRef_Create,
348 pp::proxy::HostResource /* file_system */,
349 std::string /* path */,
350 pp::proxy::PPBFileRef_CreateInfo /* result */)
351IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFileRef_GetParent,
352 pp::proxy::HostResource /* file_ref */,
353 pp::proxy::PPBFileRef_CreateInfo /* result */)
354IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBFileRef_MakeDirectory,
355 pp::proxy::HostResource /* file_ref */,
356 PP_Bool /* make_ancestors */,
[email protected]e503a122011-03-17 18:20:52357 uint32_t /* serialized_callback */)
[email protected]631179b2011-03-14 22:26:20358IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBFileRef_Touch,
359 pp::proxy::HostResource /* file_ref */,
360 PP_Time /* last_access */,
361 PP_Time /* last_modified */,
[email protected]e503a122011-03-17 18:20:52362 uint32_t /* serialized_callback */)
[email protected]631179b2011-03-14 22:26:20363IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBFileRef_Delete,
364 pp::proxy::HostResource /* file_ref */,
[email protected]e503a122011-03-17 18:20:52365 uint32_t /* serialized_callback */)
[email protected]631179b2011-03-14 22:26:20366IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBFileRef_Rename,
367 pp::proxy::HostResource /* file_ref */,
368 pp::proxy::HostResource /* new_file_ref */,
[email protected]e503a122011-03-17 18:20:52369 uint32_t /* serialized_callback */)
[email protected]631179b2011-03-14 22:26:20370
371// PPB_FileSystem.
372IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFileSystem_Create,
373 PP_Instance /* instance */,
374 int /* type */,
375 pp::proxy::HostResource /* result */)
376IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBFileSystem_Open,
377 pp::proxy::HostResource /* result */,
378 int64_t /* expected_size */)
379
380// PPB_Flash.
381IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBFlash_SetInstanceAlwaysOnTop,
382 PP_Instance /* instance */,
383 PP_Bool /* on_top */)
384// This has to be synchronous becuase the caller may want to composite on
385// top of the resulting text after the call is complete.
386IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFlash_DrawGlyphs,
387 pp::proxy::PPBFlash_DrawGlyphs_Params /* params */,
388 PP_Bool /* result */)
389IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFlash_GetProxyForURL,
390 PP_Instance /* instance */,
391 std::string /* url */,
392 pp::proxy::SerializedVar /* result */)
[email protected]181220ba2011-03-28 18:21:05393IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBFlash_Navigate,
394 pp::proxy::HostResource /* request_info */,
[email protected]631179b2011-03-14 22:26:20395 std::string /* target */,
[email protected]181220ba2011-03-28 18:21:05396 bool /* from_user_action */,
397 int32_t /* result */)
[email protected]631179b2011-03-14 22:26:20398IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBFlash_RunMessageLoop,
399 PP_Instance /* instance */)
400IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBFlash_QuitMessageLoop,
401 PP_Instance /* instance */)
402
403// PPB_Flash_Clipboard.
[email protected]606876c2011-03-24 17:13:38404IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBFlashClipboard_IsFormatAvailable,
405 PP_Instance /* instance */,
406 int /* clipboard_type */,
407 int /* format */,
408 bool /* result */)
[email protected]631179b2011-03-14 22:26:20409IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFlashClipboard_ReadPlainText,
410 PP_Instance /* instance */,
411 int /* clipboard_type */,
412 pp::proxy::SerializedVar /* result */)
413IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBFlashClipboard_WritePlainText,
414 PP_Instance /* instance */,
415 int /* clipboard_type */,
416 pp::proxy::SerializedVar /* text */)
417
418// PPB_Flash_File_FileRef.
419IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBFlashFile_FileRef_OpenFile,
420 pp::proxy::HostResource /* file_ref */,
421 int32_t /* mode */,
422 IPC::PlatformFileForTransit /* file_handle */,
423 int32_t /* result */)
424IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBFlashFile_FileRef_QueryFile,
425 pp::proxy::HostResource /* file_ref */,
426 PP_FileInfo_Dev /* info */,
427 int32_t /* result */)
428
429// PPB_Flash_File_ModuleLocal.
430IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBFlashFile_ModuleLocal_OpenFile,
431 PP_Instance /* instance */,
432 std::string /* path */,
433 int32_t /* mode */,
434 IPC::PlatformFileForTransit /* file_handle */,
435 int32_t /* result */)
436IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBFlashFile_ModuleLocal_RenameFile,
437 PP_Instance /* instance */,
438 std::string /* path_from */,
439 std::string /* path_to */,
440 int32_t /* result */)
441IPC_SYNC_MESSAGE_ROUTED3_1(
442 PpapiHostMsg_PPBFlashFile_ModuleLocal_DeleteFileOrDir,
443 PP_Instance /* instance */,
444 std::string /* path */,
445 PP_Bool /* recursive */,
446 int32_t /* result */)
447IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFlashFile_ModuleLocal_CreateDir,
448 PP_Instance /* instance */,
449 std::string /* path */,
450 int32_t /* result */)
451IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBFlashFile_ModuleLocal_QueryFile,
452 PP_Instance /* instance */,
453 std::string /* path */,
454 PP_FileInfo_Dev /* info */,
455 int32_t /* result */)
456IPC_SYNC_MESSAGE_ROUTED2_2(
457 PpapiHostMsg_PPBFlashFile_ModuleLocal_GetDirContents,
458 PP_Instance /* instance */,
459 std::string /* path */,
460 std::vector<pp::proxy::SerializedDirEntry> /* entries */,
461 int32_t /* result */)
462
463// PPB_Flash_Menu
464IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFlashMenu_Create,
465 PP_Instance /* instance */,
466 pp::proxy::SerializedFlashMenu /* menu_data */,
467 pp::proxy::HostResource /* result */)
[email protected]ea192e82011-04-11 19:16:02468IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBFlashMenu_Show,
469 pp::proxy::HostResource /* menu */,
470 PP_Point /* location */)
[email protected]631179b2011-03-14 22:26:20471IPC_MESSAGE_ROUTED3(PpapiMsg_PPBFlashMenu_ShowACK,
472 pp::proxy::HostResource /* menu */,
473 int32_t /* selected_id */,
474 int32_t /* result */)
475
[email protected]7d3782f2011-03-29 19:16:23476// PPB_Flash_NetConnector.
477IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFlashNetConnector_Create,
478 PP_Instance /* instance_id */,
479 pp::proxy::HostResource /* result */)
480IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBFlashNetConnector_ConnectTcp,
481 pp::proxy::HostResource /* connector */,
482 std::string /* host */,
483 uint16_t /* port */)
484IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBFlashNetConnector_ConnectTcpAddress,
485 pp::proxy::HostResource /* connector */,
486 std::string /* net_address_as_string */)
[email protected]631179b2011-03-14 22:26:20487
488// PPB_Font.
489IPC_SYNC_MESSAGE_ROUTED2_3(
490 PpapiHostMsg_PPBFont_Create,
491 PP_Instance /* instance */,
492 pp::proxy::SerializedFontDescription /* in_description */,
493 pp::proxy::HostResource /* result */,
494 pp::proxy::SerializedFontDescription /* out_description */,
495 std::string /* out_metrics */)
496IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFont_DrawTextAt,
497 pp::proxy::SerializedVar /* text */,
498 pp::proxy::PPBFont_DrawTextAt_Params /* params */,
499 PP_Bool /* result */)
500IPC_SYNC_MESSAGE_ROUTED4_1(PpapiHostMsg_PPBFont_MeasureText,
501 pp::proxy::HostResource /* font */,
502 pp::proxy::SerializedVar /* text */,
503 PP_Bool /* text_is_rtl */,
504 PP_Bool /* override_direction */,
505 int32_t /* result */)
506IPC_SYNC_MESSAGE_ROUTED5_1(PpapiHostMsg_PPBFont_CharacterOffsetForPixel,
507 pp::proxy::HostResource /* font */,
508 pp::proxy::SerializedVar /* text */,
509 PP_Bool /* text_is_rtl */,
510 PP_Bool /* override_direction */,
511 int32_t /* pixel_pos */,
512 uint32_t /* result */)
513IPC_SYNC_MESSAGE_ROUTED5_1(PpapiHostMsg_PPBFont_PixelOffsetForCharacter,
514 pp::proxy::HostResource /* font */,
515 pp::proxy::SerializedVar /* text */,
516 PP_Bool /* text_is_rtl */,
517 PP_Bool /* override_direction */,
518 uint32_t /* char_offset */,
519 int32_t /* result */)
520
521// PPB_Fullscreen.
522IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBFullscreen_IsFullscreen,
523 PP_Instance /* instance */,
524 PP_Bool /* result */)
525IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFullscreen_SetFullscreen,
526 PP_Instance /* instance */,
527 PP_Bool /* fullscreen */,
528 PP_Bool /* result */)
529IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBFullscreen_GetScreenSize,
530 PP_Instance /* instance */,
531 PP_Bool /* result */,
532 PP_Size /* size */)
533
534// PPB_Graphics2D.
535IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBGraphics2D_Create,
536 PP_Instance /* instance */,
537 PP_Size /* size */,
538 PP_Bool /* is_always_opaque */,
539 pp::proxy::HostResource /* result */)
540IPC_MESSAGE_ROUTED5(PpapiHostMsg_PPBGraphics2D_PaintImageData,
541 pp::proxy::HostResource /* graphics_2d */,
542 pp::proxy::HostResource /* image_data */,
543 PP_Point /* top_left */,
544 bool /* src_rect_specified */,
545 PP_Rect /* src_rect */)
546IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBGraphics2D_Scroll,
547 pp::proxy::HostResource /* graphics_2d */,
548 bool /* clip_specified */,
549 PP_Rect /* clip */,
550 PP_Point /* amount */)
551IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBGraphics2D_ReplaceContents,
552 pp::proxy::HostResource /* graphics_2d */,
553 pp::proxy::HostResource /* image_data */)
554IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBGraphics2D_Flush,
555 pp::proxy::HostResource /* graphics_2d */)
556
557// PPB_ImageData.
558IPC_SYNC_MESSAGE_ROUTED4_3(PpapiHostMsg_PPBImageData_Create,
559 PP_Instance /* instance */,
560 int32 /* format */,
561 PP_Size /* size */,
562 PP_Bool /* init_to_zero */,
563 pp::proxy::HostResource /* result_resource */,
564 std::string /* image_data_desc */,
565 pp::proxy::ImageHandle /* result */)
566
567// PPB_Instance.
568IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetWindowObject,
569 PP_Instance /* instance */,
570 pp::proxy::SerializedVar /* result */)
571IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetOwnerElementObject,
572 PP_Instance /* instance */,
573 pp::proxy::SerializedVar /* result */)
574IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_BindGraphics,
575 PP_Instance /* instance */,
576 pp::proxy::HostResource /* device */,
577 PP_Bool /* result */)
578IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_IsFullFrame,
579 PP_Instance /* instance */,
580 PP_Bool /* result */)
581IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBInstance_ExecuteScript,
582 PP_Instance /* instance */,
583 pp::proxy::SerializedVar /* script */,
584 pp::proxy::SerializedVar /* out_exception */,
585 pp::proxy::SerializedVar /* result */)
586
587IPC_SYNC_MESSAGE_ROUTED3_1(
588 PpapiHostMsg_PPBPDF_GetFontFileWithFallback,
589 PP_Instance /* instance */,
590 pp::proxy::SerializedFontDescription /* description */,
591 int32_t /* charset */,
592 pp::proxy::HostResource /* result */)
593IPC_SYNC_MESSAGE_ROUTED2_1(
594 PpapiHostMsg_PPBPDF_GetFontTableForPrivateFontFile,
595 pp::proxy::HostResource /* font_file */,
596 uint32_t /* table */,
597 std::string /* result */)
598
599// PPB_Surface3D.
600IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBSurface3D_Create,
601 PP_Instance /* instance */,
602 int32_t /* config */,
603 std::vector<int32_t> /* attrib_list */,
604 pp::proxy::HostResource /* result */)
605IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBSurface3D_SwapBuffers,
606 pp::proxy::HostResource /* surface_3d */)
607
608// PPB_Testing.
609IPC_SYNC_MESSAGE_ROUTED3_1(
610 PpapiHostMsg_PPBTesting_ReadImageData,
611 pp::proxy::HostResource /* device_context_2d */,
612 pp::proxy::HostResource /* image */,
613 PP_Point /* top_left */,
614 PP_Bool /* result */)
615IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBTesting_RunMessageLoop,
616 PP_Instance /* instance */)
617IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBTesting_QuitMessageLoop,
618 PP_Instance /* instance */)
619IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance,
620 PP_Instance /* instance */,
621 uint32 /* result */)
622
623// PPB_URLLoader.
624IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLLoader_Create,
625 PP_Instance /* instance */,
626 pp::proxy::HostResource /* result */)
627IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBURLLoader_Open,
628 pp::proxy::HostResource /* loader */,
629 pp::proxy::HostResource /*request_info */,
630 uint32_t /* serialized_callback */)
631IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBURLLoader_FollowRedirect,
632 pp::proxy::HostResource /* loader */,
633 uint32_t /* serialized_callback */)
634IPC_SYNC_MESSAGE_ROUTED1_1(
635 PpapiHostMsg_PPBURLLoader_GetResponseInfo,
636 pp::proxy::HostResource /* loader */,
637 pp::proxy::HostResource /* response_info_out */)
638IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBURLLoader_ReadResponseBody,
639 pp::proxy::HostResource /* loader */,
640 int32_t /* bytes_to_read */)
641IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBURLLoader_FinishStreamingToFile,
642 pp::proxy::HostResource /* loader */,
643 uint32_t /* serialized_callback */)
644IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBURLLoader_Close,
645 pp::proxy::HostResource /* loader */)
646
647// PPB_URLLoaderTrusted.
648IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBURLLoaderTrusted_GrantUniversalAccess,
649 pp::proxy::HostResource /* loader */)
650
651// PPB_URLRequestInfo.
652IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLRequestInfo_Create,
653 PP_Instance /* instance */,
654 pp::proxy::HostResource /* result */)
655IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBURLRequestInfo_SetProperty,
656 pp::proxy::HostResource /* request */,
657 int32_t /* property */,
658 pp::proxy::SerializedVar /* value */)
659IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBURLRequestInfo_AppendDataToBody,
660 pp::proxy::HostResource /* request */,
661 std::string /* data */)
662IPC_MESSAGE_ROUTED5(PpapiHostMsg_PPBURLRequestInfo_AppendFileToBody,
663 pp::proxy::HostResource /* request */,
664 pp::proxy::HostResource /* file_ref */,
665 int64_t /* start_offset */,
666 int64_t /* number_of_bytes */,
667 double /* expected_last_modified_time */)
668
669// PPB_URLResponseInfo.
670IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBURLResponseInfo_GetProperty,
671 pp::proxy::HostResource /* response */,
672 int32_t /* property */,
673 pp::proxy::SerializedVar /* result */)
674IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLResponseInfo_GetBodyAsFileRef,
675 pp::proxy::HostResource /* response */,
676 pp::proxy::PPBFileRef_CreateInfo /* result */)
677
[email protected]9ca245e2011-03-18 01:50:31678// PPB_URLUtil.
679IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBURLUtil_ResolveRelativeToDocument,
680 PP_Instance /* instance */,
681 pp::proxy::SerializedVar /* relative */,
682 pp::proxy::SerializedVar /* result */)
683IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBURLUtil_DocumentCanRequest,
684 PP_Instance /* instance */,
685 pp::proxy::SerializedVar /* relative */,
686 PP_Bool /* result */)
687IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBURLUtil_DocumentCanAccessDocument,
688 PP_Instance /* active */,
689 PP_Instance /* target */,
690 PP_Bool /* result */)
691IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLUtil_GetDocumentURL,
692 PP_Instance /* active */,
693 pp::proxy::SerializedVar /* result */)
[email protected]087ce742011-03-31 21:46:45694IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBURLUtil_GetPluginInstanceURL,
695 PP_Instance /* active */,
696 pp::proxy::SerializedVar /* result */)
[email protected]9ca245e2011-03-18 01:50:31697
[email protected]631179b2011-03-14 22:26:20698// PPB_Var.
699IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVar_AddRefObject,
700 int64 /* object_id */)
701IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVar_ReleaseObject,
702 int64 /* object_id */)
703IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBVar_ConvertType,
704 PP_Instance /* instance */,
705 pp::proxy::SerializedVar /* var */,
706 int /* new_type */,
707 pp::proxy::SerializedVar /* exception */,
708 pp::proxy::SerializedVar /* result */)
[email protected]631179b2011-03-14 22:26:20709IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_HasProperty,
710 pp::proxy::SerializedVar /* object */,
711 pp::proxy::SerializedVar /* property */,
712 pp::proxy::SerializedVar /* out_exception */,
713 PP_Bool /* result */)
714IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_HasMethodDeprecated,
715 pp::proxy::SerializedVar /* object */,
716 pp::proxy::SerializedVar /* method */,
717 pp::proxy::SerializedVar /* out_exception */,
718 PP_Bool /* result */)
719IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_GetProperty,
720 pp::proxy::SerializedVar /* object */,
721 pp::proxy::SerializedVar /* property */,
722 pp::proxy::SerializedVar /* out_exception */,
723 pp::proxy::SerializedVar /* result */)
724IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_DeleteProperty,
725 pp::proxy::SerializedVar /* object */,
726 pp::proxy::SerializedVar /* property */,
727 pp::proxy::SerializedVar /* out_exception */,
728 PP_Bool /* result */)
729IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBVar_EnumerateProperties,
730 pp::proxy::SerializedVar /* object */,
731 std::vector<pp::proxy::SerializedVar> /* props */,
732 pp::proxy::SerializedVar /* out_exception */)
733IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVar_SetPropertyDeprecated,
734 pp::proxy::SerializedVar /* object */,
735 pp::proxy::SerializedVar /* name */,
736 pp::proxy::SerializedVar /* value */,
737 pp::proxy::SerializedVar /* out_exception */)
[email protected]631179b2011-03-14 22:26:20738IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBVar_CallDeprecated,
739 pp::proxy::SerializedVar /* object */,
740 pp::proxy::SerializedVar /* method_name */,
741 std::vector<pp::proxy::SerializedVar> /* args */,
742 pp::proxy::SerializedVar /* out_exception */,
743 pp::proxy::SerializedVar /* result */)
744IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_Construct,
745 pp::proxy::SerializedVar /* object */,
746 std::vector<pp::proxy::SerializedVar> /* args */,
747 pp::proxy::SerializedVar /* out_exception */,
748 pp::proxy::SerializedVar /* result */)
749IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_IsInstanceOfDeprecated,
750 pp::proxy::SerializedVar /* var */,
751 int64 /* object_class */,
752 int64 /* object-data */,
753 PP_Bool /* result */)
754IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVar_CreateObjectDeprecated,
755 PP_Instance /* instance */,
756 int64 /* object_class */,
757 int64 /* object_data */,
758 pp::proxy::SerializedVar /* result */)