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

Unified Diff: o3d/gpu_plugin/np_utils/webkit_browser.h

Issue 194049: Implemented shared memory as an NPObject. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 3 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: o3d/gpu_plugin/np_utils/webkit_browser.h
===================================================================
--- o3d/gpu_plugin/np_utils/webkit_browser.h (revision 0)
+++ o3d/gpu_plugin/np_utils/webkit_browser.h (revision 0)
@@ -0,0 +1,112 @@
+// Copyright (c) 2006-2008 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 O3D_GPU_PLUGIN_NP_UTILS_WEBKIT_BROWSER_H_
+#define O3D_GPU_PLUGIN_NP_UTILS_WEBKIT_BROWSER_H_
+
+// TODO(apatrick): This does not belong in np_utils. np_utils should not be
+// dependent on WebKit (and it isn't - that's why the member functions are
+// inline).
+
+#include <stdlib.h>
+
+#include "o3d/gpu_plugin/np_utils/np_browser.h"
+#include "WebKit/api/public/WebBindings.h"
+
+typedef struct _NPNetscapeFuncs NPNetscapeFuncs;
+typedef struct _NPChromiumFuncs NPChromiumFuncs;
+
+namespace o3d {
+namespace gpu_plugin {
+
+// This class implements NPBrowser for the WebKit WebBindings.
+class WebKitBrowser : public NPBrowser {
+ public:
+ WebKitBrowser(): NPBrowser(NULL) {
+ }
+
+ // Standard functions from NPNetscapeFuncs.
+
+ virtual NPIdentifier GetStringIdentifier(const NPUTF8* name) {
+ return WebKit::WebBindings::getStringIdentifier(name);
+ }
+
+ virtual void* MemAlloc(size_t size) {
+ return malloc(size);
+ }
+
+ virtual void MemFree(void* p) {
+ free(p);
+ }
+
+ virtual NPObject* CreateObject(NPP npp, const NPClass* cl) {
+ return WebKit::WebBindings::createObject(npp, const_cast<NPClass*>(cl));
+ }
+
+ virtual NPObject* RetainObject(NPObject* object) {
+ return WebKit::WebBindings::retainObject(object);
+ }
+
+ virtual void ReleaseObject(NPObject* object) {
+ WebKit::WebBindings::releaseObject(object);
+ }
+
+ virtual void ReleaseVariantValue(NPVariant* variant) {
+ WebKit::WebBindings::releaseVariantValue(variant);
+ }
+
+ virtual bool HasProperty(NPP npp,
+ NPObject* object,
+ NPIdentifier name) {
+ return WebKit::WebBindings::hasProperty(npp, object, name);
+ }
+
+ virtual bool GetProperty(NPP npp,
+ NPObject* object,
+ NPIdentifier name,
+ NPVariant* result) {
+ return WebKit::WebBindings::getProperty(npp, object, name, result);
+ }
+
+ virtual bool SetProperty(NPP npp,
+ NPObject* object,
+ NPIdentifier name,
+ const NPVariant* result) {
+ return WebKit::WebBindings::setProperty(npp, object, name, result);
+ }
+
+ virtual bool RemoveProperty(NPP npp,
+ NPObject* object,
+ NPIdentifier name) {
+ return WebKit::WebBindings::removeProperty(npp, object, name);
+ }
+
+ virtual bool HasMethod(NPP npp,
+ NPObject* object,
+ NPIdentifier name) {
+ return WebKit::WebBindings::hasMethod(npp, object, name);
+ }
+
+ virtual bool Invoke(NPP npp,
+ NPObject* object,
+ NPIdentifier name,
+ const NPVariant* args,
+ uint32_t num_args,
+ NPVariant* result) {
+ return WebKit::WebBindings::invoke(npp, object, name, args, num_args,
+ result);
+ }
+
+ virtual NPObject* GetWindowNPObject(NPP npp) {
+ return NULL;
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(WebKitBrowser);
+};
+
+} // namespace gpu_plugin
+} // namespace o3d
+
+#endif // O3D_GPU_PLUGIN_NP_UTILS_WEBKIT_BROWSER_H_

Powered by Google App Engine
This is Rietveld 408576698