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

Unified Diff: base/android/jni_array.cc

Issue 12253057: Implement WebStorage API methods (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rearrange usage/quota Created 7 years, 10 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
Index: base/android/jni_array.cc
diff --git a/base/android/jni_array.cc b/base/android/jni_array.cc
index fe2aadb745c087386bf01512108a2c6235c1d3d8..8236e5da312eaec1a3cb904e7668e69d0c78e48f 100644
--- a/base/android/jni_array.cc
+++ b/base/android/jni_array.cc
@@ -25,6 +25,20 @@ ScopedJavaLocalRef<jbyteArray> ToJavaByteArray(
return ScopedJavaLocalRef<jbyteArray>(env, byte_array);
}
+ScopedJavaLocalRef<jlongArray> ToJavaLongArray(
+ JNIEnv* env, const int64* longs, size_t len) {
mkosiba (inactive) 2013/02/20 12:21:38 I know the function above uses a raw C-style array
boliu 2013/02/20 20:14:16 Overloaded the method with a vector version and up
+ jlongArray long_array = env->NewLongArray(len);
+ CheckException(env);
+ DCHECK(long_array);
+
+ jlong* elements = env->GetLongArrayElements(long_array, NULL);
+ memcpy(elements, longs, len * sizeof(*longs));
mkosiba (inactive) 2013/02/20 12:21:38 I can't remember what the exact issue was but one
boliu 2013/02/20 20:14:16 I remember in one of the effective c++ books, the
+ env->ReleaseLongArrayElements(long_array, elements, 0);
+ CheckException(env);
+
+ return ScopedJavaLocalRef<jlongArray>(env, long_array);
+}
+
ScopedJavaLocalRef<jobjectArray> ToJavaArrayOfByteArray(
JNIEnv* env, const std::vector<std::string>& v) {
ScopedJavaLocalRef<jclass> byte_array_clazz = GetClass(env, "[B");

Powered by Google App Engine
This is Rietveld 408576698