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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java

Issue 2748013004: CustomTabs: Base version for prerender switch (Closed)
Patch Set: Base version Created 3 years, 9 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/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
index fd2d93a561410358a5caeebce1b2e7c15f0386e6..be9b9f00d4b6c35c1f1b4998a12b27bbb1aad7d0 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
@@ -163,6 +163,7 @@ public class CustomTabActivityTest extends CustomTabActivityTestBase {
CustomTabsConnection connection =
CustomTabsConnection.getInstance((Application) appContext);
connection.setForcePrerender(true);
+ connection.setPrerenderMode(CustomTabsConnection.DEFAULT_PRERENDER);
}
@Override
@@ -1484,6 +1485,7 @@ public class CustomTabActivityTest extends CustomTabActivityTestBase {
CustomTabsSessionToken token = CustomTabsSessionToken.getSessionTokenFromIntent(intent);
assertTrue(connection.newSession(token));
Bundle extras = new Bundle();
+ // Forcing no prerendering implies falling back to simply creating a spare WebContent
ahemery 2017/03/16 17:28:35 Unrelated comment to help readability
extras.putInt(
CustomTabsConnection.DEBUG_OVERRIDE_KEY, CustomTabsConnection.NO_PRERENDERING);
assertTrue(connection.mayLaunchUrl(token, Uri.parse(mTestPage), extras, null));
@@ -1637,7 +1639,7 @@ public class CustomTabActivityTest extends CustomTabActivityTestBase {
}
final Tab tab = mActivity.getActivityTab();
ElementContentCriteria initialVisibilityCriteria = new ElementContentCriteria(
- tab, "visibility", ignoreFragments ? "prerender" : "visible");
+ tab, "visibility", ignoreFragments ? getBaseExpectedVisibility() : "visible");
ahemery 2017/03/16 17:28:35 Since prerender visibility is prerender and hidden
ElementContentCriteria initialFragmentCriteria = new ElementContentCriteria(
tab, "initial-fragment", ignoreFragments ? initialFragment : fragment);
ElementContentCriteria fragmentCriteria = new ElementContentCriteria(
@@ -2113,16 +2115,18 @@ public class CustomTabActivityTest extends CustomTabActivityTestBase {
private static void ensureCompletedPrerenderForUrl(
final CustomTabsConnection connection, final String url) throws Exception {
- CriteriaHelper.pollUiThread(new Criteria("No Prerender") {
- @Override
- public boolean isSatisfied() {
- return connection.mSpeculation != null
- && connection.mSpeculation.webContents != null
- && ExternalPrerenderHandler.hasPrerenderedAndFinishedLoadingUrl(
- Profile.getLastUsedProfile(), url,
- connection.mSpeculation.webContents);
- }
- }, LONG_TIMEOUT_MS, CriteriaHelper.DEFAULT_POLLING_INTERVAL);
+ if (connection.mPrerenderMode == CustomTabsConnection.DEFAULT_PRERENDER) {
+ CriteriaHelper.pollUiThread(new Criteria("No Prerender") {
+ @Override
+ public boolean isSatisfied() {
+ return connection.mSpeculation != null
+ && connection.mSpeculation.webContents != null
+ && ExternalPrerenderHandler.hasPrerenderedAndFinishedLoadingUrl(
+ Profile.getLastUsedProfile(), url,
+ connection.mSpeculation.webContents);
+ }
+ }, LONG_TIMEOUT_MS, CriteriaHelper.DEFAULT_POLLING_INTERVAL);
+ }
}
private CustomTabsSession bindWithCallback(final CustomTabsCallback callback) {
@@ -2210,4 +2214,19 @@ public class CustomTabActivityTest extends CustomTabActivityTestBase {
return TextUtils.equals(mExpected, value);
}
}
+
+ private String getBaseExpectedVisibility() {
+ final Context context = getInstrumentation().getTargetContext().getApplicationContext();
+ CustomTabsConnection connection = CustomTabsConnection.getInstance((Application) context);
+ return getExpectedVisibilityForMode(connection.mPrerenderMode);
+ }
+
+ private static String getExpectedVisibilityForMode(int mode) {
+ switch (mode) {
+ case CustomTabsConnection.DEFAULT_PRERENDER:
+ return "prerender";
+ default:
+ return "visible";
+ }
+ }
}

Powered by Google App Engine
This is Rietveld 408576698