Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1082)

Unified Diff: webkit/glue/plugins/npapi_extension_thunk.cc

Issue 1529005: New experimental Pepper device API.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/glue/plugins/npapi_extension_thunk.cc
===================================================================
--- webkit/glue/plugins/npapi_extension_thunk.cc (revision 44555)
+++ webkit/glue/plugins/npapi_extension_thunk.cc (working copy)
@@ -277,6 +277,82 @@
return NPERR_GENERIC_ERROR;
}
+// Experimental 3D device API --------------------------------------------------
+
+static NPError Device3DGetNumConfigs(NPP id, int32* num_configs) {
+ scoped_refptr<NPAPI::PluginInstance> plugin = FindInstance(id);
+ if (plugin) {
+ return plugin->webplugin()->delegate()->Device3DGetNumConfigs(num_configs);
+ }
+ return NPERR_GENERIC_ERROR;
+}
+
+static NPError Device3DGetConfigAttribs(NPP id,
+ int32 config,
+ int32* attrib_list) {
+ scoped_refptr<NPAPI::PluginInstance> plugin = FindInstance(id);
+ if (plugin) {
+ return plugin->webplugin()->delegate()->Device3DGetConfigAttribs(
+ config,
+ attrib_list);
+ }
+ return NPERR_GENERIC_ERROR;
+}
+
+static NPError Device3DCreateContext(NPP id,
+ int32 config,
+ const int32* attrib_list,
+ NPDeviceContext** context) {
+ scoped_refptr<NPAPI::PluginInstance> plugin = FindInstance(id);
+ if (plugin) {
+ return plugin->webplugin()->delegate()->Device3DCreateContext(
+ config,
+ attrib_list,
+ reinterpret_cast<NPDeviceContext3D**>(context));
+ }
+ return NPERR_GENERIC_ERROR;
+}
+
+static NPError Device3DSynchronizeContext(
+ NPP id,
+ NPDeviceContext* context,
+ NPDeviceSynchronizationMode mode,
+ const int32* input_attrib_list,
+ int32* output_attrib_list,
+ NPDeviceSynchronizeContextCallbackPtr callback,
+ void* callback_data) {
+ scoped_refptr<NPAPI::PluginInstance> plugin = FindInstance(id);
+ if (plugin) {
+ return plugin->webplugin()->delegate()->Device3DSynchronizeContext(
+ id,
+ static_cast<NPDeviceContext3D*>(context),
+ mode,
+ input_attrib_list,
+ output_attrib_list,
+ callback,
+ callback_data);
+ }
+ return NPERR_GENERIC_ERROR;
+}
+
+static NPError Device3DRegisterCallback(
+ NPP id,
+ NPDeviceContext* context,
+ int32 callback_type,
+ NPDeviceGenericCallbackPtr callback,
+ void* callback_data) {
+ scoped_refptr<NPAPI::PluginInstance> plugin = FindInstance(id);
+ if (plugin) {
+ return plugin->webplugin()->delegate()->Device3DRegisterCallback(
+ id,
+ static_cast<NPDeviceContext3D*>(context),
+ callback_type,
+ callback,
+ callback_data);
+ }
+ return NPERR_GENERIC_ERROR;
+}
+
// Audio device API ------------------------------------------------------------
static NPError DeviceAudioQueryCapability(NPP id, int32 capability,
@@ -367,6 +443,11 @@
Device2DMapBuffer,
Device2DThemeGetSize,
Device2DThemePaint,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
};
static NPDevice device_3d = {
Device3DQueryCapability,
@@ -381,20 +462,30 @@
Device3DMapBuffer,
NULL,
NULL,
+ Device3DGetNumConfigs,
+ Device3DGetConfigAttribs,
+ Device3DCreateContext,
+ Device3DRegisterCallback,
+ Device3DSynchronizeContext,
};
static NPDevice device_audio = {
- DeviceAudioQueryCapability,
- DeviceAudioQueryConfig,
- DeviceAudioInitializeContext,
- DeviceAudioSetStateContext,
- DeviceAudioGetStateContext,
- DeviceAudioFlushContext,
- DeviceAudioDestroyContext,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ DeviceAudioQueryCapability,
+ DeviceAudioQueryConfig,
+ DeviceAudioInitializeContext,
+ DeviceAudioSetStateContext,
+ DeviceAudioGetStateContext,
+ DeviceAudioFlushContext,
+ DeviceAudioDestroyContext,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
};
switch (device_id) {

Powered by Google App Engine
This is Rietveld 408576698