| 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..01d241e8efaeb0ef5723af93c2e49ff5c4b0547e 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();
|
| }
|
| }
|
| @@ -232,6 +237,10 @@ final class CronetUrlRequest implements UrlRequest {
|
| }
|
| }
|
|
|
| + /*
|
| + * Starts fully configured request. Could execute on UploadDataProvider executor.
|
| + * Caller is expected to ensure that request isn't canceled and mUrlRequestAdapter is valid.
|
| + */
|
| @GuardedBy("mUrlRequestAdapterLock")
|
| private void startInternalLocked() {
|
| if (mDisableCache) {
|
|
|