summaryrefslogtreecommitdiffstats
path: root/components/cronet
diff options
context:
space:
mode:
authorclm <clm@google.com>2016-01-15 11:59:57 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-15 20:01:05 +0000
commit282bca93046ffe14da784c209098a6db3f73f018 (patch)
tree70d38f51f5882fedd89ac8e570c764d2d5268951 /components/cronet
parent6b540f2a6a0ea8a40380a86a6eb6a07238ebc12f (diff)
downloadchromium_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.java4
-rw-r--r--components/cronet/android/api/src/org/chromium/net/UrlRequest.java7
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