Index: chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java |
index 01aa9621c5c441e54fa60394f037f0b11e232418..c08d31d659cb7b95d98f788998ea1df4bbd64155 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java |
@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.browser.tabmodel.TabModel; |
import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
import org.chromium.chrome.test.util.browser.TabLoadObserver; |
+import org.chromium.chrome.test.util.browser.TabTitleObserver; |
import org.chromium.content.browser.test.util.Criteria; |
import org.chromium.content.browser.test.util.CriteriaHelper; |
import org.chromium.content.common.ContentSwitches; |
@@ -77,6 +78,10 @@ public class AddToHomescreenManagerTest extends ChromeActivityTestCaseBase<Chrom |
+ "<link rel=\"manifest\" href=\"../../../../slow?10000\" />" |
+ "</head></html>"); |
+ private static final String EVENT_WEBAPP_PATH = |
+ "/chrome/test/data/banners/appinstalled_test_page.html"; |
+ private static final String EVENT_WEBAPP_TITLE = "appinstalled event test page"; |
+ |
private static class TestShortcutHelperDelegate extends ShortcutHelper.Delegate { |
public Intent mBroadcastedIntent; |
@@ -287,6 +292,24 @@ public class AddToHomescreenManagerTest extends ChromeActivityTestCaseBase<Chrom |
} |
} |
+ /** Tests that the appinstalled event is fired when an app is installed. |
+ */ |
+ @SmallTest |
+ @Feature("{Webapp}") |
+ public void testAddWebappShortcutAppInstalledEvent() throws Exception { |
+ try { |
+ loadUrl(mTestServer.getURL(EVENT_WEBAPP_PATH), EVENT_WEBAPP_TITLE); |
+ addShortcutToTab(mTab, ""); |
+ |
+ // Wait for the tab title to change. This will happen (due to the JavaScript that runs |
+ // in the page) once the appinstalled event has been fired twice: once to test |
+ // addEventListener('appinstalled'), once to test onappinstalled attribute. |
+ new TabTitleObserver(mTab, "Got appinstalled 2 times").waitForTitleUpdate(3); |
+ } finally { |
+ mTestServer.stopAndDestroyServer(); |
+ } |
+ } |
+ |
private void loadUrl(String url, String expectedPageTitle) throws Exception { |
new TabLoadObserver(mTab, expectedPageTitle, null).fullyLoadUrl(url); |
} |