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

Unified Diff: content/browser/android/java/gin_java_method_invocation_helper.cc

Issue 377173002: [Android] Use Blink UTF8<->UTF16 strings conversion in Gin Java Bridge (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/browser/android/java/gin_java_script_to_java_types_coercion.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/android/java/gin_java_method_invocation_helper.cc
diff --git a/content/browser/android/java/gin_java_method_invocation_helper.cc b/content/browser/android/java/gin_java_method_invocation_helper.cc
index ae7d643af5607d7b2da8adf8a8a07041d36ec3ed..254296f74c618de523e65fd9a44fcec18bc28798 100644
--- a/content/browser/android/java/gin_java_method_invocation_helper.cc
+++ b/content/browser/android/java/gin_java_method_invocation_helper.cc
@@ -8,13 +8,13 @@
#include "base/android/event_log.h"
#include "base/android/jni_android.h"
-#include "base/android/jni_string.h"
#include "base/float_util.h"
#include "content/browser/android/java/gin_java_script_to_java_types_coercion.h"
#include "content/browser/android/java/java_method.h"
#include "content/browser/android/java/jni_helper.h"
#include "content/common/android/gin_java_bridge_value.h"
#include "content/public/browser/browser_thread.h"
+#include "third_party/WebKit/public/platform/WebString.h"
using base::android::AttachCurrentThread;
using base::android::ScopedJavaLocalRef;
@@ -26,6 +26,15 @@ namespace {
// See frameworks/base/core/java/android/webkit/EventLogTags.logtags
const int kObjectGetClassInvocationAttemptLogTag = 70151;
+// This is an intermediate solution until we fix http://crbug.com/391492.
+std::string ConvertJavaStringToUTF8(JNIEnv* env, jstring str) {
+ const jchar* chars = env->GetStringChars(str, NULL);
+ DCHECK(chars);
+ blink::WebString utf16(chars, env->GetStringLength(str));
+ env->ReleaseStringChars(str, chars);
+ return utf16.utf8();
+}
+
} // namespace
GinJavaMethodInvocationHelper::GinJavaMethodInvocationHelper(
@@ -301,7 +310,7 @@ void GinJavaMethodInvocationHelper::InvokeMethod(jobject object,
break;
}
result_wrapper.AppendString(
- base::android::ConvertJavaStringToUTF8(scoped_java_string));
+ ConvertJavaStringToUTF8(env, scoped_java_string.obj()));
break;
}
case JavaType::TypeObject: {
« no previous file with comments | « no previous file | content/browser/android/java/gin_java_script_to_java_types_coercion.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698