diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-07 21:11:52 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-07 21:11:52 +0000 |
commit | f5cf88a21918e04a52c9aa7fc8e13ff24b7bf196 (patch) | |
tree | 3ec448569179f66949795be7dafc0cd2ec62f8d4 /webkit/glue/plugins/webplugin_3d_device_delegate.h | |
parent | 886a17e3ef3bce4bed8318d9734e6a7ce09feee5 (diff) | |
download | chromium_src-f5cf88a21918e04a52c9aa7fc8e13ff24b7bf196.zip chromium_src-f5cf88a21918e04a52c9aa7fc8e13ff24b7bf196.tar.gz chromium_src-f5cf88a21918e04a52c9aa7fc8e13ff24b7bf196.tar.bz2 |
Refactor the pepper API implementation to make it more scalable as we add more
device types. Implement a stub of the 3D device API. Fix style in some of the
plugin related code.
TEST=run the pepper_test_plugin
BUG=none
Review URL: http://codereview.chromium.org/468012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33989 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/plugins/webplugin_3d_device_delegate.h')
-rw-r--r-- | webkit/glue/plugins/webplugin_3d_device_delegate.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/webkit/glue/plugins/webplugin_3d_device_delegate.h b/webkit/glue/plugins/webplugin_3d_device_delegate.h new file mode 100644 index 0000000..78dbe0e --- /dev/null +++ b/webkit/glue/plugins/webplugin_3d_device_delegate.h @@ -0,0 +1,57 @@ +// Copyright (c) 2009 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 WEBKIT_GLUE_PLUGINS_WEBPLUGIN_3D_DEVICE_DELEGATE_H_ +#define WEBKIT_GLUE_PLUGINS_WEBPLUGIN_3D_DEVICE_DELEGATE_H_ + +#include "base/basictypes.h" +#include "third_party/npapi/bindings/npapi_extensions.h" + +namespace webkit_glue { + +// Interface for the NPAPI 3D device extension. This class implements "NOP" +// versions of all these functions so it can be used seamlessly by the +// "regular" plugin delegate while being overridden by the "pepper" one. +class WebPlugin3DDeviceDelegate { + public: + virtual NPError Device3DQueryCapability(int32 capability, int32* value) { + return NPERR_GENERIC_ERROR; + } + virtual NPError Device3DQueryConfig(const NPDeviceContext3DConfig* request, + NPDeviceContext3DConfig* obtain) { + return NPERR_GENERIC_ERROR; + } + virtual NPError Device3DInitializeContext( + const NPDeviceContext3DConfig* config, + NPDeviceContext3D* context) { + return NPERR_GENERIC_ERROR; + } + virtual NPError Device3DSetStateContext(NPDeviceContext3D* context, + int32 state, + int32 value) { + return NPERR_GENERIC_ERROR; + } + virtual NPError Device3DGetStateContext(NPDeviceContext3D* context, + int32 state, + int32* value) { + return NPERR_GENERIC_ERROR; + } + virtual NPError Device3DFlushContext(NPP id, + NPDeviceContext3D* context, + NPDeviceFlushContextCallbackPtr callback, + void* user_data) { + return NPERR_GENERIC_ERROR; + } + virtual NPError Device3DDestroyContext(NPDeviceContext3D* context) { + return NPERR_GENERIC_ERROR; + } + + protected: + WebPlugin3DDeviceDelegate() {} + virtual ~WebPlugin3DDeviceDelegate() {} +}; + +} // namespace webkit_glue + +#endif // WEBKIT_GLUE_PLUGINS_WEBPLUGIN_3D_DEVICE_DELEGATE_H_ |