summaryrefslogtreecommitdiffstats
path: root/V8Binding/jni
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-01-21 15:58:20 +0000
committerSteve Block <steveblock@google.com>2010-01-21 18:22:13 +0000
commit54dec9637e20bfba1857f3d54df3c43ce94ff97b (patch)
tree9b58e2b839e3bfa85c54afb017b5c24602da6cd4 /V8Binding/jni
parent40c8c4abfc2d689e4aa21c5dfab61ce45e45b38b (diff)
downloadexternal_webkit-54dec9637e20bfba1857f3d54df3c43ce94ff97b.zip
external_webkit-54dec9637e20bfba1857f3d54df3c43ce94ff97b.tar.gz
external_webkit-54dec9637e20bfba1857f3d54df3c43ce94ff97b.tar.bz2
Move V8 jni_npobject to bridge/jni/v8/JavaNPObjectV8 and fix style
Change-Id: Icf99c709929ef14551de61e55780b97767575f01
Diffstat (limited to 'V8Binding/jni')
-rw-r--r--V8Binding/jni/jni_npobject.cpp167
-rw-r--r--V8Binding/jni/jni_npobject.h52
2 files changed, 0 insertions, 219 deletions
diff --git a/V8Binding/jni/jni_npobject.cpp b/V8Binding/jni/jni_npobject.cpp
deleted file mode 100644
index 2c79fb6..0000000
--- a/V8Binding/jni/jni_npobject.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright 2009, The Android Open Source Project
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-
-#include "config.h"
-#include "jni_npobject.h"
-
-#include "JNIUtility.h"
-#include "JavaClassV8.h"
-#include "JavaInstanceV8.h"
-#include "jni_runtime.h"
-// This source file should be in bridge/jni, so it's OK to use the private
-// NPAPI header from here.
-#include "npruntime_impl.h"
-
-namespace JSC { namespace Bindings {
-static NPObject* AllocJavaNPObject(NPP, NPClass*)
-{
- JavaNPObject* obj =
- static_cast<JavaNPObject*>(malloc(sizeof(JavaNPObject)));
- if (obj == 0)
- return 0;
- bzero(obj, sizeof(JavaNPObject));
- return reinterpret_cast<NPObject*>(obj);
-}
-
-static void FreeJavaNPObject(NPObject* npobj)
-{
- JavaNPObject* obj = reinterpret_cast<JavaNPObject*>(npobj);
- obj->_instance = 0; // free does not call the destructor
- free(obj);
-}
-
-static NPClass JavaNPObjectClass = {
- NP_CLASS_STRUCT_VERSION,
- AllocJavaNPObject, // allocate,
- FreeJavaNPObject, // free,
- 0, // invalidate
- JavaNPObject_HasMethod,
- JavaNPObject_Invoke,
- 0, // invokeDefault,
- JavaNPObject_HasProperty,
- JavaNPObject_GetProperty,
- 0, // setProperty
- 0, // removeProperty
- 0, // enumerate
- 0 // construct
-};
-
-
-NPObject* JavaInstanceToNPObject(JavaInstance* instance) {
- JavaNPObject* object = reinterpret_cast<JavaNPObject*>(_NPN_CreateObject(0, &JavaNPObjectClass));
- object->_instance = instance;
- return reinterpret_cast<NPObject*>(object);
-}
-
-
-// Returns null if obj is not a wrapper of JavaInstance
-JavaInstance* ExtractJavaInstance(NPObject* obj) {
- if (obj->_class == &JavaNPObjectClass) {
- return reinterpret_cast<JavaNPObject*>(obj)->_instance.get();
- }
- return 0;
-}
-
-bool JavaNPObject_HasMethod(NPObject* obj, NPIdentifier identifier) {
- JavaInstance* instance = ExtractJavaInstance(obj);
- if (instance == 0)
- return false;
- NPUTF8* name = _NPN_UTF8FromIdentifier(identifier);
- if (name == 0)
- return false;
-
- instance->begin();
- bool result = (instance->getClass()->methodsNamed(name).size() > 0);
- instance->end();
-
- // TODO: use NPN_MemFree
- free(name);
-
- return result;
-}
-
-bool JavaNPObject_Invoke(NPObject* obj, NPIdentifier identifier,
- const NPVariant* args, uint32_t argCount, NPVariant* result) {
- JavaInstance* instance = ExtractJavaInstance(obj);
- if (instance == 0)
- return false;
- NPUTF8* name = _NPN_UTF8FromIdentifier(identifier);
- if (name == 0)
- return false;
-
- instance->begin();
- bool r = instance->invokeMethod(name, args, argCount, result);
- instance->end();
-
- // TODO: use NPN_MemFree
- free(name);
- return r;
-
-}
-
-bool JavaNPObject_HasProperty(NPObject* obj, NPIdentifier identifier) {
- JavaInstance* instance = ExtractJavaInstance(obj);
- if (instance == 0)
- return false;
- NPUTF8* name = _NPN_UTF8FromIdentifier(identifier);
- if (name == 0)
- return false;
- instance->begin();
- bool result = instance->getClass()->fieldNamed(name) != 0;
- instance->end();
- free(name);
- return result;
-}
-
-bool JavaNPObject_GetProperty(NPObject* obj, NPIdentifier identifier, NPVariant* result) {
- VOID_TO_NPVARIANT(*result);
- JavaInstance* instance = ExtractJavaInstance(obj);
- if (instance == 0)
- return false;
- NPUTF8* name = _NPN_UTF8FromIdentifier(identifier);
- if (name == 0)
- return false;
-
- instance->begin();
- JavaField* field = instance->getClass()->fieldNamed(name);
- instance->end();
- free(name); // TODO: use NPN_MemFree
-
- if (field == 0) {
- return false;
- }
-
- jvalue value = getJNIField(instance->javaInstance(),
- field->getJNIType(),
- field->name(),
- field->type());
-
- convertJValueToNPVariant(value, field->getJNIType(), field->type(), result);
-
- return true;
-}
-
-}} // namespace
diff --git a/V8Binding/jni/jni_npobject.h b/V8Binding/jni/jni_npobject.h
deleted file mode 100644
index 943b661..0000000
--- a/V8Binding/jni/jni_npobject.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2009, The Android Open Source Project
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef JNI_NPOBJECT_H_
-#define JNI_NPOBJECT_H_
-
-#include "npruntime.h"
-#include "jni_runtime.h"
-
-#include <wtf/RefPtr.h>
-#include <JavaVM/jni.h>
-
-namespace JSC { namespace Bindings {
-
-struct JavaNPObject {
- NPObject _object;
- RefPtr<JavaInstance> _instance;
-};
-
-NPObject* JavaInstanceToNPObject(JavaInstance* instance);
-JavaInstance* ExtractJavaInstance(NPObject* obj);
-
-bool JavaNPObject_HasMethod(NPObject* obj, NPIdentifier name);
-bool JavaNPObject_Invoke(NPObject* obj, NPIdentifier methodName, const NPVariant* args, uint32_t argCount, NPVariant* result);
-bool JavaNPObject_HasProperty(NPObject* obj, NPIdentifier name);
-bool JavaNPObject_GetProperty(NPObject* obj, NPIdentifier name, NPVariant* ressult);
-
-} }
-
-#endif JNI_NPOBJECT_H_