diff options
| author | Grace Kloba <klobag@google.com> | 2010-01-14 18:05:46 -0800 |
|---|---|---|
| committer | Grace Kloba <klobag@google.com> | 2010-01-14 18:05:46 -0800 |
| commit | b8a548263905542f52acfc60682693972f098d25 (patch) | |
| tree | 47d760c4bf144b394b24abc0932835aae82d47c3 /WebKit/android | |
| parent | 388e461f3d6bf782b3cfb4bb21bc6264cef9323c (diff) | |
| download | external_webkit-b8a548263905542f52acfc60682693972f098d25.zip external_webkit-b8a548263905542f52acfc60682693972f098d25.tar.gz external_webkit-b8a548263905542f52acfc60682693972f098d25.tar.bz2 | |
Don't use static jclass unless we hold a reference.
Fix the crash.
Diffstat (limited to 'WebKit/android')
| -rw-r--r-- | WebKit/android/jni/MIMETypeRegistry.cpp | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/WebKit/android/jni/MIMETypeRegistry.cpp b/WebKit/android/jni/MIMETypeRegistry.cpp index 4e9ae68..b85b4a5 100644 --- a/WebKit/android/jni/MIMETypeRegistry.cpp +++ b/WebKit/android/jni/MIMETypeRegistry.cpp @@ -37,25 +37,20 @@ namespace WebCore { -static jmethodID gMimeTypeFromExtension; -static jclass gMimeClass; - String MIMETypeRegistry::getMIMETypeForExtension(const String& ext) { JNIEnv* env = JSC::Bindings::getJNIEnv(); - if (!gMimeTypeFromExtension) { - gMimeClass = env->FindClass("android/webkit/MimeTypeMap"); - LOG_ASSERT(gMimeClass, "Could not find class MimeTypeMap"); - gMimeTypeFromExtension = env->GetStaticMethodID(gMimeClass, - "mimeTypeFromExtension", - "(Ljava/lang/String;)Ljava/lang/String;"); - LOG_ASSERT(gMimeTypeFromExtension, - "Could not find method mimeTypeFromExtension"); - } + jclass mimeClass = env->FindClass("android/webkit/MimeTypeMap"); + LOG_ASSERT(mimeClass, "Could not find class MimeTypeMap"); + jmethodID mimeTypeFromExtension = env->GetStaticMethodID(mimeClass, + "mimeTypeFromExtension", + "(Ljava/lang/String;)Ljava/lang/String;"); + LOG_ASSERT(mimeTypeFromExtension, + "Could not find method mimeTypeFromExtension"); jstring extString = env->NewString((const jchar*) ext.characters(), ext.length()); - jobject mimeType = env->CallStaticObjectMethod(gMimeClass, - gMimeTypeFromExtension, extString); + jobject mimeType = env->CallStaticObjectMethod(mimeClass, + mimeTypeFromExtension, extString); String result = android::to_string(env, (jstring) mimeType); env->DeleteLocalRef(extString); env->DeleteLocalRef(mimeType); |
