Index: base/android/jni_android.cc |
diff --git a/base/android/jni_android.cc b/base/android/jni_android.cc |
index 02e264c05703494444a23bae5fabc8875e7ec1f2..8050cb8774cf12c3780c27cb5237696eed95cca0 100644 |
--- a/base/android/jni_android.cc |
+++ b/base/android/jni_android.cc |
@@ -21,7 +21,8 @@ using base::android::GetClass; |
using base::android::MethodID; |
using base::android::ScopedJavaLocalRef; |
-bool g_disable_manual_jni_registration = false; |
+base::android::JniRegistrationType g_jni_registration_type = |
+ base::android::UNINITIALIZED_JNI_REGISTRATION; |
JavaVM* g_jvm = NULL; |
base::LazyInstance<base::android::ScopedJavaGlobalRef<jobject> >::Leaky |
@@ -38,13 +39,15 @@ base::LazyInstance<base::ThreadLocalPointer<void>>::Leaky |
namespace base { |
namespace android { |
-bool IsManualJniRegistrationDisabled() { |
- return g_disable_manual_jni_registration; |
+JniRegistrationType FetchJniRegistrationType() { |
+ if (g_jni_registration_type == UNINITIALIZED_JNI_REGISTRATION) { |
+ g_jni_registration_type = GetJniRegistrationType(AttachCurrentThread()); |
+ } |
+ return g_jni_registration_type; |
} |
void DisableManualJniRegistration() { |
- DCHECK(!g_disable_manual_jni_registration); |
- g_disable_manual_jni_registration = true; |
+ g_jni_registration_type = NO_JNI_REGISTRATION; |
} |
JNIEnv* AttachCurrentThread() { |