Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(136)

Unified Diff: components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java

Issue 2283243002: Allow direct executors in cronet. (Closed)
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
+ }
}

Powered by Google App Engine
This is Rietveld 408576698