| Index: components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
|
| diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
|
| index 546f345d25961c4cd8da29bb8520d25bda5feba4..b74554520b83b940556ad479154f3a2af83a136c 100644
|
| --- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
|
| +++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
|
| @@ -4,6 +4,7 @@
|
|
|
| package org.chromium.net;
|
|
|
| +import android.content.ContextWrapper;
|
| import android.os.ConditionVariable;
|
| import android.os.Handler;
|
| import android.os.Looper;
|
| @@ -518,8 +519,7 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
|
| // Shutdown original context and create another that uses the same cache.
|
| mActivity.mUrlRequestContext.shutdown();
|
| mActivity.mUrlRequestContext = mActivity.mUrlRequestContext.createContext(
|
| - getInstrumentation().getTargetContext().getApplicationContext(),
|
| - config);
|
| + getInstrumentation().getTargetContext(), config);
|
| checkRequestCaching(url, true);
|
| }
|
|
|
| @@ -594,4 +594,22 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
|
| assertEquals(200, thread1.mListener.mResponseInfo.getHttpStatusCode());
|
| assertEquals(404, thread2.mListener.mResponseInfo.getHttpStatusCode());
|
| }
|
| +
|
| + @SmallTest
|
| + @Feature({"Cronet"})
|
| + public void testInitDifferentContexts() throws Exception {
|
| + // Test that concurrently instantiating Cronet context's upon various
|
| + // different versions of the same Android Context does not cause crashes
|
| + // like crbug.com/453845
|
| + mActivity = launchCronetTestApp();
|
| + CronetUrlRequestContext firstContext =
|
| + new CronetUrlRequestContext(mActivity, mActivity.getContextConfig());
|
| + CronetUrlRequestContext secondContext = new CronetUrlRequestContext(
|
| + mActivity.getApplicationContext(), mActivity.getContextConfig());
|
| + CronetUrlRequestContext thirdContext = new CronetUrlRequestContext(
|
| + new ContextWrapper(mActivity), mActivity.getContextConfig());
|
| + firstContext.shutdown();
|
| + secondContext.shutdown();
|
| + thirdContext.shutdown();
|
| + }
|
| }
|
|
|