Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3836)

Unified Diff: chrome/android/javatests_shell/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java

Issue 1148163003: Allow only responsive websites to install as a web app on mobile. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adding comment explaining using statement Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests_shell/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
diff --git a/chrome/android/javatests_shell/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java b/chrome/android/javatests_shell/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
index 6e2e8c9582e1fe5e65313a96b0679e39d066335f..5b01eee6020adf3823e3efb2473089c2a4638d1b 100644
--- a/chrome/android/javatests_shell/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
+++ b/chrome/android/javatests_shell/src/org/chromium/chrome/browser/banners/AppBannerManagerTest.java
@@ -63,6 +63,9 @@ public class AppBannerManagerTest extends ChromeShellTestBase {
private static final String INSTALL_ACTION = "INSTALL_ACTION";
+ private static final String WEB_APP_NO_META_VIEWPORT_URL =
+ TestHttpServerClient.getUrl("chrome/test/data/banners/no_meta_viewport_test_page.html");
+
private static class MockAppDetailsDelegate extends AppDetailsDelegate {
private Observer mObserver;
private AppData mAppData;
@@ -363,9 +366,7 @@ public class AppBannerManagerTest extends ChromeShellTestBase {
}
}
- @SmallTest
- @Feature({"AppBanners"})
- public void testWebAppBannerAppears() throws Exception {
+ public void requestPageWithAWebAppBanner(String url) throws Exception {
// Create a Tab that doesn't have the AppBannerManager enabled. This prevents race
// conditions between service worker activation and AppBannerManager getting triggered.
// This race condition is a known problem, which is why the specs include wiggle room for
@@ -381,7 +382,7 @@ public class AppBannerManagerTest extends ChromeShellTestBase {
// Visit a site that can have a banner, then wait until the service worker is activated.
assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActiveTab(), WEB_APP_URL)));
+ new TabLoadObserver(getActivity().getActiveTab(), url)));
assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@Override
public boolean isSatisfied() {
@@ -401,7 +402,7 @@ public class AppBannerManagerTest extends ChromeShellTestBase {
});
assertTrue(waitForActiveShellToBeDoneLoading());
assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActiveTab(), WEB_APP_URL)));
+ new TabLoadObserver(getActivity().getActiveTab(), url)));
assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@Override
@@ -416,7 +417,7 @@ public class AppBannerManagerTest extends ChromeShellTestBase {
// Indicate a day has passed, then revisit the page to show the banner.
AppBannerManager.setTimeDeltaForTesting(1);
assertTrue(CriteriaHelper.pollForUIThreadCriteria(
- new TabLoadObserver(getActivity().getActiveTab(), WEB_APP_URL)));
+ new TabLoadObserver(getActivity().getActiveTab(), url)));
assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
@Override
public boolean isSatisfied() {
@@ -425,6 +426,19 @@ public class AppBannerManagerTest extends ChromeShellTestBase {
return !manager.isFetcherActiveForTesting();
}
}));
+ }
+
+ @SmallTest
+ @Feature({"AppBanners"})
+ public void testWebAppBannerAppears() throws Exception {
+ requestPageWithAWebAppBanner(WEB_APP_URL);
assertTrue(waitUntilAppBannerInfoBarAppears(WEB_APP_TITLE));
}
+
+ @SmallTest
+ @Feature({"AppBanners"})
+ public void testWebAppBannerBlockedWithoutMetaViewport() throws Exception {
+ requestPageWithAWebAppBanner(WEB_APP_NO_META_VIEWPORT_URL);
+ assertTrue(waitUntilNoInfoBarsExist());
+ }
}

Powered by Google App Engine
This is Rietveld 408576698