Chromium Code Reviews| Index: base/android/jni_android.cc |
| diff --git a/base/android/jni_android.cc b/base/android/jni_android.cc |
| index 1dc02afb3b0543fce35b14fcf1fb4401109a4db9..7f9d04b1b3bbd1f32a2d2363e0ffa240497434c5 100644 |
| --- a/base/android/jni_android.cc |
| +++ b/base/android/jni_android.cc |
| @@ -4,6 +4,7 @@ |
| #include "base/android/jni_android.h" |
| +#include "base/android/scoped_java_ref.h" |
| #include "base/logging.h" |
| namespace { |
| @@ -46,6 +47,14 @@ jobject GetApplicationContext() { |
| return g_application_context; |
| } |
| +jmethodID GetMethodIDFromClassName(JNIEnv* env, |
| + const char* const class_name, |
| + const char* const method, |
| + const char* const jni_signature) { |
| + ScopedJavaLocalRef<jclass> clazz(env, env->FindClass(class_name)); |
| + return GetMethodID(env, clazz.obj(), method, jni_signature); |
|
joth
2011/11/11 11:40:38
this caught me out as I thought you were calling t
Steve Block
2011/11/11 12:22:53
Done.
|
| +} |
| + |
| jmethodID GetMethodID(JNIEnv* env, |
| jclass clazz, |
| const char* const method, |
| @@ -66,6 +75,16 @@ jmethodID GetStaticMethodID(JNIEnv* env, |
| return id; |
| } |
| +jfieldID GetFieldID(JNIEnv* env, |
| + jclass clazz, |
| + const char* const field, |
| + const char* const jni_signature) { |
| + jfieldID id = env->GetFieldID(clazz, field, jni_signature); |
| + DCHECK(id) << field; |
| + CheckException(env); |
| + return id; |
| +} |
| + |
| bool CheckException(JNIEnv* env) { |
| if (env->ExceptionCheck() == JNI_FALSE) |
| return false; |