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

Side by Side Diff: base/android/jni_generator/testSingleJNIAdditionalImport.golden

Issue 2219923002: JNI: allow either JavaRef or bare objects in Java calls. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unreachable line Created 4 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file is autogenerated by 5 // This file is autogenerated by
6 // base/android/jni_generator/jni_generator.py 6 // base/android/jni_generator/jni_generator.py
7 // For 7 // For
8 // org/chromium/foo/Foo 8 // org/chromium/foo/Foo
9 9
10 #ifndef org_chromium_foo_Foo_JNI 10 #ifndef org_chromium_foo_Foo_JNI
(...skipping 21 matching lines...) Expand all
32 const base::android::JavaParamRef<jobject>& callback); 32 const base::android::JavaParamRef<jobject>& callback);
33 33
34 extern "C" __attribute__((visibility("default"))) 34 extern "C" __attribute__((visibility("default")))
35 void Java_org_chromium_foo_Foo_nativeDoSomething(JNIEnv* env, jclass jcaller, 35 void Java_org_chromium_foo_Foo_nativeDoSomething(JNIEnv* env, jclass jcaller,
36 jobject callback) { 36 jobject callback) {
37 return DoSomething(env, base::android::JavaParamRef<jclass>(env, jcaller), 37 return DoSomething(env, base::android::JavaParamRef<jclass>(env, jcaller),
38 base::android::JavaParamRef<jobject>(env, callback)); 38 base::android::JavaParamRef<jobject>(env, callback));
39 } 39 }
40 40
41 static base::subtle::AtomicWord g_Foo_calledByNative = 0; 41 static base::subtle::AtomicWord g_Foo_calledByNative = 0;
42 static void Java_Foo_calledByNative(JNIEnv* env, jobject callback) { 42 static void Java_Foo_calledByNative(JNIEnv* env, const
43 base::android::JavaRefOrBare<jobject>& callback) {
43 CHECK_CLAZZ(env, Foo_clazz(env), 44 CHECK_CLAZZ(env, Foo_clazz(env),
44 Foo_clazz(env)); 45 Foo_clazz(env));
45 jmethodID method_id = 46 jmethodID method_id =
46 base::android::MethodID::LazyGet< 47 base::android::MethodID::LazyGet<
47 base::android::MethodID::TYPE_STATIC>( 48 base::android::MethodID::TYPE_STATIC>(
48 env, Foo_clazz(env), 49 env, Foo_clazz(env),
49 "calledByNative", 50 "calledByNative",
50 51
51 "(" 52 "("
52 "Lorg/chromium/foo/Bar$Callback;" 53 "Lorg/chromium/foo/Bar$Callback;"
53 ")" 54 ")"
54 "V", 55 "V",
55 &g_Foo_calledByNative); 56 &g_Foo_calledByNative);
56 57
57 env->CallStaticVoidMethod(Foo_clazz(env), 58 env->CallStaticVoidMethod(Foo_clazz(env),
58 method_id, callback); 59 method_id, callback.obj());
59 jni_generator::CheckException(env); 60 jni_generator::CheckException(env);
60 61
61 } 62 }
62 63
63 // Step 3: RegisterNatives. 64 // Step 3: RegisterNatives.
64 65
65 static const JNINativeMethod kMethodsFoo[] = { 66 static const JNINativeMethod kMethodsFoo[] = {
66 { "nativeDoSomething", 67 { "nativeDoSomething",
67 "(" 68 "("
68 "Lorg/chromium/foo/Bar$Callback;" 69 "Lorg/chromium/foo/Bar$Callback;"
(...skipping 11 matching lines...) Expand all
80 kMethodsFooSize) < 0) { 81 kMethodsFooSize) < 0) {
81 jni_generator::HandleRegistrationError( 82 jni_generator::HandleRegistrationError(
82 env, Foo_clazz(env), __FILE__); 83 env, Foo_clazz(env), __FILE__);
83 return false; 84 return false;
84 } 85 }
85 86
86 return true; 87 return true;
87 } 88 }
88 89
89 #endif // org_chromium_foo_Foo_JNI 90 #endif // org_chromium_foo_Foo_JNI
OLDNEW
« no previous file with comments | « base/android/jni_generator/testNativeExportsOnlyOption.golden ('k') | base/android/scoped_java_ref.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698