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

Unified Diff: mojo/android/system/core_impl.cc

Issue 1288183004: jni_generator: Make all object-returning natives return ScopedJavaLocalRef. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add some newlines for readability Created 5 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
Index: mojo/android/system/core_impl.cc
diff --git a/mojo/android/system/core_impl.cc b/mojo/android/system/core_impl.cc
index 0a80e60b1a2909ab5dd757bae669759e34dedc5a..63191169b884dde7fa0a0f66033ed35fe29879c3 100644
--- a/mojo/android/system/core_impl.cc
+++ b/mojo/android/system/core_impl.cc
@@ -88,9 +88,9 @@ static jint WaitMany(JNIEnv* env,
result_index, states_start);
}
-static jobject CreateMessagePipe(JNIEnv* env,
- jobject jcaller,
- jobject options_buffer) {
+static ScopedJavaLocalRef<jobject> CreateMessagePipe(JNIEnv* env,
+ jobject jcaller,
+ jobject options_buffer) {
const MojoCreateMessagePipeOptions* options = NULL;
if (options_buffer) {
const void* buffer_start = env->GetDirectBufferAddress(options_buffer);
@@ -104,13 +104,12 @@ static jobject CreateMessagePipe(JNIEnv* env,
MojoHandle handle1;
MojoHandle handle2;
MojoResult result = MojoCreateMessagePipe(options, &handle1, &handle2);
- return Java_CoreImpl_newNativeCreationResult(env, result, handle1, handle2)
- .Release();
+ return Java_CoreImpl_newNativeCreationResult(env, result, handle1, handle2);
}
-static jobject CreateDataPipe(JNIEnv* env,
- jobject jcaller,
- jobject options_buffer) {
+static ScopedJavaLocalRef<jobject> CreateDataPipe(JNIEnv* env,
+ jobject jcaller,
+ jobject options_buffer) {
const MojoCreateDataPipeOptions* options = NULL;
if (options_buffer) {
const void* buffer_start = env->GetDirectBufferAddress(options_buffer);
@@ -124,14 +123,13 @@ static jobject CreateDataPipe(JNIEnv* env,
MojoHandle handle1;
MojoHandle handle2;
MojoResult result = MojoCreateDataPipe(options, &handle1, &handle2);
- return Java_CoreImpl_newNativeCreationResult(env, result, handle1, handle2)
- .Release();
+ return Java_CoreImpl_newNativeCreationResult(env, result, handle1, handle2);
}
-static jobject CreateSharedBuffer(JNIEnv* env,
- jobject jcaller,
- jobject options_buffer,
- jlong num_bytes) {
+static ScopedJavaLocalRef<jobject> CreateSharedBuffer(JNIEnv* env,
+ jobject jcaller,
+ jobject options_buffer,
+ jlong num_bytes) {
const MojoCreateSharedBufferOptions* options = 0;
if (options_buffer) {
const void* buffer_start = env->GetDirectBufferAddress(options_buffer);
@@ -144,7 +142,7 @@ static jobject CreateSharedBuffer(JNIEnv* env,
}
MojoHandle handle;
MojoResult result = MojoCreateSharedBuffer(options, num_bytes, &handle);
- return Java_CoreImpl_newResultAndInteger(env, result, handle).Release();
+ return Java_CoreImpl_newResultAndInteger(env, result, handle);
}
static jint Close(JNIEnv* env, jobject jcaller, jint mojo_handle) {
@@ -195,12 +193,12 @@ static jint WriteMessage(JNIEnv* env,
mojo_handle, buffer_start, buffer_size, handles, num_handles, flags);
}
-static jobject ReadMessage(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jobject bytes,
- jobject handles_buffer,
- jint flags) {
+static ScopedJavaLocalRef<jobject> ReadMessage(JNIEnv* env,
+ jobject jcaller,
+ jint mojo_handle,
+ jobject bytes,
+ jobject handles_buffer,
+ jint flags) {
void* buffer_start = 0;
uint32_t buffer_size = 0;
if (bytes) {
@@ -218,16 +216,16 @@ static jobject ReadMessage(JNIEnv* env,
MojoResult result = MojoReadMessage(
mojo_handle, buffer_start, &buffer_size, handles, &num_handles, flags);
// Jave code will handle taking ownership of any received handle.
- return Java_CoreImpl_newReadMessageResult(
- env, result, buffer_size, num_handles).Release();
+ return Java_CoreImpl_newReadMessageResult(env, result, buffer_size,
+ num_handles);
}
-static jobject ReadData(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jobject elements,
- jint elements_capacity,
- jint flags) {
+static ScopedJavaLocalRef<jobject> ReadData(JNIEnv* env,
+ jobject jcaller,
+ jint mojo_handle,
+ jobject elements,
+ jint elements_capacity,
+ jint flags) {
void* buffer_start = 0;
uint32_t buffer_size = elements_capacity;
if (elements) {
@@ -238,15 +236,14 @@ static jobject ReadData(JNIEnv* env,
MojoResult result =
MojoReadData(mojo_handle, buffer_start, &buffer_size, flags);
return Java_CoreImpl_newResultAndInteger(
- env, result, (result == MOJO_RESULT_OK) ? buffer_size : 0)
- .Release();
+ env, result, (result == MOJO_RESULT_OK) ? buffer_size : 0);
}
-static jobject BeginReadData(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jint num_bytes,
- jint flags) {
+static ScopedJavaLocalRef<jobject> BeginReadData(JNIEnv* env,
+ jobject jcaller,
+ jint mojo_handle,
+ jint num_bytes,
+ jint flags) {
void const* buffer = 0;
uint32_t buffer_size = num_bytes;
MojoResult result =
@@ -256,7 +253,7 @@ static jobject BeginReadData(JNIEnv* env,
byte_buffer =
env->NewDirectByteBuffer(const_cast<void*>(buffer), buffer_size);
}
- return Java_CoreImpl_newResultAndBuffer(env, result, byte_buffer).Release();
+ return Java_CoreImpl_newResultAndBuffer(env, result, byte_buffer);
}
static jint EndReadData(JNIEnv* env,
@@ -266,12 +263,12 @@ static jint EndReadData(JNIEnv* env,
return MojoEndReadData(mojo_handle, num_bytes_read);
}
-static jobject WriteData(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jobject elements,
- jint limit,
- jint flags) {
+static ScopedJavaLocalRef<jobject> WriteData(JNIEnv* env,
+ jobject jcaller,
+ jint mojo_handle,
+ jobject elements,
+ jint limit,
+ jint flags) {
void* buffer_start = env->GetDirectBufferAddress(elements);
DCHECK(buffer_start);
DCHECK(limit <= env->GetDirectBufferCapacity(elements));
@@ -279,15 +276,14 @@ static jobject WriteData(JNIEnv* env,
MojoResult result =
MojoWriteData(mojo_handle, buffer_start, &buffer_size, flags);
return Java_CoreImpl_newResultAndInteger(
- env, result, (result == MOJO_RESULT_OK) ? buffer_size : 0)
- .Release();
+ env, result, (result == MOJO_RESULT_OK) ? buffer_size : 0);
}
-static jobject BeginWriteData(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jint num_bytes,
- jint flags) {
+static ScopedJavaLocalRef<jobject> BeginWriteData(JNIEnv* env,
+ jobject jcaller,
+ jint mojo_handle,
+ jint num_bytes,
+ jint flags) {
void* buffer = 0;
uint32_t buffer_size = num_bytes;
MojoResult result =
@@ -296,7 +292,7 @@ static jobject BeginWriteData(JNIEnv* env,
if (result == MOJO_RESULT_OK) {
byte_buffer = env->NewDirectByteBuffer(buffer, buffer_size);
}
- return Java_CoreImpl_newResultAndBuffer(env, result, byte_buffer).Release();
+ return Java_CoreImpl_newResultAndBuffer(env, result, byte_buffer);
}
static jint EndWriteData(JNIEnv* env,
@@ -306,10 +302,10 @@ static jint EndWriteData(JNIEnv* env,
return MojoEndWriteData(mojo_handle, num_bytes_written);
}
-static jobject Duplicate(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jobject options_buffer) {
+static ScopedJavaLocalRef<jobject> Duplicate(JNIEnv* env,
+ jobject jcaller,
+ jint mojo_handle,
+ jobject options_buffer) {
const MojoDuplicateBufferHandleOptions* options = 0;
if (options_buffer) {
const void* buffer_start = env->GetDirectBufferAddress(options_buffer);
@@ -322,15 +318,15 @@ static jobject Duplicate(JNIEnv* env,
}
MojoHandle handle;
MojoResult result = MojoDuplicateBufferHandle(mojo_handle, options, &handle);
- return Java_CoreImpl_newResultAndInteger(env, result, handle).Release();
+ return Java_CoreImpl_newResultAndInteger(env, result, handle);
}
-static jobject Map(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jlong offset,
- jlong num_bytes,
- jint flags) {
+static ScopedJavaLocalRef<jobject> Map(JNIEnv* env,
+ jobject jcaller,
+ jint mojo_handle,
+ jlong offset,
+ jlong num_bytes,
+ jint flags) {
void* buffer = 0;
MojoResult result =
MojoMapBuffer(mojo_handle, offset, num_bytes, &buffer, flags);
@@ -338,7 +334,7 @@ static jobject Map(JNIEnv* env,
if (result == MOJO_RESULT_OK) {
byte_buffer = env->NewDirectByteBuffer(buffer, num_bytes);
}
- return Java_CoreImpl_newResultAndBuffer(env, result, byte_buffer).Release();
+ return Java_CoreImpl_newResultAndBuffer(env, result, byte_buffer);
}
static int Unmap(JNIEnv* env, jobject jcaller, jobject buffer) {
@@ -347,12 +343,12 @@ static int Unmap(JNIEnv* env, jobject jcaller, jobject buffer) {
return MojoUnmapBuffer(buffer_start);
}
-static jobject AsyncWait(JNIEnv* env,
- jobject jcaller,
- jint mojo_handle,
- jint signals,
- jlong deadline,
- jobject callback) {
+static ScopedJavaLocalRef<jobject> AsyncWait(JNIEnv* env,
+ jobject jcaller,
+ jint mojo_handle,
+ jint signals,
+ jlong deadline,
+ jobject callback) {
AsyncWaitCallbackData* callback_data =
new AsyncWaitCallbackData(env, jcaller, callback);
MojoAsyncWaitID cancel_id;
@@ -370,7 +366,7 @@ static jobject AsyncWait(JNIEnv* env,
Java_CoreImpl_newAsyncWaiterCancellableImpl(
env, jcaller, cancel_id, reinterpret_cast<intptr_t>(callback_data));
callback_data->cancellable.Reset(env, cancellable.obj());
- return cancellable.Release();
+ return cancellable;
}
static void CancelAsyncWait(JNIEnv* env,

Powered by Google App Engine
This is Rietveld 408576698