| Index: base/android/jni_array.cc
|
| diff --git a/base/android/jni_array.cc b/base/android/jni_array.cc
|
| index 8e0547cad40707c10b623eb6995c52f2ba3bc6f1..b287b460353c4f08cdae2d1540b7a1b3571b4586 100644
|
| --- a/base/android/jni_array.cc
|
| +++ b/base/android/jni_array.cc
|
| @@ -53,6 +53,33 @@ ScopedJavaLocalRef<jobjectArray> ToJavaArrayOfStrings(
|
| return ScopedJavaLocalRef<jobjectArray>(env, joa);
|
| }
|
|
|
| +ScopedJavaLocalRef<jobjectArray> ToJavaArrayOfStrings(
|
| + JNIEnv* env, const std::vector<string16>& v) {
|
| + ScopedJavaLocalRef<jclass> string_clazz = GetClass(env, "java/lang/String");
|
| + jobjectArray joa = env->NewObjectArray(v.size(), string_clazz.obj(), NULL);
|
| + CheckException(env);
|
| +
|
| + for (size_t i = 0; i < v.size(); ++i) {
|
| + ScopedJavaLocalRef<jstring> item = ConvertUTF16ToJavaString(env, v[i]);
|
| + env->SetObjectArrayElement(joa, i, item.obj());
|
| + }
|
| + return ScopedJavaLocalRef<jobjectArray>(env, joa);
|
| +}
|
| +
|
| +void AppendJavaStringArrayToStringVector(JNIEnv* env,
|
| + const JavaRef<jobjectArray>& array,
|
| + std::vector<string16>* out) {
|
| + DCHECK(out);
|
| + if (array.is_null())
|
| + return;
|
| + jsize len = env->GetArrayLength(array.obj());
|
| + for (jsize i = 0; i < len; ++i) {
|
| + ScopedJavaLocalRef<jstring> str(env,
|
| + static_cast<jstring>(env->GetObjectArrayElement(array.obj(), i)));
|
| + out->push_back(ConvertJavaStringToUTF16(str));
|
| + }
|
| +}
|
| +
|
| void AppendJavaByteArrayToByteVector(JNIEnv* env,
|
| jbyteArray byte_array,
|
| std::vector<uint8>* out) {
|
|
|