diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-12 20:37:04 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-12 20:37:04 +0000 |
commit | c77a8dd4b83d07233202f99ce7951e7f002ebec7 (patch) | |
tree | 3f7aa1c79cca700e5f1d96a833c0cb474b8b285c /ppapi/thunk | |
parent | 358be972e7edb780004c66be2b8b343beb755b00 (diff) | |
download | chromium_src-c77a8dd4b83d07233202f99ce7951e7f002ebec7.zip chromium_src-c77a8dd4b83d07233202f99ce7951e7f002ebec7.tar.gz chromium_src-c77a8dd4b83d07233202f99ce7951e7f002ebec7.tar.bz2 |
Revert 100748 - This patch tries to remove most of the manual registration for Pepper interfaces, and replaces it with a list of macros. When files want to know which Pepper interface names and structs there are, they define what they want to do with the macros, and then include the relevant files for the classes of interfaces they want (stable, private, dev).
This does not convert all the dev interfaces. I just did a few to keep the patch smaller. So there is still a lot of manual registration.
This fixes the previous design problem where we assumed one *_Proxy object == one interface. We have been hacking around this lately with duplicate GetInfo calls, but this doesn't work for PPP interfaces.
Now, a _Proxy object is just there to help keep things organized. One proxy can handle zero, one, or many interfaces, and this mapping is controlled by just one line in the interfaces file.
So for example, to add a new function to a new version of an interface with backward compatibility, you would add that function to the _api.h file, and write a thunk for the new interface. Then you only need to add one line to the interfaces_ppb_public_stable.h file and that will be hooked up with the proxy and the implementation.
This removes some _proxy objects/files that were used only to declare that the interfaces existed, since they're no longer necessary.
I folded Console into the Instance API which removed a bunch of code.
I removed FileChooser 0.4. I think everybody has converted to the new one, and I think parts of it weren't even hooked up properly anymore.
Review URL: http://codereview.chromium.org/7740038
TBR=brettw@chromium.org
Review URL: http://codereview.chromium.org/7844018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100754 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/thunk')
27 files changed, 74 insertions, 331 deletions
diff --git a/ppapi/thunk/enter.cc b/ppapi/thunk/enter.cc deleted file mode 100644 index da3f85c..0000000 --- a/ppapi/thunk/enter.cc +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) 2011 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. - -#include "ppapi/thunk/enter.h" - -#include "ppapi/thunk/ppb_instance_api.h" -#include "ppapi/thunk/resource_creation_api.h" - -namespace ppapi { -namespace thunk { - -EnterResourceCreation::EnterResourceCreation(PP_Instance instance) - : EnterFunctionNoLock<ResourceCreationAPI>(instance, true) { -} - -EnterResourceCreation::~EnterResourceCreation() { -} - -EnterInstance::EnterInstance(PP_Instance instance) - : EnterFunctionNoLock<PPB_Instance_FunctionAPI>(instance, true) { -} - -EnterInstance::~EnterInstance() { -} - -} // namespace thunk -} // namespace ppapi diff --git a/ppapi/thunk/enter.h b/ppapi/thunk/enter.h index ffa865d2d..e83a1a1 100644 --- a/ppapi/thunk/enter.h +++ b/ppapi/thunk/enter.h @@ -128,24 +128,6 @@ class EnterResourceNoLock : public EnterResource<ResourceT> { } }; -// Simpler wrapper to enter the resource creation API. This is used for every -// class so we have this helper function to save template instantiations and -// typing. -class EnterResourceCreation : public EnterFunctionNoLock<ResourceCreationAPI> { - public: - EnterResourceCreation(PP_Instance instance); - ~EnterResourceCreation(); -}; - -// Simpler wrapper to enter the instance API from proxy code. This is used for -// many interfaces so we have this helper function to save template -// instantiations and typing. -class EnterInstance : public EnterFunctionNoLock<PPB_Instance_FunctionAPI> { - public: - EnterInstance(PP_Instance instance); - ~EnterInstance(); -}; - } // namespace thunk } // namespace ppapi diff --git a/ppapi/thunk/interfaces_postamble.h b/ppapi/thunk/interfaces_postamble.h deleted file mode 100644 index cebfe74..0000000 --- a/ppapi/thunk/interfaces_postamble.h +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (c) 2011 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. - -// Cleans up after interfaces_preamble.h, see that file for more. - -#ifdef UNDEFINE_PROXIED_API -#undef UNDEFINE_PROXIED_API -#undef PROXIED_API -#endif - -#ifdef UNDEFINE_UNPROXIED_API -#undef UNDEFINE_UNPROXIED_API -#undef UNPROXIED_API -#endif - -#ifdef UNDEFINE_PROXIED_IFACE -#undef UNDEFINE_PROXIED_IFACE -#undef PROXIED_IFACE -#endif - -#ifdef UNDEFINE_UNPROXIED_IFACE -#undef UNDEFINE_UNPROXIED_IFACE -#undef UNPROXIED_IFACE -#endif diff --git a/ppapi/thunk/interfaces_ppb_private.h b/ppapi/thunk/interfaces_ppb_private.h deleted file mode 100644 index 19e9065..0000000 --- a/ppapi/thunk/interfaces_ppb_private.h +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (c) 2011 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. - -// Please see inteface_ppb_public_stable for the documentation on the format of -// this file. - -#include "ppapi/thunk/interfaces_preamble.h" - -PROXIED_API(PPB_Broker) - -PROXIED_IFACE(PPB_Broker, PPB_BROKER_TRUSTED_INTERFACE_0_2, PPB_Broker) - -#include "ppapi/thunk/interfaces_postamble.h" diff --git a/ppapi/thunk/interfaces_ppb_public_dev.h b/ppapi/thunk/interfaces_ppb_public_dev.h deleted file mode 100644 index 3e202a5..0000000 --- a/ppapi/thunk/interfaces_ppb_public_dev.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2011 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. - -// Please see inteface_ppb_public_stable for the documentation on the format of -// this file. - -#include "ppapi/thunk/interfaces_preamble.h" - -PROXIED_API(PPB_Buffer) -PROXIED_API(PPB_CharSet) -PROXIED_API(PPB_Context3D) -PROXIED_API(PPB_CursorControl) -PROXIED_API(PPB_FileChooser) -PROXIED_API(PPB_Font) -PROXIED_API(PPB_Graphics3D) -PROXIED_API(PPB_Surface3D) -PROXIED_API(PPB_VideoCapture) -PROXIED_API(PPB_VideoDecoder) - -PROXIED_IFACE(PPB_Buffer, PPB_BUFFER_DEV_INTERFACE_0_4, PPB_Buffer_Dev) -PROXIED_IFACE(PPB_CharSet, PPB_CHAR_SET_DEV_INTERFACE_0_4, PPB_CharSet_Dev) -PROXIED_IFACE(PPB_Context3D, PPB_CONTEXT_3D_DEV_INTERFACE_0_1, - PPB_Context3D_Dev) -PROXIED_IFACE(PPB_Context3D, PPB_GLES_CHROMIUM_TEXTURE_MAPPING_DEV_INTERFACE, - PPB_GLESChromiumTextureMapping_Dev) -PROXIED_IFACE(PPB_CursorControl, PPB_CURSOR_CONTROL_DEV_INTERFACE_0_4, - PPB_CursorControl_Dev) -PROXIED_IFACE(PPB_FileChooser, PPB_FILECHOOSER_DEV_INTERFACE_0_5, - PPB_FileChooser_Dev) -PROXIED_IFACE(PPB_Font, PPB_FONT_DEV_INTERFACE_0_6, PPB_Font_Dev) -PROXIED_IFACE(PPB_Instance, PPB_CONSOLE_DEV_INTERFACE, PPB_Console_Dev) -PROXIED_IFACE(PPB_Instance, PPB_MOUSELOCK_DEV_INTERFACE_0_1, - PPB_MouseLock_Dev) -PROXIED_IFACE(PPB_Surface3D, PPB_SURFACE_3D_DEV_INTERFACE_0_2, - PPB_Surface3D_Dev) -PROXIED_IFACE(PPB_VideoCapture, PPB_VIDEO_CAPTURE_DEV_INTERFACE_0_1, - PPB_VideoCapture_Dev) -PROXIED_IFACE(PPB_VideoDecoder, PPB_VIDEODECODER_DEV_INTERFACE_0_16, - PPB_VideoDecoder_Dev) - -#include "ppapi/thunk/interfaces_postamble.h" diff --git a/ppapi/thunk/interfaces_ppb_public_stable.h b/ppapi/thunk/interfaces_ppb_public_stable.h deleted file mode 100644 index 579ce15..0000000 --- a/ppapi/thunk/interfaces_ppb_public_stable.h +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (c) 2011 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. - -#include "ppapi/thunk/interfaces_preamble.h" - -// This file contains lists of interfaces. It's intended to be included by -// another file which defines implementations of the macros. This allows files -// to do specific registration tasks for each supported interface. - - -// Api categories -// -------------- -// Enumerates the categories of APIs. These correspnd to the *_api.h files in -// this directory. One API may implement one or more actual interfaces. -// -// For PROXIED_APIs, these also correspond to *_Proxy objects. The proxied ones -// define factory functions for each of these classes. UNPROXIED_APIs are ones -// that exist in the webkit/plugins/ppapi/*_impl.h, but not in the proxy. -PROXIED_API(PPB_Audio) -// AudioConfig isn't proxied in the normal way, we have only local classes and -// serialize it to a struct when we need it on the host side. -UNPROXIED_API(PPB_AudioConfig) -PROXIED_API(PPB_Core) -UNPROXIED_API(PPB_FileIO) -PROXIED_API(PPB_FileRef) -PROXIED_API(PPB_FileSystem) -PROXIED_API(PPB_Graphics2D) -UNPROXIED_API(PPB_ImageData) -PROXIED_API(PPB_Instance) -PROXIED_API(PPB_URLLoader) -PROXIED_API(PPB_URLResponseInfo) - -// Interfaces -// ---------- -// Enumerates interfaces as (api_name, interface_name, interface_struct). -// -// The api_name corresponds to the class in the list above for the object -// that implements the API. Some things may be special and aren't implemented -// by any specific API object, and we use "NoAPIName" for those. Implementors -// of these macros should handle this case. There can be more than one line -// referring to the same api_name (typically different versions of the -// same interface). -// -// The interface_name is the string that corresponds to the interface. -// -// The interface_struct is the typename of the struct corresponding to the -// interface string. -PROXIED_IFACE(PPB_Audio, PPB_AUDIO_INTERFACE_1_0, PPB_Audio) -// This has no corresponding _Proxy object since it does no IPC. -PROXIED_IFACE(NoAPIName, PPB_AUDIO_CONFIG_INTERFACE_1_0, PPB_AudioConfig) -// Note: Core is special and is registered manually. -UNPROXIED_IFACE(PPB_FileIO, PPB_FILEIO_INTERFACE_1_0, PPB_FileIO) -PROXIED_IFACE(PPB_FileRef, PPB_FILEREF_INTERFACE_1_0, PPB_FileRef) -PROXIED_IFACE(PPB_FileSystem, PPB_FILESYSTEM_INTERFACE_1_0, PPB_FileSystem) -PROXIED_IFACE(PPB_Graphics2D, PPB_GRAPHICS_2D_INTERFACE_1_0, PPB_Graphics2D) -PROXIED_IFACE(PPB_Graphics3D, PPB_GRAPHICS_3D_INTERFACE_1_0, PPB_Graphics3D) -// ImageData doesn't have a normal _Proxy object since it only uses Create -// to proxy, and that happens in the ResourceCreationAPI. -PROXIED_IFACE(NoAPIName, PPB_IMAGEDATA_INTERFACE_1_0, PPB_ImageData) -PROXIED_IFACE(PPB_Instance, PPB_INSTANCE_INTERFACE_1_0, PPB_Instance) -PROXIED_IFACE(NoAPIName, PPB_INPUT_EVENT_INTERFACE_1_0, PPB_InputEvent) -PROXIED_IFACE(NoAPIName, PPB_KEYBOARD_INPUT_EVENT_INTERFACE_1_0, - PPB_KeyboardInputEvent) -PROXIED_IFACE(NoAPIName, PPB_MOUSE_INPUT_EVENT_INTERFACE_1_0, - PPB_MouseInputEvent_1_0) -PROXIED_IFACE(NoAPIName, PPB_MOUSE_INPUT_EVENT_INTERFACE_1_1, - PPB_MouseInputEvent) -PROXIED_IFACE(NoAPIName, PPB_WHEEL_INPUT_EVENT_INTERFACE_1_0, - PPB_WheelInputEvent) -PROXIED_IFACE(PPB_Instance, PPB_MESSAGING_INTERFACE_1_0, PPB_Messaging) -PROXIED_IFACE(PPB_URLLoader, PPB_URLLOADER_INTERFACE_1_0, PPB_URLLoader) -PROXIED_IFACE(NoAPIName, PPB_URLREQUESTINFO_INTERFACE_1_0, PPB_URLRequestInfo) -PROXIED_IFACE(PPB_URLResponseInfo, PPB_URLRESPONSEINFO_INTERFACE_1_0, - PPB_URLResponseInfo) -// Note: PPB_Var is special and registered manually. - -#include "ppapi/thunk/interfaces_postamble.h" diff --git a/ppapi/thunk/interfaces_preamble.h b/ppapi/thunk/interfaces_preamble.h deleted file mode 100644 index 7fe1d77..0000000 --- a/ppapi/thunk/interfaces_preamble.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) 2011 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. - -// This file defines empty versions of the macros used in the interfaces_*.h -// files, as long as they aren't already defined. This allows users of those -// files to only implement the macros they need, and everything else will -// compile. -// -// Include this file at the top, and interfaces_postamble.h at the bottom. The -// postamble will clean up these definitions. - -#ifndef PROXIED_API -#define PROXIED_API(api_name) -#define UNDEFINE_PROXIED_API -#endif - -#ifndef UNPROXIED_API -#define UNPROXIED_API(api_name) -#define UNDEFINE_UNPROXIED_API -#endif - -#ifndef PROXIED_IFACE -#define PROXIED_IFACE(api_name, iface_str, iface_struct) -#define UNDEFINE_PROXIED_IFACE -#endif - -#ifndef UNPROXIED_IFACE -#define UNPROXIED_IFACE(api_name, iface_str, iface_struct) -#define UNDEFINE_UNPROXIED_IFACE -#endif diff --git a/ppapi/thunk/ppb_buffer_thunk.cc b/ppapi/thunk/ppb_buffer_thunk.cc index 1772048..cf4952c 100644 --- a/ppapi/thunk/ppb_buffer_thunk.cc +++ b/ppapi/thunk/ppb_buffer_thunk.cc @@ -57,7 +57,7 @@ const PPB_Buffer_Dev g_ppb_buffer_thunk = { } // namespace -const PPB_Buffer_Dev* GetPPB_Buffer_Dev_Thunk() { +const PPB_Buffer_Dev* GetPPB_Buffer_Thunk() { return &g_ppb_buffer_thunk; } diff --git a/ppapi/thunk/ppb_char_set_thunk.cc b/ppapi/thunk/ppb_char_set_thunk.cc index 1b02038..bc36bad 100644 --- a/ppapi/thunk/ppb_char_set_thunk.cc +++ b/ppapi/thunk/ppb_char_set_thunk.cc @@ -54,7 +54,7 @@ const PPB_CharSet_Dev g_ppb_char_set_thunk = { } // namespace -const PPB_CharSet_Dev* GetPPB_CharSet_Dev_Thunk() { +const PPB_CharSet_Dev* GetPPB_CharSet_Thunk() { return &g_ppb_char_set_thunk; } diff --git a/ppapi/thunk/ppb_console_thunk.cc b/ppapi/thunk/ppb_console_thunk.cc deleted file mode 100644 index 509c128..0000000 --- a/ppapi/thunk/ppb_console_thunk.cc +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2011 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. - -#include "ppapi/c/dev/ppb_console_dev.h" -#include "ppapi/thunk/thunk.h" -#include "ppapi/thunk/enter.h" -#include "ppapi/thunk/ppb_instance_api.h" - -namespace ppapi { -namespace thunk { - -namespace { - -void Log(PP_Instance instance, PP_LogLevel_Dev level, struct PP_Var value) { - EnterInstance enter(instance); - if (enter.succeeded()) - return enter.functions()->Log(instance, level, value); -} - -void LogWithSource(PP_Instance instance, - PP_LogLevel_Dev level, - PP_Var source, - PP_Var value) { - EnterInstance enter(instance); - if (enter.succeeded()) - return enter.functions()->LogWithSource(instance, level, source, value); -} - -const PPB_Console_Dev g_ppb_console_thunk = { - &Log, - &LogWithSource -}; - -} // namespace - -const PPB_Console_Dev* GetPPB_Console_Dev_Thunk() { - return &g_ppb_console_thunk; -} - -} // namespace thunk -} // namespace ppapi diff --git a/ppapi/thunk/ppb_context_3d_thunk.cc b/ppapi/thunk/ppb_context_3d_thunk.cc index 200e044..cbb035a 100644 --- a/ppapi/thunk/ppb_context_3d_thunk.cc +++ b/ppapi/thunk/ppb_context_3d_thunk.cc @@ -64,7 +64,7 @@ const PPB_Context3D_Dev g_ppb_context_3d_thunk = { } // namespace -const PPB_Context3D_Dev* GetPPB_Context3D_Dev_Thunk() { +const PPB_Context3D_Dev* GetPPB_Context3D_Thunk() { return &g_ppb_context_3d_thunk; } diff --git a/ppapi/thunk/ppb_cursor_control_thunk.cc b/ppapi/thunk/ppb_cursor_control_thunk.cc index b1f5409..56ba078 100644 --- a/ppapi/thunk/ppb_cursor_control_thunk.cc +++ b/ppapi/thunk/ppb_cursor_control_thunk.cc @@ -59,7 +59,7 @@ const PPB_CursorControl_Dev g_ppb_cursor_control_thunk = { } // namespace -const PPB_CursorControl_Dev* GetPPB_CursorControl_Dev_Thunk() { +const PPB_CursorControl_Dev* GetPPB_CursorControl_Thunk() { return &g_ppb_cursor_control_thunk; } diff --git a/ppapi/thunk/ppb_directory_reader_thunk.cc b/ppapi/thunk/ppb_directory_reader_thunk.cc index f8e95537..c631194 100644 --- a/ppapi/thunk/ppb_directory_reader_thunk.cc +++ b/ppapi/thunk/ppb_directory_reader_thunk.cc @@ -46,7 +46,7 @@ const PPB_DirectoryReader_Dev g_ppb_directory_reader_thunk = { } // namespace -const PPB_DirectoryReader_Dev* GetPPB_DirectoryReader_Dev_Thunk() { +const PPB_DirectoryReader_Dev* GetPPB_DirectoryReader_Thunk() { return &g_ppb_directory_reader_thunk; } diff --git a/ppapi/thunk/ppb_file_chooser_thunk.cc b/ppapi/thunk/ppb_file_chooser_thunk.cc index 774ef03..c58f052 100644 --- a/ppapi/thunk/ppb_file_chooser_thunk.cc +++ b/ppapi/thunk/ppb_file_chooser_thunk.cc @@ -55,7 +55,7 @@ const PPB_FileChooser_Dev g_ppb_file_chooser_thunk = { } // namespace -const PPB_FileChooser_Dev* GetPPB_FileChooser_Dev_Thunk() { +const PPB_FileChooser_Dev* GetPPB_FileChooser_Thunk() { return &g_ppb_file_chooser_thunk; } diff --git a/ppapi/thunk/ppb_font_thunk.cc b/ppapi/thunk/ppb_font_thunk.cc index 841170a..ae13e01 100644 --- a/ppapi/thunk/ppb_font_thunk.cc +++ b/ppapi/thunk/ppb_font_thunk.cc @@ -93,7 +93,7 @@ const PPB_Font_Dev g_ppb_font_thunk = { } // namespace -const PPB_Font_Dev* GetPPB_Font_Dev_Thunk() { +const PPB_Font_Dev* GetPPB_Font_Thunk() { return &g_ppb_font_thunk; } diff --git a/ppapi/thunk/ppb_gles_chromium_texture_mapping_thunk.cc b/ppapi/thunk/ppb_gles_chromium_texture_mapping_thunk.cc index 085578a..6e8e7c5 100644 --- a/ppapi/thunk/ppb_gles_chromium_texture_mapping_thunk.cc +++ b/ppapi/thunk/ppb_gles_chromium_texture_mapping_thunk.cc @@ -69,7 +69,7 @@ g_ppb_gles_chromium_texture_mapping_thunk = { } // namespace const PPB_GLESChromiumTextureMapping_Dev* -GetPPB_GLESChromiumTextureMapping_Dev_Thunk() { +GetPPB_GLESChromiumTextureMapping_Thunk() { return &g_ppb_gles_chromium_texture_mapping_thunk; } diff --git a/ppapi/thunk/ppb_input_event_thunk.cc b/ppapi/thunk/ppb_input_event_thunk.cc index 6028c6e..bd28495 100644 --- a/ppapi/thunk/ppb_input_event_thunk.cc +++ b/ppapi/thunk/ppb_input_event_thunk.cc @@ -281,7 +281,7 @@ const PPB_MouseInputEvent_1_0* GetPPB_MouseInputEvent_1_0_Thunk() { return &g_ppb_mouse_input_event_1_0_thunk; } -const PPB_MouseInputEvent* GetPPB_MouseInputEvent_Thunk() { +const PPB_MouseInputEvent* GetPPB_MouseInputEvent_1_1_Thunk() { return &g_ppb_mouse_input_event_1_1_thunk; } diff --git a/ppapi/thunk/ppb_instance_api.h b/ppapi/thunk/ppb_instance_api.h index 9a5628b..e9cacef 100644 --- a/ppapi/thunk/ppb_instance_api.h +++ b/ppapi/thunk/ppb_instance_api.h @@ -29,15 +29,6 @@ class PPB_Instance_FunctionAPI { PP_Var script, PP_Var* exception) = 0; - // Console. - virtual void Log(PP_Instance instance, - int log_level, - PP_Var value) = 0; - virtual void LogWithSource(PP_Instance instance, - int log_level, - PP_Var source, - PP_Var value) = 0; - // Fullscreen. virtual PP_Bool IsFullscreen(PP_Instance instance) = 0; virtual PP_Bool SetFullscreen(PP_Instance instance, PP_Bool fullscreen) = 0; diff --git a/ppapi/thunk/ppb_instance_thunk.cc b/ppapi/thunk/ppb_instance_thunk.cc index 9cc9bd5..a05f030 100644 --- a/ppapi/thunk/ppb_instance_thunk.cc +++ b/ppapi/thunk/ppb_instance_thunk.cc @@ -49,7 +49,7 @@ PP_Var ExecuteScript(PP_Instance instance, return enter.functions()->ExecuteScript(instance, script, exception); } -const PPB_Instance g_ppb_instance_thunk = { +const PPB_Instance_1_0 g_ppb_instance_1_0_thunk = { &BindGraphics, &IsFullFrame }; @@ -62,8 +62,8 @@ const PPB_Instance_Private g_ppb_instance_private_thunk = { } // namespace -const PPB_Instance* GetPPB_Instance_Thunk() { - return &g_ppb_instance_thunk; +const PPB_Instance_1_0* GetPPB_Instance_1_0_Thunk() { + return &g_ppb_instance_1_0_thunk; } const PPB_Instance_Private* GetPPB_Instance_Private_Thunk() { return &g_ppb_instance_private_thunk; diff --git a/ppapi/thunk/ppb_mouse_lock_thunk.cc b/ppapi/thunk/ppb_mouse_lock_thunk.cc index 3f1d6d3..d9116b0 100644 --- a/ppapi/thunk/ppb_mouse_lock_thunk.cc +++ b/ppapi/thunk/ppb_mouse_lock_thunk.cc @@ -36,7 +36,7 @@ const PPB_MouseLock_Dev g_ppb_mouse_lock_thunk = { } // namespace -const PPB_MouseLock_Dev* GetPPB_MouseLock_Dev_Thunk() { +const PPB_MouseLock_Dev* GetPPB_MouseLock_Thunk() { return &g_ppb_mouse_lock_thunk; } diff --git a/ppapi/thunk/ppb_surface_3d_thunk.cc b/ppapi/thunk/ppb_surface_3d_thunk.cc index ba1df6f..e7034cb 100644 --- a/ppapi/thunk/ppb_surface_3d_thunk.cc +++ b/ppapi/thunk/ppb_surface_3d_thunk.cc @@ -63,7 +63,7 @@ const PPB_Surface3D_Dev g_ppb_surface_3d_thunk = { } // namespace -const PPB_Surface3D_Dev* GetPPB_Surface3D_Dev_Thunk() { +const PPB_Surface3D_Dev* GetPPB_Surface3D_Thunk() { return &g_ppb_surface_3d_thunk; } diff --git a/ppapi/thunk/ppb_transport_thunk.cc b/ppapi/thunk/ppb_transport_thunk.cc index 17c572e..b245514 100644 --- a/ppapi/thunk/ppb_transport_thunk.cc +++ b/ppapi/thunk/ppb_transport_thunk.cc @@ -108,7 +108,7 @@ const PPB_Transport_Dev g_ppb_transport_thunk = { } // namespace -const PPB_Transport_Dev* GetPPB_Transport_Dev_Thunk() { +const PPB_Transport_Dev* GetPPB_Transport_Thunk() { return &g_ppb_transport_thunk; } diff --git a/ppapi/thunk/ppb_video_capture_thunk.cc b/ppapi/thunk/ppb_video_capture_thunk.cc index f8704d0..c320cb5 100644 --- a/ppapi/thunk/ppb_video_capture_thunk.cc +++ b/ppapi/thunk/ppb_video_capture_thunk.cc @@ -65,7 +65,7 @@ const PPB_VideoCapture_Dev g_ppb_videocapture_thunk = { } // namespace -const PPB_VideoCapture_Dev* GetPPB_VideoCapture_Dev_Thunk() { +const PPB_VideoCapture_Dev* GetPPB_VideoCapture_Thunk() { return &g_ppb_videocapture_thunk; } diff --git a/ppapi/thunk/ppb_video_decoder_thunk.cc b/ppapi/thunk/ppb_video_decoder_thunk.cc index 40b837b..b7a72d9 100644 --- a/ppapi/thunk/ppb_video_decoder_thunk.cc +++ b/ppapi/thunk/ppb_video_decoder_thunk.cc @@ -90,7 +90,7 @@ const PPB_VideoDecoder_Dev g_ppb_videodecoder_thunk = { } // namespace -const PPB_VideoDecoder_Dev* GetPPB_VideoDecoder_Dev_Thunk() { +const PPB_VideoDecoder_Dev* GetPPB_VideoDecoder_Thunk() { return &g_ppb_videodecoder_thunk; } diff --git a/ppapi/thunk/ppb_video_layer_thunk.cc b/ppapi/thunk/ppb_video_layer_thunk.cc index ea31b9f..4a1a258 100644 --- a/ppapi/thunk/ppb_video_layer_thunk.cc +++ b/ppapi/thunk/ppb_video_layer_thunk.cc @@ -73,7 +73,7 @@ const PPB_VideoLayer_Dev g_ppb_videolayer_thunk = { } // namespace -const PPB_VideoLayer_Dev* GetPPB_VideoLayer_Dev_Thunk() { +const PPB_VideoLayer_Dev* GetPPB_VideoLayer_Thunk() { return &g_ppb_videolayer_thunk; } diff --git a/ppapi/thunk/ppb_widget_thunk.cc b/ppapi/thunk/ppb_widget_thunk.cc index ec77352..374296b 100644 --- a/ppapi/thunk/ppb_widget_thunk.cc +++ b/ppapi/thunk/ppb_widget_thunk.cc @@ -54,7 +54,7 @@ const PPB_Widget_Dev g_ppb_widget_thunk = { } // namespace -const PPB_Widget_Dev* GetPPB_Widget_Dev_Thunk() { +const PPB_Widget_Dev* GetPPB_Widget_Thunk() { return &g_ppb_widget_thunk; } diff --git a/ppapi/thunk/thunk.h b/ppapi/thunk/thunk.h index 47d3660..94c31a7 100644 --- a/ppapi/thunk/thunk.h +++ b/ppapi/thunk/thunk.h @@ -7,56 +7,55 @@ #include "ppapi/thunk/ppapi_thunk_export.h" -// Declares a getter for the interface thunk of the form: -// -// const PPB_Foo* ppapi::thunk::GetPPB_Foo_Thunk(); -// -#define IFACE(api_name, interface_name, InterfaceType) \ - struct InterfaceType; \ - namespace ppapi { namespace thunk { \ - PPAPI_THUNK_EXPORT const InterfaceType* Get##InterfaceType##_Thunk(); \ - } } -#define PROXIED_IFACE IFACE -#define UNPROXIED_IFACE IFACE - -#include "ppapi/thunk/interfaces_ppb_public_stable.h" -#include "ppapi/thunk/interfaces_ppb_public_dev.h" - -#undef UNPROXIED_IFACE -#undef PROXIED_IFACE -#undef IFACE - +struct PPB_Audio; +struct PPB_AudioConfig; struct PPB_AudioTrusted; struct PPB_BrokerTrusted; struct PPB_Buffer_Dev; struct PPB_BufferTrusted; struct PPB_CharSet_Dev; -struct PPB_Console_Dev; +struct PPB_Context3D_Dev; struct PPB_Context3DTrusted_Dev; struct PPB_CursorControl_Dev; struct PPB_DirectoryReader_Dev; struct PPB_FileChooser_Dev; +struct PPB_FileIO; struct PPB_FileIOTrusted; +struct PPB_FileRef; +struct PPB_FileSystem; struct PPB_Find_Dev; struct PPB_Flash_Menu; struct PPB_Flash_NetConnector; struct PPB_Flash_TCPSocket; struct PPB_Font_Dev; struct PPB_Fullscreen_Dev; +struct PPB_GLESChromiumTextureMapping_Dev; +struct PPB_Graphics2D; struct PPB_Graphics3D; struct PPB_Graphics3DTrusted; struct PPB_ImageData; struct PPB_ImageDataTrusted; +struct PPB_InputEvent; +struct PPB_Instance; struct PPB_Instance_Private; +struct PPB_KeyboardInputEvent; struct PPB_LayerCompositor_Dev; +struct PPB_Messaging; +struct PPB_MouseInputEvent_1_0; +struct PPB_MouseInputEvent; +struct PPB_MouseLock_Dev; struct PPB_QueryPolicy_Dev; struct PPB_Scrollbar_0_5_Dev; struct PPB_Surface3D_Dev; struct PPB_Transport_Dev; +struct PPB_URLLoader; struct PPB_URLLoaderTrusted; +struct PPB_URLRequestInfo; +struct PPB_URLResponseInfo; struct PPB_VideoCapture_Dev; struct PPB_VideoDecoder_Dev; struct PPB_VideoLayer_Dev; +struct PPB_WheelInputEvent; struct PPB_Widget_Dev; struct PPB_Zoom_Dev; @@ -65,34 +64,65 @@ typedef PPB_Instance PPB_Instance_1_0; namespace ppapi { namespace thunk { +PPAPI_THUNK_EXPORT const PPB_Audio* GetPPB_Audio_Thunk(); +PPAPI_THUNK_EXPORT const PPB_AudioConfig* GetPPB_AudioConfig_Thunk(); PPAPI_THUNK_EXPORT const PPB_AudioTrusted* GetPPB_AudioTrusted_Thunk(); PPAPI_THUNK_EXPORT const PPB_BrokerTrusted* GetPPB_Broker_Thunk(); +PPAPI_THUNK_EXPORT const PPB_Buffer_Dev* GetPPB_Buffer_Thunk(); PPAPI_THUNK_EXPORT const PPB_BufferTrusted* GetPPB_BufferTrusted_Thunk(); -PPAPI_THUNK_EXPORT const PPB_Console_Dev* GetPPB_Console_Dev_Thunk(); +PPAPI_THUNK_EXPORT const PPB_CharSet_Dev* GetPPB_CharSet_Thunk(); +PPAPI_THUNK_EXPORT const PPB_Context3D_Dev* GetPPB_Context3D_Thunk(); PPAPI_THUNK_EXPORT const PPB_Context3DTrusted_Dev* GetPPB_Context3DTrusted_Thunk(); PPAPI_THUNK_EXPORT const PPB_CursorControl_Dev* GetPPB_CursorControl_Thunk(); PPAPI_THUNK_EXPORT const PPB_DirectoryReader_Dev* - GetPPB_DirectoryReader_Dev_Thunk(); + GetPPB_DirectoryReader_Thunk(); +PPAPI_THUNK_EXPORT const PPB_FileChooser_Dev* GetPPB_FileChooser_Thunk(); +PPAPI_THUNK_EXPORT const PPB_FileIO* GetPPB_FileIO_Thunk(); PPAPI_THUNK_EXPORT const PPB_FileIOTrusted* GetPPB_FileIOTrusted_Thunk(); +PPAPI_THUNK_EXPORT const PPB_FileRef* GetPPB_FileRef_Thunk(); +PPAPI_THUNK_EXPORT const PPB_FileSystem* GetPPB_FileSystem_Thunk(); PPAPI_THUNK_EXPORT const PPB_Find_Dev* GetPPB_Find_Thunk(); PPAPI_THUNK_EXPORT const PPB_Flash_Menu* GetPPB_Flash_Menu_Thunk(); PPAPI_THUNK_EXPORT const PPB_Flash_NetConnector* GetPPB_Flash_NetConnector_Thunk(); PPAPI_THUNK_EXPORT const PPB_Flash_TCPSocket* GetPPB_Flash_TCPSocket_Thunk(); +PPAPI_THUNK_EXPORT const PPB_Font_Dev* GetPPB_Font_Thunk(); PPAPI_THUNK_EXPORT const PPB_Fullscreen_Dev* GetPPB_Fullscreen_Thunk(); +PPAPI_THUNK_EXPORT const PPB_GLESChromiumTextureMapping_Dev* + GetPPB_GLESChromiumTextureMapping_Thunk(); +PPAPI_THUNK_EXPORT const PPB_Graphics2D* GetPPB_Graphics2D_Thunk(); +PPAPI_THUNK_EXPORT const PPB_Graphics3D* GetPPB_Graphics3D_Thunk(); PPAPI_THUNK_EXPORT const PPB_Graphics3DTrusted* GetPPB_Graphics3DTrusted_Thunk(); +PPAPI_THUNK_EXPORT const PPB_InputEvent* GetPPB_InputEvent_Thunk(); +PPAPI_THUNK_EXPORT const PPB_ImageData* GetPPB_ImageData_Thunk(); PPAPI_THUNK_EXPORT const PPB_ImageDataTrusted* GetPPB_ImageDataTrusted_Thunk(); +PPAPI_THUNK_EXPORT const PPB_Instance_1_0* GetPPB_Instance_1_0_Thunk(); PPAPI_THUNK_EXPORT const PPB_Instance_Private* GetPPB_Instance_Private_Thunk(); +PPAPI_THUNK_EXPORT const PPB_KeyboardInputEvent* + GetPPB_KeyboardInputEvent_Thunk(); PPAPI_THUNK_EXPORT const PPB_LayerCompositor_Dev* GetPPB_LayerCompositor_Thunk(); PPAPI_THUNK_EXPORT const PPB_QueryPolicy_Dev* GetPPB_QueryPolicy_Thunk(); +PPAPI_THUNK_EXPORT const PPB_Messaging* GetPPB_Messaging_Thunk(); +PPAPI_THUNK_EXPORT const PPB_MouseInputEvent_1_0* + GetPPB_MouseInputEvent_1_0_Thunk(); +PPAPI_THUNK_EXPORT const PPB_MouseInputEvent* + GetPPB_MouseInputEvent_1_1_Thunk(); +PPAPI_THUNK_EXPORT const PPB_MouseLock_Dev* GetPPB_MouseLock_Thunk(); PPAPI_THUNK_EXPORT const PPB_Scrollbar_0_5_Dev* GetPPB_Scrollbar_Thunk(); -PPAPI_THUNK_EXPORT const PPB_Transport_Dev* GetPPB_Transport_Dev_Thunk(); +PPAPI_THUNK_EXPORT const PPB_Surface3D_Dev* GetPPB_Surface3D_Thunk(); +PPAPI_THUNK_EXPORT const PPB_Transport_Dev* GetPPB_Transport_Thunk(); +PPAPI_THUNK_EXPORT const PPB_URLLoader* GetPPB_URLLoader_Thunk(); PPAPI_THUNK_EXPORT const PPB_URLLoaderTrusted* GetPPB_URLLoaderTrusted_Thunk(); -PPAPI_THUNK_EXPORT const PPB_VideoLayer_Dev* GetPPB_VideoLayer_Dev_Thunk(); -PPAPI_THUNK_EXPORT const PPB_Widget_Dev* GetPPB_Widget_Dev_Thunk(); +PPAPI_THUNK_EXPORT const PPB_URLRequestInfo* GetPPB_URLRequestInfo_Thunk(); +PPAPI_THUNK_EXPORT const PPB_URLResponseInfo* GetPPB_URLResponseInfo_Thunk(); +PPAPI_THUNK_EXPORT const PPB_VideoCapture_Dev* GetPPB_VideoCapture_Thunk(); +PPAPI_THUNK_EXPORT const PPB_VideoDecoder_Dev* GetPPB_VideoDecoder_Thunk(); +PPAPI_THUNK_EXPORT const PPB_VideoLayer_Dev* GetPPB_VideoLayer_Thunk(); +PPAPI_THUNK_EXPORT const PPB_WheelInputEvent* GetPPB_WheelInputEvent_Thunk(); +PPAPI_THUNK_EXPORT const PPB_Widget_Dev* GetPPB_Widget_Thunk(); PPAPI_THUNK_EXPORT const PPB_Zoom_Dev* GetPPB_Zoom_Thunk(); } // namespace thunk |