| Index: components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/TestUrlRequestListener.java
|
| diff --git a/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/TestUrlRequestListener.java b/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/TestUrlRequestListener.java
|
| deleted file mode 100644
|
| index 3bcfe4f56d599afc646430cddb165e6b0d078d07..0000000000000000000000000000000000000000
|
| --- a/components/cronet/android/test/javatests/src/org/chromium/cronet_test_apk/TestUrlRequestListener.java
|
| +++ /dev/null
|
| @@ -1,193 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.cronet_test_apk;
|
| -
|
| -import android.os.ConditionVariable;
|
| -
|
| -import static junit.framework.Assert.assertEquals;
|
| -import static junit.framework.Assert.assertTrue;
|
| -
|
| -import org.chromium.net.ExtendedResponseInfo;
|
| -import org.chromium.net.ResponseInfo;
|
| -import org.chromium.net.UrlRequest;
|
| -import org.chromium.net.UrlRequestException;
|
| -import org.chromium.net.UrlRequestListener;
|
| -
|
| -import java.nio.ByteBuffer;
|
| -import java.util.ArrayList;
|
| -import java.util.concurrent.Executor;
|
| -import java.util.concurrent.ExecutorService;
|
| -import java.util.concurrent.Executors;
|
| -import java.util.concurrent.ThreadFactory;
|
| -
|
| -/**
|
| - * Listener that tracks information from different callbacks and and has a
|
| - * method to block thread until the request completes on another thread.
|
| - * Allows to cancel, block request or throw an exception from an arbitrary step.
|
| - */
|
| -class TestUrlRequestListener implements UrlRequestListener {
|
| - public ArrayList<ResponseInfo> mRedirectResponseInfoList =
|
| - new ArrayList<ResponseInfo>();
|
| - public ResponseInfo mResponseInfo;
|
| - public ExtendedResponseInfo mExtendedResponseInfo;
|
| - public UrlRequestException mError;
|
| -
|
| - public ResponseStep mResponseStep = ResponseStep.NOTHING;
|
| -
|
| - public boolean mOnRedirectCalled = false;
|
| - public boolean mOnErrorCalled = false;
|
| -
|
| - public int mHttpResponseDataLength = 0;
|
| - public byte[] mLastDataReceivedAsBytes;
|
| - public String mResponseAsString = "";
|
| -
|
| - // Conditionally fail on certain steps.
|
| - private FailureType mFailureType = FailureType.NONE;
|
| - private ResponseStep mFailureStep = ResponseStep.NOTHING;
|
| -
|
| - // Signals when request is done either successfully or not.
|
| - private ConditionVariable mDone = new ConditionVariable();
|
| - private ConditionVariable mStepBlock = new ConditionVariable(true);
|
| -
|
| - // Executor for Cronet callbacks.
|
| - ExecutorService mExecutor = Executors.newSingleThreadExecutor(
|
| - new ExecutorThreadFactory());
|
| - Thread mExecutorThread;
|
| -
|
| - private class ExecutorThreadFactory implements ThreadFactory {
|
| - public Thread newThread(Runnable r) {
|
| - mExecutorThread = new Thread(r);
|
| - return mExecutorThread;
|
| - }
|
| - }
|
| -
|
| - public enum ResponseStep {
|
| - NOTHING,
|
| - ON_REDIRECT,
|
| - ON_RESPONSE_STARTED,
|
| - ON_DATA_RECEIVED,
|
| - ON_SUCCEEDED
|
| - };
|
| -
|
| - public enum FailureType {
|
| - NONE,
|
| - BLOCK,
|
| - CANCEL_SYNC,
|
| - CANCEL_ASYNC,
|
| - THROW_SYNC
|
| - };
|
| -
|
| - public TestUrlRequestListener() {
|
| - }
|
| -
|
| - public void setFailure(FailureType failureType, ResponseStep failureStep) {
|
| - mFailureStep = failureStep;
|
| - mFailureType = failureType;
|
| - if (failureType == FailureType.BLOCK) {
|
| - mStepBlock.close();
|
| - }
|
| - }
|
| -
|
| - public void blockForDone() {
|
| - mDone.block();
|
| - }
|
| -
|
| - public void openBlockedStep() {
|
| - mStepBlock.open();
|
| - }
|
| -
|
| - public Executor getExecutor() {
|
| - return mExecutor;
|
| - }
|
| -
|
| - @Override
|
| - public void onRedirect(UrlRequest request,
|
| - ResponseInfo info,
|
| - String newLocationUrl) {
|
| - assertEquals(mExecutorThread, Thread.currentThread());
|
| - assertTrue(mResponseStep == ResponseStep.NOTHING
|
| - || mResponseStep == ResponseStep.ON_REDIRECT);
|
| - mRedirectResponseInfoList.add(info);
|
| - mResponseStep = ResponseStep.ON_REDIRECT;
|
| - mOnRedirectCalled = true;
|
| - maybeThrowOrCancel(request);
|
| - }
|
| -
|
| - @Override
|
| - public void onResponseStarted(UrlRequest request, ResponseInfo info) {
|
| - assertEquals(mExecutorThread, Thread.currentThread());
|
| - assertTrue(mResponseStep == ResponseStep.NOTHING
|
| - || mResponseStep == ResponseStep.ON_REDIRECT);
|
| - mResponseStep = ResponseStep.ON_RESPONSE_STARTED;
|
| - mResponseInfo = info;
|
| - maybeThrowOrCancel(request);
|
| - }
|
| -
|
| - @Override
|
| - public void onDataReceived(UrlRequest request,
|
| - ResponseInfo info,
|
| - ByteBuffer byteBuffer) {
|
| - assertEquals(mExecutorThread, Thread.currentThread());
|
| - assertTrue(mResponseStep == ResponseStep.ON_RESPONSE_STARTED
|
| - || mResponseStep == ResponseStep.ON_DATA_RECEIVED);
|
| - mResponseStep = ResponseStep.ON_DATA_RECEIVED;
|
| -
|
| - mHttpResponseDataLength += byteBuffer.capacity();
|
| - mLastDataReceivedAsBytes = new byte[byteBuffer.capacity()];
|
| - byteBuffer.get(mLastDataReceivedAsBytes);
|
| - mResponseAsString += new String(mLastDataReceivedAsBytes);
|
| - maybeThrowOrCancel(request);
|
| - }
|
| -
|
| - @Override
|
| - public void onSucceeded(UrlRequest request, ExtendedResponseInfo info) {
|
| - assertEquals(mExecutorThread, Thread.currentThread());
|
| - assertTrue(mResponseStep == ResponseStep.ON_RESPONSE_STARTED
|
| - || mResponseStep == ResponseStep.ON_DATA_RECEIVED);
|
| - mResponseStep = ResponseStep.ON_SUCCEEDED;
|
| - mExtendedResponseInfo = info;
|
| - openDone();
|
| - maybeThrowOrCancel(request);
|
| - }
|
| -
|
| - @Override
|
| - public void onFailed(UrlRequest request,
|
| - ResponseInfo info,
|
| - UrlRequestException error) {
|
| - assertEquals(mExecutorThread, Thread.currentThread());
|
| - mOnErrorCalled = true;
|
| - mError = error;
|
| - openDone();
|
| - maybeThrowOrCancel(request);
|
| - }
|
| -
|
| - protected void openDone() {
|
| - mDone.open();
|
| - }
|
| -
|
| - private void maybeThrowOrCancel(final UrlRequest request) {
|
| - if (mResponseStep != mFailureStep) {
|
| - return;
|
| - }
|
| - if (mFailureType == FailureType.NONE) {
|
| - return;
|
| - }
|
| - if (mFailureType == FailureType.THROW_SYNC) {
|
| - throw new IllegalStateException("Listener Exception.");
|
| - }
|
| - Runnable task = new Runnable() {
|
| - public void run() {
|
| - request.cancel();
|
| - openDone();
|
| - }
|
| - };
|
| - if (mFailureType == FailureType.CANCEL_ASYNC) {
|
| - mExecutor.execute(task);
|
| - } else {
|
| - task.run();
|
| - }
|
| - }
|
| -}
|
| -
|
|
|