Index: components/cronet/android/java/src/org/chromium/net/impl/CronetUploadDataStream.java |
diff --git a/components/cronet/android/java/src/org/chromium/net/impl/CronetUploadDataStream.java b/components/cronet/android/java/src/org/chromium/net/impl/CronetUploadDataStream.java |
index 3b2601e61fc1aabdd14c754bdd8d77b72b7b6b3d..19ea9cc9abfe9d317e26a0165a8921791ce8e17a 100644 |
--- a/components/cronet/android/java/src/org/chromium/net/impl/CronetUploadDataStream.java |
+++ b/components/cronet/android/java/src/org/chromium/net/impl/CronetUploadDataStream.java |
@@ -306,20 +306,28 @@ public final class CronetUploadDataStream implements UploadDataSink { |
* No native calls to urlRequest are allowed as this is done before request |
* start, so native object may not exist. |
*/ |
- void initializeWithRequest(final CronetUrlRequest urlRequest) { |
+ void initializeWithRequest(final CronetUrlRequest urlRequest, final Runnable callback) { |
synchronized (mLock) { |
mRequest = urlRequest; |
- mInWhichUserCallback = UserCallback.GET_LENGTH; |
- } |
- try { |
- mLength = mDataProvider.getLength(); |
- mRemainingLength = mLength; |
- } catch (Throwable t) { |
- onError(t); |
- } |
- synchronized (mLock) { |
- mInWhichUserCallback = UserCallback.NOT_IN_CALLBACK; |
} |
+ postTaskToExecutor(new Runnable() { |
mef
2016/08/30 16:29:45
this is already on executor thread, why do you nee
Charles
2016/08/30 20:11:06
It's not on the executor thread any more.
mef
2016/08/31 17:26:52
Acknowledged. Please update comment.
Charles
2016/08/31 19:08:36
Done.
|
+ @Override |
+ public void run() { |
+ synchronized (mLock) { |
+ mInWhichUserCallback = UserCallback.GET_LENGTH; |
+ } |
+ try { |
+ mLength = mDataProvider.getLength(); |
+ mRemainingLength = mLength; |
+ } catch (Throwable t) { |
+ onError(t); |
+ } |
+ synchronized (mLock) { |
+ mInWhichUserCallback = UserCallback.NOT_IN_CALLBACK; |
+ } |
+ callback.run(); |
+ } |
+ }); |
} |
/** |