diff options
Diffstat (limited to 'chromium/ppapi/thunk')
-rw-r--r-- | chromium/ppapi/thunk/BUILD.gn | 2 | ||||
-rw-r--r-- | chromium/ppapi/thunk/interfaces_ppb_public_dev_channel.h | 1 | ||||
-rw-r--r-- | chromium/ppapi/thunk/interfaces_ppb_public_stable.h | 1 | ||||
-rw-r--r-- | chromium/ppapi/thunk/ppb_graphics_2d_api.h | 3 | ||||
-rw-r--r-- | chromium/ppapi/thunk/ppb_graphics_2d_thunk.cc | 22 | ||||
-rw-r--r-- | chromium/ppapi/thunk/ppb_vpn_provider_api.h | 31 | ||||
-rw-r--r-- | chromium/ppapi/thunk/ppb_vpn_provider_thunk.cc | 79 | ||||
-rw-r--r-- | chromium/ppapi/thunk/resource_creation_api.h | 1 |
8 files changed, 139 insertions, 1 deletions
diff --git a/chromium/ppapi/thunk/BUILD.gn b/chromium/ppapi/thunk/BUILD.gn index d872f523505..258e0446494 100644 --- a/chromium/ppapi/thunk/BUILD.gn +++ b/chromium/ppapi/thunk/BUILD.gn @@ -138,6 +138,8 @@ source_set("thunk") { "ppb_view_api.h", "ppb_view_dev_thunk.cc", "ppb_view_thunk.cc", + "ppb_vpn_provider_api.h", + "ppb_vpn_provider_thunk.cc", "ppb_websocket_api.h", "ppb_websocket_thunk.cc", "ppb_x509_certificate_private_api.h", diff --git a/chromium/ppapi/thunk/interfaces_ppb_public_dev_channel.h b/chromium/ppapi/thunk/interfaces_ppb_public_dev_channel.h index 4dedf17a16d..64dd189921d 100644 --- a/chromium/ppapi/thunk/interfaces_ppb_public_dev_channel.h +++ b/chromium/ppapi/thunk/interfaces_ppb_public_dev_channel.h @@ -14,6 +14,7 @@ PROXIED_IFACE(PPB_COMPOSITORLAYER_INTERFACE_0_1, PPB_CompositorLayer_0_1) PROXIED_IFACE(PPB_COMPOSITORLAYER_INTERFACE_0_2, PPB_CompositorLayer_0_2) PROXIED_IFACE(PPB_VIDEODECODER_INTERFACE_0_1, PPB_VideoDecoder_0_1) PROXIED_IFACE(PPB_VIDEOENCODER_INTERFACE_0_1, PPB_VideoEncoder_0_1) +PROXIED_IFACE(PPB_VPNPROVIDER_INTERFACE_0_1, PPB_VpnProvider_0_1) // Note, PPB_TraceEvent is special. We don't want to actually make it stable, // but we want developers to be able to leverage it when running Chrome Dev or diff --git a/chromium/ppapi/thunk/interfaces_ppb_public_stable.h b/chromium/ppapi/thunk/interfaces_ppb_public_stable.h index 9a7ce0e872c..8725277da5b 100644 --- a/chromium/ppapi/thunk/interfaces_ppb_public_stable.h +++ b/chromium/ppapi/thunk/interfaces_ppb_public_stable.h @@ -60,6 +60,7 @@ PROXIED_IFACE(PPB_FILEIO_INTERFACE_1_0, PPB_FileIO_1_0) PROXIED_IFACE(PPB_FILEIO_INTERFACE_1_1, PPB_FileIO_1_1) PROXIED_IFACE(PPB_GRAPHICS_2D_INTERFACE_1_0, PPB_Graphics2D_1_0) PROXIED_IFACE(PPB_GRAPHICS_2D_INTERFACE_1_1, PPB_Graphics2D_1_1) +PROXIED_IFACE(PPB_GRAPHICS_2D_INTERFACE_1_2, PPB_Graphics2D_1_2) PROXIED_IFACE(PPB_HOSTRESOLVER_INTERFACE_1_0, PPB_HostResolver_1_0) PROXIED_IFACE(PPB_IME_INPUT_EVENT_INTERFACE_1_0, PPB_IMEInputEvent_1_0) PROXIED_IFACE(PPB_INPUT_EVENT_INTERFACE_1_0, PPB_InputEvent_1_0) diff --git a/chromium/ppapi/thunk/ppb_graphics_2d_api.h b/chromium/ppapi/thunk/ppb_graphics_2d_api.h index 164072fef38..de83e2dd27b 100644 --- a/chromium/ppapi/thunk/ppb_graphics_2d_api.h +++ b/chromium/ppapi/thunk/ppb_graphics_2d_api.h @@ -36,6 +36,9 @@ class PPAPI_THUNK_EXPORT PPB_Graphics2D_API { virtual int32_t Flush(scoped_refptr<TrackedCallback> callback) = 0; virtual PP_Bool SetScale(float scale) = 0; virtual float GetScale() = 0; + virtual PP_Bool SetLayerTransform(float scale, + const PP_Point* origin, + const PP_Point* translate) = 0; // Test only virtual bool ReadImageData(PP_Resource image, const PP_Point* top_left) = 0; diff --git a/chromium/ppapi/thunk/ppb_graphics_2d_thunk.cc b/chromium/ppapi/thunk/ppb_graphics_2d_thunk.cc index 527b0aa80cc..af7349f3c4a 100644 --- a/chromium/ppapi/thunk/ppb_graphics_2d_thunk.cc +++ b/chromium/ppapi/thunk/ppb_graphics_2d_thunk.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// From ppb_graphics_2d.idl modified Wed Jan 27 17:10:16 2016. +// From ppb_graphics_2d.idl modified Fri Apr 15 15:37:20 2016. #include <stdint.h> #include <string.h> @@ -102,6 +102,17 @@ float GetScale(PP_Resource resource) { return enter.object()->GetScale(); } +PP_Bool SetLayerTransform(PP_Resource resource, + float scale, + const struct PP_Point* origin, + const struct PP_Point* translate) { + VLOG(4) << "PPB_Graphics2D::SetLayerTransform()"; + EnterResource<PPB_Graphics2D_API> enter(resource, true); + if (enter.failed()) + return PP_FALSE; + return enter.object()->SetLayerTransform(scale, origin, translate); +} + const PPB_Graphics2D_1_0 g_ppb_graphics2d_thunk_1_0 = { &Create, &IsGraphics2D, &Describe, &PaintImageData, &Scroll, &ReplaceContents, &Flush}; @@ -110,6 +121,11 @@ const PPB_Graphics2D_1_1 g_ppb_graphics2d_thunk_1_1 = { &Create, &IsGraphics2D, &Describe, &PaintImageData, &Scroll, &ReplaceContents, &Flush, &SetScale, &GetScale}; +const PPB_Graphics2D_1_2 g_ppb_graphics2d_thunk_1_2 = { + &Create, &IsGraphics2D, &Describe, &PaintImageData, + &Scroll, &ReplaceContents, &Flush, &SetScale, + &GetScale, &SetLayerTransform}; + } // namespace PPAPI_THUNK_EXPORT const PPB_Graphics2D_1_0* GetPPB_Graphics2D_1_0_Thunk() { @@ -120,5 +136,9 @@ PPAPI_THUNK_EXPORT const PPB_Graphics2D_1_1* GetPPB_Graphics2D_1_1_Thunk() { return &g_ppb_graphics2d_thunk_1_1; } +PPAPI_THUNK_EXPORT const PPB_Graphics2D_1_2* GetPPB_Graphics2D_1_2_Thunk() { + return &g_ppb_graphics2d_thunk_1_2; +} + } // namespace thunk } // namespace ppapi diff --git a/chromium/ppapi/thunk/ppb_vpn_provider_api.h b/chromium/ppapi/thunk/ppb_vpn_provider_api.h new file mode 100644 index 00000000000..7153afb02c6 --- /dev/null +++ b/chromium/ppapi/thunk/ppb_vpn_provider_api.h @@ -0,0 +1,31 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef PPAPI_THUNK_PPB_VPNPROVIDER_API_H_ +#define PPAPI_THUNK_PPB_VPNPROVIDER_API_H_ + +#include "ppapi/thunk/ppapi_thunk_export.h" + +namespace ppapi { +namespace thunk { + +class PPAPI_THUNK_EXPORT PPB_VpnProvider_API { + public: + virtual ~PPB_VpnProvider_API() {} + + virtual int32_t Bind(const PP_Var& configuration_id, + const PP_Var& configuration_name, + const scoped_refptr<TrackedCallback>& callback) = 0; + virtual int32_t SendPacket( + const PP_Var& packet, + const scoped_refptr<TrackedCallback>& callback) = 0; + virtual int32_t ReceivePacket( + PP_Var* packet, + const scoped_refptr<TrackedCallback>& callback) = 0; +}; + +} // namespace thunk +} // namespace ppapi + +#endif // PPAPI_THUNK_PPB_VPNPROVIDER_API_H_ diff --git a/chromium/ppapi/thunk/ppb_vpn_provider_thunk.cc b/chromium/ppapi/thunk/ppb_vpn_provider_thunk.cc new file mode 100644 index 00000000000..ddb9280f720 --- /dev/null +++ b/chromium/ppapi/thunk/ppb_vpn_provider_thunk.cc @@ -0,0 +1,79 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// From ppb_vpn_provider.idl modified Fri May 6 20:38:30 2016. + +#include <stdint.h> + +#include "ppapi/c/pp_completion_callback.h" +#include "ppapi/c/pp_errors.h" +#include "ppapi/c/ppb_vpn_provider.h" +#include "ppapi/shared_impl/tracked_callback.h" +#include "ppapi/thunk/enter.h" +#include "ppapi/thunk/ppapi_thunk_export.h" +#include "ppapi/thunk/ppb_vpn_provider_api.h" + +namespace ppapi { +namespace thunk { + +namespace { + +PP_Resource Create(PP_Instance instance) { + VLOG(4) << "PPB_VpnProvider::Create()"; + EnterResourceCreation enter(instance); + if (enter.failed()) + return 0; + return enter.functions()->CreateVpnProvider(instance); +} + +PP_Bool IsVpnProvider(PP_Resource resource) { + VLOG(4) << "PPB_VpnProvider::IsVpnProvider()"; + EnterResource<PPB_VpnProvider_API> enter(resource, false); + return PP_FromBool(enter.succeeded()); +} + +int32_t Bind(PP_Resource vpn_provider, + struct PP_Var configuration_id, + struct PP_Var configuration_name, + struct PP_CompletionCallback callback) { + VLOG(4) << "PPB_VpnProvider::Bind()"; + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true); + if (enter.failed()) + return enter.retval(); + return enter.SetResult(enter.object()->Bind( + configuration_id, configuration_name, enter.callback())); +} + +int32_t SendPacket(PP_Resource vpn_provider, + struct PP_Var packet, + struct PP_CompletionCallback callback) { + VLOG(4) << "PPB_VpnProvider::SendPacket()"; + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true); + if (enter.failed()) + return enter.retval(); + return enter.SetResult(enter.object()->SendPacket(packet, enter.callback())); +} + +int32_t ReceivePacket(PP_Resource vpn_provider, + struct PP_Var* packet, + struct PP_CompletionCallback callback) { + VLOG(4) << "PPB_VpnProvider::ReceivePacket()"; + EnterResource<PPB_VpnProvider_API> enter(vpn_provider, callback, true); + if (enter.failed()) + return enter.retval(); + return enter.SetResult( + enter.object()->ReceivePacket(packet, enter.callback())); +} + +const PPB_VpnProvider_0_1 g_ppb_vpnprovider_thunk_0_1 = { + &Create, &IsVpnProvider, &Bind, &SendPacket, &ReceivePacket}; + +} // namespace + +PPAPI_THUNK_EXPORT const PPB_VpnProvider_0_1* GetPPB_VpnProvider_0_1_Thunk() { + return &g_ppb_vpnprovider_thunk_0_1; +} + +} // namespace thunk +} // namespace ppapi diff --git a/chromium/ppapi/thunk/resource_creation_api.h b/chromium/ppapi/thunk/resource_creation_api.h index 582d9a18648..5636b5f4315 100644 --- a/chromium/ppapi/thunk/resource_creation_api.h +++ b/chromium/ppapi/thunk/resource_creation_api.h @@ -179,6 +179,7 @@ class ResourceCreationAPI { virtual PP_Resource CreateVideoDestination(PP_Instance instance) = 0; virtual PP_Resource CreateVideoEncoder(PP_Instance instance) = 0; virtual PP_Resource CreateVideoSource(PP_Instance instance) = 0; + virtual PP_Resource CreateVpnProvider(PP_Instance instance) = 0; virtual PP_Resource CreateWebSocket(PP_Instance instance) = 0; virtual PP_Resource CreateX509CertificatePrivate(PP_Instance instance) = 0; #if !defined(OS_NACL) |