OLD | NEW |
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 Loading... |
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()); | |
140 base::android::ScopedJavaGlobalRef<jobject> status_listener_ref; | 139 base::android::ScopedJavaGlobalRef<jobject> status_listener_ref; |
141 status_listener_ref.Reset(env, jstatus_listener); | 140 status_listener_ref.Reset(env, jstatus_listener); |
142 context_->PostTaskToNetworkThread( | 141 context_->PostTaskToNetworkThread( |
143 FROM_HERE, base::Bind(&CronetURLRequestAdapter::GetStatusOnNetworkThread, | 142 FROM_HERE, base::Bind(&CronetURLRequestAdapter::GetStatusOnNetworkThread, |
144 base::Unretained(this), status_listener_ref)); | 143 base::Unretained(this), status_listener_ref)); |
145 } | 144 } |
146 | 145 |
147 void CronetURLRequestAdapter::FollowDeferredRedirect( | 146 void CronetURLRequestAdapter::FollowDeferredRedirect( |
148 JNIEnv* env, | 147 JNIEnv* env, |
149 const JavaParamRef<jobject>& jcaller) { | 148 const JavaParamRef<jobject>& jcaller) { |
150 DCHECK(!context_->IsOnNetworkThread()); | |
151 context_->PostTaskToNetworkThread( | 149 context_->PostTaskToNetworkThread( |
152 FROM_HERE, | 150 FROM_HERE, |
153 base::Bind( | 151 base::Bind( |
154 &CronetURLRequestAdapter::FollowDeferredRedirectOnNetworkThread, | 152 &CronetURLRequestAdapter::FollowDeferredRedirectOnNetworkThread, |
155 base::Unretained(this))); | 153 base::Unretained(this))); |
156 } | 154 } |
157 | 155 |
158 jboolean CronetURLRequestAdapter::ReadData( | 156 jboolean CronetURLRequestAdapter::ReadData( |
159 JNIEnv* env, | 157 JNIEnv* env, |
160 const JavaParamRef<jobject>& jcaller, | 158 const JavaParamRef<jobject>& jcaller, |
161 const JavaParamRef<jobject>& jbyte_buffer, | 159 const JavaParamRef<jobject>& jbyte_buffer, |
162 jint jposition, | 160 jint jposition, |
163 jint jlimit) { | 161 jint jlimit) { |
164 DCHECK(!context_->IsOnNetworkThread()); | |
165 DCHECK_LT(jposition, jlimit); | 162 DCHECK_LT(jposition, jlimit); |
166 | 163 |
167 void* data = env->GetDirectBufferAddress(jbyte_buffer); | 164 void* data = env->GetDirectBufferAddress(jbyte_buffer); |
168 if (!data) | 165 if (!data) |
169 return JNI_FALSE; | 166 return JNI_FALSE; |
170 | 167 |
171 scoped_refptr<IOBufferWithByteBuffer> read_buffer( | 168 scoped_refptr<IOBufferWithByteBuffer> read_buffer( |
172 new IOBufferWithByteBuffer(env, jbyte_buffer, data, jposition, jlimit)); | 169 new IOBufferWithByteBuffer(env, jbyte_buffer, data, jposition, jlimit)); |
173 | 170 |
174 int remaining_capacity = jlimit - jposition; | 171 int remaining_capacity = jlimit - jposition; |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 ConvertUTF8ToJavaString(env, net::ErrorToString(net_error)).obj(), | 379 ConvertUTF8ToJavaString(env, net::ErrorToString(net_error)).obj(), |
383 request->GetTotalReceivedBytes()); | 380 request->GetTotalReceivedBytes()); |
384 return true; | 381 return true; |
385 } | 382 } |
386 | 383 |
387 net::URLRequest* CronetURLRequestAdapter::GetURLRequestForTesting() { | 384 net::URLRequest* CronetURLRequestAdapter::GetURLRequestForTesting() { |
388 return url_request_.get(); | 385 return url_request_.get(); |
389 } | 386 } |
390 | 387 |
391 } // namespace cronet | 388 } // namespace cronet |
OLD | NEW |