diff options
author | clm <clm@google.com> | 2016-01-15 11:59:57 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-15 20:01:05 +0000 |
commit | 282bca93046ffe14da784c209098a6db3f73f018 (patch) | |
tree | 70d38f51f5882fedd89ac8e570c764d2d5268951 /components/cronet | |
parent | 6b540f2a6a0ea8a40380a86a6eb6a07238ebc12f (diff) | |
download | chromium_src-282bca93046ffe14da784c209098a6db3f73f018.zip chromium_src-282bca93046ffe14da784c209098a6db3f73f018.tar.gz chromium_src-282bca93046ffe14da784c209098a6db3f73f018.tar.bz2 |
Make UrlRequest.Callback throw Exception
This allows "in progress" callbacks to avoid wrapping their checked
exceptions in RuntimeException. This wasn't added to terminating
callbacks (onFailed, onSucceeded, onCanceled) because there's no way for
a user to handle an exception thrown from those states.
BUG=
Review URL: https://codereview.chromium.org/1597573002
Cr-Commit-Position: refs/heads/master@{#369820}
Diffstat (limited to 'components/cronet')
-rw-r--r-- | components/cronet/android/api/src/org/chromium/net/JavaUrlRequest.java | 4 | ||||
-rw-r--r-- | components/cronet/android/api/src/org/chromium/net/UrlRequest.java | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/components/cronet/android/api/src/org/chromium/net/JavaUrlRequest.java b/components/cronet/android/api/src/org/chromium/net/JavaUrlRequest.java index 00e9e59..b4dbd87 100644 --- a/components/cronet/android/api/src/org/chromium/net/JavaUrlRequest.java +++ b/components/cronet/android/api/src/org/chromium/net/JavaUrlRequest.java @@ -771,7 +771,7 @@ final class JavaUrlRequest implements UrlRequest { void onResponseStarted(UrlResponseInfo info) { execute(State.AWAITING_READ, new CheckedRunnable() { @Override - public void run() { + public void run() throws Exception { if (mState.compareAndSet(State.STARTED, State.AWAITING_READ)) { mCallback.onResponseStarted(JavaUrlRequest.this, mUrlResponseInfo); } @@ -782,7 +782,7 @@ final class JavaUrlRequest implements UrlRequest { void onReadCompleted(final UrlResponseInfo info, final ByteBuffer byteBuffer) { execute(State.AWAITING_READ, new CheckedRunnable() { @Override - public void run() { + public void run() throws Exception { if (mState.compareAndSet(State.READING, State.AWAITING_READ)) { mCallback.onReadCompleted(JavaUrlRequest.this, info, byteBuffer); } diff --git a/components/cronet/android/api/src/org/chromium/net/UrlRequest.java b/components/cronet/android/api/src/org/chromium/net/UrlRequest.java index 51cbc74..d82488c 100644 --- a/components/cronet/android/api/src/org/chromium/net/UrlRequest.java +++ b/components/cronet/android/api/src/org/chromium/net/UrlRequest.java @@ -279,7 +279,7 @@ public interface UrlRequest { * @param newLocationUrl Location where request is redirected. */ public abstract void onRedirectReceived( - UrlRequest request, UrlResponseInfo info, String newLocationUrl); + UrlRequest request, UrlResponseInfo info, String newLocationUrl) throws Exception; /** * Invoked when the final set of headers, after all redirects, is received. @@ -295,7 +295,8 @@ public interface UrlRequest { * @param request Request that started to get response. * @param info Response information. */ - public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info); + public abstract void onResponseStarted(UrlRequest request, UrlResponseInfo info) + throws Exception; /** * Invoked whenever part of the response body has been read. Only part of @@ -317,7 +318,7 @@ public interface UrlRequest { * the received data. The buffer's limit is not changed. */ public abstract void onReadCompleted( - UrlRequest request, UrlResponseInfo info, ByteBuffer byteBuffer); + UrlRequest request, UrlResponseInfo info, ByteBuffer byteBuffer) throws Exception; /** * Invoked when request is completed successfully. Once invoked, no other |