| 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 b9cc1cd87222815347abc41ef0f713af5c662617..68e2cc4c6542c8c1c04b78b27a78fb43c9774d6a 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
|
| @@ -555,7 +555,14 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
|
| @Feature({"Cronet"})
|
| public void testShutdownAfterCancel() throws Exception {
|
| final CronetTestFramework testFramework = startCronetTestFramework();
|
| - TestUrlRequestCallback callback = new TestUrlRequestCallback();
|
| + final ConditionVariable waitForOnCanceled = new ConditionVariable();
|
| + TestUrlRequestCallback callback = new TestUrlRequestCallback() {
|
| + @Override
|
| + public void onCanceled(UrlRequest request, UrlResponseInfo info) {
|
| + testFramework.mCronetEngine.shutdown();
|
| + waitForOnCanceled.open();
|
| + }
|
| + };
|
| // Block callback when response starts to verify that shutdown fails
|
| // if there are active requests.
|
| callback.setAutoAdvance(false);
|
| @@ -573,7 +580,9 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
|
| callback.waitForNextStep();
|
| assertEquals(ResponseStep.ON_RESPONSE_STARTED, callback.mResponseStep);
|
| urlRequest.cancel();
|
| - testFramework.mCronetEngine.shutdown();
|
| + // With crbug.com/710877, embedder can only shut down cronet engine
|
| + // after onCanceled() callback is called.
|
| + waitForOnCanceled.block();
|
| }
|
|
|
| @SmallTest
|
|
|