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

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

Issue 1954363002: Start using the third_party/custom_tabs_client as support lib source (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nits Created 4 years, 7 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/CustomTabsConnectionTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionTest.java
index b7c9ae1f056bb1a855a8755664b6b1876b0a0b98..e75b261028337ffc69b1c9437a3a1f338cdf1ad0 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsConnectionTest.java
@@ -12,10 +12,9 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
-import android.os.IBinder;
import android.os.Process;
import android.support.customtabs.CustomTabsService;
-import android.support.customtabs.ICustomTabsCallback;
+import android.support.customtabs.CustomTabsSessionToken;
import android.test.InstrumentationTestCase;
import android.test.suitebuilder.annotation.SmallTest;
@@ -63,9 +62,9 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
@SmallTest
public void testNewSession() {
assertEquals(false, mCustomTabsConnection.newSession(null));
- ICustomTabsCallback cb = new CustomTabsTestUtils.DummyCallback();
- assertEquals(true, mCustomTabsConnection.newSession(cb));
- assertEquals(false, mCustomTabsConnection.newSession(cb));
+ CustomTabsSessionToken token = CustomTabsSessionToken.createDummySessionTokenForTesting();
+ assertEquals(true, mCustomTabsConnection.newSession(token));
+ assertEquals(false, mCustomTabsConnection.newSession(token));
}
/**
@@ -73,10 +72,10 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
*/
@SmallTest
public void testSeveralSessions() {
- ICustomTabsCallback cb = new CustomTabsTestUtils.DummyCallback();
- assertEquals(true, mCustomTabsConnection.newSession(cb));
- ICustomTabsCallback cb2 = new CustomTabsTestUtils.DummyCallback();
- assertEquals(true, mCustomTabsConnection.newSession(cb2));
+ CustomTabsSessionToken token = CustomTabsSessionToken.createDummySessionTokenForTesting();
+ assertEquals(true, mCustomTabsConnection.newSession(token));
+ CustomTabsSessionToken token2 = CustomTabsSessionToken.createDummySessionTokenForTesting();
+ assertEquals(true, mCustomTabsConnection.newSession(token2));
}
/**
@@ -128,15 +127,15 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
@SmallTest
@Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE)
public void testPrerenderDestroysSpareRenderer() {
- final ICustomTabsCallback cb = assertWarmupAndMayLaunchUrl(null, URL, true);
+ final CustomTabsSessionToken token = assertWarmupAndMayLaunchUrl(null, URL, true);
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
assertNull(mCustomTabsConnection.takeSpareWebContents());
String referrer =
- mCustomTabsConnection.getReferrerForSession(cb.asBinder()).getUrl();
+ mCustomTabsConnection.getReferrerForSession(token).getUrl();
WebContents webContents =
- mCustomTabsConnection.takePrerenderedUrl(cb.asBinder(), URL, referrer);
+ mCustomTabsConnection.takePrerenderedUrl(token, URL, referrer);
assertNotNull(webContents);
webContents.destroy();
}
@@ -147,12 +146,13 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
@Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE)
public void testMayLaunchUrlKeepsSpareRendererWithoutPrerendering() {
assertTrue(mCustomTabsConnection.warmup(0));
- final ICustomTabsCallback cb = new CustomTabsTestUtils.DummyCallback();
- assertTrue(mCustomTabsConnection.newSession(cb));
+ final CustomTabsSessionToken token =
+ CustomTabsSessionToken.createDummySessionTokenForTesting();
+ assertTrue(mCustomTabsConnection.newSession(token));
Bundle extras = new Bundle();
extras.putBoolean(CustomTabsConnection.NO_PRERENDERING_KEY, true);
- assertTrue(mCustomTabsConnection.mayLaunchUrl(cb, Uri.parse(URL), extras, null));
+ assertTrue(mCustomTabsConnection.mayLaunchUrl(token, Uri.parse(URL), extras, null));
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
@@ -172,29 +172,30 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
@SmallTest
@Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE)
public void testUnderstandsLowConfidenceMayLaunchUrl() {
- final ICustomTabsCallback cb = new CustomTabsTestUtils.DummyCallback();
- assertTrue(mCustomTabsConnection.newSession(cb));
+ final CustomTabsSessionToken token =
+ CustomTabsSessionToken.createDummySessionTokenForTesting();
+ assertTrue(mCustomTabsConnection.newSession(token));
List<Bundle> urls = new ArrayList<>();
Bundle urlBundle = new Bundle();
urlBundle.putParcelable(CustomTabsService.KEY_URL, Uri.parse(URL));
urls.add(urlBundle);
- mCustomTabsConnection.mayLaunchUrl(cb, null, null, urls);
+ mCustomTabsConnection.mayLaunchUrl(token, null, null, urls);
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
assertSpareWebContentsNotNullAndDestroy();
- IBinder session = cb.asBinder();
- String referrer = mCustomTabsConnection.getReferrerForSession(session).getUrl();
- assertNull(mCustomTabsConnection.takePrerenderedUrl(session, URL, referrer));
+ String referrer = mCustomTabsConnection.getReferrerForSession(token).getUrl();
+ assertNull(mCustomTabsConnection.takePrerenderedUrl(token, URL, referrer));
}
});
}
@SmallTest
public void testLowConfidenceMayLaunchUrlOnlyAcceptUris() {
- final ICustomTabsCallback cb = new CustomTabsTestUtils.DummyCallback();
- assertTrue(mCustomTabsConnection.newSession(cb));
+ final CustomTabsSessionToken token =
+ CustomTabsSessionToken.createDummySessionTokenForTesting();
+ assertTrue(mCustomTabsConnection.newSession(token));
assertTrue(mCustomTabsConnection.warmup(0));
final List<Bundle> urlsAsString = new ArrayList<>();
@@ -218,8 +219,9 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
@SmallTest
public void testLowConfidenceMayLaunchUrlDoesntCrash() {
- final ICustomTabsCallback cb = new CustomTabsTestUtils.DummyCallback();
- assertTrue(mCustomTabsConnection.newSession(cb));
+ final CustomTabsSessionToken token =
+ CustomTabsSessionToken.createDummySessionTokenForTesting();
+ assertTrue(mCustomTabsConnection.newSession(token));
assertTrue(mCustomTabsConnection.warmup(0));
final List<Bundle> invalidBundles = new ArrayList<>();
@@ -242,21 +244,21 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
@SmallTest
@Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE)
public void testStillHighConfidenceMayLaunchUrlWithSeveralUrls() {
- final ICustomTabsCallback cb = new CustomTabsTestUtils.DummyCallback();
- assertTrue(mCustomTabsConnection.newSession(cb));
+ final CustomTabsSessionToken token =
+ CustomTabsSessionToken.createDummySessionTokenForTesting();
+ assertTrue(mCustomTabsConnection.newSession(token));
List<Bundle> urls = new ArrayList<>();
Bundle urlBundle = new Bundle();
urlBundle.putParcelable(CustomTabsService.KEY_URL, Uri.parse(URL));
urls.add(urlBundle);
- mCustomTabsConnection.mayLaunchUrl(cb, Uri.parse(URL), null, urls);
+ mCustomTabsConnection.mayLaunchUrl(token, Uri.parse(URL), null, urls);
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
assertNull(mCustomTabsConnection.takeSpareWebContents());
- IBinder session = cb.asBinder();
- String referrer = mCustomTabsConnection.getReferrerForSession(session).getUrl();
- assertNotNull(mCustomTabsConnection.takePrerenderedUrl(session, URL, referrer));
+ String referrer = mCustomTabsConnection.getReferrerForSession(token).getUrl();
+ assertNotNull(mCustomTabsConnection.takePrerenderedUrl(token, URL, referrer));
}
});
}
@@ -264,21 +266,20 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
@SmallTest
@Restriction(RESTRICTION_TYPE_NON_LOW_END_DEVICE)
public void testCanCancelPrerender() {
- final ICustomTabsCallback cb = assertWarmupAndMayLaunchUrl(null, URL, true);
+ final CustomTabsSessionToken token = assertWarmupAndMayLaunchUrl(null, URL, true);
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
assertNull(mCustomTabsConnection.takeSpareWebContents());
}
});
- assertTrue(mCustomTabsConnection.mayLaunchUrl(cb, null, null, null));
+ assertTrue(mCustomTabsConnection.mayLaunchUrl(token, null, null, null));
// mayLaunchUrl() posts a task, the following has to run after it.
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- IBinder session = cb.asBinder();
- String referrer = mCustomTabsConnection.getReferrerForSession(session).getUrl();
- assertNull(mCustomTabsConnection.takePrerenderedUrl(session, URL, referrer));
+ String referrer = mCustomTabsConnection.getReferrerForSession(token).getUrl();
+ assertNull(mCustomTabsConnection.takePrerenderedUrl(token, URL, referrer));
}
});
}
@@ -293,33 +294,34 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
* Calls warmup() and mayLaunchUrl(), checks for the expected result
* (success or failure) and returns the result code.
*/
- private ICustomTabsCallback assertWarmupAndMayLaunchUrl(
- ICustomTabsCallback cb, String url, boolean shouldSucceed) {
+ private CustomTabsSessionToken assertWarmupAndMayLaunchUrl(
+ CustomTabsSessionToken token, String url, boolean shouldSucceed) {
mCustomTabsConnection.warmup(0);
- if (cb == null) {
- cb = new CustomTabsTestUtils.DummyCallback();
- mCustomTabsConnection.newSession(cb);
+ if (token == null) {
+ token = CustomTabsSessionToken.createDummySessionTokenForTesting();
+ mCustomTabsConnection.newSession(token);
}
Uri uri = url == null ? null : Uri.parse(url);
- boolean succeeded = mCustomTabsConnection.mayLaunchUrl(cb, uri, null, null);
+ boolean succeeded = mCustomTabsConnection.mayLaunchUrl(token, uri, null, null);
assertEquals(shouldSucceed, succeeded);
- return shouldSucceed ? cb : null;
+ return shouldSucceed ? token : null;
}
/**
* Tests that
* {@link CustomTabsConnection#mayLaunchUrl(
- * ICustomTabsCallback, Uri, android.os.Bundle, java.util.List)}
+ * CustomTabsSessionToken, Uri, android.os.Bundle, java.util.List)}
* returns an error when called with an invalid session ID.
*/
@SmallTest
public void testNoMayLaunchUrlWithInvalidSessionId() {
- assertWarmupAndMayLaunchUrl(new CustomTabsTestUtils.DummyCallback(), URL, false);
+ assertWarmupAndMayLaunchUrl(
+ CustomTabsSessionToken.createDummySessionTokenForTesting(), URL, false);
}
/**
* Tests that
- * {@link CustomTabsConnection#mayLaunchUrl(long, String, Bundle, List<Bundle>)}
+ * {@link CustomTabsConnection#mayLaunchUrl(CustomTabsSessionToken, Uri, Bundle, List)}
* rejects invalid URL schemes.
*/
@SmallTest
@@ -329,7 +331,7 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
/**
* Tests that
- * {@link CustomTabsConnection#mayLaunchUrl(long, String, Bundle, List<Bundle>)}
+ * {@link CustomTabsConnection#mayLaunchUrl(CustomTabsSessionToken, Uri, Bundle, List)}
* succeeds.
*/
@SmallTest
@@ -339,16 +341,16 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
/**
* Tests that
- * {@link CustomTabsConnection#mayLaunchUrl(long, String, Bundle, List<Bundle>)}
+ * {@link CustomTabsConnection#mayLaunchUrl(CustomTabsSessionToken, Uri, Bundle, List)}
* can be called several times with the same, and different URLs.
*/
@SmallTest
public void testMultipleMayLaunchUrl() {
- ICustomTabsCallback cb = assertWarmupAndMayLaunchUrl(null, URL, true);
+ CustomTabsSessionToken token = assertWarmupAndMayLaunchUrl(null, URL, true);
mCustomTabsConnection.resetThrottling(mContext, Process.myUid());
- assertWarmupAndMayLaunchUrl(cb, URL, true);
+ assertWarmupAndMayLaunchUrl(token, URL, true);
mCustomTabsConnection.resetThrottling(mContext, Process.myUid());
- assertWarmupAndMayLaunchUrl(cb, URL2, true);
+ assertWarmupAndMayLaunchUrl(token, URL2, true);
}
/**
@@ -356,9 +358,9 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
*/
@SmallTest
public void testForgetsSession() {
- ICustomTabsCallback cb = assertWarmupAndMayLaunchUrl(null, URL, true);
+ CustomTabsSessionToken token = assertWarmupAndMayLaunchUrl(null, URL, true);
CustomTabsTestUtils.cleanupSessions(mCustomTabsConnection);
- assertWarmupAndMayLaunchUrl(cb, URL, false);
+ assertWarmupAndMayLaunchUrl(token, URL, false);
}
/**
@@ -403,11 +405,11 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
*/
@SmallTest
public void testThrottleMayLaunchUrl() {
- ICustomTabsCallback cb = assertWarmupAndMayLaunchUrl(null, URL, true);
+ CustomTabsSessionToken token = assertWarmupAndMayLaunchUrl(null, URL, true);
int successfulRequests = 0;
// Send a burst of requests instead of checking for precise delays to avoid flakiness.
while (successfulRequests < 10) {
- if (!mCustomTabsConnection.mayLaunchUrl(cb, Uri.parse(URL), null, null)) break;
+ if (!mCustomTabsConnection.mayLaunchUrl(token, Uri.parse(URL), null, null)) break;
successfulRequests++;
}
assertTrue("10 requests in a row should not all succeed.", successfulRequests < 10);
@@ -418,10 +420,10 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
*/
@SmallTest
public void testThrottlingIsReset() {
- ICustomTabsCallback cb = assertWarmupAndMayLaunchUrl(null, URL, true);
- mCustomTabsConnection.mayLaunchUrl(cb, Uri.parse(URL), null, null);
+ CustomTabsSessionToken token = assertWarmupAndMayLaunchUrl(null, URL, true);
+ mCustomTabsConnection.mayLaunchUrl(token, Uri.parse(URL), null, null);
// Depending on the timing, the delay should be 100 or 200ms here.
- assertWarmupAndMayLaunchUrl(cb, URL, false);
+ assertWarmupAndMayLaunchUrl(token, URL, false);
// Wait for more than 2 * MAX_POSSIBLE_DELAY to clear the delay
try {
Thread.sleep(450); // 2 * MAX_POSSIBLE_DELAY + 50ms
@@ -429,7 +431,7 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
fail();
return;
}
- assertWarmupAndMayLaunchUrl(cb, URL, true);
+ assertWarmupAndMayLaunchUrl(token, URL, true);
// Check that the delay has been reset, by waiting for 100ms.
try {
Thread.sleep(150); // MIN_DELAY + 50ms margin
@@ -437,7 +439,7 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
fail();
return;
}
- assertWarmupAndMayLaunchUrl(cb, URL, true);
+ assertWarmupAndMayLaunchUrl(token, URL, true);
}
/**
@@ -445,13 +447,13 @@ public class CustomTabsConnectionTest extends InstrumentationTestCase {
*/
@SmallTest
public void testThrottlingAcrossSessions() {
- ICustomTabsCallback cb = assertWarmupAndMayLaunchUrl(null, URL, true);
+ CustomTabsSessionToken token = assertWarmupAndMayLaunchUrl(null, URL, true);
mCustomTabsConnection.resetThrottling(mContext, Process.myUid());
- ICustomTabsCallback cb2 = assertWarmupAndMayLaunchUrl(null, URL, true);
+ CustomTabsSessionToken token2 = assertWarmupAndMayLaunchUrl(null, URL, true);
mCustomTabsConnection.resetThrottling(mContext, Process.myUid());
for (int i = 0; i < 10; i++) {
- mCustomTabsConnection.mayLaunchUrl(cb, Uri.parse(URL), null, null);
+ mCustomTabsConnection.mayLaunchUrl(token, Uri.parse(URL), null, null);
}
- assertWarmupAndMayLaunchUrl(cb2, URL, false);
+ assertWarmupAndMayLaunchUrl(token2, URL, false);
}
}

Powered by Google App Engine
This is Rietveld 408576698