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 |