Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Unified Diff: components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java

Issue 2514783002: [Cronet] Add callback wrapper classes to enforce API version checking. (Closed)
Patch Set: make constructors public, adjust copyright date Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java
diff --git a/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java b/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java
index 2279611afe931f9395e6eef98d5534c1adf32c3d..04897de1d396060db4b6e8fbd80049e8f5ed10d0 100644
--- a/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java
+++ b/components/cronet/android/java/src/org/chromium/net/impl/JavaUrlRequest.java
@@ -77,7 +77,7 @@ final class JavaUrlRequest extends UrlRequestBase {
/* These don't change with redirects */
private String mInitialMethod;
- private UploadDataProvider mUploadDataProvider;
+ private VersionSafeCallbacks.UploadDataProviderWrapper mUploadDataProvider;
private Executor mUploadExecutor;
/**
@@ -96,7 +96,7 @@ final class JavaUrlRequest extends UrlRequestBase {
/* These change with redirects. */
private String mCurrentUrl;
private ReadableByteChannel mResponseChannel;
- private UrlResponseInfo mUrlResponseInfo;
+ private UrlResponseInfoImpl mUrlResponseInfo;
private String mPendingRedirectUrl;
/**
* The happens-before edges created by the executor submission and AtomicReference setting are
@@ -249,7 +249,8 @@ final class JavaUrlRequest extends UrlRequestBase {
if (mInitialMethod == null) {
mInitialMethod = "POST";
}
- this.mUploadDataProvider = uploadDataProvider;
+ this.mUploadDataProvider =
+ new VersionSafeCallbacks.UploadDataProviderWrapper(uploadDataProvider);
if (mAllowDirectExecutor) {
this.mUploadExecutor = executor;
} else {
@@ -271,7 +272,7 @@ final class JavaUrlRequest extends UrlRequestBase {
final HttpURLConnection mUrlConnection;
WritableByteChannel mOutputChannel;
OutputStream mUrlConnectionOutputStream;
- final UploadDataProvider mUploadProvider;
+ final VersionSafeCallbacks.UploadDataProviderWrapper mUploadProvider;
ByteBuffer mBuffer;
/** This holds the total bytes to send (the content-length). -1 if unknown. */
long mTotalBytes;
@@ -279,7 +280,8 @@ final class JavaUrlRequest extends UrlRequestBase {
long mWrittenBytes = 0;
OutputStreamDataSink(final Executor userExecutor, Executor executor,
- HttpURLConnection urlConnection, UploadDataProvider provider) {
+ HttpURLConnection urlConnection,
+ VersionSafeCallbacks.UploadDataProviderWrapper provider) {
this.mUserUploadExecutor = new Executor() {
@Override
public void execute(Runnable runnable) {
@@ -790,17 +792,18 @@ final class JavaUrlRequest extends UrlRequestBase {
throw new IllegalStateException("Switch is exhaustive: " + state);
}
- mCallbackAsync.sendStatus(listener, status);
+ mCallbackAsync.sendStatus(
+ new VersionSafeCallbacks.UrlRequestStatusListener(listener), status);
}
/** This wrapper ensures that callbacks are always called on the correct executor */
private final class AsyncUrlRequestCallback {
- final Callback mCallback;
+ final VersionSafeCallbacks.UrlRequestCallback mCallback;
final Executor mUserExecutor;
final Executor mFallbackExecutor;
AsyncUrlRequestCallback(Callback callback, final Executor userExecutor) {
- this.mCallback = callback;
+ this.mCallback = new VersionSafeCallbacks.UrlRequestCallback(callback);
if (mAllowDirectExecutor) {
this.mUserExecutor = userExecutor;
this.mFallbackExecutor = null;
@@ -810,7 +813,8 @@ final class JavaUrlRequest extends UrlRequestBase {
}
}
- void sendStatus(final StatusListener listener, final int status) {
+ void sendStatus(
+ final VersionSafeCallbacks.UrlRequestStatusListener listener, final int status) {
mUserExecutor.execute(new Runnable() {
@Override
public void run() {

Powered by Google App Engine
This is Rietveld 408576698