diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-11-25 03:26:54 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-11-25 03:26:54 -0800 |
| commit | 8d4e6f47fe31b9b3990faefd42269e85cab05fc9 (patch) | |
| tree | cd7435878fcd8eecab1213d6e0b05e406967b49d /WebCore | |
| parent | 42fa9723e35d0015387952766c19355098122551 (diff) | |
| parent | 073888a8dc1673fa90ca33226485b7bb0e19d460 (diff) | |
| download | external_webkit-8d4e6f47fe31b9b3990faefd42269e85cab05fc9.zip external_webkit-8d4e6f47fe31b9b3990faefd42269e85cab05fc9.tar.gz external_webkit-8d4e6f47fe31b9b3990faefd42269e85cab05fc9.tar.bz2 | |
Merge change I973e6b03 into eclair-mr2
* changes:
Unfork WebCore/bridge/jni.
Diffstat (limited to 'WebCore')
| -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 |
