| 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 361c7243048dbe20d58ccefc9bb4321bac01a2bc..74be22c9cec6780948b1a4b2984c5fd4efb45558 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
|
| @@ -82,7 +82,8 @@ public class CronetUrlRequestContext extends CronetEngine {
|
|
|
| /**
|
| * Locks operations on the list of RequestFinishedInfo.Listeners, because operations can happen
|
| - * on any thread.
|
| + * on any thread. This should be used for fine-grained locking only. In particular, don't call
|
| + * any UrlRequest methods that acquire mUrlRequestAdapterLock while holding this lock.
|
| */
|
| private final Object mFinishedListenerLock = new Object();
|
|
|
| @@ -427,6 +428,12 @@ public class CronetUrlRequestContext extends CronetEngine {
|
| }
|
| }
|
|
|
| + boolean hasRequestFinishedListener() {
|
| + synchronized (mFinishedListenerLock) {
|
| + return !mFinishedListenerList.isEmpty();
|
| + }
|
| + }
|
| +
|
| @Override
|
| public URLConnection openConnection(URL url) {
|
| return openConnection(url, Proxy.NO_PROXY);
|
|
|