Index: content/browser/renderer_host/java/gin_java_method_invocation_helper.cc |
diff --git a/content/browser/renderer_host/java/gin_java_method_invocation_helper.cc b/content/browser/renderer_host/java/gin_java_method_invocation_helper.cc |
index d3fb138654424771076277aa52edf517c2dbf8f1..5c60ecfb9eaf41f344b890c1a488f083a0103516 100644 |
--- a/content/browser/renderer_host/java/gin_java_method_invocation_helper.cc |
+++ b/content/browser/renderer_host/java/gin_java_method_invocation_helper.cc |
@@ -23,13 +23,6 @@ namespace content { |
namespace { |
-const char kObjectIsGone[] = "Java object is gone"; |
-const char kMethodNotFound[] = "Method not found"; |
-const char kAccessToObjectGetClassIsBlocked[] = |
- "Access to java.lang.Object.getClass is blocked"; |
-const char kJavaExceptionRaised[] = |
- "Java exception has been raised during method invocation"; |
- |
// See frameworks/base/core/java/android/webkit/EventLogTags.logtags |
const int kObjectGetClassInvocationAttemptLogTag = 70151; |
@@ -41,7 +34,8 @@ GinJavaMethodInvocationHelper::GinJavaMethodInvocationHelper( |
const base::ListValue& arguments) |
: object_(object.Pass()), |
method_name_(method_name), |
- arguments_(arguments.DeepCopy()) { |
+ arguments_(arguments.DeepCopy()), |
+ invocation_error_(kGinJavaBridgeNoError) { |
} |
GinJavaMethodInvocationHelper::~GinJavaMethodInvocationHelper() {} |
@@ -121,14 +115,14 @@ void GinJavaMethodInvocationHelper::Invoke() { |
const JavaMethod* method = |
object_->FindMethod(method_name_, arguments_->GetSize()); |
if (!method) { |
- SetInvocationFailure(kMethodNotFound); |
+ SetInvocationError(kGinJavaBridgeMethodNotFound); |
return; |
} |
if (object_->IsObjectGetClassMethod(method)) { |
base::android::EventLogWriteInt(kObjectGetClassInvocationAttemptLogTag, |
getuid()); |
- SetInvocationFailure(kAccessToObjectGetClassIsBlocked); |
+ SetInvocationError(kGinJavaBridgeAccessToObjectGetClassIsBlocked); |
return; |
} |
@@ -140,7 +134,7 @@ void GinJavaMethodInvocationHelper::Invoke() { |
obj = object_->GetLocalRef(env); |
} |
if (obj.is_null() && cls.is_null()) { |
- SetInvocationFailure(kObjectIsGone); |
+ SetInvocationError(kGinJavaBridgeObjectIsGone); |
return; |
} |
@@ -166,11 +160,11 @@ void GinJavaMethodInvocationHelper::Invoke() { |
} |
} |
-void GinJavaMethodInvocationHelper::SetInvocationFailure( |
- const char* error_message) { |
+void GinJavaMethodInvocationHelper::SetInvocationError( |
+ GinJavaBridgeError error) { |
holds_primitive_result_ = true; |
primitive_result_.reset(new base::ListValue()); |
- error_message_ = error_message; |
+ invocation_error_ = error; |
} |
void GinJavaMethodInvocationHelper::SetPrimitiveResult( |
@@ -205,8 +199,8 @@ GinJavaMethodInvocationHelper::GetSafeAnnotationClass() { |
return safe_annotation_clazz_; |
} |
-const std::string& GinJavaMethodInvocationHelper::GetErrorMessage() { |
- return error_message_; |
+const GinJavaBridgeError GinJavaMethodInvocationHelper::GetInvocationError() { |
+ return invocation_error_; |
} |
void GinJavaMethodInvocationHelper::InvokeMethod(jobject object, |
@@ -295,7 +289,7 @@ void GinJavaMethodInvocationHelper::InvokeMethod(jobject object, |
// methods. ScopedJavaLocalRef is liable to make such calls, so we test |
// first. |
if (base::android::ClearException(env)) { |
- SetInvocationFailure(kJavaExceptionRaised); |
+ SetInvocationError(kGinJavaBridgeJavaExceptionRaised); |
return; |
} |
ScopedJavaLocalRef<jstring> scoped_java_string(env, java_string); |
@@ -318,7 +312,7 @@ void GinJavaMethodInvocationHelper::InvokeMethod(jobject object, |
object ? env->CallObjectMethodA(object, id, parameters) |
: env->CallStaticObjectMethodA(clazz, id, parameters); |
if (base::android::ClearException(env)) { |
- SetInvocationFailure(kJavaExceptionRaised); |
+ SetInvocationError(kGinJavaBridgeJavaExceptionRaised); |
return; |
} |
ScopedJavaLocalRef<jobject> scoped_java_object(env, java_object); |
@@ -334,7 +328,7 @@ void GinJavaMethodInvocationHelper::InvokeMethod(jobject object, |
if (!base::android::ClearException(env)) { |
SetPrimitiveResult(result_wrapper); |
} else { |
- SetInvocationFailure(kJavaExceptionRaised); |
+ SetInvocationError(kGinJavaBridgeJavaExceptionRaised); |
} |
} |