| Index: components/cronet/android/java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java
|
| diff --git a/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java b/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java
|
| index 41b0fc7b967f41ba0bff8b38e01cb2e2d69946ae..d78ceb740d9bd98bef35c128d5bb1b9d26a62952 100644
|
| --- a/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java
|
| +++ b/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java
|
| @@ -73,13 +73,7 @@ public class CronetHttpURLConnection extends HttpURLConnection {
|
| @Override
|
| public void disconnect() {
|
| // Disconnect before connection is made should have no effect.
|
| - if (connected && mInputStream != null) {
|
| - try {
|
| - mInputStream.close();
|
| - } catch (IOException e) {
|
| - e.printStackTrace();
|
| - }
|
| - mInputStream = null;
|
| + if (connected) {
|
| mRequest.cancel();
|
| }
|
| }
|
| @@ -455,13 +449,13 @@ public class CronetHttpURLConnection extends HttpURLConnection {
|
| }
|
| mResponseInfo = info;
|
| mRequest.cancel();
|
| - setResponseDataCompleted();
|
| + setResponseDataCompleted(null);
|
| }
|
|
|
| @Override
|
| public void onSucceeded(UrlRequest request, UrlResponseInfo info) {
|
| mResponseInfo = info;
|
| - setResponseDataCompleted();
|
| + setResponseDataCompleted(null);
|
| }
|
|
|
| @Override
|
| @@ -473,16 +467,24 @@ public class CronetHttpURLConnection extends HttpURLConnection {
|
| }
|
| mResponseInfo = info;
|
| mException = exception;
|
| - setResponseDataCompleted();
|
| + setResponseDataCompleted(mException);
|
| + }
|
| +
|
| + @Override
|
| + public void onCanceled(UrlRequest request, UrlResponseInfo info) {
|
| + mResponseInfo = info;
|
| + setResponseDataCompleted(new IOException("stream closed"));
|
| }
|
|
|
| /**
|
| * Notifies {@link #mInputStream} that transferring of response data has
|
| * completed.
|
| + * @param exception if not null, it is the exception to report when
|
| + * caller tries to read more data.
|
| */
|
| - private void setResponseDataCompleted() {
|
| + private void setResponseDataCompleted(IOException exception) {
|
| if (mInputStream != null) {
|
| - mInputStream.setResponseDataCompleted();
|
| + mInputStream.setResponseDataCompleted(exception);
|
| }
|
| mMessageLoop.quit();
|
| }
|
|
|