
This CL implements SetDefaultFramebufferSharedImage IPC on the command
buffer that allows callers to set SharedImage and associated params
like need of depth/stencil buffer and samples count to the default
framebuffer (fbo 0).
NaCL host side maintains pool of SharedImages that it uses with new
IPC to draw to the framebuffer.
Both sides are guarded by feature flag (kPPAPISharedImagesSwapChain) and
command line flag (kDisablePPAPISharedImagesSwapChain) that can veto
the feature flag. Extra command line is needed for enterprise policy.
Bug: 1342033
Change-Id: Iccf800d1bbe8dcd1f168272651ae32c27833c2ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4006326
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Joe Mason <joenotcharles@google.com>
Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
Reviewed-by: Derek Schuff <dschuff@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1078120}
1829 lines
86 KiB
C++
1829 lines
86 KiB
C++
// Copyright 2012 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef PPAPI_PROXY_PPAPI_MESSAGES_H_
|
|
#define PPAPI_PROXY_PPAPI_MESSAGES_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <map>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "base/sync_socket.h"
|
|
#include "build/build_config.h"
|
|
|
|
#ifdef WIN32
|
|
// base/sync_socket.h will define MemoryBarrier (a Win32 macro) that
|
|
// would clash with MemoryBarrier in base/atomicops.h if someone uses
|
|
// that together with this header.
|
|
#undef MemoryBarrier
|
|
#endif // WIN32
|
|
|
|
#include "base/files/file_path.h"
|
|
#include "base/process/process.h"
|
|
#include "build/build_config.h"
|
|
#include "gpu/command_buffer/common/command_buffer.h"
|
|
#include "gpu/command_buffer/common/command_buffer_id.h"
|
|
#include "gpu/command_buffer/common/mailbox.h"
|
|
#include "gpu/command_buffer/common/sync_token.h"
|
|
#include "gpu/ipc/common/gpu_command_buffer_traits.h"
|
|
#include "ipc/ipc_channel_handle.h"
|
|
#include "ipc/ipc_message_macros.h"
|
|
#include "ipc/ipc_message_start.h"
|
|
#include "ipc/ipc_message_utils.h"
|
|
#include "ipc/ipc_platform_file.h"
|
|
#include "ppapi/c/dev/pp_video_capture_dev.h"
|
|
#include "ppapi/c/dev/pp_video_dev.h"
|
|
#include "ppapi/c/dev/ppb_url_util_dev.h"
|
|
#include "ppapi/c/dev/ppp_printing_dev.h"
|
|
#include "ppapi/c/pp_bool.h"
|
|
#include "ppapi/c/pp_codecs.h"
|
|
#include "ppapi/c/pp_file_info.h"
|
|
#include "ppapi/c/pp_instance.h"
|
|
#include "ppapi/c/pp_module.h"
|
|
#include "ppapi/c/pp_point.h"
|
|
#include "ppapi/c/pp_rect.h"
|
|
#include "ppapi/c/pp_resource.h"
|
|
#include "ppapi/c/pp_size.h"
|
|
#include "ppapi/c/pp_time.h"
|
|
#include "ppapi/c/ppb_audio_config.h"
|
|
#include "ppapi/c/ppb_image_data.h"
|
|
#include "ppapi/c/ppb_tcp_socket.h"
|
|
#include "ppapi/c/ppb_text_input_controller.h"
|
|
#include "ppapi/c/ppb_udp_socket.h"
|
|
#include "ppapi/c/ppb_video_encoder.h"
|
|
#include "ppapi/c/private/pp_private_font_charset.h"
|
|
#include "ppapi/c/private/pp_video_capture_format.h"
|
|
#include "ppapi/c/private/ppb_host_resolver_private.h"
|
|
#include "ppapi/c/private/ppb_isolated_file_system_private.h"
|
|
#include "ppapi/c/private/ppb_net_address_private.h"
|
|
#include "ppapi/proxy/host_resolver_private_resource.h"
|
|
#include "ppapi/proxy/network_list_resource.h"
|
|
#include "ppapi/proxy/ppapi_param_traits.h"
|
|
#include "ppapi/proxy/ppapi_proxy_export.h"
|
|
#include "ppapi/proxy/resource_message_params.h"
|
|
#include "ppapi/proxy/serialized_handle.h"
|
|
#include "ppapi/proxy/serialized_structs.h"
|
|
#include "ppapi/proxy/serialized_var.h"
|
|
#include "ppapi/shared_impl/dir_contents.h"
|
|
#include "ppapi/shared_impl/file_growth.h"
|
|
#include "ppapi/shared_impl/file_path.h"
|
|
#include "ppapi/shared_impl/file_ref_create_info.h"
|
|
#include "ppapi/shared_impl/media_stream_audio_track_shared.h"
|
|
#include "ppapi/shared_impl/media_stream_video_track_shared.h"
|
|
#include "ppapi/shared_impl/ppapi_nacl_plugin_args.h"
|
|
#include "ppapi/shared_impl/ppapi_preferences.h"
|
|
#include "ppapi/shared_impl/ppb_device_ref_shared.h"
|
|
#include "ppapi/shared_impl/ppb_input_event_shared.h"
|
|
#include "ppapi/shared_impl/ppb_tcp_socket_shared.h"
|
|
#include "ppapi/shared_impl/ppb_view_shared.h"
|
|
#include "ppapi/shared_impl/private/ppb_x509_certificate_private_shared.h"
|
|
#include "ppapi/shared_impl/socket_option_data.h"
|
|
#include "ppapi/shared_impl/url_request_info_data.h"
|
|
#include "ppapi/shared_impl/url_response_info_data.h"
|
|
|
|
#undef IPC_MESSAGE_EXPORT
|
|
#define IPC_MESSAGE_EXPORT PPAPI_PROXY_EXPORT
|
|
|
|
#define IPC_MESSAGE_START PpapiMsgStart
|
|
|
|
IPC_ENUM_TRAITS_MAX_VALUE(ppapi::TCPSocketVersion,
|
|
ppapi::TCP_SOCKET_VERSION_1_1_OR_ABOVE)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_AudioSampleRate, PP_AUDIOSAMPLERATE_LAST)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_DeviceType_Dev, PP_DEVICETYPE_DEV_MAX)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_FileSystemType, PP_FILESYSTEMTYPE_ISOLATED)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_FileType, PP_FILETYPE_OTHER)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_ImageDataFormat, PP_IMAGEDATAFORMAT_LAST)
|
|
IPC_ENUM_TRAITS_MIN_MAX_VALUE(PP_InputEvent_MouseButton,
|
|
PP_INPUTEVENT_MOUSEBUTTON_FIRST,
|
|
PP_INPUTEVENT_MOUSEBUTTON_LAST)
|
|
IPC_ENUM_TRAITS_MIN_MAX_VALUE(PP_InputEvent_Type,
|
|
PP_INPUTEVENT_TYPE_FIRST,
|
|
PP_INPUTEVENT_TYPE_LAST)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_IsolatedFileSystemType_Private,
|
|
PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_CRX)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_NetAddressFamily_Private,
|
|
PP_NETADDRESSFAMILY_PRIVATE_IPV6)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_NetworkList_State, PP_NETWORKLIST_STATE_UP)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_NetworkList_Type, PP_NETWORKLIST_TYPE_CELLULAR)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_PrintOrientation_Dev,
|
|
PP_PRINTORIENTATION_ROTATED_LAST)
|
|
IPC_ENUM_TRAITS(PP_PrintOutputFormat_Dev) // Bitmask.
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_PrintScalingOption_Dev, PP_PRINTSCALINGOPTION_LAST)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_PrivateFontCharset, PP_PRIVATEFONTCHARSET_LAST)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_TCPSocket_Option,
|
|
PP_TCPSOCKET_OPTION_RECV_BUFFER_SIZE)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_TextInput_Type, PP_TEXTINPUT_TYPE_LAST)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_UDPSocket_Option,
|
|
PP_UDPSOCKET_OPTION_MULTICAST_TTL)
|
|
IPC_ENUM_TRAITS_MIN_MAX_VALUE(PP_VideoDecodeError_Dev,
|
|
PP_VIDEODECODERERROR_FIRST,
|
|
PP_VIDEODECODERERROR_LAST)
|
|
IPC_ENUM_TRAITS_MIN_MAX_VALUE(PP_VideoDecoder_Profile,
|
|
PP_VIDEODECODER_PROFILE_FIRST,
|
|
PP_VIDEODECODER_PROFILE_LAST)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_VideoFrame_Format, PP_VIDEOFRAME_FORMAT_LAST)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_HardwareAcceleration, PP_HARDWAREACCELERATION_LAST)
|
|
IPC_ENUM_TRAITS_MAX_VALUE(PP_VideoProfile, PP_VIDEOPROFILE_MAX)
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_Point)
|
|
IPC_STRUCT_TRAITS_MEMBER(x)
|
|
IPC_STRUCT_TRAITS_MEMBER(y)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_FloatPoint)
|
|
IPC_STRUCT_TRAITS_MEMBER(x)
|
|
IPC_STRUCT_TRAITS_MEMBER(y)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_Size)
|
|
IPC_STRUCT_TRAITS_MEMBER(height)
|
|
IPC_STRUCT_TRAITS_MEMBER(width)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_FloatSize)
|
|
IPC_STRUCT_TRAITS_MEMBER(height)
|
|
IPC_STRUCT_TRAITS_MEMBER(width)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_Rect)
|
|
IPC_STRUCT_TRAITS_MEMBER(point)
|
|
IPC_STRUCT_TRAITS_MEMBER(size)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_FloatRect)
|
|
IPC_STRUCT_TRAITS_MEMBER(point)
|
|
IPC_STRUCT_TRAITS_MEMBER(size)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_ImageDataDesc)
|
|
IPC_STRUCT_TRAITS_MEMBER(format)
|
|
IPC_STRUCT_TRAITS_MEMBER(size)
|
|
IPC_STRUCT_TRAITS_MEMBER(stride)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_PictureBuffer_Dev)
|
|
IPC_STRUCT_TRAITS_MEMBER(id)
|
|
IPC_STRUCT_TRAITS_MEMBER(size)
|
|
IPC_STRUCT_TRAITS_MEMBER(texture_id)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_Picture_Dev)
|
|
IPC_STRUCT_TRAITS_MEMBER(picture_buffer_id)
|
|
IPC_STRUCT_TRAITS_MEMBER(bitstream_buffer_id)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_PrintPageNumberRange_Dev)
|
|
IPC_STRUCT_TRAITS_MEMBER(first_page_number)
|
|
IPC_STRUCT_TRAITS_MEMBER(last_page_number)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_VideoCaptureDeviceInfo_Dev)
|
|
IPC_STRUCT_TRAITS_MEMBER(width)
|
|
IPC_STRUCT_TRAITS_MEMBER(height)
|
|
IPC_STRUCT_TRAITS_MEMBER(frames_per_second)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_HostResolver_Private_Hint)
|
|
IPC_STRUCT_TRAITS_MEMBER(family)
|
|
IPC_STRUCT_TRAITS_MEMBER(flags)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_PrintSettings_Dev)
|
|
IPC_STRUCT_TRAITS_MEMBER(printable_area)
|
|
IPC_STRUCT_TRAITS_MEMBER(content_area)
|
|
IPC_STRUCT_TRAITS_MEMBER(paper_size)
|
|
IPC_STRUCT_TRAITS_MEMBER(dpi)
|
|
IPC_STRUCT_TRAITS_MEMBER(orientation)
|
|
IPC_STRUCT_TRAITS_MEMBER(print_scaling_option)
|
|
IPC_STRUCT_TRAITS_MEMBER(grayscale)
|
|
IPC_STRUCT_TRAITS_MEMBER(format)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_URLComponent_Dev)
|
|
IPC_STRUCT_TRAITS_MEMBER(begin)
|
|
IPC_STRUCT_TRAITS_MEMBER(len)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_URLComponents_Dev)
|
|
IPC_STRUCT_TRAITS_MEMBER(scheme)
|
|
IPC_STRUCT_TRAITS_MEMBER(username)
|
|
IPC_STRUCT_TRAITS_MEMBER(password)
|
|
IPC_STRUCT_TRAITS_MEMBER(host)
|
|
IPC_STRUCT_TRAITS_MEMBER(port)
|
|
IPC_STRUCT_TRAITS_MEMBER(path)
|
|
IPC_STRUCT_TRAITS_MEMBER(query)
|
|
IPC_STRUCT_TRAITS_MEMBER(ref)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_VideoCaptureFormat)
|
|
IPC_STRUCT_TRAITS_MEMBER(frame_size)
|
|
IPC_STRUCT_TRAITS_MEMBER(frame_rate)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_FileInfo)
|
|
IPC_STRUCT_TRAITS_MEMBER(size)
|
|
IPC_STRUCT_TRAITS_MEMBER(type)
|
|
IPC_STRUCT_TRAITS_MEMBER(system_type)
|
|
IPC_STRUCT_TRAITS_MEMBER(creation_time)
|
|
IPC_STRUCT_TRAITS_MEMBER(last_access_time)
|
|
IPC_STRUCT_TRAITS_MEMBER(last_modified_time)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::FileGrowth)
|
|
IPC_STRUCT_TRAITS_MEMBER(max_written_offset)
|
|
IPC_STRUCT_TRAITS_MEMBER(append_mode_write_amount)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::DeviceRefData)
|
|
IPC_STRUCT_TRAITS_MEMBER(type)
|
|
IPC_STRUCT_TRAITS_MEMBER(name)
|
|
IPC_STRUCT_TRAITS_MEMBER(id)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::DirEntry)
|
|
IPC_STRUCT_TRAITS_MEMBER(name)
|
|
IPC_STRUCT_TRAITS_MEMBER(is_dir)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::FileRefCreateInfo)
|
|
IPC_STRUCT_TRAITS_MEMBER(file_system_type)
|
|
IPC_STRUCT_TRAITS_MEMBER(internal_path)
|
|
IPC_STRUCT_TRAITS_MEMBER(display_name)
|
|
IPC_STRUCT_TRAITS_MEMBER(browser_pending_host_resource_id)
|
|
IPC_STRUCT_TRAITS_MEMBER(renderer_pending_host_resource_id)
|
|
IPC_STRUCT_TRAITS_MEMBER(file_system_plugin_resource)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::MediaStreamAudioTrackShared::Attributes)
|
|
IPC_STRUCT_TRAITS_MEMBER(buffers)
|
|
IPC_STRUCT_TRAITS_MEMBER(duration)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::MediaStreamVideoTrackShared::Attributes)
|
|
IPC_STRUCT_TRAITS_MEMBER(buffers)
|
|
IPC_STRUCT_TRAITS_MEMBER(width)
|
|
IPC_STRUCT_TRAITS_MEMBER(height)
|
|
IPC_STRUCT_TRAITS_MEMBER(format)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::ViewData)
|
|
IPC_STRUCT_TRAITS_MEMBER(rect)
|
|
IPC_STRUCT_TRAITS_MEMBER(is_fullscreen)
|
|
IPC_STRUCT_TRAITS_MEMBER(is_page_visible)
|
|
IPC_STRUCT_TRAITS_MEMBER(clip_rect)
|
|
IPC_STRUCT_TRAITS_MEMBER(device_scale)
|
|
IPC_STRUCT_TRAITS_MEMBER(css_scale)
|
|
IPC_STRUCT_TRAITS_MEMBER(scroll_offset)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_TouchPoint)
|
|
IPC_STRUCT_TRAITS_MEMBER(id)
|
|
IPC_STRUCT_TRAITS_MEMBER(position)
|
|
IPC_STRUCT_TRAITS_MEMBER(radius)
|
|
IPC_STRUCT_TRAITS_MEMBER(rotation_angle)
|
|
IPC_STRUCT_TRAITS_MEMBER(pressure)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::Preferences)
|
|
IPC_STRUCT_TRAITS_MEMBER(standard_font_family_map)
|
|
IPC_STRUCT_TRAITS_MEMBER(fixed_font_family_map)
|
|
IPC_STRUCT_TRAITS_MEMBER(serif_font_family_map)
|
|
IPC_STRUCT_TRAITS_MEMBER(sans_serif_font_family_map)
|
|
IPC_STRUCT_TRAITS_MEMBER(default_font_size)
|
|
IPC_STRUCT_TRAITS_MEMBER(default_fixed_font_size)
|
|
IPC_STRUCT_TRAITS_MEMBER(number_of_cpu_cores)
|
|
IPC_STRUCT_TRAITS_MEMBER(is_3d_supported)
|
|
IPC_STRUCT_TRAITS_MEMBER(is_stage3d_supported)
|
|
IPC_STRUCT_TRAITS_MEMBER(is_stage3d_baseline_supported)
|
|
IPC_STRUCT_TRAITS_MEMBER(is_accelerated_video_decode_enabled)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::TouchPointWithTilt)
|
|
IPC_STRUCT_TRAITS_MEMBER(touch)
|
|
IPC_STRUCT_TRAITS_MEMBER(tilt)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::InputEventData)
|
|
IPC_STRUCT_TRAITS_MEMBER(is_filtered)
|
|
IPC_STRUCT_TRAITS_MEMBER(event_type)
|
|
IPC_STRUCT_TRAITS_MEMBER(event_time_stamp)
|
|
IPC_STRUCT_TRAITS_MEMBER(event_modifiers)
|
|
IPC_STRUCT_TRAITS_MEMBER(mouse_button)
|
|
IPC_STRUCT_TRAITS_MEMBER(mouse_position)
|
|
IPC_STRUCT_TRAITS_MEMBER(mouse_click_count)
|
|
IPC_STRUCT_TRAITS_MEMBER(mouse_movement)
|
|
IPC_STRUCT_TRAITS_MEMBER(wheel_delta)
|
|
IPC_STRUCT_TRAITS_MEMBER(wheel_ticks)
|
|
IPC_STRUCT_TRAITS_MEMBER(wheel_scroll_by_page)
|
|
IPC_STRUCT_TRAITS_MEMBER(key_code)
|
|
IPC_STRUCT_TRAITS_MEMBER(code)
|
|
IPC_STRUCT_TRAITS_MEMBER(character_text)
|
|
IPC_STRUCT_TRAITS_MEMBER(composition_segment_offsets)
|
|
IPC_STRUCT_TRAITS_MEMBER(composition_target_segment)
|
|
IPC_STRUCT_TRAITS_MEMBER(composition_selection_start)
|
|
IPC_STRUCT_TRAITS_MEMBER(composition_selection_end)
|
|
IPC_STRUCT_TRAITS_MEMBER(touches)
|
|
IPC_STRUCT_TRAITS_MEMBER(changed_touches)
|
|
IPC_STRUCT_TRAITS_MEMBER(target_touches)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::HostPortPair)
|
|
IPC_STRUCT_TRAITS_MEMBER(host)
|
|
IPC_STRUCT_TRAITS_MEMBER(port)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::URLRequestInfoData)
|
|
IPC_STRUCT_TRAITS_MEMBER(url)
|
|
IPC_STRUCT_TRAITS_MEMBER(method)
|
|
IPC_STRUCT_TRAITS_MEMBER(headers)
|
|
IPC_STRUCT_TRAITS_MEMBER(follow_redirects)
|
|
IPC_STRUCT_TRAITS_MEMBER(record_download_progress)
|
|
IPC_STRUCT_TRAITS_MEMBER(record_upload_progress)
|
|
IPC_STRUCT_TRAITS_MEMBER(has_custom_referrer_url)
|
|
IPC_STRUCT_TRAITS_MEMBER(custom_referrer_url)
|
|
IPC_STRUCT_TRAITS_MEMBER(allow_cross_origin_requests)
|
|
IPC_STRUCT_TRAITS_MEMBER(allow_credentials)
|
|
IPC_STRUCT_TRAITS_MEMBER(has_custom_content_transfer_encoding)
|
|
IPC_STRUCT_TRAITS_MEMBER(custom_content_transfer_encoding)
|
|
IPC_STRUCT_TRAITS_MEMBER(prefetch_buffer_upper_threshold)
|
|
IPC_STRUCT_TRAITS_MEMBER(prefetch_buffer_lower_threshold)
|
|
IPC_STRUCT_TRAITS_MEMBER(has_custom_user_agent)
|
|
IPC_STRUCT_TRAITS_MEMBER(custom_user_agent)
|
|
IPC_STRUCT_TRAITS_MEMBER(body)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::URLRequestInfoData::BodyItem)
|
|
IPC_STRUCT_TRAITS_MEMBER(is_file)
|
|
IPC_STRUCT_TRAITS_MEMBER(data)
|
|
IPC_STRUCT_TRAITS_MEMBER(file_ref_pp_resource)
|
|
IPC_STRUCT_TRAITS_MEMBER(start_offset)
|
|
IPC_STRUCT_TRAITS_MEMBER(number_of_bytes)
|
|
IPC_STRUCT_TRAITS_MEMBER(expected_last_modified_time)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::URLResponseInfoData)
|
|
IPC_STRUCT_TRAITS_MEMBER(url)
|
|
IPC_STRUCT_TRAITS_MEMBER(headers)
|
|
IPC_STRUCT_TRAITS_MEMBER(status_code)
|
|
IPC_STRUCT_TRAITS_MEMBER(status_text)
|
|
IPC_STRUCT_TRAITS_MEMBER(redirect_url)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::proxy::SerializedNetworkInfo)
|
|
IPC_STRUCT_TRAITS_MEMBER(name)
|
|
IPC_STRUCT_TRAITS_MEMBER(type)
|
|
IPC_STRUCT_TRAITS_MEMBER(state)
|
|
IPC_STRUCT_TRAITS_MEMBER(addresses)
|
|
IPC_STRUCT_TRAITS_MEMBER(display_name)
|
|
IPC_STRUCT_TRAITS_MEMBER(mtu)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
// Only whitelisted switches passed through PpapiNaClPluginArgs.
|
|
// The list of switches can be found in:
|
|
// components/nacl/browser/nacl_process_host.cc
|
|
IPC_STRUCT_TRAITS_BEGIN(ppapi::PpapiNaClPluginArgs)
|
|
IPC_STRUCT_TRAITS_MEMBER(off_the_record)
|
|
IPC_STRUCT_TRAITS_MEMBER(permissions)
|
|
IPC_STRUCT_TRAITS_MEMBER(switch_names)
|
|
IPC_STRUCT_TRAITS_MEMBER(switch_values)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
IPC_STRUCT_TRAITS_BEGIN(PP_VideoProfileDescription)
|
|
IPC_STRUCT_TRAITS_MEMBER(profile)
|
|
IPC_STRUCT_TRAITS_MEMBER(max_resolution)
|
|
IPC_STRUCT_TRAITS_MEMBER(max_framerate_numerator)
|
|
IPC_STRUCT_TRAITS_MEMBER(max_framerate_denominator)
|
|
IPC_STRUCT_TRAITS_MEMBER(hardware_accelerated)
|
|
IPC_STRUCT_TRAITS_END()
|
|
|
|
// These are from the browser to the plugin.
|
|
// Loads the given plugin.
|
|
IPC_MESSAGE_CONTROL2(PpapiMsg_LoadPlugin,
|
|
base::FilePath /* path */,
|
|
ppapi::PpapiPermissions /* permissions */)
|
|
|
|
// Creates a channel to talk to a renderer. The plugin will respond with
|
|
// PpapiHostMsg_ChannelCreated.
|
|
// If |renderer_pid| is base::kNullProcessId, this is a channel used by the
|
|
// browser itself.
|
|
IPC_MESSAGE_CONTROL3(PpapiMsg_CreateChannel,
|
|
base::ProcessId /* renderer_pid */,
|
|
int /* renderer_child_id */,
|
|
bool /* incognito */)
|
|
|
|
// Initializes the IPC dispatchers in the NaCl plugin.
|
|
IPC_MESSAGE_CONTROL1(PpapiMsg_InitializeNaClDispatcher,
|
|
ppapi::PpapiNaClPluginArgs /* args */)
|
|
|
|
// Each plugin may be referenced by multiple renderers. We need the instance
|
|
// IDs to be unique within a plugin, despite coming from different renderers,
|
|
// and unique within a renderer, despite going to different plugins. This means
|
|
// that neither the renderer nor the plugin can generate instance IDs without
|
|
// consulting the other.
|
|
//
|
|
// We resolve this by having the renderer generate a unique instance ID inside
|
|
// its process. It then asks the plugin to reserve that ID by sending this sync
|
|
// message. If the plugin has not yet seen this ID, it will remember it as used
|
|
// (to prevent a race condition if another renderer tries to then use the same
|
|
// instance), and set usable as true.
|
|
//
|
|
// If the plugin has already seen the instance ID, it will set usable as false
|
|
// and the renderer must retry a new instance ID.
|
|
IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_ReserveInstanceId,
|
|
PP_Instance /* instance */,
|
|
bool /* usable */)
|
|
|
|
// Passes the WebKit preferences to the plugin.
|
|
IPC_MESSAGE_CONTROL1(PpapiMsg_SetPreferences,
|
|
ppapi::Preferences)
|
|
|
|
// Sent in both directions to see if the other side supports the given
|
|
// interface.
|
|
IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_SupportsInterface,
|
|
std::string /* interface_name */,
|
|
bool /* result */)
|
|
|
|
#if !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
|
|
// Network state notification from the browser for implementing
|
|
// PPP_NetworkState_Dev.
|
|
IPC_MESSAGE_CONTROL1(PpapiMsg_SetNetworkState,
|
|
bool /* online */)
|
|
|
|
#endif // !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
|
|
|
|
// PPB_Audio.
|
|
|
|
// Notifies the result of the audio stream create call. This is called in
|
|
// both error cases and in the normal success case. These cases are
|
|
// differentiated by the result code, which is one of the standard PPAPI
|
|
// result codes.
|
|
//
|
|
// The handler of this message should always close all of the handles passed
|
|
// in, since some could be valid even in the error case.
|
|
IPC_MESSAGE_ROUTED4(PpapiMsg_PPBAudio_NotifyAudioStreamCreated,
|
|
ppapi::HostResource /* audio_id */,
|
|
int32_t /* result_code (will be != PP_OK on failure) */,
|
|
ppapi::proxy::SerializedHandle /* socket_handle */,
|
|
ppapi::proxy::SerializedHandle /* handle */)
|
|
|
|
// PPB_Graphics3D.
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPBGraphics3D_SwapBuffersACK,
|
|
ppapi::HostResource /* graphics_3d */,
|
|
int32_t /* pp_error */)
|
|
|
|
// PPB_ImageData.
|
|
IPC_MESSAGE_ROUTED1(PpapiMsg_PPBImageData_NotifyUnusedImageData,
|
|
ppapi::HostResource /* old_image_data */)
|
|
|
|
// PPB_Instance.
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPBInstance_MouseLockComplete,
|
|
PP_Instance /* instance */,
|
|
int32_t /* result */)
|
|
|
|
// PPP_Class.
|
|
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasProperty,
|
|
int64_t /* ppp_class */,
|
|
int64_t /* object */,
|
|
ppapi::proxy::SerializedVar /* property */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_HasMethod,
|
|
int64_t /* ppp_class */,
|
|
int64_t /* object */,
|
|
ppapi::proxy::SerializedVar /* method */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_GetProperty,
|
|
int64_t /* ppp_class */,
|
|
int64_t /* object */,
|
|
ppapi::proxy::SerializedVar /* property */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiMsg_PPPClass_EnumerateProperties,
|
|
int64_t /* ppp_class */,
|
|
int64_t /* object */,
|
|
std::vector<ppapi::proxy::SerializedVar> /* props */,
|
|
ppapi::proxy::SerializedVar /* out_exception */)
|
|
IPC_SYNC_MESSAGE_ROUTED4_1(PpapiMsg_PPPClass_SetProperty,
|
|
int64_t /* ppp_class */,
|
|
int64_t /* object */,
|
|
ppapi::proxy::SerializedVar /* name */,
|
|
ppapi::proxy::SerializedVar /* value */,
|
|
ppapi::proxy::SerializedVar /* out_exception */)
|
|
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPClass_RemoveProperty,
|
|
int64_t /* ppp_class */,
|
|
int64_t /* object */,
|
|
ppapi::proxy::SerializedVar /* property */,
|
|
ppapi::proxy::SerializedVar /* out_exception */)
|
|
IPC_SYNC_MESSAGE_ROUTED4_2(PpapiMsg_PPPClass_Call,
|
|
int64_t /* ppp_class */,
|
|
int64_t /* object */,
|
|
ppapi::proxy::SerializedVar /* method_name */,
|
|
std::vector<ppapi::proxy::SerializedVar> /* args */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiMsg_PPPClass_Construct,
|
|
int64_t /* ppp_class */,
|
|
int64_t /* object */,
|
|
std::vector<ppapi::proxy::SerializedVar> /* args */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPClass_Deallocate,
|
|
int64_t /* ppp_class */,
|
|
int64_t /* object */)
|
|
|
|
// PPP_Graphics3D_Dev.
|
|
IPC_MESSAGE_ROUTED1(PpapiMsg_PPPGraphics3D_ContextLost,
|
|
PP_Instance /* instance */)
|
|
|
|
// PPP_InputEvent.
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPInputEvent_HandleInputEvent,
|
|
PP_Instance /* instance */,
|
|
ppapi::InputEventData /* data */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPInputEvent_HandleFilteredInputEvent,
|
|
PP_Instance /* instance */,
|
|
ppapi::InputEventData /* data */,
|
|
PP_Bool /* result */)
|
|
|
|
// PPP_Instance.
|
|
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiMsg_PPPInstance_DidCreate,
|
|
PP_Instance /* instance */,
|
|
std::vector<std::string> /* argn */,
|
|
std::vector<std::string> /* argv */,
|
|
PP_Bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_0(PpapiMsg_PPPInstance_DidDestroy,
|
|
PP_Instance /* instance */)
|
|
IPC_MESSAGE_ROUTED3(PpapiMsg_PPPInstance_DidChangeView,
|
|
PP_Instance /* instance */,
|
|
ppapi::ViewData /* new_data */,
|
|
PP_Bool /* flash_fullscreen */)
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPInstance_DidChangeFocus,
|
|
PP_Instance /* instance */,
|
|
PP_Bool /* has_focus */)
|
|
IPC_MESSAGE_ROUTED3(PpapiMsg_PPPInstance_HandleDocumentLoad,
|
|
PP_Instance /* instance */,
|
|
int /* pending_loader_host_id */,
|
|
ppapi::URLResponseInfoData /* response */)
|
|
|
|
// PPP_Messaging and PPP_MessageHandler.
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPMessaging_HandleMessage,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* message */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiMsg_PPPMessageHandler_HandleBlockingMessage,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* message */,
|
|
ppapi::proxy::SerializedVar /* result */,
|
|
bool /* was_handled */)
|
|
|
|
// PPP_MouseLock.
|
|
IPC_MESSAGE_ROUTED1(PpapiMsg_PPPMouseLock_MouseLockLost,
|
|
PP_Instance /* instance */)
|
|
|
|
// PPP_Printing
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPPrinting_QuerySupportedFormats,
|
|
PP_Instance /* instance */,
|
|
uint32_t /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPPrinting_Begin,
|
|
PP_Instance /* instance */,
|
|
PP_PrintSettings_Dev /* settings */,
|
|
int32_t /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiMsg_PPPPrinting_PrintPages,
|
|
PP_Instance /* instance */,
|
|
std::vector<PP_PrintPageNumberRange_Dev> /* pages */,
|
|
ppapi::HostResource /* result */)
|
|
IPC_MESSAGE_ROUTED1(PpapiMsg_PPPPrinting_End,
|
|
PP_Instance /* instance */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPPrinting_IsScalingDisabled,
|
|
PP_Instance /* instance */,
|
|
bool /* result */)
|
|
|
|
// PPP_TextInput.
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPTextInput_RequestSurroundingText,
|
|
PP_Instance /* instance */,
|
|
uint32_t /* desired_number_of_characters */)
|
|
|
|
#if !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
|
|
// PPP_Instance_Private.
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiMsg_PPPInstancePrivate_GetInstanceObject,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
|
|
#endif // !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
|
|
|
|
// This message is sent from the renderer to the PNaCl compiler process
|
|
// (NaCl untrusted code -- a nexe). This implements the init_callback()
|
|
// IRT interface. This message initializes the translation process,
|
|
// providing an array of object file FDs for writing output to, along with
|
|
// other parameters.
|
|
IPC_SYNC_MESSAGE_CONTROL3_2(PpapiMsg_PnaclTranslatorCompileInit,
|
|
/* number of threads to use */
|
|
int,
|
|
/* object file FDs for outputs */
|
|
std::vector<ppapi::proxy::SerializedHandle>,
|
|
/* list of command line flags */
|
|
std::vector<std::string>,
|
|
/* success status result */
|
|
bool,
|
|
/* error string if the success field is false */
|
|
std::string)
|
|
|
|
// This message is sent from the renderer to the PNaCl compiler process
|
|
// (NaCl untrusted code -- a nexe). This implements the data_callback()
|
|
// IRT interface. This message sends the next chunk of input bitcode data
|
|
// to the compiler process. If the success result is false (for failure),
|
|
// the renderer can still invoke PpapiMsg_PnaclTranslatorCompileEnd to get
|
|
// a message describing the error.
|
|
IPC_SYNC_MESSAGE_CONTROL1_1(PpapiMsg_PnaclTranslatorCompileChunk,
|
|
/* chunk of data for the input pexe file */
|
|
std::string,
|
|
/* success status result */
|
|
bool)
|
|
|
|
// This message is sent from the renderer to the PNaCl compiler process
|
|
// (NaCl untrusted code -- a nexe). This implements the end_callback() IRT
|
|
// interface. This blocks until translation is complete or an error has
|
|
// occurred.
|
|
IPC_SYNC_MESSAGE_CONTROL0_2(PpapiMsg_PnaclTranslatorCompileEnd,
|
|
/* success status result */
|
|
bool,
|
|
/* error string if the success field is false */
|
|
std::string)
|
|
|
|
// This message is sent from the renderer to the PNaCl linker process
|
|
// (NaCl untrusted code -- a nexe). This message tells the PNaCl
|
|
// linker to link the given object files together to produce a nexe
|
|
// file, writing the output to the given file handle.
|
|
IPC_SYNC_MESSAGE_CONTROL2_1(PpapiMsg_PnaclTranslatorLink,
|
|
/* object file FDs for inputs */
|
|
std::vector<ppapi::proxy::SerializedHandle>,
|
|
/* nexe file FD for output */
|
|
ppapi::proxy::SerializedHandle,
|
|
/* success status result */
|
|
bool)
|
|
|
|
|
|
// These are from the plugin to the renderer.
|
|
|
|
// Reply to PpapiMsg_CreateChannel. The handle will be NULL if the channel
|
|
// could not be established. This could be because the IPC could not be created
|
|
// for some weird reason, but more likely that the plugin failed to load or
|
|
// initialize properly.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_ChannelCreated,
|
|
IPC::ChannelHandle /* handle */)
|
|
|
|
// Notify the renderer that the PPAPI channel gets ready in the plugin.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_StartupInitializationComplete)
|
|
|
|
// This is sent from a nexe (NaCl untrusted code) to the renderer, to open a
|
|
// file listed in a NaCl manifest file (NMF). It is part of the
|
|
// implementation of open_resource(), which is defined in NaCl's irt.h.
|
|
//
|
|
// This call returns a read-only file handle from the renderer. When using
|
|
// validation caching, this handle is not used: The NaCl loader process will
|
|
// reacquire the handle from the more-trusted browser process via
|
|
// NaClProcessMsg_ResolveFileToken, passing the token values returned here.
|
|
//
|
|
// Note that the open_resource() interface is not a PPAPI interface (in the
|
|
// sense that it's not defined in ppapi/c/), but this message is defined here
|
|
// in ppapi_messages.h (rather than in components/nacl/) because half of the
|
|
// implementation of open_resource() lives in ppapi/nacl_irt/, and because
|
|
// this message must be processed by ppapi/proxy/nacl_message_scanner.cc.
|
|
IPC_SYNC_MESSAGE_CONTROL1_3(PpapiHostMsg_OpenResource,
|
|
std::string /* key */,
|
|
uint64_t /* file_token_lo */,
|
|
uint64_t /* file_token_hi */,
|
|
ppapi::proxy::SerializedHandle /* fd */)
|
|
|
|
// Logs the given message to the console of all instances.
|
|
IPC_MESSAGE_CONTROL4(PpapiHostMsg_LogWithSource,
|
|
PP_Instance /* instance */,
|
|
int /* log_level */,
|
|
std::string /* source */,
|
|
std::string /* value */)
|
|
|
|
// PPB_Audio.
|
|
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBAudio_Create,
|
|
PP_Instance /* instance_id */,
|
|
int32_t /* sample_rate */,
|
|
uint32_t /* sample_frame_count */,
|
|
ppapi::HostResource /* result */)
|
|
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBAudio_StartOrStop,
|
|
ppapi::HostResource /* audio_id */,
|
|
bool /* play */)
|
|
|
|
// PPB_Core.
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBCore_AddRefResource,
|
|
ppapi::HostResource)
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBCore_ReleaseResource,
|
|
ppapi::HostResource)
|
|
|
|
// PPB_Graphics3D.
|
|
IPC_SYNC_MESSAGE_ROUTED3_4(PpapiHostMsg_PPBGraphics3D_Create,
|
|
PP_Instance /* instance */,
|
|
ppapi::HostResource /* share_context */,
|
|
gpu::ContextCreationAttribs /* attrib_helper */,
|
|
ppapi::HostResource /* result */,
|
|
gpu::Capabilities /* capabilities */,
|
|
ppapi::proxy::SerializedHandle /* shared_state */,
|
|
gpu::CommandBufferId /* command_buffer_id */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBGraphics3D_SetGetBuffer,
|
|
ppapi::HostResource /* context */,
|
|
int32_t /* transfer_buffer_id */)
|
|
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBGraphics3D_WaitForTokenInRange,
|
|
ppapi::HostResource /* context */,
|
|
int32_t /* start */,
|
|
int32_t /* end */,
|
|
gpu::CommandBuffer::State /* state */,
|
|
bool /* success */)
|
|
IPC_SYNC_MESSAGE_ROUTED4_2(PpapiHostMsg_PPBGraphics3D_WaitForGetOffsetInRange,
|
|
ppapi::HostResource /* context */,
|
|
uint32_t /* set_get_buffer_count */,
|
|
int32_t /* start */,
|
|
int32_t /* end */,
|
|
gpu::CommandBuffer::State /* state */,
|
|
bool /* success */)
|
|
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBGraphics3D_AsyncFlush,
|
|
ppapi::HostResource /* context */,
|
|
int32_t /* put_offset */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBGraphics3D_CreateTransferBuffer,
|
|
ppapi::HostResource /* context */,
|
|
uint32_t /* size */,
|
|
int32_t /* id */,
|
|
ppapi::proxy::SerializedHandle /* transfer_buffer */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_0(PpapiHostMsg_PPBGraphics3D_DestroyTransferBuffer,
|
|
ppapi::HostResource /* context */,
|
|
int32_t /* id */)
|
|
// The receiver of this message takes ownership of the front buffer of the GL
|
|
// context. Each call to PpapiHostMsg_PPBGraphics3D_SwapBuffers must be preceded
|
|
// by exactly one call to PpapiHostMsg_PPBGraphics3D_TakeFrontBuffer. The
|
|
// SyncToken passed to PpapiHostMsg_PPBGraphics3D_SwapBuffers must be generated
|
|
// after this message is sent.
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBGraphics3D_TakeFrontBuffer,
|
|
ppapi::HostResource /* graphics_3d */)
|
|
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBGraphics3D_SwapBuffers,
|
|
ppapi::HostResource /* graphics_3d */,
|
|
gpu::SyncToken /* sync_token */,
|
|
gfx::Size /* size */)
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBGraphics3D_EnsureWorkVisible,
|
|
ppapi::HostResource /* context */)
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBGraphics3D_ResolveAndDetachFramebuffer,
|
|
ppapi::HostResource /* graphics_3d */)
|
|
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBGraphics3D_Resize,
|
|
ppapi::HostResource /* graphics_3d */,
|
|
gfx::Size /* size */)
|
|
|
|
// PPB_ImageData.
|
|
IPC_SYNC_MESSAGE_ROUTED4_3(PpapiHostMsg_PPBImageData_CreatePlatform,
|
|
PP_Instance /* instance */,
|
|
int32_t /* format */,
|
|
PP_Size /* size */,
|
|
PP_Bool /* init_to_zero */,
|
|
ppapi::HostResource /* result_resource */,
|
|
PP_ImageDataDesc /* image_data_desc */,
|
|
ppapi::proxy::SerializedHandle /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED4_3(PpapiHostMsg_PPBImageData_CreateSimple,
|
|
PP_Instance /* instance */,
|
|
int32_t /* format */,
|
|
PP_Size /* size */,
|
|
PP_Bool /* init_to_zero */,
|
|
ppapi::HostResource /* result_resource */,
|
|
PP_ImageDataDesc /* image_data_desc */,
|
|
ppapi::proxy::SerializedHandle /* result */)
|
|
|
|
// PPB_Instance.
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetWindowObject,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetOwnerElementObject,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_BindGraphics,
|
|
PP_Instance /* instance */,
|
|
PP_Resource /* device */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(
|
|
PpapiHostMsg_PPBInstance_GetAudioHardwareOutputSampleRate,
|
|
PP_Instance /* instance */,
|
|
uint32_t /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(
|
|
PpapiHostMsg_PPBInstance_GetAudioHardwareOutputBufferSize,
|
|
PP_Instance /* instance */,
|
|
uint32_t /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_IsFullFrame,
|
|
PP_Instance /* instance */,
|
|
PP_Bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBInstance_ExecuteScript,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* script */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetDefaultCharSet,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_SetFullscreen,
|
|
PP_Instance /* instance */,
|
|
PP_Bool /* fullscreen */,
|
|
PP_Bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBInstance_GetScreenSize,
|
|
PP_Instance /* instance */,
|
|
PP_Bool /* result */,
|
|
PP_Size /* size */)
|
|
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_RequestInputEvents,
|
|
PP_Instance /* instance */,
|
|
bool /* is_filtering */,
|
|
uint32_t /* event_classes */)
|
|
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_ClearInputEvents,
|
|
PP_Instance /* instance */,
|
|
uint32_t /* event_classes */)
|
|
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_PostMessage,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* message */)
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBInstance_LockMouse,
|
|
PP_Instance /* instance */)
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBInstance_UnlockMouse,
|
|
PP_Instance /* instance */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_ResolveRelativeToDocument,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* relative */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_DocumentCanRequest,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* relative */,
|
|
PP_Bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBInstance_DocumentCanAccessDocument,
|
|
PP_Instance /* active */,
|
|
PP_Instance /* target */,
|
|
PP_Bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBInstance_GetDocumentURL,
|
|
PP_Instance /* active */,
|
|
PP_URLComponents_Dev /* components */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetPluginInstanceURL,
|
|
PP_Instance /* active */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBInstance_GetPluginReferrerURL,
|
|
PP_Instance /* instance */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_SetCursor,
|
|
PP_Instance /* instance */,
|
|
int32_t /* type */,
|
|
ppapi::HostResource /* custom_image */,
|
|
PP_Point /* hot_spot */)
|
|
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBInstance_SetTextInputType,
|
|
PP_Instance /* instance */,
|
|
PP_TextInput_Type /* type */)
|
|
IPC_MESSAGE_ROUTED3(PpapiHostMsg_PPBInstance_UpdateCaretPosition,
|
|
PP_Instance /* instance */,
|
|
PP_Rect /* caret */,
|
|
PP_Rect /* bounding_box */)
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBInstance_CancelCompositionText,
|
|
PP_Instance /* instance */)
|
|
IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBInstance_UpdateSurroundingText,
|
|
PP_Instance /* instance */,
|
|
std::string /* text */,
|
|
uint32_t /* caret */,
|
|
uint32_t /* anchor */)
|
|
|
|
// PPB_Var.
|
|
IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBVar_AddRefObject,
|
|
int64_t /* object_id */)
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVar_ReleaseObject, int64_t /* object_id */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_HasProperty,
|
|
ppapi::proxy::SerializedVar /* object */,
|
|
ppapi::proxy::SerializedVar /* property */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
PP_Bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_HasMethodDeprecated,
|
|
ppapi::proxy::SerializedVar /* object */,
|
|
ppapi::proxy::SerializedVar /* method */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
PP_Bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_GetProperty,
|
|
ppapi::proxy::SerializedVar /* object */,
|
|
ppapi::proxy::SerializedVar /* property */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_DeleteProperty,
|
|
ppapi::proxy::SerializedVar /* object */,
|
|
ppapi::proxy::SerializedVar /* property */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
PP_Bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_2(PpapiHostMsg_PPBVar_EnumerateProperties,
|
|
ppapi::proxy::SerializedVar /* object */,
|
|
std::vector<ppapi::proxy::SerializedVar> /* props */,
|
|
ppapi::proxy::SerializedVar /* out_exception */)
|
|
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVar_SetPropertyDeprecated,
|
|
ppapi::proxy::SerializedVar /* object */,
|
|
ppapi::proxy::SerializedVar /* name */,
|
|
ppapi::proxy::SerializedVar /* value */,
|
|
ppapi::proxy::SerializedVar /* out_exception */)
|
|
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBVar_CallDeprecated,
|
|
ppapi::proxy::SerializedVar /* object */,
|
|
ppapi::proxy::SerializedVar /* method_name */,
|
|
std::vector<ppapi::proxy::SerializedVar> /* args */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_Construct,
|
|
ppapi::proxy::SerializedVar /* object */,
|
|
std::vector<ppapi::proxy::SerializedVar> /* args */,
|
|
ppapi::proxy::SerializedVar /* out_exception */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBVar_IsInstanceOfDeprecated,
|
|
ppapi::proxy::SerializedVar /* var */,
|
|
int64_t /* object_class */,
|
|
int64_t /* object-data */,
|
|
PP_Bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVar_CreateObjectDeprecated,
|
|
PP_Instance /* instance */,
|
|
int64_t /* object_class */,
|
|
int64_t /* object_data */,
|
|
ppapi::proxy::SerializedVar /* result */)
|
|
|
|
#if !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
|
|
// PPB_Buffer.
|
|
IPC_SYNC_MESSAGE_ROUTED2_2(
|
|
PpapiHostMsg_PPBBuffer_Create,
|
|
PP_Instance /* instance */,
|
|
uint32_t /* size */,
|
|
ppapi::HostResource /* result_resource */,
|
|
ppapi::proxy::SerializedHandle /* result_shm_handle */)
|
|
|
|
#endif // !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
|
|
|
|
// PPB_Testing.
|
|
IPC_SYNC_MESSAGE_ROUTED3_1(
|
|
PpapiHostMsg_PPBTesting_ReadImageData,
|
|
ppapi::HostResource /* device_context_2d */,
|
|
ppapi::HostResource /* image */,
|
|
PP_Point /* top_left */,
|
|
PP_Bool /* result */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_1(PpapiHostMsg_PPBTesting_GetLiveObjectsForInstance,
|
|
PP_Instance /* instance */,
|
|
uint32_t /* result */)
|
|
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBTesting_SimulateInputEvent,
|
|
PP_Instance /* instance */,
|
|
ppapi::InputEventData /* input_event */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_0(
|
|
PpapiHostMsg_PPBTesting_SetMinimumArrayBufferSizeForShmem,
|
|
uint32_t /* threshold */)
|
|
|
|
#if !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
|
|
|
|
// PPB_VideoDecoder_Dev.
|
|
// (Messages from plugin to renderer.)
|
|
IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBVideoDecoder_Create,
|
|
PP_Instance /* instance */,
|
|
ppapi::HostResource /* context */,
|
|
PP_VideoDecoder_Profile /* profile */,
|
|
ppapi::HostResource /* result */)
|
|
IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBVideoDecoder_Decode,
|
|
ppapi::HostResource /* video_decoder */,
|
|
ppapi::HostResource /* bitstream buffer */,
|
|
int32_t /* bitstream buffer id */,
|
|
uint32_t /* size of buffer */)
|
|
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBVideoDecoder_AssignPictureBuffers,
|
|
ppapi::HostResource /* video_decoder */,
|
|
std::vector<PP_PictureBuffer_Dev> /* picture buffers */)
|
|
IPC_MESSAGE_ROUTED2(PpapiHostMsg_PPBVideoDecoder_ReusePictureBuffer,
|
|
ppapi::HostResource /* video_decoder */,
|
|
int32_t /* picture buffer id */)
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVideoDecoder_Flush,
|
|
ppapi::HostResource /* video_decoder */)
|
|
IPC_MESSAGE_ROUTED1(PpapiHostMsg_PPBVideoDecoder_Reset,
|
|
ppapi::HostResource /* video_decoder */)
|
|
IPC_SYNC_MESSAGE_ROUTED1_0(PpapiHostMsg_PPBVideoDecoder_Destroy,
|
|
ppapi::HostResource /* video_decoder */)
|
|
|
|
// PPB_VideoDecoder_Dev.
|
|
// (Messages from renderer to plugin to notify it to run callbacks.)
|
|
IPC_MESSAGE_ROUTED3(PpapiMsg_PPBVideoDecoder_EndOfBitstreamACK,
|
|
ppapi::HostResource /* video_decoder */,
|
|
int32_t /* bitstream buffer id */,
|
|
int32_t /* PP_CompletionCallback result */)
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPBVideoDecoder_FlushACK,
|
|
ppapi::HostResource /* video_decoder */,
|
|
int32_t /* PP_CompletionCallback result */)
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPBVideoDecoder_ResetACK,
|
|
ppapi::HostResource /* video_decoder */,
|
|
int32_t /* PP_CompletionCallback result */)
|
|
|
|
// PPP_VideoDecoder_Dev.
|
|
IPC_MESSAGE_ROUTED4(PpapiMsg_PPPVideoDecoder_ProvidePictureBuffers,
|
|
ppapi::HostResource /* video_decoder */,
|
|
uint32_t /* requested number of buffers */,
|
|
PP_Size /* dimensions of buffers */,
|
|
uint32_t /* texture_target */)
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPVideoDecoder_DismissPictureBuffer,
|
|
ppapi::HostResource /* video_decoder */,
|
|
int32_t /* picture buffer id */)
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPVideoDecoder_PictureReady,
|
|
ppapi::HostResource /* video_decoder */,
|
|
PP_Picture_Dev /* output picture */)
|
|
IPC_MESSAGE_ROUTED2(PpapiMsg_PPPVideoDecoder_NotifyError,
|
|
ppapi::HostResource /* video_decoder */,
|
|
PP_VideoDecodeError_Dev /* error */)
|
|
#endif // !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Resource call/reply messages.
|
|
//
|
|
// These are the new-style resource implementations where the resource is only
|
|
// implemented in the proxy and "resource messages" are sent between this and a
|
|
// host object. Resource messages are a wrapper around some general routing
|
|
// information and a separate message of a type defined by the specific resource
|
|
// sending/receiving it. The extra paremeters allow the nested message to be
|
|
// routed automatically to the correct resource.
|
|
|
|
// Notification that a resource has been created in the plugin. The nested
|
|
// message will be resource-type-specific.
|
|
IPC_MESSAGE_CONTROL3(PpapiHostMsg_ResourceCreated,
|
|
ppapi::proxy::ResourceMessageCallParams /* call_params */,
|
|
PP_Instance /* instance */,
|
|
IPC::Message /* nested_msg */)
|
|
|
|
// Notification that a resource has been destroyed in the plugin.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_ResourceDestroyed,
|
|
PP_Resource /* resource */)
|
|
|
|
// Most resources are created by the plugin, which then sends a ResourceCreated
|
|
// message to create a corresponding ResourceHost in the renderer or browser
|
|
// host process. However, some resources are first created in the host and
|
|
// "pushed" or returned to the plugin.
|
|
//
|
|
// In this case, the host will create a "pending" ResourceHost object which
|
|
// is identified by an ID. The ID is sent to the plugin process and the
|
|
// PluginResource object is created. This message is sent from the plugin to
|
|
// the host process to connect the PluginResource and the pending ResourceHost
|
|
// (at which point, it's no longer pending).
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_AttachToPendingHost,
|
|
PP_Resource /* resource */,
|
|
int /* pending_host_id */)
|
|
|
|
// A resource call is a request from the plugin to the host. It may or may not
|
|
// require a reply, depending on the params. The nested message will be
|
|
// resource-type-specific.
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_ResourceCall,
|
|
ppapi::proxy::ResourceMessageCallParams /* call_params */,
|
|
IPC::Message /* nested_msg */)
|
|
IPC_MESSAGE_CONTROL3(PpapiHostMsg_InProcessResourceCall,
|
|
int /* routing_id */,
|
|
ppapi::proxy::ResourceMessageCallParams /* call_params */,
|
|
IPC::Message /* nested_msg */)
|
|
|
|
// A resource reply is a response to a ResourceCall from a host to the
|
|
// plugin. The resource ID + sequence number in the params will correspond to
|
|
// that of the previous ResourceCall.
|
|
IPC_MESSAGE_CONTROL2(
|
|
PpapiPluginMsg_ResourceReply,
|
|
ppapi::proxy::ResourceMessageReplyParams /* reply_params */,
|
|
IPC::Message /* nested_msg */)
|
|
IPC_MESSAGE_ROUTED2(
|
|
PpapiHostMsg_InProcessResourceReply,
|
|
ppapi::proxy::ResourceMessageReplyParams /* reply_params */,
|
|
IPC::Message /* nested_msg */)
|
|
|
|
IPC_SYNC_MESSAGE_CONTROL2_2(PpapiHostMsg_ResourceSyncCall,
|
|
ppapi::proxy::ResourceMessageCallParams /* call_params */,
|
|
IPC::Message /* nested_msg */,
|
|
ppapi::proxy::ResourceMessageReplyParams /* reply_params */,
|
|
IPC::Message /* reply_msg */)
|
|
|
|
// This message is sent from the renderer to the browser when it wants to create
|
|
// ResourceHosts in the browser. It contains the process ID of the plugin and
|
|
// the instance of the plugin for which to create the resource for. params
|
|
// contains the sequence number for the message to track the response.
|
|
// The nested messages are ResourceHost creation messages.
|
|
IPC_MESSAGE_CONTROL5(
|
|
PpapiHostMsg_CreateResourceHostsFromHost,
|
|
int /* routing_id */,
|
|
int /* child_process_id */,
|
|
ppapi::proxy::ResourceMessageCallParams /* params */,
|
|
PP_Instance /* instance */,
|
|
std::vector<IPC::Message> /* nested_msgs */)
|
|
|
|
// This message is sent from the browser to the renderer when it has created
|
|
// ResourceHosts for the renderer. It contains the sequence number that was sent
|
|
// in the request and the IDs of the pending ResourceHosts which were created in
|
|
// the browser. These IDs are only useful for the plugin which can attach to the
|
|
// ResourceHosts in the browser.
|
|
IPC_MESSAGE_ROUTED2(
|
|
PpapiHostMsg_CreateResourceHostsFromHostReply,
|
|
int32_t /* sequence */,
|
|
std::vector<int> /* pending_host_ids */)
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Messages for resources using call/reply above.
|
|
|
|
// UMA
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_UMA_Create)
|
|
IPC_MESSAGE_CONTROL5(PpapiHostMsg_UMA_HistogramCustomTimes,
|
|
std::string /* name */,
|
|
int64_t /* sample */,
|
|
int64_t /* min */,
|
|
int64_t /* max */,
|
|
uint32_t /* bucket_count */)
|
|
IPC_MESSAGE_CONTROL5(PpapiHostMsg_UMA_HistogramCustomCounts,
|
|
std::string /* name */,
|
|
int32_t /* sample */,
|
|
int32_t /* min */,
|
|
int32_t /* max */,
|
|
uint32_t /* bucket_count */)
|
|
IPC_MESSAGE_CONTROL3(PpapiHostMsg_UMA_HistogramEnumeration,
|
|
std::string /* name */,
|
|
int32_t /* sample */,
|
|
int32_t /* boundary_value */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_UMA_IsCrashReportingEnabled)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_UMA_IsCrashReportingEnabledReply)
|
|
|
|
// File chooser.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileChooser_Create)
|
|
IPC_MESSAGE_CONTROL4(PpapiHostMsg_FileChooser_Show,
|
|
bool /* save_as */,
|
|
bool /* open_multiple */,
|
|
std::string /* suggested_file_name */,
|
|
std::vector<std::string> /* accept_mime_types */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileChooser_ShowReply,
|
|
std::vector<ppapi::FileRefCreateInfo> /* files */)
|
|
|
|
// FileIO
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_Create)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileIO_Open,
|
|
PP_Resource /* file_ref_resource */,
|
|
int32_t /* open_flags */)
|
|
IPC_MESSAGE_CONTROL2(PpapiPluginMsg_FileIO_OpenReply,
|
|
PP_Resource /* quota_file_system */,
|
|
int64_t /* file_size */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileIO_Close,
|
|
ppapi::FileGrowth /* file_growth */)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileIO_Touch,
|
|
PP_Time /* last_access_time */,
|
|
PP_Time /* last_modified_time */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileIO_SetLength,
|
|
int64_t /* length */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_Flush)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileIO_RequestOSFileHandle)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileIO_RequestOSFileHandleReply)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileIO_GeneralReply)
|
|
|
|
// FileRef
|
|
// Creates a FileRef to a path on an external file system. This message may
|
|
// only be sent from the renderer.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileRef_CreateForRawFS,
|
|
base::FilePath /* external_path */)
|
|
|
|
// Creates a FileRef to a path on a file system that uses fileapi.
|
|
// This message may be sent from the renderer or the plugin.
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileRef_CreateForFileAPI,
|
|
PP_Resource /* file_system */,
|
|
std::string /* internal_path */)
|
|
|
|
// Requests that the browser create a directory at the location indicated by
|
|
// the FileRef.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileRef_MakeDirectory,
|
|
int32_t /* make_directory_flags */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileRef_MakeDirectoryReply)
|
|
|
|
// Requests that the browser update the last accessed and last modified times
|
|
// at the location indicated by the FileRef.
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileRef_Touch,
|
|
PP_Time /* last_accessed */,
|
|
PP_Time /* last_modified */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileRef_TouchReply)
|
|
|
|
// Requests that the browser delete a file or directory at the location
|
|
// indicated by the FileRef.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileRef_Delete)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileRef_DeleteReply)
|
|
|
|
// Requests that the browser rename a file or directory at the location
|
|
// indicated by the FileRef.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileRef_Rename,
|
|
PP_Resource /* new_file_ref */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileRef_RenameReply)
|
|
|
|
// Requests that the browser retrieve metadata information for a file or
|
|
// directory at the location indicated by the FileRef.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileRef_Query)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileRef_QueryReply,
|
|
PP_FileInfo /* file_info */)
|
|
|
|
// Requests that the browser retrieve then entries in a directory at the
|
|
// location indicated by the FileRef.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileRef_ReadDirectoryEntries)
|
|
|
|
// FileRefCreateInfo does not provide file type information, so two
|
|
// corresponding vectors are returned.
|
|
IPC_MESSAGE_CONTROL2(PpapiPluginMsg_FileRef_ReadDirectoryEntriesReply,
|
|
std::vector<ppapi::FileRefCreateInfo> /* files */,
|
|
std::vector<PP_FileType> /* file_types */)
|
|
|
|
// Requests that the browser reply with the absolute path to the indicated
|
|
// file.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_FileRef_GetAbsolutePath)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileRef_GetAbsolutePathReply,
|
|
std::string /* absolute_path */)
|
|
|
|
// FileSystem
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileSystem_Create,
|
|
PP_FileSystemType /* type */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_FileSystem_Open,
|
|
int64_t /* expected_size */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileSystem_OpenReply)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileSystem_InitIsolatedFileSystem,
|
|
std::string /* fsid */,
|
|
PP_IsolatedFileSystemType_Private /* type */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_FileSystem_InitIsolatedFileSystemReply)
|
|
// Passed from renderer to browser. Creates an already-open file system with a
|
|
// given |root_url| and |file_system_type|.
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileSystem_CreateFromRenderer,
|
|
std::string /* root_url */,
|
|
PP_FileSystemType /* file_system_type */)
|
|
// Nested within a ResourceVar for file systems being passed from the renderer
|
|
// to the plugin. Creates an already-open file system resource on the plugin,
|
|
// linked to the existing resource host given in the ResourceVar.
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_FileSystem_CreateFromPendingHost,
|
|
PP_FileSystemType /* file_system_type */)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_FileSystem_ReserveQuota,
|
|
int64_t /* amount */,
|
|
ppapi::FileGrowthMap /* file_growths */)
|
|
IPC_MESSAGE_CONTROL2(PpapiPluginMsg_FileSystem_ReserveQuotaReply,
|
|
int64_t /* amount */,
|
|
ppapi::FileSizeMap /* file_sizes */)
|
|
|
|
// Gamepad.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_Gamepad_Create)
|
|
|
|
// Requests that the gamepad host send the shared memory handle to the plugin
|
|
// process.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_Gamepad_RequestMemory)
|
|
|
|
// Reply to a RequestMemory call. This supplies the shared memory handle. The
|
|
// actual handle is passed in the ReplyParams struct.
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Gamepad_SendMemory)
|
|
|
|
|
|
// Graphics2D, plugin -> host
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_Graphics2D_Create,
|
|
PP_Size /* size */,
|
|
PP_Bool /* is_always_opaque */)
|
|
IPC_MESSAGE_CONTROL4(PpapiHostMsg_Graphics2D_PaintImageData,
|
|
ppapi::HostResource /* image_data */,
|
|
PP_Point /* top_left */,
|
|
bool /* src_rect_specified */,
|
|
PP_Rect /* src_rect */)
|
|
IPC_MESSAGE_CONTROL3(PpapiHostMsg_Graphics2D_Scroll,
|
|
bool /* clip_specified */,
|
|
PP_Rect /* clip */,
|
|
PP_Point /* amount */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_Graphics2D_ReplaceContents,
|
|
ppapi::HostResource /* image_data */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_Graphics2D_SetScale,
|
|
float /* scale */)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_Graphics2D_SetLayerTransform,
|
|
float /* scale */,
|
|
PP_FloatPoint /* translate */)
|
|
|
|
// Graphics2D, plugin -> host -> plugin
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_Graphics2D_Flush)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Graphics2D_FlushAck)
|
|
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_Graphics2D_ReadImageData,
|
|
PP_Resource /* image */,
|
|
PP_Point /* top_left */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_Graphics2D_ReadImageDataAck)
|
|
|
|
// CameraDevice ----------------------------------------------------------------
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_CameraDevice_Create)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_CameraDevice_Close)
|
|
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_CameraDevice_Open,
|
|
std::string /* camera_source_id */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_CameraDevice_OpenReply)
|
|
|
|
IPC_MESSAGE_CONTROL0(
|
|
PpapiHostMsg_CameraDevice_GetSupportedVideoCaptureFormats)
|
|
IPC_MESSAGE_CONTROL1(
|
|
PpapiPluginMsg_CameraDevice_GetSupportedVideoCaptureFormatsReply,
|
|
std::vector<PP_VideoCaptureFormat> /* video_capture_formats */)
|
|
|
|
// IsolatedFileSystem ----------------------------------------------------------
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_IsolatedFileSystem_Create)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_IsolatedFileSystem_BrowserOpen,
|
|
PP_IsolatedFileSystemType_Private /* type */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_IsolatedFileSystem_BrowserOpenReply,
|
|
std::string /* fsid */)
|
|
|
|
// MediaStream -----------------------------------------------------------------
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_MediaStreamAudioTrack_CreateFromPendingHost,
|
|
std::string /* track_id */)
|
|
IPC_MESSAGE_CONTROL1(
|
|
PpapiHostMsg_MediaStreamAudioTrack_Configure,
|
|
ppapi::MediaStreamAudioTrackShared::Attributes /* attributes */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_MediaStreamAudioTrack_ConfigureReply)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_MediaStreamVideoTrack_CreateFromPendingHost,
|
|
std::string /* track_id */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_MediaStreamVideoTrack_Create)
|
|
IPC_MESSAGE_CONTROL1(
|
|
PpapiHostMsg_MediaStreamVideoTrack_Configure,
|
|
ppapi::MediaStreamVideoTrackShared::Attributes /* attributes */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_MediaStreamVideoTrack_ConfigureReply,
|
|
std::string /* track_id */)
|
|
|
|
// Message for init buffers. It also takes a shared memory handle which is put
|
|
// in the outer ResourceReplyMessage.
|
|
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_MediaStreamTrack_InitBuffers,
|
|
int32_t /* number_of_buffers */,
|
|
int32_t /* buffer_size */,
|
|
bool /* readonly */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_MediaStreamTrack_EnqueueBuffer,
|
|
int32_t /* index */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_MediaStreamTrack_EnqueueBuffer,
|
|
int32_t /* index */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_MediaStreamTrack_EnqueueBuffers,
|
|
std::vector<int32_t> /* indices */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_MediaStreamTrack_Close)
|
|
|
|
// NetworkMonitor.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_NetworkMonitor_Create)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_NetworkMonitor_NetworkList,
|
|
ppapi::proxy::SerializedNetworkList /* network_list */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_NetworkMonitor_Forbidden)
|
|
|
|
// NetworkProxy ----------------------------------------------------------------
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_NetworkProxy_Create)
|
|
|
|
// Query the browser for the proxy server to use for the given URL.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_NetworkProxy_GetProxyForURL,
|
|
std::string /* url */)
|
|
|
|
// Reply message for GetProxyForURL containing the proxy server.
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_NetworkProxy_GetProxyForURLReply,
|
|
std::string /* proxy */)
|
|
|
|
// Host Resolver ---------------------------------------------------------------
|
|
// Creates a PPB_HostResolver resource.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_HostResolver_Create)
|
|
|
|
// Creates a PPB_HostResolver_Private resource.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_HostResolver_CreatePrivate)
|
|
|
|
// Resolves the given hostname.
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_HostResolver_Resolve,
|
|
ppapi::HostPortPair /* host_port */,
|
|
PP_HostResolver_Private_Hint /* hint */)
|
|
|
|
// This message is a reply to HostResolver_Resolve. On success,
|
|
// |canonical_name| contains the canonical name of the host; |net_address_list|
|
|
// is a list of network addresses. On failure, both fields are set to empty.
|
|
IPC_MESSAGE_CONTROL2(PpapiPluginMsg_HostResolver_ResolveReply,
|
|
std::string /* canonical_name */,
|
|
std::vector<PP_NetAddress_Private> /* net_address_list */)
|
|
|
|
// Printing.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_Printing_Create)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_Printing_GetDefaultPrintSettings)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_Printing_GetDefaultPrintSettingsReply,
|
|
PP_PrintSettings_Dev /* print_settings */)
|
|
|
|
// TCP Socket ------------------------------------------------------------------
|
|
// Creates a PPB_TCPSocket resource.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_Create,
|
|
ppapi::TCPSocketVersion /* version */)
|
|
|
|
// Creates a PPB_TCPSocket_Private resource.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPSocket_CreatePrivate)
|
|
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_Bind,
|
|
PP_NetAddress_Private /* net_addr */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TCPSocket_BindReply,
|
|
PP_NetAddress_Private /* local_addr */)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_TCPSocket_Connect,
|
|
std::string /* host */,
|
|
uint16_t /* port */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_ConnectWithNetAddress,
|
|
PP_NetAddress_Private /* net_addr */)
|
|
IPC_MESSAGE_CONTROL2(PpapiPluginMsg_TCPSocket_ConnectReply,
|
|
PP_NetAddress_Private /* local_addr */,
|
|
PP_NetAddress_Private /* remote_addr */)
|
|
IPC_MESSAGE_CONTROL4(PpapiHostMsg_TCPSocket_SSLHandshake,
|
|
std::string /* server_name */,
|
|
uint16_t /* server_port */,
|
|
std::vector<std::vector<char> > /* trusted_certs */,
|
|
std::vector<std::vector<char> > /* untrusted_certs */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TCPSocket_SSLHandshakeReply,
|
|
ppapi::PPB_X509Certificate_Fields /* certificate_fields */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_Read,
|
|
int32_t /* bytes_to_read */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TCPSocket_ReadReply,
|
|
std::string /* data */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_Write,
|
|
std::string /* data */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_TCPSocket_WriteReply)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_TCPSocket_Listen,
|
|
int32_t /* backlog */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_TCPSocket_ListenReply)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPSocket_Accept)
|
|
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_TCPSocket_AcceptReply,
|
|
int /* pending_host_id*/,
|
|
PP_NetAddress_Private /* local_addr */,
|
|
PP_NetAddress_Private /* remote_addr */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPSocket_Close)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_TCPSocket_SetOption,
|
|
PP_TCPSocket_Option /* name */,
|
|
ppapi::SocketOptionData /* value */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_TCPSocket_SetOptionReply)
|
|
|
|
// TCP Server Socket -----------------------------------------------------------
|
|
// Creates a PPB_TCPServerSocket_Private resource.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPServerSocket_CreatePrivate)
|
|
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_TCPServerSocket_Listen,
|
|
PP_NetAddress_Private /* addr */,
|
|
int32_t /* backlog */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_TCPServerSocket_ListenReply,
|
|
PP_NetAddress_Private /* local_addr */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPServerSocket_Accept)
|
|
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_TCPServerSocket_AcceptReply,
|
|
int /* pending_resource_id */,
|
|
PP_NetAddress_Private /* local_addr */,
|
|
PP_NetAddress_Private /* remote_addr */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_TCPServerSocket_StopListening)
|
|
|
|
// UDP Socket ------------------------------------------------------------------
|
|
// Creates a PPB_UDPSocket resource.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_UDPSocket_Create)
|
|
|
|
// Creates a PPB_UDPSocket_Private resource.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_UDPSocket_CreatePrivate)
|
|
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_UDPSocket_SetOption,
|
|
PP_UDPSocket_Option /* name */,
|
|
ppapi::SocketOptionData /* value */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_UDPSocket_SetOptionReply)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_UDPSocket_Bind,
|
|
PP_NetAddress_Private /* net_addr */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_UDPSocket_BindReply,
|
|
PP_NetAddress_Private /* bound_addr */)
|
|
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_UDPSocket_PushRecvResult,
|
|
int32_t /* result */,
|
|
std::string /* data */,
|
|
PP_NetAddress_Private /* remote_addr */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_UDPSocket_RecvSlotAvailable)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_UDPSocket_SendTo,
|
|
std::string /* data */,
|
|
PP_NetAddress_Private /* net_addr */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_UDPSocket_SendToReply,
|
|
int32_t /* bytes_written */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_UDPSocket_Close)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_UDPSocket_JoinGroup,
|
|
PP_NetAddress_Private /* net_addr */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_UDPSocket_JoinGroupReply)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_UDPSocket_LeaveGroup,
|
|
PP_NetAddress_Private /* net_addr */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_UDPSocket_LeaveGroupReply)
|
|
|
|
// URLLoader ------------------------------------------------------------------
|
|
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_URLLoader_Create)
|
|
|
|
// These messages correspond to PPAPI calls and all should get a
|
|
// CallbackComplete message.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_URLLoader_Open,
|
|
ppapi::URLRequestInfoData /* request_data */)
|
|
|
|
// The plugin can tell the host to defer a load to hold off on sending more
|
|
// data because the buffer in the plugin is full. When defers_loading is set to
|
|
// false, data streaming will resume.
|
|
//
|
|
// When auditing redirects (no auto follow) the load will be automatically
|
|
// deferred each time we get a redirect. The plugin will reset this to false
|
|
// by sending this message when it wants to continue following the redirect.
|
|
//
|
|
// When streaming data, the host may still send more data after this call (for
|
|
// example, it could already be in-flight at the time of this request).
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_URLLoader_SetDeferLoading,
|
|
bool /* defers_loading */)
|
|
|
|
// Closes the URLLoader. There is no reply.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_URLLoader_Close)
|
|
|
|
// Requests that cross-site restrictions be ignored. The plugin must have
|
|
// the private permission set. Otherwise this message will be ignored by the
|
|
// renderer. There is no reply.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_URLLoader_GrantUniversalAccess)
|
|
|
|
// Push notification that a response is available.
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_URLLoader_ReceivedResponse,
|
|
ppapi::URLResponseInfoData /* response */)
|
|
|
|
// Push notification with load data from the renderer. It is a custom generated
|
|
// message with the response data (array of bytes stored via WriteData)
|
|
// appended.
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_URLLoader_SendData)
|
|
|
|
// Push notification indicating that all data has been sent, either via
|
|
// SendData or by streaming it to a file. Note that since this is a push
|
|
// notification, we don't use the result field of the ResourceMessageReply.
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_URLLoader_FinishedLoading,
|
|
int32_t /* result */)
|
|
|
|
// Push notification from the renderer to the plugin to tell it about download
|
|
// and upload progress. This will only be sent if the plugin has requested
|
|
// progress updates, and only the fields requested by the plugin will be
|
|
// valid.
|
|
IPC_MESSAGE_CONTROL4(PpapiPluginMsg_URLLoader_UpdateProgress,
|
|
int64_t /* bytes_sent */,
|
|
int64_t /* total_bytes_to_be_sent */,
|
|
int64_t /* bytes_received */,
|
|
int64_t /* total_bytes_to_be_received */)
|
|
|
|
// Shared memory ---------------------------------------------------------------
|
|
|
|
// Creates shared memory on the host side, returning a handle to the shared
|
|
// memory on the plugin and keeping the memory mapped in on the host.
|
|
// We return a "host handle_id" that can be mapped back to the
|
|
// handle on the host side by PpapiGlobals::UntrackSharedMemoryHandle().
|
|
IPC_SYNC_MESSAGE_CONTROL2_2(PpapiHostMsg_SharedMemory_CreateSharedMemory,
|
|
PP_Instance /* instance */,
|
|
uint32_t /* size */,
|
|
int /* host_handle_id */,
|
|
ppapi::proxy::SerializedHandle /* plugin_handle */)
|
|
|
|
// VpnProvider ----------------------------------------------------------------
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VpnProvider_Create)
|
|
|
|
// VpnProvider plugin -> host -> plugin
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_VpnProvider_Bind,
|
|
std::string /* configuration_id */,
|
|
std::string /* configuration_name */)
|
|
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VpnProvider_BindReply,
|
|
uint32_t /* queue_size */,
|
|
uint32_t /* max_packet_size */,
|
|
int32_t /* status */)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_VpnProvider_SendPacket,
|
|
uint32_t /* packet_size */,
|
|
uint32_t /* id */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VpnProvider_SendPacketReply,
|
|
uint32_t /* id */)
|
|
|
|
// VpnProvider host -> plugin
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_VpnProvider_OnUnbind)
|
|
|
|
// VpnProvider host -> plugin -> host
|
|
IPC_MESSAGE_CONTROL2(PpapiPluginMsg_VpnProvider_OnPacketReceived,
|
|
uint32_t /* packet_size */,
|
|
uint32_t /* id */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_VpnProvider_OnPacketReceivedReply,
|
|
uint32_t /* id */)
|
|
|
|
// WebSocket -------------------------------------------------------------------
|
|
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_WebSocket_Create)
|
|
|
|
// Establishes the connection to a server. This message requires
|
|
// WebSocket_ConnectReply as a reply message.
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_WebSocket_Connect,
|
|
std::string /* url */,
|
|
std::vector<std::string> /* protocols */)
|
|
|
|
// Closes established connection with graceful closing handshake. This message
|
|
// requires WebSocket_CloseReply as a reply message.
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_WebSocket_Close,
|
|
int32_t /* code */,
|
|
std::string /* reason */)
|
|
|
|
// Sends a text frame to the server. No reply is defined.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_WebSocket_SendText,
|
|
std::string /* message */)
|
|
|
|
// Sends a binary frame to the server. No reply is defined.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_WebSocket_SendBinary,
|
|
std::vector<uint8_t> /* message */)
|
|
|
|
// Fails the connection. This message invokes RFC6455 defined
|
|
// _Fail the WebSocket Connection_ operation. No reply is defined.
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_WebSocket_Fail,
|
|
std::string /* message */)
|
|
|
|
// This message is a reply to WebSocket_Connect. If the |url| and |protocols|
|
|
// are invalid, WebSocket_ConnectReply is issued immediately and it contains
|
|
// proper error code in its result. Otherwise, WebSocket_ConnectReply is sent
|
|
// with valid |url|, |protocol|, and result PP_OK. |protocol| is not a passed
|
|
// |protocols|, but a result of opening handshake negotiation. If the
|
|
// connection can not be established successfully, WebSocket_ConnectReply is
|
|
// not issued, but WebSocket_ClosedReply is sent instead.
|
|
IPC_MESSAGE_CONTROL2(PpapiPluginMsg_WebSocket_ConnectReply,
|
|
std::string /* url */,
|
|
std::string /* protocol */)
|
|
|
|
// This message is a reply to WebSocket_Close. If the operation fails,
|
|
// WebSocket_CloseReply is issued immediately and it contains PP_ERROR_FAILED.
|
|
// Otherwise, CloseReply will be issued after the closing handshake is
|
|
// finished. All arguments will be valid iff the result is PP_OK and it means
|
|
// that the client initiated closing handshake is finished gracefully.
|
|
IPC_MESSAGE_CONTROL4(PpapiPluginMsg_WebSocket_CloseReply,
|
|
uint64_t /* buffered_amount */,
|
|
bool /* was_clean */,
|
|
uint16_t /* code */,
|
|
std::string /* reason */)
|
|
|
|
// Unsolicited reply message to transmit a receiving text frame.
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_ReceiveTextReply,
|
|
std::string /* message */)
|
|
|
|
// Unsolicited reply message to transmit a receiving binary frame.
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_ReceiveBinaryReply,
|
|
std::vector<uint8_t> /* message */)
|
|
|
|
// Unsolicited reply message to notify a error on underlying network connetion.
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_WebSocket_ErrorReply)
|
|
|
|
// Unsolicited reply message to update the buffered amount value.
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_BufferedAmountReply,
|
|
uint64_t /* buffered_amount */)
|
|
|
|
// Unsolicited reply message to update |state| because of incoming external
|
|
// events, e.g., protocol error, or unexpected network closure.
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_WebSocket_StateReply,
|
|
int32_t /* state */)
|
|
|
|
// Unsolicited reply message to notify that the connection is closed without
|
|
// any WebSocket_Close request. Server initiated closing handshake or
|
|
// unexpected network errors will invoke this message.
|
|
IPC_MESSAGE_CONTROL4(PpapiPluginMsg_WebSocket_ClosedReply,
|
|
uint64_t /* buffered_amount */,
|
|
bool /* was_clean */,
|
|
uint16_t /* code */,
|
|
std::string /* reason */)
|
|
|
|
// VideoDecoder ------------------------------------------------------
|
|
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoDecoder_Create)
|
|
IPC_MESSAGE_CONTROL4(PpapiHostMsg_VideoDecoder_Initialize,
|
|
ppapi::HostResource /* graphics_context */,
|
|
PP_VideoProfile /* profile */,
|
|
PP_HardwareAcceleration /* acceleration */,
|
|
uint32_t /* min_picture_count */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_VideoDecoder_InitializeReply)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_VideoDecoder_GetShm,
|
|
uint32_t /* shm_id */,
|
|
uint32_t /* shm_size */)
|
|
// On success, a shm handle is passed in the ReplyParams struct.
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoDecoder_GetShmReply,
|
|
uint32_t /* shm_size */)
|
|
IPC_MESSAGE_CONTROL3(PpapiHostMsg_VideoDecoder_Decode,
|
|
uint32_t /* shm_id */,
|
|
uint32_t /* size */,
|
|
int32_t /* decode_id */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoDecoder_DecodeReply,
|
|
uint32_t /* shm_id */)
|
|
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VideoDecoder_RequestTextures,
|
|
uint32_t /* num_textures */,
|
|
PP_Size /* size */,
|
|
uint32_t /* texture_target */)
|
|
IPC_MESSAGE_CONTROL3(PpapiHostMsg_VideoDecoder_AssignTextures,
|
|
PP_Size /* size */,
|
|
std::vector<uint32_t> /* texture_ids */,
|
|
std::vector<gpu::Mailbox> /* mailboxes */)
|
|
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VideoDecoder_PictureReady,
|
|
int32_t /* decode_id */,
|
|
uint32_t /* texture_id */,
|
|
PP_Rect /* visible_rect */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_VideoDecoder_RecyclePicture,
|
|
uint32_t /* texture_id */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoDecoder_DismissPicture,
|
|
uint32_t /* texture_id */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoDecoder_Flush)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_VideoDecoder_FlushReply)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoDecoder_Reset)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_VideoDecoder_ResetReply)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoDecoder_NotifyError,
|
|
int32_t /* error */)
|
|
|
|
// VideoEncoder ------------------------------------------------------
|
|
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoEncoder_Create)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoEncoder_GetSupportedProfiles)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoEncoder_GetSupportedProfilesReply,
|
|
std::vector<PP_VideoProfileDescription> /* results */)
|
|
IPC_MESSAGE_CONTROL5(PpapiHostMsg_VideoEncoder_Initialize,
|
|
PP_VideoFrame_Format /* input_format */,
|
|
PP_Size /* input_visible_size */,
|
|
PP_VideoProfile /* output_profile */,
|
|
uint32_t /* initial_bitrate */,
|
|
PP_HardwareAcceleration /* acceleration */)
|
|
IPC_MESSAGE_CONTROL2(PpapiPluginMsg_VideoEncoder_InitializeReply,
|
|
uint32_t /* input_frame_count */,
|
|
PP_Size /* input_coded_size */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoEncoder_BitstreamBuffers,
|
|
uint32_t /* buffer_length */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoEncoder_GetVideoFrames)
|
|
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VideoEncoder_GetVideoFramesReply,
|
|
uint32_t /* frame_count */,
|
|
uint32_t /* frame_length */,
|
|
PP_Size /* frame_size */)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_VideoEncoder_Encode,
|
|
uint32_t /* frame_id */,
|
|
bool /* force_keyframe */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoEncoder_EncodeReply,
|
|
uint32_t /* frame_id */)
|
|
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VideoEncoder_BitstreamBufferReady,
|
|
uint32_t /* buffer_id */,
|
|
uint32_t /* buffer_size */,
|
|
bool /* key_frame */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_VideoEncoder_RecycleBitstreamBuffer,
|
|
uint32_t /* buffer_id */)
|
|
IPC_MESSAGE_CONTROL2(PpapiHostMsg_VideoEncoder_RequestEncodingParametersChange,
|
|
uint32_t /* bitrate */,
|
|
uint32_t /* framerate */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoEncoder_NotifyError,
|
|
int32_t /* error */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoEncoder_Close)
|
|
|
|
#if !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
|
|
|
|
// Audio input.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_AudioInput_Create)
|
|
IPC_MESSAGE_CONTROL3(PpapiHostMsg_AudioInput_Open,
|
|
std::string /* device_id */,
|
|
PP_AudioSampleRate /* sample_rate */,
|
|
uint32_t /* sample_frame_count */)
|
|
// Reply to an Open call. This supplies a socket handle and a shared memory
|
|
// handle. Both handles are passed in the ReplyParams struct.
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_AudioInput_OpenReply)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_AudioInput_StartOrStop, bool /* capture */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_AudioInput_Close)
|
|
|
|
// Audio output.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_AudioOutput_Create)
|
|
IPC_MESSAGE_CONTROL3(PpapiHostMsg_AudioOutput_Open,
|
|
std::string /* device_id */,
|
|
PP_AudioSampleRate /* sample_rate */,
|
|
uint32_t /* sample_frame_count */)
|
|
// Reply to an Open call. This supplies a socket handle and a shared memory
|
|
// handle. Both handles are passed in the ReplyParams struct.
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_AudioOutput_OpenReply)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_AudioOutput_StartOrStop, bool /* playback */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_AudioOutput_Close)
|
|
|
|
// BrowserFont -----------------------------------------------------------------
|
|
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_BrowserFontSingleton_Create)
|
|
|
|
// Requests that the browser reply with the list of font families via
|
|
// PpapiPluginMsg_BrowserFontSingleton_GetFontFamiliesReply.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_BrowserFontSingleton_GetFontFamilies)
|
|
|
|
// Reply to PpapiHostMsg_BrowserFontSingleton_GetFontFamilies with the font
|
|
// family list. The |families| result is encoded by separating each family name
|
|
// by a null character.
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_BrowserFontSingleton_GetFontFamiliesReply,
|
|
std::string /* families */)
|
|
|
|
// DeviceEnumeration -----------------------------------------------------------
|
|
// Device enumeration messages used by audio input and video capture.
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_DeviceEnumeration_EnumerateDevices)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_DeviceEnumeration_EnumerateDevicesReply,
|
|
std::vector<ppapi::DeviceRefData> /* devices */)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_DeviceEnumeration_MonitorDeviceChange,
|
|
uint32_t /* callback_id */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_DeviceEnumeration_StopMonitoringDeviceChange)
|
|
IPC_MESSAGE_CONTROL2(PpapiPluginMsg_DeviceEnumeration_NotifyDeviceChange,
|
|
uint32_t /* callback_id */,
|
|
std::vector<ppapi::DeviceRefData> /* devices */)
|
|
|
|
// VideoCapture ----------------------------------------------------------------
|
|
|
|
// VideoCapture_Dev, plugin -> host
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_Create)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_StartCapture)
|
|
IPC_MESSAGE_CONTROL1(PpapiHostMsg_VideoCapture_ReuseBuffer,
|
|
uint32_t /* buffer */)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_StopCapture)
|
|
IPC_MESSAGE_CONTROL0(PpapiHostMsg_VideoCapture_Close)
|
|
|
|
// VideoCapture_Dev, plugin -> host -> plugin
|
|
IPC_MESSAGE_CONTROL3(PpapiHostMsg_VideoCapture_Open,
|
|
std::string /* device_id */,
|
|
PP_VideoCaptureDeviceInfo_Dev /* requested_info */,
|
|
uint32_t /* buffer_count */)
|
|
IPC_MESSAGE_CONTROL0(PpapiPluginMsg_VideoCapture_OpenReply)
|
|
|
|
// VideoCapture_Dev, host -> plugin
|
|
IPC_MESSAGE_CONTROL3(PpapiPluginMsg_VideoCapture_OnDeviceInfo,
|
|
PP_VideoCaptureDeviceInfo_Dev /* info */,
|
|
std::vector<ppapi::HostResource> /* buffers */,
|
|
uint32_t /* buffer_size */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoCapture_OnStatus,
|
|
uint32_t /* status */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoCapture_OnError,
|
|
uint32_t /* error */)
|
|
IPC_MESSAGE_CONTROL1(PpapiPluginMsg_VideoCapture_OnBufferReady,
|
|
uint32_t /* buffer */)
|
|
|
|
#endif // !BUILDFLAG(IS_NACL) && !defined(NACL_WIN64)
|
|
|
|
#endif // PPAPI_PROXY_PPAPI_MESSAGES_H_
|