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

Side by Side Diff: components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java

Issue 1492583002: Add HttpUrlConnection backed implementation of CronetEngine. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Enabled user agent test Created 4 years, 11 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 package org.chromium.net; 5 package org.chromium.net;
6 6
7 import android.os.SystemClock; 7 import android.os.SystemClock;
8 import android.support.annotation.Nullable; 8 import android.support.annotation.Nullable;
9 import android.util.Log; 9 import android.util.Log;
10 10
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 } 249 }
250 } 250 }
251 251
252 @Override 252 @Override
253 public void read(ByteBuffer buffer) { 253 public void read(ByteBuffer buffer) {
254 synchronized (mUrlRequestAdapterLock) { 254 synchronized (mUrlRequestAdapterLock) {
255 if (buffer.position() >= buffer.capacity()) { 255 if (buffer.position() >= buffer.capacity()) {
256 throw new IllegalArgumentException( 256 throw new IllegalArgumentException(
257 "ByteBuffer is already full."); 257 "ByteBuffer is already full.");
258 } 258 }
259 Preconditions.checkDirect(buffer);
259 260
260 if (!mWaitingOnRead) { 261 if (!mWaitingOnRead) {
261 throw new IllegalStateException("Unexpected read attempt."); 262 throw new IllegalStateException("Unexpected read attempt.");
262 } 263 }
263 mWaitingOnRead = false; 264 mWaitingOnRead = false;
264 mLegacyReadByteBufferAdjustment = true; 265 mLegacyReadByteBufferAdjustment = true;
265 266
266 if (isDone()) { 267 if (isDone()) {
267 return; 268 return;
268 } 269 }
269 270
270 // Indicate buffer has no new data. This is primarily to make it 271 // Indicate buffer has no new data. This is primarily to make it
271 // clear the buffer has no data in the failure and completion cases. 272 // clear the buffer has no data in the failure and completion cases.
272 buffer.limit(buffer.position()); 273 buffer.limit(buffer.position());
273 274
274 if (!nativeReadData(mUrlRequestAdapter, buffer, buffer.position(), 275 if (!nativeReadData(mUrlRequestAdapter, buffer, buffer.position(),
275 buffer.capacity())) { 276 buffer.capacity())) {
276 // Still waiting on read. This is just to have consistent 277 // Still waiting on read. This is just to have consistent
277 // behavior with the other error cases. 278 // behavior with the other error cases.
278 mWaitingOnRead = true; 279 mWaitingOnRead = true;
279 // Since accessing byteBuffer's memory failed, it's presumably 280 throw new IllegalArgumentException("Unable to call native read") ;
280 // not a direct ByteBuffer.
281 throw new IllegalArgumentException(
282 "byteBuffer must be a direct ByteBuffer.");
283 } 281 }
284 } 282 }
285 } 283 }
286 284
287 @Override 285 @Override
288 public void readNew(ByteBuffer buffer) { 286 public void readNew(ByteBuffer buffer) {
287 Preconditions.checkHasRemaining(buffer);
288 Preconditions.checkDirect(buffer);
289 synchronized (mUrlRequestAdapterLock) { 289 synchronized (mUrlRequestAdapterLock) {
290 if (!buffer.hasRemaining()) {
291 throw new IllegalArgumentException("ByteBuffer is already full." );
292 }
293
294 if (!mWaitingOnRead) { 290 if (!mWaitingOnRead) {
295 throw new IllegalStateException("Unexpected read attempt."); 291 throw new IllegalStateException("Unexpected read attempt.");
296 } 292 }
297 mWaitingOnRead = false; 293 mWaitingOnRead = false;
298 mLegacyReadByteBufferAdjustment = false; 294 mLegacyReadByteBufferAdjustment = false;
299 295
300 if (isDone()) { 296 if (isDone()) {
301 return; 297 return;
302 } 298 }
303 299
304 if (!nativeReadData(mUrlRequestAdapter, buffer, buffer.position(), b uffer.limit())) { 300 if (!nativeReadData(mUrlRequestAdapter, buffer, buffer.position(), b uffer.limit())) {
305 // Still waiting on read. This is just to have consistent 301 // Still waiting on read. This is just to have consistent
306 // behavior with the other error cases. 302 // behavior with the other error cases.
307 mWaitingOnRead = true; 303 mWaitingOnRead = true;
308 // Since accessing byteBuffer's memory failed, it's presumably 304 throw new IllegalArgumentException("Unable to call native read") ;
309 // not a direct ByteBuffer.
310 throw new IllegalArgumentException("byteBuffer must be a direct ByteBuffer.");
311 } 305 }
312 } 306 }
313 } 307 }
314 308
315 @Override 309 @Override
316 public void cancel() { 310 public void cancel() {
317 synchronized (mUrlRequestAdapterLock) { 311 synchronized (mUrlRequestAdapterLock) {
318 if (isDone() || !mStarted) { 312 if (isDone() || !mStarted) {
319 return; 313 return;
320 } 314 }
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
785 779
786 @NativeClassQualifiedName("CronetURLRequestAdapter") 780 @NativeClassQualifiedName("CronetURLRequestAdapter")
787 private native String nativeGetProxyServer(long nativePtr); 781 private native String nativeGetProxyServer(long nativePtr);
788 782
789 @NativeClassQualifiedName("CronetURLRequestAdapter") 783 @NativeClassQualifiedName("CronetURLRequestAdapter")
790 private native void nativeGetStatus(long nativePtr, UrlRequest.StatusListene r listener); 784 private native void nativeGetStatus(long nativePtr, UrlRequest.StatusListene r listener);
791 785
792 @NativeClassQualifiedName("CronetURLRequestAdapter") 786 @NativeClassQualifiedName("CronetURLRequestAdapter")
793 private native boolean nativeGetWasCached(long nativePtr); 787 private native boolean nativeGetWasCached(long nativePtr);
794 } 788 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698