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

Side by Side Diff: components/cronet/android/cronet_upload_data_stream_adapter.cc

Issue 1312153003: jni_generator: Pass object parameters as JavaParamRef. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/cronet/android/cronet_upload_data_stream_adapter.h" 5 #include "components/cronet/android/cronet_upload_data_stream_adapter.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 network_task_runner_->PostTask( 92 network_task_runner_->PostTask(
93 FROM_HERE, 93 FROM_HERE,
94 base::Bind(&CronetUploadDataStream::OnRewindSuccess, 94 base::Bind(&CronetUploadDataStream::OnRewindSuccess,
95 upload_data_stream_)); 95 upload_data_stream_));
96 } 96 }
97 97
98 bool CronetUploadDataStreamAdapterRegisterJni(JNIEnv* env) { 98 bool CronetUploadDataStreamAdapterRegisterJni(JNIEnv* env) {
99 return RegisterNativesImpl(env); 99 return RegisterNativesImpl(env);
100 } 100 }
101 101
102 static jlong AttachUploadDataToRequest(JNIEnv* env, 102 static jlong AttachUploadDataToRequest(
103 jobject jupload_data_stream, 103 JNIEnv* env,
104 jlong jcronet_url_request_adapter, 104 const JavaParamRef<jobject>& jupload_data_stream,
105 jlong jlength) { 105 jlong jcronet_url_request_adapter,
106 jlong jlength) {
106 CronetURLRequestAdapter* request_adapter = 107 CronetURLRequestAdapter* request_adapter =
107 reinterpret_cast<CronetURLRequestAdapter*>(jcronet_url_request_adapter); 108 reinterpret_cast<CronetURLRequestAdapter*>(jcronet_url_request_adapter);
108 DCHECK(request_adapter != nullptr); 109 DCHECK(request_adapter != nullptr);
109 110
110 CronetUploadDataStreamAdapter* adapter = 111 CronetUploadDataStreamAdapter* adapter =
111 new CronetUploadDataStreamAdapter(env, jupload_data_stream); 112 new CronetUploadDataStreamAdapter(env, jupload_data_stream);
112 113
113 scoped_ptr<CronetUploadDataStream> upload_data_stream( 114 scoped_ptr<CronetUploadDataStream> upload_data_stream(
114 new CronetUploadDataStream(adapter, jlength)); 115 new CronetUploadDataStream(adapter, jlength));
115 116
116 request_adapter->SetUpload(upload_data_stream.Pass()); 117 request_adapter->SetUpload(upload_data_stream.Pass());
117 118
118 return reinterpret_cast<jlong>(adapter); 119 return reinterpret_cast<jlong>(adapter);
119 } 120 }
120 121
121 static jlong CreateAdapterForTesting(JNIEnv* env, 122 static jlong CreateAdapterForTesting(
122 jobject jupload_data_stream) { 123 JNIEnv* env,
124 const JavaParamRef<jobject>& jupload_data_stream) {
123 CronetUploadDataStreamAdapter* adapter = 125 CronetUploadDataStreamAdapter* adapter =
124 new CronetUploadDataStreamAdapter(env, jupload_data_stream); 126 new CronetUploadDataStreamAdapter(env, jupload_data_stream);
125 return reinterpret_cast<jlong>(adapter); 127 return reinterpret_cast<jlong>(adapter);
126 } 128 }
127 129
128 static jlong CreateUploadDataStreamForTesting(JNIEnv* env, 130 static jlong CreateUploadDataStreamForTesting(
129 jobject jupload_data_stream, 131 JNIEnv* env,
130 jlong jlength, 132 const JavaParamRef<jobject>& jupload_data_stream,
131 jlong jadapter) { 133 jlong jlength,
134 jlong jadapter) {
132 CronetUploadDataStreamAdapter* adapter = 135 CronetUploadDataStreamAdapter* adapter =
133 reinterpret_cast<CronetUploadDataStreamAdapter*>(jadapter); 136 reinterpret_cast<CronetUploadDataStreamAdapter*>(jadapter);
134 CronetUploadDataStream* upload_data_stream = 137 CronetUploadDataStream* upload_data_stream =
135 new CronetUploadDataStream(adapter, jlength); 138 new CronetUploadDataStream(adapter, jlength);
136 return reinterpret_cast<jlong>(upload_data_stream); 139 return reinterpret_cast<jlong>(upload_data_stream);
137 } 140 }
138 141
139 static void DestroyAdapter(JNIEnv* env, 142 static void DestroyAdapter(
140 jclass jcronet_url_request_adapter, 143 JNIEnv* env,
141 jlong jupload_data_stream_adapter) { 144 const JavaParamRef<jclass>& jcronet_url_request_adapter,
145 jlong jupload_data_stream_adapter) {
142 CronetUploadDataStreamAdapter* adapter = 146 CronetUploadDataStreamAdapter* adapter =
143 reinterpret_cast<CronetUploadDataStreamAdapter*>( 147 reinterpret_cast<CronetUploadDataStreamAdapter*>(
144 jupload_data_stream_adapter); 148 jupload_data_stream_adapter);
145 DCHECK(adapter != nullptr); 149 DCHECK(adapter != nullptr);
146 delete adapter; 150 delete adapter;
147 } 151 }
148 152
149 } // namespace cronet 153 } // namespace cronet
OLDNEW
« no previous file with comments | « components/cronet/android/cronet_library_loader.cc ('k') | components/cronet/android/cronet_url_request_adapter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698