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); |
} |