Index: chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistillabilityServiceTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistillabilityServiceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistillabilityServiceTest.java |
index 8a780b43b9239574c31ae5a61b8ad806d50b6d3a..e3495269ee60779ee6f8136df8e5dce0eda121db 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistillabilityServiceTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/dom_distiller/DistillabilityServiceTest.java |
@@ -6,12 +6,16 @@ package org.chromium.chrome.browser.dom_distiller; |
import android.support.test.filters.MediumTest; |
+import org.chromium.base.test.util.CallbackHelper; |
import org.chromium.base.test.util.CommandLineFlags; |
-import org.chromium.base.test.util.DisabledTest; |
import org.chromium.base.test.util.Feature; |
import org.chromium.base.test.util.Restriction; |
import org.chromium.chrome.browser.ChromeActivity; |
-import org.chromium.chrome.browser.compositor.bottombar.readermode.ReaderModePanel; |
+import org.chromium.chrome.browser.infobar.InfoBar; |
+import org.chromium.chrome.browser.infobar.InfoBarContainer; |
+import org.chromium.chrome.browser.infobar.InfoBarContainer.InfoBarContainerObserver; |
+import org.chromium.chrome.browser.infobar.ReaderModeInfoBar; |
+import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
import org.chromium.chrome.test.util.ChromeRestriction; |
import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnPageFinishedHelper; |
@@ -43,14 +47,28 @@ public class DistillabilityServiceTest extends ChromeActivityTestCaseBase<Chrome |
@Feature({"Distillability-Service"}) |
@MediumTest |
@Restriction(ChromeRestriction.RESTRICTION_TYPE_PHONE) |
- @DisabledTest |
public void testServiceAliveAfterNativePage() |
throws InterruptedException, TimeoutException { |
EmbeddedTestServer testServer = EmbeddedTestServer.createAndStartServer( |
getInstrumentation().getContext()); |
- final ReaderModePanel panel = getActivity().getReaderModeManager().getPanelForTesting(); |
+ final CallbackHelper readerShownCallbackHelper = new CallbackHelper(); |
+ |
+ Tab tab = getActivity().getActivityTab(); |
+ tab.getInfoBarContainer().addObserver(new InfoBarContainerObserver() { |
+ @Override |
+ public void onAddInfoBar(InfoBarContainer container, InfoBar infoBar, boolean isFirst) { |
+ if (infoBar instanceof ReaderModeInfoBar) readerShownCallbackHelper.notifyCalled(); |
+ } |
+ |
+ @Override |
+ public void onRemoveInfoBar( |
+ InfoBarContainer container, InfoBar infoBar, boolean isLast) {} |
+ |
+ @Override |
+ public void onInfoBarContainerAttachedToWindow(boolean hasInfobars) {} |
+ }); |
TestWebContentsObserver observer = |
new TestWebContentsObserver(getActivity().getActivityTab().getWebContents()); |
@@ -60,12 +78,12 @@ public class DistillabilityServiceTest extends ChromeActivityTestCaseBase<Chrome |
int curCallCount = finishHelper.getCallCount(); |
loadUrl("chrome://history"); |
finishHelper.waitForCallback(curCallCount, 1); |
- assertFalse(panel.isShowing()); |
+ assertEquals(0, readerShownCallbackHelper.getCallCount()); |
// Navigate to a normal page. |
- curCallCount = finishHelper.getCallCount(); |
+ curCallCount = readerShownCallbackHelper.getCallCount(); |
loadUrl(testServer.getURL(TEST_PAGE)); |
- finishHelper.waitForCallback(curCallCount, 1); |
- assertTrue(panel.isShowing()); |
+ readerShownCallbackHelper.waitForCallback(curCallCount, 1); |
+ assertEquals(1, readerShownCallbackHelper.getCallCount()); |
} |
} |