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

Unified Diff: net/base/net_string_util_icu_alternatives_android.cc

Issue 449253002: Fix Java object leaks in net_string_util_icu_alternatives_android.cc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Oops Created 6 years, 4 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/net_string_util_icu_alternatives_android.cc
diff --git a/net/base/net_string_util_icu_alternatives_android.cc b/net/base/net_string_util_icu_alternatives_android.cc
index ca0630328f5d8e5bfb96c3890945327d1210636d..ca0e7f0315db7677a924b825495b0d27fbdb2df3 100644
--- a/net/base/net_string_util_icu_alternatives_android.cc
+++ b/net/base/net_string_util_icu_alternatives_android.cc
@@ -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;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698