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

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: yusufo comments 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 f5ab4de31b3a8d5b9efb42fe523cb6d06a4d4f70..e1737a3565fcbe6b2d59c7c3fb65bc3e363dee58 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/TabsOpenedFromExternalAppTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/TabsOpenedFromExternalAppTest.java
@@ -146,8 +146,9 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
* Returns when the URL has been navigated to.
* @throws InterruptedException
*/
- private void launchUrlFromExternalApp(String url, String appId, boolean createNewTab)
- throws InterruptedException {
+ private void launchUrlFromExternalApp(String intentUrl, String expectedUrl, String appId,
+ boolean createNewTab)
+ throws InterruptedException {
final Intent intent = new Intent(Intent.ACTION_VIEW);
if (appId != null) {
intent.putExtra(Browser.EXTRA_APPLICATION_ID, appId);
@@ -155,7 +156,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
if (createNewTab) {
intent.putExtra(Browser.EXTRA_CREATE_NEW_TAB, true);
}
- intent.setData(Uri.parse(url));
+ intent.setData(Uri.parse(intentUrl));
final Tab originalTab = getActivity().getActivityTab();
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@@ -172,7 +173,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
}
});
}
- ChromeTabUtils.waitForTabPageLoaded(getActivity().getActivityTab(), url);
+ ChromeTabUtils.waitForTabPageLoaded(getActivity().getActivityTab(), expectedUrl);
}
/**
@@ -190,7 +191,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
int originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
// Launch a first URL from an app.
- launchUrlFromExternalApp(url1, EXTERNAL_APP_1_ID, false);
+ launchUrlFromExternalApp(url1, url1, EXTERNAL_APP_1_ID, false);
// It should have opened in a new tab.
int newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
assertEquals("Incorrect number of tabs open", originalTabCount + 1, newTabCount);
@@ -199,7 +200,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
// Launch a new URL from the same app, it should open in the same tab.
originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
- launchUrlFromExternalApp(url2, EXTERNAL_APP_1_ID, false);
+ launchUrlFromExternalApp(url2, url2, EXTERNAL_APP_1_ID, false);
newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
assertEquals("Incorrect number of tabs open", originalTabCount, newTabCount);
assertEquals("Selected tab is not on the right URL.", url2,
@@ -235,7 +236,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
// Launch a first URL with an app.
- launchUrlFromExternalApp(url1, EXTERNAL_APP_1_ID, false);
+ launchUrlFromExternalApp(url1, url1, EXTERNAL_APP_1_ID, false);
assertEquals("Selected tab is not on the right URL.", url1,
getActivity().getActivityTab().getUrl());
@@ -243,7 +244,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
// Launch the same URL without app ID. It should open a new tab.
originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
- launchUrlFromExternalApp(url1, null, false);
+ launchUrlFromExternalApp(url1, url1, null, false);
int newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
assertEquals("Incorrect number of tabs open", originalTabCount + 1, newTabCount);
assertEquals("Selected tab is not on the right URL.", url1,
@@ -251,7 +252,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
// Launch another URL without app ID. It should open a new tab.
originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
- launchUrlFromExternalApp(url2, null, false);
+ launchUrlFromExternalApp(url2, url2, null, false);
newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
assertEquals("Incorrect number of tabs open", originalTabCount + 1, newTabCount);
assertEquals("Selected tab is not on the right URL.", url2,
@@ -286,7 +287,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
int originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
// Launch a first URL from an app.
- launchUrlFromExternalApp(url1, EXTERNAL_APP_1_ID, false);
+ launchUrlFromExternalApp(url1, url1, EXTERNAL_APP_1_ID, false);
// It should have opened in a new tab.
int newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
assertEquals("Incorrect number of tabs open", originalTabCount + 1, newTabCount);
@@ -295,7 +296,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
// Launch a new URL from the same app with the right extra to open in a new tab.
originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
- launchUrlFromExternalApp(url2, EXTERNAL_APP_1_ID, true);
+ launchUrlFromExternalApp(url2, url2, EXTERNAL_APP_1_ID, true);
newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
assertEquals("Incorrect number of tabs open", originalTabCount + 1, newTabCount);
assertEquals("Selected tab is not on the right URL.", url2,
@@ -332,7 +333,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
// Launch a new URL from the same app, it should open in the same tab.
int originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
- launchUrlFromExternalApp(url2, EXTERNAL_APP_1_ID, false);
+ launchUrlFromExternalApp(url2, url2, EXTERNAL_APP_1_ID, false);
int newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
assertEquals("Incorrect number of tabs open", originalTabCount, newTabCount);
assertEquals("Selected tab is not on the right URL.", url2,
@@ -365,12 +366,12 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
String url3 = mTestServer.getURL("/chrome/test/data/android/test.html");
// Launch a first URL from an app1.
- launchUrlFromExternalApp(url1, EXTERNAL_APP_1_ID, false);
+ launchUrlFromExternalApp(url1, url1, EXTERNAL_APP_1_ID, false);
int originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
// Launch a second URL from an app2, it should open in a new tab.
- launchUrlFromExternalApp(url2, EXTERNAL_APP_2_ID, false);
+ launchUrlFromExternalApp(url2, url2, EXTERNAL_APP_2_ID, false);
// It should have opened in a new tab.
int newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
@@ -380,7 +381,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
// Also try with no app id, it should also open in a new tab.
originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
- launchUrlFromExternalApp(url3, null, false);
+ launchUrlFromExternalApp(url3, url3, null, false);
newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
assertEquals("Incorrect number of tabs open", originalTabCount + 1, newTabCount);
assertEquals("Selected tab is not on the right URL.", url3,
@@ -402,14 +403,14 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
String url3 = mTestServer.getURL("/chrome/test/data/android/test.html");
// Launch a first URL from an app.
- launchUrlFromExternalApp(url1, EXTERNAL_APP_1_ID, false);
+ launchUrlFromExternalApp(url1, url1, EXTERNAL_APP_1_ID, false);
// Now simulate the user manually navigating to another URL.
loadUrl(url3);
// Launch a second URL from the same app, it should open in a new tab.
int originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
- launchUrlFromExternalApp(url2, EXTERNAL_APP_1_ID, false);
+ launchUrlFromExternalApp(url2, url2, EXTERNAL_APP_1_ID, false);
int newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
assertEquals("Incorrect number of tabs open", originalTabCount + 1, newTabCount);
assertEquals("Selected tab is not on the right URL.", url2,
@@ -434,7 +435,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
String url2 = mTestServer.getURL("/chrome/test/data/android/about.html");
// Launch a first URL from an app.
- launchUrlFromExternalApp(url1, EXTERNAL_APP_1_ID, false);
+ launchUrlFromExternalApp(url1, url1, EXTERNAL_APP_1_ID, false);
// Focus the text-field and type something.
Tab tab = getActivity().getActivityTab();
@@ -453,7 +454,7 @@ public class TabsOpenedFromExternalAppTest extends ChromeTabbedActivityTestBase
// Launch a second URL from the same app, it should open in a new tab.
int originalTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
- launchUrlFromExternalApp(url2, EXTERNAL_APP_1_ID, false);
+ launchUrlFromExternalApp(url2, url2, EXTERNAL_APP_1_ID, false);
int newTabCount = ChromeTabUtils.getNumOpenTabs(getActivity());
assertEquals("Incorrect number of tabs open", originalTabCount + 1, newTabCount);
assertEquals("Selected tab is not on the right URL.", url2,
@@ -561,4 +562,42 @@ 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);
+
+ 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 = mTestServer
+ .getURL("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);
+
+ assertEquals("Selected tab is not on the right URL.",
+ url, getActivity().getActivityTab().getUrl());
+ }
}

Powered by Google App Engine
This is Rietveld 408576698