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

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

Issue 1688603004: AGSA-initiated weblite intents should be rewritten if Chrome can use weblite (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: bug fix Created 4 years, 10 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/TabsOpenedFromExternalAppTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/TabsOpenedFromExternalAppTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/TabsOpenedFromExternalAppTest.java
index 8e0ccfeb5964d18ef742d6e202f21a2d21c83149..32cfec2c20ce2ce0f76f44228c3e1945408a1046 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/TabsOpenedFromExternalAppTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/TabsOpenedFromExternalAppTest.java
@@ -177,8 +177,8 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
* Returns when the URL has been navigated to.
* @throws InterruptedException
*/
- private void launchUrlFromExternalApp(String url, String appId, boolean createNewTab,
- Bundle extras) throws InterruptedException {
+ private void launchUrlFromExternalApp(String url, String expectedUrl, String appId,
+ boolean createNewTab, Bundle extras) throws InterruptedException {
final Intent intent = new Intent(Intent.ACTION_VIEW);
if (appId != null) {
intent.putExtra(Browser.EXTRA_APPLICATION_ID, appId);
@@ -204,12 +204,12 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
}
});
}
- ChromeTabUtils.waitForTabPageLoaded(getActivity().getActivityTab(), url);
+ ChromeTabUtils.waitForTabPageLoaded(getActivity().getActivityTab(), expectedUrl);
}
private void launchUrlFromExternalApp(String url, String appId, boolean createNewTab)
throws InterruptedException {
- launchUrlFromExternalApp(url, appId, createNewTab, null);
+ launchUrlFromExternalApp(url, url, appId, createNewTab, null);
}
/**
@@ -223,7 +223,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
startMainActivityFromLauncher();
Bundle extras = new Bundle();
extras.putParcelable(Intent.EXTRA_REFERRER, Uri.parse(ANDROID_APP_REFERRER));
- launchUrlFromExternalApp(url, EXTERNAL_APP_1_ID, true, extras);
+ launchUrlFromExternalApp(url, url, EXTERNAL_APP_1_ID, true, extras);
CriteriaHelper.pollForCriteria(
new ReferrerCriteria(getActivity().getActivityTab(), ANDROID_APP_REFERRER), 2000,
200);
@@ -241,7 +241,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
String referrer = "foobar://totally.legit.referrer";
Bundle extras = new Bundle();
extras.putParcelable(Intent.EXTRA_REFERRER, Uri.parse(referrer));
- launchUrlFromExternalApp(url, EXTERNAL_APP_1_ID, true, extras);
+ launchUrlFromExternalApp(url, url, EXTERNAL_APP_1_ID, true, extras);
CriteriaHelper.pollForCriteria(
new ReferrerCriteria(getActivity().getActivityTab(), ""), 2000, 200);
}
@@ -632,4 +632,41 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
}
});
}
+
+ /**
+ * Tests that a Weblite url from an external app uses the lite_url param when Data Reduction
+ * Proxy previews are being used.
+ */
+ @MediumTest
+ @CommandLineFlags.Add({"enable-spdy-proxy-auth", "data-reduction-proxy-lo-fi=always-on",
+ "enable-data-reduction-proxy-lo-fi-preview"})
+ public void testLaunchWebLiteURL() throws InterruptedException {
+ startMainActivityFromLauncher();
+
+ String url = mTestServer.getURL("/chrome/test/data/android/about.html");
+
+ // Launch a first URL from an app.
+ launchUrlFromExternalApp("http://googleweblight.com/?lite_url=" + url, url,
+ EXTERNAL_APP_1_ID, false, null);
+
+ assertEquals("Selected tab is not on the right URL.",
+ url, getActivity().getActivityTab().getUrl());
+ }
+
+ /**
+ * Tests that a Weblite url from an external app does not use the lite_url param when Data
+ * Reduction Proxy previews are not being used.
+ */
+ @MediumTest
+ public void testLaunchWebLiteURLNoPreviews() throws InterruptedException {
+ startMainActivityFromLauncher();
+
+ String url = "http://googleweblight.com/?lite_url=chrome/test/data/android/about.html";
+
+ // Launch a first URL from an app.
+ launchUrlFromExternalApp(url, url, EXTERNAL_APP_1_ID, false, null);
+
+ assertEquals("Selected tab is not on the right URL.",
+ url, getActivity().getActivityTab().getUrl());
+ }
}

Powered by Google App Engine
This is Rietveld 408576698