Chromium Code Reviews| Index: components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java |
| diff --git a/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java b/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java |
| index e03e97dde1463e8ce594a9b54d2bc6355fd0c5de..d0a72fa350b5993fcced5d1a59e6509dd2a5e92d 100644 |
| --- a/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java |
| +++ b/components/cronet/android/java/src/org/chromium/net/CronetUrlRequest.java |
| @@ -211,10 +211,15 @@ final class CronetUrlRequest implements UrlRequest { |
| "Requests with upload data must have a Content-Type."); |
| } |
| mStarted = true; |
| - mUploadDataStream.attachToRequest(this, mUrlRequestAdapter, new Runnable() { |
| + mUploadDataStream.postTaskToExecutor(new Runnable() { |
| @Override |
| public void run() { |
| + mUploadDataStream.initializeWithRequest(CronetUrlRequest.this); |
| synchronized (mUrlRequestAdapterLock) { |
| + if (isDoneLocked()) { |
| + return; |
| + } |
| + mUploadDataStream.attachNativeAdapterToRequest(mUrlRequestAdapter); |
| startInternalLocked(); |
| } |
| } |
| @@ -234,6 +239,7 @@ final class CronetUrlRequest implements UrlRequest { |
| @GuardedBy("mUrlRequestAdapterLock") |
| private void startInternalLocked() { |
| + // Caller is expected to ensure that request isn't done and mUrlRequestAdapter is valid. |
|
xunjieli
2016/03/10 22:40:54
nit: maybe make this comment to the method level (
mef
2016/03/11 15:43:06
Done. I wonder whether we should just put isDoneLo
xunjieli
2016/03/11 15:44:32
I am not sure. Your call :)
|
| if (mDisableCache) { |
| nativeDisableCache(mUrlRequestAdapter); |
| } |