Upstream ChildProcessLauncher changes for Android.

Includes updates to SandboxedProcess* to support passing multiple FDs to child
processes.


Review URL: https://chromiumcodereview.appspot.com/10696025

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144801 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/base/android/jni_array.cc b/base/android/jni_array.cc
index 0a55cc5f..53027c72 100644
--- a/base/android/jni_array.cc
+++ b/base/android/jni_array.cc
@@ -114,5 +114,18 @@
   AppendJavaByteArrayToByteVector(env, byte_array, out);
 }
 
+void JavaIntArrayToIntVector(JNIEnv* env,
+                             jintArray array,
+                             std::vector<int>* out) {
+  DCHECK(out);
+  out->clear();
+  jsize len = env->GetArrayLength(array);
+  jint* ints = env->GetIntArrayElements(array, NULL);
+  for (jsize i = 0; i < len; ++i) {
+    out->push_back(static_cast<int>(ints[i]));
+  }
+  env->ReleaseIntArrayElements(array, ints, JNI_ABORT);
+}
+
 }  // namespace android
 }  // namespace base