| 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 |