Index: components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java |
diff --git a/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java b/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java |
index 55c59401575cb1e3ec30de5ccd4d54c5f5266d08..4fe4a4c842e299e09399311304995826957fe7f2 100644 |
--- a/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java |
+++ b/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java |
@@ -83,6 +83,9 @@ public final class CronetUrlRequest implements UrlRequest { |
private String mInitialMethod; |
private final HeadersList mRequestHeaders = new HeadersList(); |
private final Collection<Object> mRequestAnnotations; |
+ @RequestFinishedInfo.FinishedReason |
+ private int mFinishedReason; |
+ private UrlRequestException mException; |
private final boolean mDisableCache; |
private final boolean mDisableConnectionMigration; |
@@ -450,6 +453,7 @@ public final class CronetUrlRequest implements UrlRequest { |
* Fails the request with an exception. Can be called on any thread. |
*/ |
private void failWithException(final UrlRequestException exception) { |
+ mException = exception; |
synchronized (mUrlRequestAdapterLock) { |
if (isDoneLocked()) { |
return; |
@@ -599,6 +603,7 @@ public final class CronetUrlRequest implements UrlRequest { |
@SuppressWarnings("unused") |
@CalledByNative |
private void onSucceeded(long receivedBytesCount) { |
+ mFinishedReason = RequestFinishedInfo.SUCCEEDED; |
mResponseInfo.setReceivedBytesCount(mReceivedBytesCountFromRedirects + receivedBytesCount); |
Runnable task = new Runnable() { |
@Override |
@@ -634,6 +639,7 @@ public final class CronetUrlRequest implements UrlRequest { |
@CalledByNative |
private void onError(int errorCode, int nativeError, int nativeQuicError, String errorString, |
long receivedBytesCount) { |
+ mFinishedReason = RequestFinishedInfo.FAILED; |
if (mResponseInfo != null) { |
mResponseInfo.setReceivedBytesCount( |
mReceivedBytesCountFromRedirects + receivedBytesCount); |
@@ -653,6 +659,7 @@ public final class CronetUrlRequest implements UrlRequest { |
@SuppressWarnings("unused") |
@CalledByNative |
private void onCanceled() { |
+ mFinishedReason = RequestFinishedInfo.CANCELED; |
Runnable task = new Runnable() { |
@Override |
public void run() { |
@@ -706,8 +713,8 @@ public final class CronetUrlRequest implements UrlRequest { |
private RequestFinishedInfo getRequestFinishedInfo() { |
// TODO(mgersh): fill in real values for finishedReason and exception |
- return new RequestFinishedInfo(mInitialUrl, mRequestAnnotations, mMetrics, |
- RequestFinishedInfo.SUCCEEDED, mResponseInfo, null); |
+ return new RequestFinishedInfo(mInitialUrl, mRequestAnnotations, mMetrics, mFinishedReason, |
+ mResponseInfo, mException); |
} |
/** Enforces prohibition of direct execution. */ |