| Index: components/cronet/android/test/javatests/src/org/chromium/net/ContextInitTest.java
|
| diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/ContextInitTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/ContextInitTest.java
|
| index e9e217e06d1399d7edf4f55649a94fa577d96a39..638bb810531bed28f90ea7d856d1452c5b467fa3 100644
|
| --- a/components/cronet/android/test/javatests/src/org/chromium/net/ContextInitTest.java
|
| +++ b/components/cronet/android/test/javatests/src/org/chromium/net/ContextInitTest.java
|
| @@ -4,6 +4,7 @@
|
|
|
| package org.chromium.net;
|
|
|
| +import android.content.ContextWrapper;
|
| import android.test.suitebuilder.annotation.SmallTest;
|
|
|
| import org.chromium.base.test.util.Feature;
|
| @@ -128,4 +129,24 @@ public class ContextInitTest extends CronetTestBase {
|
| request.start();
|
| return listener;
|
| }
|
| +
|
| + @SmallTest
|
| + @Feature({"Cronet"})
|
| + public void testInitDifferentContexts() throws Exception {
|
| + // Test that concurrently instantiating ChromiumUrlRequestContext's upon
|
| + // various different versions of the same Android Context does not cause
|
| + // crashes like crbug.com/453845
|
| + final CronetTestActivity activity = launchCronetTestApp();
|
| + HttpUrlRequestFactory firstFactory =
|
| + HttpUrlRequestFactory.createFactory(activity, activity.getContextConfig());
|
| + HttpUrlRequestFactory secondFactory = HttpUrlRequestFactory.createFactory(
|
| + activity.getApplicationContext(), activity.getContextConfig());
|
| + HttpUrlRequestFactory thirdFactory = HttpUrlRequestFactory.createFactory(
|
| + new ContextWrapper(activity), activity.getContextConfig());
|
| + // Meager attempt to extend lifetimes to ensure they're concurrently
|
| + // alive.
|
| + firstFactory.getName();
|
| + secondFactory.getName();
|
| + thirdFactory.getName();
|
| + }
|
| }
|
|
|