| Index: content/browser/renderer_host/java/java_bound_object.cc
|
| diff --git a/content/browser/renderer_host/java/java_bound_object.cc b/content/browser/renderer_host/java/java_bound_object.cc
|
| index e139d4696a775748068d49d9434b00894d9a8b92..ff9a4bbb3e2f90602ff7abf42f218f0a1667531e 100644
|
| --- a/content/browser/renderer_host/java/java_bound_object.cc
|
| +++ b/content/browser/renderer_host/java/java_bound_object.cc
|
| @@ -15,8 +15,8 @@
|
| using base::StringPrintf;
|
| using base::android::AttachCurrentThread;
|
| using base::android::ConvertUTF8ToJavaString;
|
| +using base::android::GetMethodIDFromClassName;
|
| using base::android::JavaRef;
|
| -using base::android::MethodID;
|
| using base::android::ScopedJavaGlobalRef;
|
| using base::android::ScopedJavaLocalRef;
|
| using WebKit::WebBindings;
|
| @@ -481,34 +481,6 @@ jvalue CoerceJavaScriptValueToJavaValue(const NPVariant& variant,
|
| return jvalue();
|
| }
|
|
|
| -class ObjectGetClassID : public MethodID {
|
| - public:
|
| - static ObjectGetClassID* GetInstance() {
|
| - return Singleton<ObjectGetClassID>::get();
|
| - }
|
| - private:
|
| - friend struct DefaultSingletonTraits<ObjectGetClassID>;
|
| - ObjectGetClassID()
|
| - : MethodID(AttachCurrentThread(), "java/lang/Object", "getClass",
|
| - "()Ljava/lang/Class;") {
|
| - }
|
| - DISALLOW_COPY_AND_ASSIGN(ObjectGetClassID);
|
| -};
|
| -
|
| -class ClassGetMethodsID : public MethodID {
|
| - public:
|
| - static ClassGetMethodsID* GetInstance() {
|
| - return Singleton<ClassGetMethodsID>::get();
|
| - }
|
| - private:
|
| - friend struct DefaultSingletonTraits<ClassGetMethodsID>;
|
| - ClassGetMethodsID()
|
| - : MethodID(AttachCurrentThread(), "java/lang/Class", "getMethods",
|
| - "()[Ljava/lang/reflect/Method;") {
|
| - }
|
| - DISALLOW_COPY_AND_ASSIGN(ClassGetMethodsID);
|
| -};
|
| -
|
| } // namespace
|
|
|
|
|
| @@ -591,11 +563,17 @@ void JavaBoundObject::EnsureMethodsAreSetUp() const {
|
|
|
| JNIEnv* env = AttachCurrentThread();
|
| ScopedJavaLocalRef<jclass> clazz(env, static_cast<jclass>(
|
| - env->CallObjectMethod(java_object_,
|
| - ObjectGetClassID::GetInstance()->id())));
|
| + env->CallObjectMethod(java_object_, GetMethodIDFromClassName(
|
| + env,
|
| + "java/lang/Object",
|
| + "getClass",
|
| + "()Ljava/lang/Class;"))));
|
| ScopedJavaLocalRef<jobjectArray> methods(env, static_cast<jobjectArray>(
|
| - env->CallObjectMethod(clazz.obj(),
|
| - ClassGetMethodsID::GetInstance()->id())));
|
| + env->CallObjectMethod(clazz.obj(), GetMethodIDFromClassName(
|
| + env,
|
| + "java/lang/Class",
|
| + "getMethods",
|
| + "()[Ljava/lang/reflect/Method;"))));
|
| size_t num_methods = env->GetArrayLength(methods.obj());
|
| DCHECK(num_methods) << "Java objects always have public methods";
|
| for (size_t i = 0; i < num_methods; ++i) {
|
|
|