Chromium Code Reviews| Index: components/cronet/android/org_chromium_net_UrlRequest.cc |
| diff --git a/components/cronet/android/org_chromium_net_UrlRequest.cc b/components/cronet/android/org_chromium_net_UrlRequest.cc |
| index 8ec8b7abdac5f64bba367abcd9204a9b1753de37..34a11a989e267c4b6abee571e47ddf9aedbf4154 100644 |
| --- a/components/cronet/android/org_chromium_net_UrlRequest.cc |
| +++ b/components/cronet/android/org_chromium_net_UrlRequest.cc |
| @@ -70,9 +70,10 @@ class JniURLRequestPeerDelegate |
| int bytes_read = request->bytes_read(); |
| if (bytes_read != 0) { |
| JNIEnv* env = base::android::AttachCurrentThread(); |
| - jobject bytebuf = env->NewDirectByteBuffer(request->Data(), bytes_read); |
| - cronet::Java_UrlRequest_onBytesRead(env, owner_, bytebuf); |
| - env->DeleteLocalRef(bytebuf); |
| + jobject java_buffer = |
| + env->NewDirectByteBuffer(request->Data(), bytes_read); |
| + cronet::Java_UrlRequest_onBytesRead(env, owner_, java_buffer); |
| + env->DeleteLocalRef(java_buffer); |
| } |
| } |
| @@ -81,6 +82,17 @@ class JniURLRequestPeerDelegate |
| cronet::Java_UrlRequest_finish(env, owner_); |
| } |
| + virtual int ReadFromUploadChannel(net::IOBuffer* buf, |
| + int buf_length) OVERRIDE { |
| + JNIEnv* env = base::android::AttachCurrentThread(); |
| + jobject jbuf = env->NewDirectByteBuffer( |
|
mmenke
2014/08/05 21:08:02
You renamed the wrong one, though I agree with tha
mef
2014/08/05 21:38:45
Done.
|
| + reinterpret_cast<void*>(buf->data()), buf_length); |
| + jint bytes_read = |
| + cronet::Java_UrlRequest_readFromUploadChannel(env, owner_, jbuf); |
| + env->DeleteLocalRef(jbuf); |
| + return bytes_read; |
| + } |
| + |
| protected: |
| virtual ~JniURLRequestPeerDelegate() { |
| JNIEnv* env = base::android::AttachCurrentThread(); |
| @@ -176,12 +188,11 @@ static void SetUploadChannel(JNIEnv* env, |
| jobject object, |
| jlong urlRequestPeer, |
| jstring content_type, |
| - jobject content, |
| jlong content_length) { |
| URLRequestPeer* request = reinterpret_cast<URLRequestPeer*>(urlRequestPeer); |
| SetPostContentType(env, request, content_type); |
| - request->SetUploadChannel(env, content, content_length); |
| + request->SetUploadChannel(env, content_length); |
| } |