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(); |
- } |
- } |
-} |
- |