Commit 202e490e authored by mmenke@chromium.org's avatar mmenke@chromium.org

Fix Java object leaks in net_string_util_icu_alternatives_android.cc.

BUG=401769

Review URL: https://codereview.chromium.org/449253002

Cr-Commit-Position: refs/heads/master@{#288384}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288384 0039d316-1c4b-4281-b951-d872f2087c98
parent 40e54f85
......@@ -20,12 +20,13 @@ namespace {
ScopedJavaLocalRef<jstring> ConvertToJstring(const std::string& text,
const char* charset) {
JNIEnv* env = base::android::AttachCurrentThread();
jobject java_byte_buffer =
env->NewDirectByteBuffer(const_cast<char*>(text.data()), text.length());
ScopedJavaLocalRef<jobject> java_byte_buffer(
env,
env->NewDirectByteBuffer(const_cast<char*>(text.data()), text.length()));
base::android::ScopedJavaLocalRef<jstring> java_charset =
base::android::ConvertUTF8ToJavaString(env, base::StringPiece(charset));
ScopedJavaLocalRef<jstring> java_result =
android::Java_NetStringUtil_convertToUnicode(env, java_byte_buffer,
android::Java_NetStringUtil_convertToUnicode(env, java_byte_buffer.obj(),
java_charset.obj());
return java_result;
}
......@@ -36,13 +37,14 @@ ScopedJavaLocalRef<jstring> ConvertToJstring(const std::string& text,
ScopedJavaLocalRef<jstring> ConvertToNormalizedJstring(
const std::string& text, const char* charset) {
JNIEnv* env = base::android::AttachCurrentThread();
jobject java_byte_buffer =
env->NewDirectByteBuffer(const_cast<char*>(text.data()), text.length());
ScopedJavaLocalRef<jobject> java_byte_buffer(
env,
env->NewDirectByteBuffer(const_cast<char*>(text.data()), text.length()));
base::android::ScopedJavaLocalRef<jstring> java_charset =
base::android::ConvertUTF8ToJavaString(env, base::StringPiece(charset));
ScopedJavaLocalRef<jstring> java_result =
android::Java_NetStringUtil_convertToUnicodeAndNormalize(
env, java_byte_buffer, java_charset.obj());
env, java_byte_buffer.obj(), java_charset.obj());
return java_result;
}
......@@ -51,13 +53,14 @@ ScopedJavaLocalRef<jstring> ConvertToNormalizedJstring(
ScopedJavaLocalRef<jstring> ConvertToJstringWithSubstitutions(
const std::string& text, const char* charset) {
JNIEnv* env = base::android::AttachCurrentThread();
jobject java_byte_buffer =
env->NewDirectByteBuffer(const_cast<char*>(text.data()), text.length());
ScopedJavaLocalRef<jobject> java_byte_buffer(
env,
env->NewDirectByteBuffer(const_cast<char*>(text.data()), text.length()));
base::android::ScopedJavaLocalRef<jstring> java_charset =
base::android::ConvertUTF8ToJavaString(env, base::StringPiece(charset));
ScopedJavaLocalRef<jstring> java_result =
android::Java_NetStringUtil_convertToUnicodeWithSubstitutions(
env, java_byte_buffer, java_charset.obj());
env, java_byte_buffer.obj(), java_charset.obj());
return java_result;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment