OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "content/browser/renderer_host/java/java_method.h" | 5 #include "content/browser/renderer_host/java/java_method.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_string.h" | 8 #include "base/android/jni_string.h" |
9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
10 #include "base/memory/singleton.h" | 10 #include "base/memory/singleton.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 const char kIsStatic[] = "isStatic"; | 29 const char kIsStatic[] = "isStatic"; |
30 const char kJavaLangClass[] = "java/lang/Class"; | 30 const char kJavaLangClass[] = "java/lang/Class"; |
31 const char kJavaLangReflectMethod[] = "java/lang/reflect/Method"; | 31 const char kJavaLangReflectMethod[] = "java/lang/reflect/Method"; |
32 const char kJavaLangReflectModifier[] = "java/lang/reflect/Modifier"; | 32 const char kJavaLangReflectModifier[] = "java/lang/reflect/Modifier"; |
33 const char kReturningInteger[] = "()I"; | 33 const char kReturningInteger[] = "()I"; |
34 const char kReturningJavaLangClass[] = "()Ljava/lang/Class;"; | 34 const char kReturningJavaLangClass[] = "()Ljava/lang/Class;"; |
35 const char kReturningJavaLangClassArray[] = "()[Ljava/lang/Class;"; | 35 const char kReturningJavaLangClassArray[] = "()[Ljava/lang/Class;"; |
36 const char kReturningJavaLangString[] = "()Ljava/lang/String;"; | 36 const char kReturningJavaLangString[] = "()Ljava/lang/String;"; |
37 | 37 |
38 struct ModifierClassTraits : | 38 struct ModifierClassTraits : |
39 public base::LeakyLazyInstanceTraits<ScopedJavaGlobalRef<jclass> > { | 39 public base::internal::LeakyLazyInstanceTraits<ScopedJavaGlobalRef< |
| 40 jclass> > { |
40 static ScopedJavaGlobalRef<jclass>* New(void* instance) { | 41 static ScopedJavaGlobalRef<jclass>* New(void* instance) { |
41 JNIEnv* env = AttachCurrentThread(); | 42 JNIEnv* env = AttachCurrentThread(); |
42 // Use placement new to initialize our instance in our preallocated space. | 43 // Use placement new to initialize our instance in our preallocated space. |
43 return new (instance) ScopedJavaGlobalRef<jclass>( | 44 return new (instance) ScopedJavaGlobalRef<jclass>( |
44 ScopedJavaLocalRef<jclass>( | 45 ScopedJavaLocalRef<jclass>( |
45 env, | 46 env, |
46 static_cast<jclass>(env->FindClass(kJavaLangReflectModifier)))); | 47 static_cast<jclass>(env->FindClass(kJavaLangReflectModifier)))); |
47 } | 48 } |
48 }; | 49 }; |
49 | 50 |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 kGetDeclaringClass, | 229 kGetDeclaringClass, |
229 kReturningJavaLangClass)))); | 230 kReturningJavaLangClass)))); |
230 id_ = is_static ? | 231 id_ = is_static ? |
231 GetStaticMethodID(env, declaring_class.obj(), name_.c_str(), | 232 GetStaticMethodID(env, declaring_class.obj(), name_.c_str(), |
232 signature.c_str()) : | 233 signature.c_str()) : |
233 GetMethodID(env, declaring_class.obj(), name_.c_str(), | 234 GetMethodID(env, declaring_class.obj(), name_.c_str(), |
234 signature.c_str()); | 235 signature.c_str()); |
235 | 236 |
236 java_method_.Reset(); | 237 java_method_.Reset(); |
237 } | 238 } |
OLD | NEW |