Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1982)

Unified Diff: base/android/jni_generator/testInnerClassNativesMultiple.golden

Issue 2162923002: jni_generator: Always generate native exports. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/android/jni_generator/testInnerClassNativesMultiple.golden
diff --git a/base/android/jni_generator/testInnerClassNativesMultiple.golden b/base/android/jni_generator/testInnerClassNativesMultiple.golden
index a55e71f8d1f302d86c8317533d57d9bb58855786..978432d00b19a8b2bdbd79d665522a5ac194a1cb 100644
--- a/base/android/jni_generator/testInnerClassNativesMultiple.golden
+++ b/base/android/jni_generator/testInnerClassNativesMultiple.golden
@@ -23,14 +23,14 @@ const char kMyOtherInnerClassClassPath[] =
const char kTestJniClassPath[] = "org/chromium/TestJni";
const char kMyInnerClassClassPath[] = "org/chromium/TestJni$MyInnerClass";
// Leaking this jclass as we cannot use LazyInstance from some threads.
-jclass g_MyOtherInnerClass_clazz = NULL;
-#define MyOtherInnerClass_clazz(env) g_MyOtherInnerClass_clazz
+base::subtle::AtomicWord g_MyOtherInnerClass_clazz __attribute__((unused)) = 0;
+#define MyOtherInnerClass_clazz(env) base::android::LazyGetClass(env, kMyOtherInnerClassClassPath, &g_MyOtherInnerClass_clazz)
// Leaking this jclass as we cannot use LazyInstance from some threads.
-jclass g_TestJni_clazz = NULL;
-#define TestJni_clazz(env) g_TestJni_clazz
+base::subtle::AtomicWord g_TestJni_clazz __attribute__((unused)) = 0;
+#define TestJni_clazz(env) base::android::LazyGetClass(env, kTestJniClassPath, &g_TestJni_clazz)
// Leaking this jclass as we cannot use LazyInstance from some threads.
-jclass g_MyInnerClass_clazz = NULL;
-#define MyInnerClass_clazz(env) g_MyInnerClass_clazz
+base::subtle::AtomicWord g_MyInnerClass_clazz __attribute__((unused)) = 0;
+#define MyInnerClass_clazz(env) base::android::LazyGetClass(env, kMyInnerClassClassPath, &g_MyInnerClass_clazz)
} // namespace
@@ -38,15 +38,17 @@ jclass g_MyInnerClass_clazz = NULL;
static jint Init(JNIEnv* env, const JavaParamRef<jobject>& jcaller);
-static jint Java_org_chromium_TestJni_00024MyInnerClass_nativeInit(JNIEnv* env,
- jobject jcaller) {
+extern "C" __attribute__((visibility("default")))
+jint Java_org_chromium_TestJni_00024MyInnerClass_nativeInit(JNIEnv* env, jobject
+ jcaller) {
return Init(env, JavaParamRef<jobject>(env, jcaller));
}
static jint Init(JNIEnv* env, const JavaParamRef<jobject>& jcaller);
-static jint Java_org_chromium_TestJni_00024MyOtherInnerClass_nativeInit(JNIEnv*
- env, jobject jcaller) {
+extern "C" __attribute__((visibility("default")))
+jint Java_org_chromium_TestJni_00024MyOtherInnerClass_nativeInit(JNIEnv* env,
+ jobject jcaller) {
return Init(env, JavaParamRef<jobject>(env, jcaller));
}
@@ -71,13 +73,7 @@ static const JNINativeMethod kMethodsMyInnerClass[] = {
};
static bool RegisterNativesImpl(JNIEnv* env) {
-
- g_MyOtherInnerClass_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
- base::android::GetClass(env, kMyOtherInnerClassClassPath).obj()));
- g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
- base::android::GetClass(env, kTestJniClassPath).obj()));
- g_MyInnerClass_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
- base::android::GetClass(env, kMyInnerClassClassPath).obj()));
+ if (base::android::IsManualJniRegistrationDisabled()) return true;
const int kMethodsMyOtherInnerClassSize =
arraysize(kMethodsMyOtherInnerClass);

Powered by Google App Engine
This is Rietveld 408576698