Index: components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java |
diff --git a/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java b/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java |
index c9ed886763002b02f0e9940da48e8f7125c56048..57baadb8a2587b931a79f3fe75c2508a0051b364 100644 |
--- a/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java |
+++ b/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java |
@@ -4,20 +4,18 @@ |
package org.chromium.net; |
-import android.os.ConditionVariable; |
+import org.json.JSONException; |
+import org.json.JSONObject; |
import org.chromium.base.annotations.JNINamespace; |
import org.chromium.net.impl.CronetUrlRequest; |
-import org.json.JSONException; |
-import org.json.JSONObject; |
+import org.chromium.net.impl.CronetUrlRequestContext; |
/** |
* Utilities for Cronet testing |
*/ |
@JNINamespace("cronet") |
public class CronetTestUtil { |
- private static final ConditionVariable sHostResolverBlock = new ConditionVariable(); |
- |
static final String SDCH_FAKE_HOST = "fake.sdch.domain"; |
// QUIC test domain must match the certificate used |
// (quic_test.example.com.crt and quic_test.example.com.key.pkcs8), and |
@@ -58,6 +56,22 @@ public class CronetTestUtil { |
} |
/** |
+ * Prepare {@code cronetEngine}'s network thread so libcronet_test code can run on it. |
+ */ |
+ public static class PrepareNetworkThread { |
mef
2016/11/16 20:01:27
I think the name is a bit confusing, maybe call it
pauljensen
2016/11/18 18:12:10
Done.
|
+ private final CronetUrlRequestContext mRequestContext; |
+ |
+ public PrepareNetworkThread(CronetEngine cronetEngine) { |
+ mRequestContext = (CronetUrlRequestContext) cronetEngine; |
+ nativePrepareNetworkThread(mRequestContext.getUrlRequestContextAdapter()); |
+ } |
+ |
+ public void shutdown() { |
+ nativeCleanupNetworkThread(mRequestContext.getUrlRequestContextAdapter()); |
+ } |
+ } |
+ |
+ /** |
* Returns the value of load flags in |urlRequest|. |
* @param urlRequest is the UrlRequest object of interest. |
*/ |
@@ -65,5 +79,8 @@ public class CronetTestUtil { |
return nativeGetLoadFlags(((CronetUrlRequest) urlRequest).getUrlRequestAdapterForTesting()); |
} |
- private static native int nativeGetLoadFlags(long urlRequest); |
+ private static native int nativeGetLoadFlags(long urlRequestAdapter); |
+ |
+ private static native void nativePrepareNetworkThread(long contextAdapter); |
mef
2016/11/16 20:01:27
nit: maybe these should be class methods as oppose
pauljensen
2016/11/18 18:12:10
@NativeClassQualifiedName only works for non-stati
mef
2016/11/18 21:45:50
Acknowledged. Thanks for explanation!
|
+ private static native void nativeCleanupNetworkThread(long contextAdapter); |
} |