Commit f20e20ed authored by Michael Thiessen's avatar Michael Thiessen Committed by Commit Bot

Fix WebApkIntegrationTest#testActivateWebApk under touchless build.

Bug: 983769
Change-Id: I4c4367ee17e78772fa32bc55963ff36e4aa7bb1b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1731910Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Commit-Queue: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683337}
parent 0a9f8980
...@@ -22,6 +22,7 @@ import org.chromium.base.metrics.RecordHistogram; ...@@ -22,6 +22,7 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.test.util.CommandLineFlags; import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.ScalableTimeout; import org.chromium.base.test.util.ScalableTimeout;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ChromeSwitches; import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.ChromeTabbedActivity; import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.DeferredStartupHandler; import org.chromium.chrome.browser.DeferredStartupHandler;
...@@ -30,6 +31,8 @@ import org.chromium.chrome.browser.customtabs.CustomTabActivity; ...@@ -30,6 +31,8 @@ import org.chromium.chrome.browser.customtabs.CustomTabActivity;
import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider; import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider;
import org.chromium.chrome.browser.tab.TabWebContentsDelegateAndroid; import org.chromium.chrome.browser.tab.TabWebContentsDelegateAndroid;
import org.chromium.chrome.browser.test.MockCertVerifierRuleAndroid; import org.chromium.chrome.browser.test.MockCertVerifierRuleAndroid;
import org.chromium.chrome.browser.touchless.TouchlessDelegate;
import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.chrome.browser.util.IntentUtils; import org.chromium.chrome.browser.util.IntentUtils;
import org.chromium.chrome.test.ChromeActivityTestRule; import org.chromium.chrome.test.ChromeActivityTestRule;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
...@@ -143,7 +146,7 @@ public class WebApkIntegrationTest { ...@@ -143,7 +146,7 @@ public class WebApkIntegrationTest {
mActivityTestRule.startActivityCompletely(intent); mActivityTestRule.startActivityCompletely(intent);
WebApkActivity lastActivity = (WebApkActivity) mActivityTestRule.getActivity(); WebApkActivity lastActivity = mActivityTestRule.getActivity();
Assert.assertEquals(pwaRocksUrl, lastActivity.getWebappInfo().uri().toString()); Assert.assertEquals(pwaRocksUrl, lastActivity.getWebappInfo().uri().toString());
} }
...@@ -157,7 +160,7 @@ public class WebApkIntegrationTest { ...@@ -157,7 +160,7 @@ public class WebApkIntegrationTest {
public void testLaunchAndNavigateOffOrigin() throws Exception { public void testLaunchAndNavigateOffOrigin() throws Exception {
startWebApkActivity("org.chromium.webapk.test", getUrlForHost("pwa.rocks")); startWebApkActivity("org.chromium.webapk.test", getUrlForHost("pwa.rocks"));
waitUntilSplashscreenHides(); waitUntilSplashscreenHides();
WebApkActivity webApkActivity = (WebApkActivity) mActivityTestRule.getActivity(); WebApkActivity webApkActivity = mActivityTestRule.getActivity();
WebappActivityTestRule.assertToolbarShowState(webApkActivity, false); WebappActivityTestRule.assertToolbarShowState(webApkActivity, false);
// We navigate outside origin and expect CCT toolbar to show on top of WebApkActivity. // We navigate outside origin and expect CCT toolbar to show on top of WebApkActivity.
...@@ -281,15 +284,18 @@ public class WebApkIntegrationTest { ...@@ -281,15 +284,18 @@ public class WebApkIntegrationTest {
startWebApkActivity("org.chromium.webapk.test", getUrlForHost("pwa.rocks")); startWebApkActivity("org.chromium.webapk.test", getUrlForHost("pwa.rocks"));
waitUntilSplashscreenHides(); waitUntilSplashscreenHides();
Class<? extends ChromeActivity> mainClass = FeatureUtilities.isNoTouchModeEnabled()
? TouchlessDelegate.getNoTouchActivityClass()
: ChromeTabbedActivity.class;
// Move WebAPK to the background by launching Chrome. // Move WebAPK to the background by launching Chrome.
Intent intent = Intent intent = new Intent(InstrumentationRegistry.getTargetContext(), mainClass);
new Intent(InstrumentationRegistry.getTargetContext(), ChromeTabbedActivity.class);
intent.setFlags( intent.setFlags(
Intent.FLAG_ACTIVITY_NEW_TASK | ApiCompatibilityUtils.getActivityNewDocumentFlag()); Intent.FLAG_ACTIVITY_NEW_TASK | ApiCompatibilityUtils.getActivityNewDocumentFlag());
InstrumentationRegistry.getTargetContext().startActivity(intent); InstrumentationRegistry.getTargetContext().startActivity(intent);
ChromeActivityTestRule.waitFor(ChromeTabbedActivity.class); ChromeActivityTestRule.waitFor(mainClass);
WebApkActivity webApkActivity = (WebApkActivity) mActivityTestRule.getActivity(); WebApkActivity webApkActivity = mActivityTestRule.getActivity();
TabWebContentsDelegateAndroid tabDelegate = TabWebContentsDelegateAndroid tabDelegate =
webApkActivity.getActivityTab().getTabWebContentsDelegateAndroid(); webApkActivity.getActivityTab().getTabWebContentsDelegateAndroid();
tabDelegate.activateContents(); tabDelegate.activateContents();
......
...@@ -34,7 +34,7 @@ public class TouchlessDelegate { ...@@ -34,7 +34,7 @@ public class TouchlessDelegate {
return null; return null;
} }
public static Class<?> getNoTouchActivityClass() { public static Class<? extends ChromeActivity> getNoTouchActivityClass() {
return null; return null;
} }
......
...@@ -35,7 +35,7 @@ public class TouchlessDelegate { ...@@ -35,7 +35,7 @@ public class TouchlessDelegate {
return new TouchlessExploreSitesPage(activity, host); return new TouchlessExploreSitesPage(activity, host);
} }
public static Class<?> getNoTouchActivityClass() { public static Class<? extends ChromeActivity> getNoTouchActivityClass() {
return NoTouchActivity.class; return NoTouchActivity.class;
} }
......
...@@ -68,7 +68,7 @@ public class TouchlessNewTabPage extends BasicNativePage { ...@@ -68,7 +68,7 @@ public class TouchlessNewTabPage extends BasicNativePage {
TraceEvent.begin(TAG); TraceEvent.begin(TAG);
mModalDialogManager = activity.getModalDialogManager(); mModalDialogManager = activity.getModalDialogManager();
mTab = activity.getActivityTab(); mTab = nativePageHost.getActiveTab();
Profile profile = mTab.getProfile(); Profile profile = mTab.getProfile();
mTitle = activity.getResources().getString(R.string.button_new_tab); mTitle = activity.getResources().getString(R.string.button_new_tab);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment