Chromium Code Reviews| Index: components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java |
| diff --git a/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java b/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java |
| index e1035c47f58a0088b4efac593beb52c0edc9b51a..6ecb7c4e4816d43b76f068954a9ce2befff53f61 100644 |
| --- a/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java |
| +++ b/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java |
| @@ -62,7 +62,7 @@ public class CronetUrlRequestContext extends CronetEngine { |
| private final AtomicInteger mActiveRequestCount = new AtomicInteger(0); |
| private long mUrlRequestContextAdapter = 0; |
| - private Thread mNetworkThread; |
| + private volatile Thread mNetworkThread; |
| private boolean mNetworkQualityEstimatorEnabled; |
| @@ -182,7 +182,7 @@ public class CronetUrlRequestContext extends CronetEngine { |
| @Override |
| public UrlRequest createRequest(String url, UrlRequest.Callback callback, Executor executor, |
| int priority, Collection<Object> requestAnnotations, boolean disableCache, |
| - boolean disableConnectionMigration) { |
| + boolean disableConnectionMigration, boolean allowDirectExecutor) { |
| synchronized (mLock) { |
| checkHaveAdapter(); |
| boolean metricsCollectionEnabled = false; |
| @@ -190,7 +190,8 @@ public class CronetUrlRequestContext extends CronetEngine { |
| metricsCollectionEnabled = !mFinishedListenerList.isEmpty(); |
| } |
| return new CronetUrlRequest(this, url, priority, callback, executor, requestAnnotations, |
| - metricsCollectionEnabled, disableCache, disableConnectionMigration); |
| + metricsCollectionEnabled, disableCache, disableConnectionMigration, |
| + allowDirectExecutor); |
| } |
| } |
| @@ -492,10 +493,8 @@ public class CronetUrlRequestContext extends CronetEngine { |
| @SuppressWarnings("unused") |
| @CalledByNative |
| private void initNetworkThread() { |
| - synchronized (mLock) { |
|
mef
2016/08/30 17:55:47
what's wrong with synchronized here?
Charles
2016/08/30 20:11:06
Nothing, it's just unnecessary.
mef
2016/08/31 18:30:11
Acknowledged.
|
| - mNetworkThread = Thread.currentThread(); |
| - mInitCompleted.open(); |
| - } |
| + mNetworkThread = Thread.currentThread(); |
| + mInitCompleted.open(); |
| Thread.currentThread().setName("ChromiumNet"); |
| Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); |
| } |
| @@ -626,4 +625,8 @@ public class CronetUrlRequestContext extends CronetEngine { |
| @NativeClassQualifiedName("CronetURLRequestContextAdapter") |
| private native void nativeProvideThroughputObservations(long nativePtr, boolean should); |
| + |
| + public boolean isNativeThread(Thread thread) { |
|
mef
2016/08/30 17:55:47
maybe call it isNetworkThread()? Also maybe get cu
Charles
2016/08/30 20:11:06
Renamed. The API is more flexible if I allow it to
mef
2016/08/31 18:30:11
Um, that didn't work?
Charles
2016/08/31 19:08:36
Done.
|
| + return thread == mNetworkThread; |
| + } |
| } |