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

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

Issue 2283243002: Allow direct executors in cronet. (Closed)
Patch Set: Created 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_url_request_adapter.h" 5 #include "components/cronet/android/cronet_url_request_adapter.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 DCHECK(!context_->IsOnNetworkThread()); 129 DCHECK(!context_->IsOnNetworkThread());
130 context_->PostTaskToNetworkThread( 130 context_->PostTaskToNetworkThread(
131 FROM_HERE, base::Bind(&CronetURLRequestAdapter::StartOnNetworkThread, 131 FROM_HERE, base::Bind(&CronetURLRequestAdapter::StartOnNetworkThread,
132 base::Unretained(this))); 132 base::Unretained(this)));
133 } 133 }
134 134
135 void CronetURLRequestAdapter::GetStatus( 135 void CronetURLRequestAdapter::GetStatus(
136 JNIEnv* env, 136 JNIEnv* env,
137 const JavaParamRef<jobject>& jcaller, 137 const JavaParamRef<jobject>& jcaller,
138 const JavaParamRef<jobject>& jstatus_listener) const { 138 const JavaParamRef<jobject>& jstatus_listener) const {
139 DCHECK(!context_->IsOnNetworkThread()); 139 DCHECK(!context_->IsOnNetworkThread());
mef 2016/08/30 16:29:44 Remove this?
Charles 2016/08/30 20:11:06 Done.
140 base::android::ScopedJavaGlobalRef<jobject> status_listener_ref; 140 base::android::ScopedJavaGlobalRef<jobject> status_listener_ref;
141 status_listener_ref.Reset(env, jstatus_listener); 141 status_listener_ref.Reset(env, jstatus_listener);
142 context_->PostTaskToNetworkThread( 142 context_->PostTaskToNetworkThread(
143 FROM_HERE, base::Bind(&CronetURLRequestAdapter::GetStatusOnNetworkThread, 143 FROM_HERE, base::Bind(&CronetURLRequestAdapter::GetStatusOnNetworkThread,
144 base::Unretained(this), status_listener_ref)); 144 base::Unretained(this), status_listener_ref));
145 } 145 }
146 146
147 void CronetURLRequestAdapter::FollowDeferredRedirect( 147 void CronetURLRequestAdapter::FollowDeferredRedirect(
148 JNIEnv* env, 148 JNIEnv* env,
149 const JavaParamRef<jobject>& jcaller) { 149 const JavaParamRef<jobject>& jcaller) {
150 DCHECK(!context_->IsOnNetworkThread());
151 context_->PostTaskToNetworkThread( 150 context_->PostTaskToNetworkThread(
152 FROM_HERE, 151 FROM_HERE,
153 base::Bind( 152 base::Bind(
154 &CronetURLRequestAdapter::FollowDeferredRedirectOnNetworkThread, 153 &CronetURLRequestAdapter::FollowDeferredRedirectOnNetworkThread,
155 base::Unretained(this))); 154 base::Unretained(this)));
156 } 155 }
157 156
158 jboolean CronetURLRequestAdapter::ReadData( 157 jboolean CronetURLRequestAdapter::ReadData(
159 JNIEnv* env, 158 JNIEnv* env,
160 const JavaParamRef<jobject>& jcaller, 159 const JavaParamRef<jobject>& jcaller,
161 const JavaParamRef<jobject>& jbyte_buffer, 160 const JavaParamRef<jobject>& jbyte_buffer,
162 jint jposition, 161 jint jposition,
163 jint jlimit) { 162 jint jlimit) {
164 DCHECK(!context_->IsOnNetworkThread());
165 DCHECK_LT(jposition, jlimit); 163 DCHECK_LT(jposition, jlimit);
166 164
167 void* data = env->GetDirectBufferAddress(jbyte_buffer); 165 void* data = env->GetDirectBufferAddress(jbyte_buffer);
168 if (!data) 166 if (!data)
169 return JNI_FALSE; 167 return JNI_FALSE;
170 168
171 scoped_refptr<IOBufferWithByteBuffer> read_buffer( 169 scoped_refptr<IOBufferWithByteBuffer> read_buffer(
172 new IOBufferWithByteBuffer(env, jbyte_buffer, data, jposition, jlimit)); 170 new IOBufferWithByteBuffer(env, jbyte_buffer, data, jposition, jlimit));
173 171
174 int remaining_capacity = jlimit - jposition; 172 int remaining_capacity = jlimit - jposition;
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 ConvertUTF8ToJavaString(env, net::ErrorToString(net_error)).obj(), 380 ConvertUTF8ToJavaString(env, net::ErrorToString(net_error)).obj(),
383 request->GetTotalReceivedBytes()); 381 request->GetTotalReceivedBytes());
384 return true; 382 return true;
385 } 383 }
386 384
387 net::URLRequest* CronetURLRequestAdapter::GetURLRequestForTesting() { 385 net::URLRequest* CronetURLRequestAdapter::GetURLRequestForTesting() {
388 return url_request_.get(); 386 return url_request_.get();
389 } 387 }
390 388
391 } // namespace cronet 389 } // namespace cronet
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698