diff options
author | Ben Murdoch <benm@google.com> | 2009-11-23 14:25:39 +0000 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2009-11-24 12:18:38 +0000 |
commit | 073888a8dc1673fa90ca33226485b7bb0e19d460 (patch) | |
tree | 683884483e92f509d6a5d0954189cb143435f677 /WebCore/bridge | |
parent | ecf268d482528c4778b1bca2eea6a2d49e477c3f (diff) | |
download | external_webkit-073888a8dc1673fa90ca33226485b7bb0e19d460.zip external_webkit-073888a8dc1673fa90ca33226485b7bb0e19d460.tar.gz external_webkit-073888a8dc1673fa90ca33226485b7bb0e19d460.tar.bz2 |
Unfork WebCore/bridge/jni.
Change-Id: I973e6b03286b1d8f6e6325a2b31d0cf9e99d19b3
Diffstat (limited to 'WebCore/bridge')
-rw-r--r-- | WebCore/bridge/jni/jni_class.cpp | 4 | ||||
-rw-r--r-- | WebCore/bridge/jni/jni_instance.cpp | 8 | ||||
-rw-r--r-- | WebCore/bridge/jni/jni_instance.h | 19 | ||||
-rw-r--r-- | WebCore/bridge/jni/jni_runtime.cpp | 3 | ||||
-rw-r--r-- | WebCore/bridge/jni/jni_utility.cpp | 6 | ||||
-rw-r--r-- | WebCore/bridge/jni/jni_utility.h | 17 |
6 files changed, 17 insertions, 40 deletions
diff --git a/WebCore/bridge/jni/jni_class.cpp b/WebCore/bridge/jni/jni_class.cpp index 9c7f300..6728e7b 100644 --- a/WebCore/bridge/jni/jni_class.cpp +++ b/WebCore/bridge/jni/jni_class.cpp @@ -85,12 +85,10 @@ JavaClass::JavaClass(jobject anInstance) methodList->append(aMethod); env->DeleteLocalRef(aJMethod); } -#if PLATFORM(ANDROID) - // TODO : Upstream to webkit.org for all platforms. + env->DeleteLocalRef(fields); env->DeleteLocalRef(methods); env->DeleteLocalRef(aClass); -#endif } JavaClass::~JavaClass() { diff --git a/WebCore/bridge/jni/jni_instance.cpp b/WebCore/bridge/jni/jni_instance.cpp index e3b857d..d0bcfcb 100644 --- a/WebCore/bridge/jni/jni_instance.cpp +++ b/WebCore/bridge/jni/jni_instance.cpp @@ -28,10 +28,6 @@ #if ENABLE(MAC_JAVA_BRIDGE) -#if PLATFORM(ANDROID) -#include <assert.h> -#endif - #include "jni_class.h" #include "jni_runtime.h" #include "jni_utility.h" @@ -41,6 +37,10 @@ #include <runtime/Error.h> #include <runtime/JSLock.h> +#if PLATFORM(ANDROID) +#include <assert.h> +#endif + #ifdef NDEBUG #define JS_LOG(formatAndArgs...) ((void)0) #else diff --git a/WebCore/bridge/jni/jni_instance.h b/WebCore/bridge/jni/jni_instance.h index 96dda7d..049bfdb 100644 --- a/WebCore/bridge/jni/jni_instance.h +++ b/WebCore/bridge/jni/jni_instance.h @@ -33,12 +33,6 @@ #include <JavaVM/jni.h> -#if PLATFORM(ANDROID) -namespace android { -class WeakJavaInstance; -} -#endif - namespace JSC { namespace Bindings { @@ -52,9 +46,10 @@ friend class JavaArray; friend class JavaField; friend class JavaInstance; friend class JavaMethod; -#if PLATFORM(ANDROID) -friend class android::WeakJavaInstance; -#endif + +public: + jobject instance() const { return _instance; } + void setInstance(jobject instance) { _instance = instance; } protected: JObjectWrapper(jobject instance); @@ -98,14 +93,10 @@ public: JSValue booleanValue() const; protected: + JavaInstance(jobject instance, PassRefPtr<RootObject>); virtual void virtualBegin(); virtual void virtualEnd(); -#if !PLATFORM(ANDROID) // Submit patch to webkit.org -private: -#endif - JavaInstance(jobject instance, PassRefPtr<RootObject>); - RefPtr<JObjectWrapper> _instance; mutable JavaClass *_class; }; diff --git a/WebCore/bridge/jni/jni_runtime.cpp b/WebCore/bridge/jni/jni_runtime.cpp index 50fe351..d7d0696 100644 --- a/WebCore/bridge/jni/jni_runtime.cpp +++ b/WebCore/bridge/jni/jni_runtime.cpp @@ -284,10 +284,7 @@ JavaMethod::JavaMethod (JNIEnv *env, jobject aMethod) jclass modifierClass = env->FindClass("java/lang/reflect/Modifier"); int modifiers = callJNIMethod<jint>(aMethod, "getModifiers", "()I"); _isStatic = (bool)callJNIStaticMethod<jboolean>(modifierClass, "isStatic", "(I)Z", modifiers); -#if PLATFORM(ANDROID) - // TODO : Upstream to webkit.org for all platforms. env->DeleteLocalRef(modifierClass); -#endif } JavaMethod::~JavaMethod() diff --git a/WebCore/bridge/jni/jni_utility.cpp b/WebCore/bridge/jni/jni_utility.cpp index e1eb736..fa63a42 100644 --- a/WebCore/bridge/jni/jni_utility.cpp +++ b/WebCore/bridge/jni/jni_utility.cpp @@ -28,7 +28,7 @@ #if ENABLE(MAC_JAVA_BRIDGE) -#if PLATFORM(ANDROID) +// TODO: ANDROID We need to merge this file with the V8 version. #if USE(JSC) #include "jni_runtime.h" #include "runtime_array.h" @@ -36,7 +36,6 @@ #include <runtime/JSArray.h> #include <runtime/JSLock.h> #endif -#endif #include <dlfcn.h> @@ -352,7 +351,7 @@ jvalue getJNIField( jobject obj, JNIType type, const char *name, const char *sig return result; } -#if PLATFORM(ANDROID) +// TODO: ANDROID we need to merge this file with the V8 version. #if USE(JSC) static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray, const char* javaClassName) { @@ -584,7 +583,6 @@ jvalue convertValueToJValue(ExecState* exec, JSValue value, JNIType _JNIType, co return result; } #endif // USE(JSC) -#endif // PLATFORM(ANDROID) } // end of namespace Bindings diff --git a/WebCore/bridge/jni/jni_utility.h b/WebCore/bridge/jni/jni_utility.h index e46dbc4..57a0500 100644 --- a/WebCore/bridge/jni/jni_utility.h +++ b/WebCore/bridge/jni/jni_utility.h @@ -28,12 +28,11 @@ #if ENABLE(MAC_JAVA_BRIDGE) -#include <JavaVM/jni.h> -#if PLATFORM(ANDROID) +// TODO: ANDROID we need to merge this file with the V8 version. #if USE(JSC) #include <runtime/JSValue.h> #endif -#endif +#include <JavaVM/jni.h> // The order of these items can not be modified as they are tightly // bound with the JVM on Mac OSX. If new types need to be added, they @@ -57,12 +56,11 @@ typedef enum { namespace JSC { -#if PLATFORM(ANDROID) +// TODO: ANDROID we need to merge this file with the V8 version. #if USE(JSC) class ExecState; class JSObject; #endif -#endif namespace Bindings { @@ -80,11 +78,10 @@ JNIType JNITypeFromClassName(const char *name); JNIType JNITypeFromPrimitiveType(char type); const char *signatureFromPrimitiveType(JNIType type); -#if PLATFORM(ANDROID) +// TODO: ANDROID we need to merge this file with the V8 version. #if USE(JSC) jvalue convertValueToJValue(ExecState*, JSValue, JNIType, const char* javaClassName); #endif -#endif jvalue getJNIField(jobject obj, JNIType type, const char *name, const char *signature); @@ -228,11 +225,8 @@ static T callJNIMethodV(jobject obj, const char *name, const char *sig, va_list jmethodID mid = env->GetMethodID(cls, name, sig); if ( mid != NULL ) { -#if PLATFORM(ANDROID) - // TODO : Upstream to webkit.org for all platforms. // Avoids references to cls without popping the local frame. env->DeleteLocalRef(cls); -#endif return JNICaller<T>::callV(obj, mid, args); } else @@ -294,11 +288,10 @@ T callJNIStaticMethod(jclass cls, const char* methodName, const char* methodSign return result; } -#if PLATFORM(ANDROID) +// TODO: ANDROID we need to merge this file with the V8 version. #if USE(JSC) bool dispatchJNICall(ExecState*, const void* targetAppletView, jobject obj, bool isStatic, JNIType returnType, jmethodID methodID, jvalue* args, jvalue& result, const char* callingURL, JSValue& exceptionDescription); #endif -#endif } // namespace Bindings |