| Index: components/cronet/android/chromium_url_request.cc
|
| diff --git a/components/cronet/android/chromium_url_request.cc b/components/cronet/android/chromium_url_request.cc
|
| index 60b422f3781591f5cbff76849595904f458782c2..6d1c613fe9cdc35514889962bc1d90179947503d 100644
|
| --- a/components/cronet/android/chromium_url_request.cc
|
| +++ b/components/cronet/android/chromium_url_request.cc
|
| @@ -61,6 +61,11 @@ class JniURLRequestAdapterDelegate
|
| owner_ = env->NewGlobalRef(owner);
|
| }
|
|
|
| + virtual void OnAppendChunkCompleted(URLRequestAdapter* request) OVERRIDE {
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| + cronet::Java_ChromiumUrlRequest_onAppendChunkCompleted(env, owner_);
|
| + }
|
| +
|
| virtual void OnResponseStarted(URLRequestAdapter* request) OVERRIDE {
|
| JNIEnv* env = base::android::AttachCurrentThread();
|
| cronet::Java_ChromiumUrlRequest_onResponseStarted(env, owner_);
|
| @@ -199,6 +204,31 @@ static void SetUploadChannel(JNIEnv* env,
|
| request->SetUploadChannel(env, content_length);
|
| }
|
|
|
| +static void EnableChunkedUpload(JNIEnv* env,
|
| + jobject jcaller,
|
| + jlong urlRequestAdapter,
|
| + jstring content_type) {
|
| + URLRequestAdapter* request =
|
| + reinterpret_cast<URLRequestAdapter*>(urlRequestAdapter);
|
| + SetPostContentType(env, request, content_type);
|
| + request->EnableChunkedUpload();
|
| +}
|
| +
|
| +static void AppendChunkToUpload(JNIEnv* env,
|
| + jobject jcaller,
|
| + jlong urlRequestAdapter,
|
| + jobject chunk_byte_buffer,
|
| + jint chunk_size,
|
| + jboolean is_last_chunk) {
|
| + URLRequestAdapter* request =
|
| + reinterpret_cast<URLRequestAdapter*>(urlRequestAdapter);
|
| + if (request != NULL && chunk_byte_buffer != NULL) {
|
| + void* chunk = env->GetDirectBufferAddress(chunk_byte_buffer);
|
| + request->AppendChunkToUpload(
|
| + reinterpret_cast<const char*>(chunk), chunk_size, is_last_chunk);
|
| + }
|
| +}
|
| +
|
| /* synchronized */
|
| static void Start(JNIEnv* env, jobject object, jlong urlRequestAdapter) {
|
| URLRequestAdapter* request =
|
|
|