| Index: chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
|
| index 8002714ff228fccb542ac325e300427d0a46e211..22472ce9929ab429eac2d604ccac404572c71da5 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
|
| @@ -109,7 +109,7 @@ public class AppBannerManagerTest extends ChromeShellTestBase {
|
| @Override
|
| public boolean isSatisfied() {
|
| return mDetailsDelegate.mNumRetrieved == numExpected
|
| - && mAppBannerManager.getNumActiveFetchersForTesting() == 0;
|
| + && !mAppBannerManager.isFetcherActiveForTesting();
|
| }
|
| });
|
| }
|
| @@ -253,4 +253,22 @@ public class AppBannerManagerTest extends ChromeShellTestBase {
|
| assertTrue(waitUntilAppDetailsRetrieved(6));
|
| assertTrue(waitUntilAppBannerInfoBarAppears());
|
| }
|
| +
|
| + @MediumTest
|
| + @Feature({"AppBanners"})
|
| + public void testBitmapFetchersCanOverlapWithoutCrashing() throws Exception {
|
| + // Visit a site that requests a banner rapidly and repeatedly.
|
| + for (int i = 1; i <= 10; i++) {
|
| + assertTrue(CriteriaHelper.pollForUIThreadCriteria(
|
| + new TabLoadObserver(getActivity().getActiveTab(), NATIVE_APP_URL)));
|
| +
|
| + final Integer iteration = Integer.valueOf(i);
|
| + assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
|
| + @Override
|
| + public boolean isSatisfied() {
|
| + return mDetailsDelegate.mNumRetrieved == iteration;
|
| + }
|
| + }));
|
| + }
|
| + }
|
| }
|
|
|