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

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

Issue 2767333006: Add Digital Asset Links verification for postMessage API (Closed)
Patch Set: fix hex conversion logic Created 3 years, 8 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/ClientManagerTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java
index 36416efe16ae43ac4098e987a48ab101f77f5ee6..d9eda2f556236f00fb0cadd12c3ad1256d4f1193 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java
@@ -5,6 +5,7 @@
package org.chromium.chrome.browser.customtabs;
import android.content.Context;
+import android.net.Uri;
import android.os.Process;
import android.support.customtabs.CustomTabsSessionToken;
import android.support.test.InstrumentationRegistry;
@@ -16,10 +17,12 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.chromium.base.ContextUtils;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.MetricsUtils;
import org.chromium.base.test.util.RetryOnFailure;
+import org.chromium.chrome.browser.IntentHandler;
import org.chromium.content.browser.test.NativeLibraryTestRule;
/** Tests for ClientManager. */
@@ -154,6 +157,31 @@ public class ClientManagerTest {
@Test
@SmallTest
+ public void testPostMessageOriginVerification() {
+ Assert.assertTrue(
+ mClientManager.newSession(mSession, mUid, null, new PostMessageHandler(mSession)));
+ // Should always start with no origin.
+ Assert.assertNull(mClientManager.getPostMessageOriginForSessionForTesting(mSession));
+
+ // With no prepopulated origins, this verification should fail.
+ mClientManager.verifyAndInitializeWithPostMessageOriginForSession(mSession, Uri.parse(URL));
+ Assert.assertNull(mClientManager.getPostMessageOriginForSessionForTesting(mSession));
+
+ // If there is a prepopulated origin, we should get a syncronous verification.
Benoit L 2017/04/07 15:04:54 nit: Synchronous.
Yusuf 2017/04/07 23:38:41 Done.
+ OriginVerifier.prePopulateVerifiedOriginForTesting(
+ ContextUtils.getApplicationContext().getPackageName(), Uri.parse(URL));
+ mClientManager.verifyAndInitializeWithPostMessageOriginForSession(mSession, Uri.parse(URL));
+ Uri verifiedOrigin = mClientManager.getPostMessageOriginForSessionForTesting(mSession);
+ Assert.assertNotNull(verifiedOrigin);
+ Assert.assertEquals(IntentHandler.ANDROID_APP_REFERRER_SCHEME, verifiedOrigin.getScheme());
+
+ // initializeWithPostMessageOriginForSession should override without checking origin.
+ mClientManager.initializeWithPostMessageOriginForSession(mSession, null);
+ Assert.assertNull(mClientManager.getPostMessageOriginForSessionForTesting(mSession));
+ }
+
+ @Test
+ @SmallTest
public void testFirstLowConfidencePredictionIsNotThrottled() {
Context context = InstrumentationRegistry.getInstrumentation()
.getTargetContext()

Powered by Google App Engine
This is Rietveld 408576698