| 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 e38f93fcd35cabe0f45fba5e52b30ac4b031a3d4..11a395fac1c19532b9851837f202b59b5ca38bb6 100644
|
| --- a/components/cronet/android/org_chromium_net_UrlRequest.cc
|
| +++ b/components/cronet/android/org_chromium_net_UrlRequest.cc
|
| @@ -192,14 +192,39 @@ static void SetUploadChannel(JNIEnv* env,
|
| URLRequestAdapter* request =
|
| reinterpret_cast<URLRequestAdapter*>(urlRequestAdapter);
|
| SetPostContentType(env, request, content_type);
|
|
|
| request->SetUploadChannel(env, content_length);
|
| }
|
|
|
| +static void EnableChunkedUpload(JNIEnv* env,
|
| + jobject object,
|
| + jlong urlRequestAdapter,
|
| + jstring content_type) {
|
| + URLRequestAdapter* request =
|
| + reinterpret_cast<URLRequestAdapter*>(urlRequestAdapter);
|
| + SetPostContentType(env, request, content_type);
|
| +
|
| + request->EnableChunkedUpload();
|
| +}
|
| +
|
| +static void AppendChunk(JNIEnv* env,
|
| + jobject object,
|
| + jlong urlRequestAdapter,
|
| + jobject chunk_byte_buffer,
|
| + jint chunk_size,
|
| + jboolean is_last_chunk) {
|
| + URLRequestAdapter* request =
|
| + reinterpret_cast<URLRequestAdapter*>(urlRequestAdapter);
|
| + DCHECK(chunk_byte_buffer != NULL);
|
| +
|
| + void* chunk = env->GetDirectBufferAddress(chunk_byte_buffer);
|
| + request->AppendChunk(
|
| + reinterpret_cast<const char*>(chunk), chunk_size, is_last_chunk);
|
| +}
|
|
|
| /* synchronized */
|
| static void Start(JNIEnv* env, jobject object, jlong urlRequestAdapter) {
|
| URLRequestAdapter* request =
|
| reinterpret_cast<URLRequestAdapter*>(urlRequestAdapter);
|
| if (request != NULL) {
|
| request->Start();
|
|
|