Chromium Code Reviews| 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(); |
| + } |
| + }); |
| } |
| /** |