| Index: tools/android/customtabs_benchmark/java/src/org/chromium/customtabs/test/MainActivity.java
|
| diff --git a/tools/android/customtabs_benchmark/java/src/org/chromium/customtabs/test/MainActivity.java b/tools/android/customtabs_benchmark/java/src/org/chromium/customtabs/test/MainActivity.java
|
| index 3638b929fd696f3024da8320d5c84d2cc6e04ee9..0b7b2a2e25300c6dfd12e93c96d6a6d7d5ca1772 100644
|
| --- a/tools/android/customtabs_benchmark/java/src/org/chromium/customtabs/test/MainActivity.java
|
| +++ b/tools/android/customtabs_benchmark/java/src/org/chromium/customtabs/test/MainActivity.java
|
| @@ -40,26 +40,36 @@ public class MainActivity extends Activity {
|
| String packageName = intent.getStringExtra("package_name");
|
| if (packageName == null) packageName = DEFAULT_PACKAGE;
|
| boolean warmup = intent.getBooleanExtra("warmup", false);
|
| - boolean noPrerendering = intent.getBooleanExtra("no_prerendering", false);
|
| int delayToMayLaunchUrl = intent.getIntExtra("delay_to_may_launch_url", -1);
|
| int delayToLaunchUrl = intent.getIntExtra("delay_to_launch_url", -1);
|
| +
|
| + int prerenderMode = 0;
|
| + switch(intent.getStringExtra("prerender_mode")) {
|
| + case "disabled": prerenderMode = 0; break;
|
| + case "enabled": prerenderMode = 1; break;
|
| + case "prefetch": prerenderMode = 2; break;
|
| + default:
|
| + throw new IllegalArgumentException(
|
| + "Invalid prerender mode: " + intent.getStringExtra("prerender_mode"));
|
| + }
|
| +
|
| launchCustomTabs(
|
| - packageName, url, warmup, noPrerendering, delayToMayLaunchUrl, delayToLaunchUrl);
|
| + packageName, url, warmup, prerenderMode, delayToMayLaunchUrl, delayToLaunchUrl);
|
| }
|
|
|
| private static final class CustomCallback extends CustomTabsCallback {
|
| private final boolean mWarmup;
|
| - private final boolean mNoPrerendering;
|
| + private final int mPrerenderMode;
|
| private final int mDelayToMayLaunchUrl;
|
| private final int mDelayToLaunchUrl;
|
| private long mIntentSentMs = 0;
|
| private long mPageLoadStartedMs = 0;
|
| private long mPageLoadFinishedMs = 0;
|
|
|
| - public CustomCallback(boolean warmup, boolean noPrerendering, int delayToMayLaunchUrl,
|
| + public CustomCallback(boolean warmup, int prerenderMode, int delayToMayLaunchUrl,
|
| int delayToLaunchUrl) {
|
| mWarmup = warmup;
|
| - mNoPrerendering = noPrerendering;
|
| + mPrerenderMode = prerenderMode;
|
| mDelayToMayLaunchUrl = delayToMayLaunchUrl;
|
| mDelayToLaunchUrl = delayToLaunchUrl;
|
| }
|
| @@ -77,7 +87,7 @@ public class MainActivity extends Activity {
|
| case CustomTabsCallback.NAVIGATION_FINISHED:
|
| mPageLoadFinishedMs = SystemClock.elapsedRealtime();
|
| if (mIntentSentMs != 0 && mPageLoadStartedMs != 0) {
|
| - String logLine = (mWarmup ? "1" : "0") + "," + (mNoPrerendering ? "1" : "0")
|
| + String logLine = (mWarmup ? "1" : "0") + "," + mPrerenderMode
|
| + "," + mDelayToMayLaunchUrl + "," + mDelayToLaunchUrl + ","
|
| + mIntentSentMs + "," + mPageLoadStartedMs + ","
|
| + mPageLoadFinishedMs;
|
| @@ -91,7 +101,7 @@ public class MainActivity extends Activity {
|
| }
|
|
|
| private void onCustomTabsServiceConnected(CustomTabsClient client, final Uri uri,
|
| - final CustomCallback cb, boolean warmup, final boolean noPrerendering,
|
| + final CustomCallback cb, boolean warmup, final int prerenderMode,
|
| int delayToMayLaunchUrl, final int delayToLaunchUrl) {
|
| final Handler handler = new Handler(Looper.getMainLooper());
|
| final CustomTabsSession session = client.newSession(cb);
|
| @@ -108,7 +118,8 @@ public class MainActivity extends Activity {
|
| public void run() {
|
| Bundle extras = new Bundle();
|
| extras.putBoolean(
|
| - "android.support.customtabs.maylaunchurl.NO_PRERENDERING", noPrerendering);
|
| + "android.support.customtabs.maylaunchurl.NO_PRERENDERING",
|
| + prerenderMode == 0);
|
| session.mayLaunchUrl(uri, extras, null);
|
| handler.postDelayed(launchRunnable, delayToLaunchUrl);
|
| }
|
| @@ -123,10 +134,10 @@ public class MainActivity extends Activity {
|
| }
|
|
|
| private void launchCustomTabs(String packageName, String url, final boolean warmup,
|
| - final boolean noPrerendering, final int delayToMayLaunchUrl,
|
| + final int prerenderMode, final int delayToMayLaunchUrl,
|
| final int delayToLaunchUrl) {
|
| final CustomCallback cb =
|
| - new CustomCallback(warmup, noPrerendering, delayToMayLaunchUrl, delayToLaunchUrl);
|
| + new CustomCallback(warmup, prerenderMode, delayToMayLaunchUrl, delayToLaunchUrl);
|
| final Uri uri = Uri.parse(url);
|
| CustomTabsClient.bindCustomTabsService(
|
| this, packageName, new CustomTabsServiceConnection() {
|
| @@ -134,7 +145,7 @@ public class MainActivity extends Activity {
|
| public void onCustomTabsServiceConnected(
|
| ComponentName name, final CustomTabsClient client) {
|
| MainActivity.this.onCustomTabsServiceConnected(client, uri, cb, warmup,
|
| - noPrerendering, delayToMayLaunchUrl, delayToLaunchUrl);
|
| + prerenderMode, delayToMayLaunchUrl, delayToLaunchUrl);
|
| }
|
|
|
| @Override
|
|
|