Revert "Add a way to check for handle_all_urls verification to OriginVerifier"

This reverts commit 33aac55ba944d05d2bf6854d4ad4a79837cf9924.

Reason for revert: depends on
c822c477e0a3fb4934d92bfd3fbb517e6d7ad8e4, which was reverted.

Original change's description:
> Add a way to check for handle_all_urls verification to OriginVerifier
> 
> - Adds the relation type that will be moved to support lib later.
> - Makes a new OriginVerifier for every verify call with the given
> relationship.
> - Handles the caching to be per package name/relation pair so that both
> relations get verified independently.
> - Adds a test for the above case.
> 
> BUG=748274
> 
> Change-Id: I61833f1b5e70f3532b67cf3910a6b004053bf9a0
> Reviewed-on: https://chromium-review.googlesource.com/584012
> Commit-Queue: Yusuf Ozuysal <yusufo@chromium.org>
> Reviewed-by: Benoit L <lizeb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#497255}

TBR=yusufo@chromium.org,lizeb@chromium.org

Change-Id: I746ca7a52c25a0db2c25dae9015fdc91a2002357
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 748274
Reviewed-on: https://chromium-review.googlesource.com/634569
Reviewed-by: Paul Miller <paulmiller@chromium.org>
Commit-Queue: Paul Miller <paulmiller@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497279}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java
index 3bae386..e6a8c47 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java
@@ -15,7 +15,6 @@
 import android.support.annotation.NonNull;
 import android.support.customtabs.CustomTabsCallback;
 import android.support.customtabs.CustomTabsService;
-import android.support.customtabs.CustomTabsService.Relation;
 import android.support.customtabs.CustomTabsSessionToken;
 import android.text.TextUtils;
 import android.util.SparseBooleanArray;
@@ -345,13 +344,13 @@
     }
 
     /**
-     * See {@link PostMessageHandler#verifyAndInitializeWithOrigin(Uri, int)}.
+     * See {@link PostMessageHandler#verifyAndInitializeWithOrigin(Uri)}.
      */
     public synchronized void verifyAndInitializeWithPostMessageOriginForSession(
-            CustomTabsSessionToken session, Uri origin, @Relation int relation) {
+            CustomTabsSessionToken session, Uri origin) {
         SessionParams params = mSessionParams.get(session);
         if (params == null) return;
-        params.postMessageHandler.verifyAndInitializeWithOrigin(origin, relation);
+        params.postMessageHandler.verifyAndInitializeWithOrigin(origin);
     }
 
     /**
@@ -524,9 +523,7 @@
     public synchronized boolean isFirstPartyOriginForSession(
             CustomTabsSessionToken session, Uri origin) {
         SessionParams params = mSessionParams.get(session);
-        return params == null ? false
-                              : OriginVerifier.isValidOrigin(params.packageName, origin,
-                                        CustomTabsService.RELATION_USE_AS_ORIGIN);
+        return params == null ? false : OriginVerifier.isValidOrigin(params.packageName, origin);
     }
 
     /** Tries to bind to a client to keep it alive, and returns true for success. */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
index 04daf45..2c070da 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
@@ -603,7 +603,7 @@
                 Uri verifiedOrigin = verifyOriginForSession(session, uid, postMessageOrigin);
                 if (verifiedOrigin == null) {
                     mClientManager.verifyAndInitializeWithPostMessageOriginForSession(
-                            session, postMessageOrigin, CustomTabsService.RELATION_USE_AS_ORIGIN);
+                            session, postMessageOrigin);
                 } else {
                     mClientManager.initializeWithPostMessageOriginForSession(
                             session, verifiedOrigin);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/OriginVerifier.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/OriginVerifier.java
index 5d390ab..9754d33 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/OriginVerifier.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/OriginVerifier.java
@@ -8,10 +8,6 @@
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.support.annotation.NonNull;
-import android.support.customtabs.CustomTabsService;
-import android.support.customtabs.CustomTabsService.Relation;
-import android.support.v4.util.Pair;
-import android.text.TextUtils;
 
 import org.chromium.base.ContextUtils;
 import org.chromium.base.Log;
@@ -53,14 +49,10 @@
 class OriginVerifier {
     private static final String TAG = "OriginVerifier";
     private static final char[] HEX_CHAR_LOOKUP = "0123456789ABCDEF".toCharArray();
-    private static final String USE_AS_ORIGIN = "delegate_permission/common.use_as_origin";
-    private static final String HANDLE_ALL_URLS = "delegate_permission/common.handle_all_urls";
-
-    private static Map<Pair<String, Integer>, Set<Uri>> sPackageToCachedOrigins;
+    private static Map<String, Set<Uri>> sPackageToCachedOrigins;
     private final OriginVerificationListener mListener;
     private final String mPackageName;
     private final String mSignatureFingerprint;
-    private final @Relation int mRelation;
     private long mNativeOriginVerifier = 0;
     private Uri mOrigin;
 
@@ -78,7 +70,8 @@
         }
     }
 
-    static Uri getPostMessageOriginFromVerifiedOrigin(String packageName, Uri verifiedOrigin) {
+    private static Uri getPostMessageOriginFromVerifiedOrigin(
+            String packageName, Uri verifiedOrigin) {
         return Uri.parse(IntentHandler.ANDROID_APP_REFERRER_SCHEME + "://"
                 + verifiedOrigin.getHost() + "/" + packageName);
     }
@@ -94,18 +87,14 @@
      * Mark an origin as verified for a package.
      * @param packageName The package name to prepopulate for.
      * @param origin The origin to add as verified.
-     * @param relation The Digital Asset Links relation verified.
      */
-    static void addVerifiedOriginForPackage(
-            String packageName, Uri origin, @Relation int relation) {
+    static void addVerifiedOriginForPackage(String packageName, Uri origin) {
         ThreadUtils.assertOnUiThread();
         if (sPackageToCachedOrigins == null) sPackageToCachedOrigins = new HashMap<>();
-        Set<Uri> cachedOrigins =
-                sPackageToCachedOrigins.get(new Pair<String, Integer>(packageName, relation));
+        Set<Uri> cachedOrigins = sPackageToCachedOrigins.get(packageName);
         if (cachedOrigins == null) {
             cachedOrigins = new HashSet<Uri>();
-            sPackageToCachedOrigins.put(
-                    new Pair<String, Integer>(packageName, relation), cachedOrigins);
+            sPackageToCachedOrigins.put(packageName, cachedOrigins);
         }
         cachedOrigins.add(origin);
     }
@@ -118,13 +107,11 @@
      *
      * @param packageName The package name
      * @param origin The origin to verify
-     * @param relation The Digital Asset Links relation to verify for.
      */
-    static boolean isValidOrigin(String packageName, Uri origin, @Relation int relation) {
+    static boolean isValidOrigin(String packageName, Uri origin) {
         ThreadUtils.assertOnUiThread();
         if (sPackageToCachedOrigins == null) return false;
-        Set<Uri> cachedOrigins =
-                sPackageToCachedOrigins.get(new Pair<String, Integer>(packageName, relation));
+        Set<Uri> cachedOrigins = sPackageToCachedOrigins.get(packageName);
         if (cachedOrigins == null) return false;
         return cachedOrigins.contains(origin);
     }
@@ -147,14 +134,11 @@
      * Use {@link OriginVerifier#start(Uri)}
      * @param listener The listener who will get the verification result.
      * @param packageName The package for the Android application for verification.
-     * @param relation Digital Asset Links {@link Relation} to use during verification.
      */
-    public OriginVerifier(
-            OriginVerificationListener listener, String packageName, @Relation int relation) {
+    public OriginVerifier(OriginVerificationListener listener, String packageName) {
         mListener = listener;
         mPackageName = packageName;
         mSignatureFingerprint = getCertificateSHA256FingerprintForPackage(mPackageName);
-        mRelation = relation;
     }
 
     /**
@@ -166,15 +150,13 @@
     public void start(@NonNull Uri origin) {
         ThreadUtils.assertOnUiThread();
         mOrigin = origin;
-        String scheme = mOrigin.getScheme();
-        if (TextUtils.isEmpty(scheme)
-                || !UrlConstants.HTTPS_SCHEME.equals(scheme.toLowerCase(Locale.US))) {
+        if (!UrlConstants.HTTPS_SCHEME.equals(mOrigin.getScheme().toLowerCase(Locale.US))) {
             ThreadUtils.runOnUiThread(new VerifiedCallback(false));
             return;
         }
 
         // If this origin is cached as verified already, use that.
-        if (isValidOrigin(mPackageName, origin, mRelation)) {
+        if (isValidOrigin(mPackageName, origin)) {
             ThreadUtils.runOnUiThread(new VerifiedCallback(true));
             return;
         }
@@ -186,20 +168,8 @@
         }
         mNativeOriginVerifier = nativeInit(Profile.getLastUsedProfile().getOriginalProfile());
         assert mNativeOriginVerifier != 0;
-        String relationship = null;
-        switch (mRelation) {
-            case CustomTabsService.RELATION_USE_AS_ORIGIN:
-                relationship = USE_AS_ORIGIN;
-                break;
-            case CustomTabsService.RELATION_HANDLE_ALL_URLS:
-                relationship = HANDLE_ALL_URLS;
-                break;
-            default:
-                assert false;
-                break;
-        }
-        boolean success = nativeVerifyOrigin(mNativeOriginVerifier, mPackageName,
-                mSignatureFingerprint, mOrigin.toString(), relationship);
+        boolean success = nativeVerifyOrigin(
+                mNativeOriginVerifier, mPackageName, mSignatureFingerprint, mOrigin.toString());
         if (!success) ThreadUtils.runOnUiThread(new VerifiedCallback(false));
     }
 
@@ -270,7 +240,7 @@
     @CalledByNative
     private void originVerified(boolean originVerified) {
         if (originVerified) {
-            addVerifiedOriginForPackage(mPackageName, mOrigin, mRelation);
+            addVerifiedOriginForPackage(mPackageName, mOrigin);
             mOrigin = getPostMessageOriginFromVerifiedOrigin(mPackageName, mOrigin);
         }
         mListener.onOriginVerified(mPackageName, mOrigin, originVerified);
@@ -279,6 +249,6 @@
 
     private native long nativeInit(Profile profile);
     private native boolean nativeVerifyOrigin(long nativeOriginVerifier, String packageName,
-            String signatureFingerprint, String origin, String relationship);
+            String signatureFingerprint, String origin);
     private native void nativeDestroy(long nativeOriginVerifier);
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PostMessageHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PostMessageHandler.java
index 128340f1..4ac2c95 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PostMessageHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PostMessageHandler.java
@@ -8,7 +8,6 @@
 import android.net.Uri;
 import android.support.annotation.NonNull;
 import android.support.customtabs.CustomTabsService;
-import android.support.customtabs.CustomTabsService.Relation;
 import android.support.customtabs.CustomTabsSessionToken;
 import android.support.customtabs.PostMessageServiceConnection;
 
@@ -36,7 +35,6 @@
     private AppWebMessagePort[] mChannel;
     private Uri mOrigin;
     private String mPackageName;
-    private @Relation int mRelation;
 
     /**
      * Basic constructor. Everytime the given {@link CustomTabsSessionToken} is associated with a
@@ -148,9 +146,8 @@
      * will be overridden.
      * @param origin The origin to verify for.
      */
-    public void verifyAndInitializeWithOrigin(final Uri origin, @Relation int relation) {
-        mRelation = relation;
-        mOriginVerifier = new OriginVerifier(this, mPackageName, mRelation);
+    public void verifyAndInitializeWithOrigin(final Uri origin) {
+        if (mOriginVerifier == null) mOriginVerifier = new OriginVerifier(this, mPackageName);
         ThreadUtils.postOnUiThread(new Runnable() {
             @Override
             public void run() {
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 ec18fb7d..34e16276 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
@@ -7,7 +7,6 @@
 import android.content.Context;
 import android.net.Uri;
 import android.os.Process;
-import android.support.customtabs.CustomTabsService;
 import android.support.customtabs.CustomTabsSessionToken;
 import android.support.test.InstrumentationRegistry;
 import android.support.test.filters.SmallTest;
@@ -179,16 +178,13 @@
             @Override
             public void run() {
                 // With no prepopulated origins, this verification should fail.
-                cm.verifyAndInitializeWithPostMessageOriginForSession(
-                        mSession, Uri.parse(URL), CustomTabsService.RELATION_USE_AS_ORIGIN);
+                cm.verifyAndInitializeWithPostMessageOriginForSession(mSession, Uri.parse(URL));
                 Assert.assertNull(cm.getPostMessageOriginForSessionForTesting(mSession));
 
                 // If there is a prepopulated origin, we should get a synchronous verification.
                 OriginVerifier.addVerifiedOriginForPackage(
-                        ContextUtils.getApplicationContext().getPackageName(), Uri.parse(URL),
-                        CustomTabsService.RELATION_USE_AS_ORIGIN);
-                cm.verifyAndInitializeWithPostMessageOriginForSession(
-                        mSession, Uri.parse(URL), CustomTabsService.RELATION_USE_AS_ORIGIN);
+                        ContextUtils.getApplicationContext().getPackageName(), Uri.parse(URL));
+                cm.verifyAndInitializeWithPostMessageOriginForSession(mSession, Uri.parse(URL));
             }
         });
 
@@ -216,48 +212,6 @@
 
     @Test
     @SmallTest
-    public void testPostMessageOriginDifferentRelations() {
-        final ClientManager cm = mClientManager;
-        Assert.assertTrue(cm.newSession(mSession, mUid, null, new PostMessageHandler(mSession)));
-        // Should always start with no origin.
-        Assert.assertNull(cm.getPostMessageOriginForSessionForTesting(mSession));
-
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                // With no prepopulated origins, this verification should fail.
-                cm.verifyAndInitializeWithPostMessageOriginForSession(
-                        mSession, Uri.parse(URL), CustomTabsService.RELATION_USE_AS_ORIGIN);
-                Assert.assertNull(cm.getPostMessageOriginForSessionForTesting(mSession));
-
-                // Prepopulated origins should depend on the relation used.
-                OriginVerifier.addVerifiedOriginForPackage(
-                        ContextUtils.getApplicationContext().getPackageName(), Uri.parse(URL),
-                        CustomTabsService.RELATION_HANDLE_ALL_URLS);
-                // This uses CustomTabsService.RELATION_USE_AS_ORIGIN by default.
-                Assert.assertFalse(cm.isFirstPartyOriginForSession(mSession, Uri.parse(URL)));
-                cm.verifyAndInitializeWithPostMessageOriginForSession(
-                        mSession, Uri.parse(URL), CustomTabsService.RELATION_HANDLE_ALL_URLS);
-            }
-        });
-
-        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
-            @Override
-            public void run() {
-                Uri verifiedOrigin = cm.getPostMessageOriginForSessionForTesting(mSession);
-                Assert.assertEquals(
-                        IntentHandler.ANDROID_APP_REFERRER_SCHEME, verifiedOrigin.getScheme());
-
-                // initializeWithPostMessageOriginForSession should override without checking
-                // origin.
-                cm.initializeWithPostMessageOriginForSession(mSession, null);
-                Assert.assertNull(cm.getPostMessageOriginForSessionForTesting(mSession));
-            }
-        });
-    }
-
-    @Test
-    @SmallTest
     public void testPostMessageOriginHttpNotAllowed() {
         final ClientManager cm = mClientManager;
         Assert.assertTrue(cm.newSession(mSession, mUid, null, new PostMessageHandler(mSession)));
@@ -269,17 +223,14 @@
             public void run() {
                 Uri uri = Uri.parse(HTTP_URL);
                 // With no prepopulated origins, this verification should fail.
-                cm.verifyAndInitializeWithPostMessageOriginForSession(
-                        mSession, uri, CustomTabsService.RELATION_USE_AS_ORIGIN);
+                cm.verifyAndInitializeWithPostMessageOriginForSession(mSession, uri);
                 Assert.assertNull(cm.getPostMessageOriginForSessionForTesting(mSession));
 
                 // Even if there is a prepopulated origin, non-https origins should get an early
                 // return with false.
                 OriginVerifier.addVerifiedOriginForPackage(
-                        ContextUtils.getApplicationContext().getPackageName(), uri,
-                        CustomTabsService.RELATION_USE_AS_ORIGIN);
-                cm.verifyAndInitializeWithPostMessageOriginForSession(
-                        mSession, uri, CustomTabsService.RELATION_USE_AS_ORIGIN);
+                        ContextUtils.getApplicationContext().getPackageName(), uri);
+                cm.verifyAndInitializeWithPostMessageOriginForSession(mSession, uri);
                 Assert.assertNull(cm.getPostMessageOriginForSessionForTesting(mSession));
             }
         });
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/OriginVerifierTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/OriginVerifierTest.java
index a980b1f..4d84859 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/OriginVerifierTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/OriginVerifierTest.java
@@ -4,27 +4,17 @@
 
 package org.chromium.chrome.browser.customtabs;
 
-import android.net.Uri;
-import android.support.customtabs.CustomTabsService;
 import android.support.test.filters.SmallTest;
 
 import org.junit.Assert;
-import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import org.chromium.base.ThreadUtils;
 import org.chromium.base.test.BaseJUnit4ClassRunner;
-import org.chromium.chrome.browser.customtabs.OriginVerifier.OriginVerificationListener;
-
-import java.util.concurrent.Callable;
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
 
 /** Tests for OriginVerifier. */
 @RunWith(BaseJUnit4ClassRunner.class)
 public class OriginVerifierTest {
-    private static final long TIMEOUT_MS = 1000;
     private static final byte[] BYTE_ARRAY = new byte[] {(byte) 0xaa, (byte) 0xbb, (byte) 0xcc,
             (byte) 0x10, (byte) 0x20, (byte) 0x30, (byte) 0x01, (byte) 0x02};
     private static final String STRING_ARRAY = "AA:BB:CC:10:20:30:01:02";
@@ -33,35 +23,6 @@
     private static final String SHA_256_FINGERPRINT =
             "32:A2:FC:74:D7:31:10:58:59:E5:A8:5D:F1:6D:95:F1:02:D8:5B"
             + ":22:09:9B:80:64:C5:D8:91:5C:61:DA:D1:E0";
-    private static final Uri TEST_HTTPS_ORIGIN_1 = Uri.parse("https://www.example.com");
-    private static final Uri TEST_HTTPS_ORIGIN_2 = Uri.parse("https://www.android.com");
-    private static final Uri TEST_HTTP_ORIGIN = Uri.parse("http://www.android.com");
-
-    private class TestOriginVerificationListener implements OriginVerificationListener {
-        @Override
-        public void onOriginVerified(String packageName, Uri origin, boolean verified) {
-            mLastPackageName = packageName;
-            mLastOrigin = origin;
-            mLastVerified = verified;
-            mVerificationResultSemaphore.release();
-        }
-    }
-
-    private Semaphore mVerificationResultSemaphore;
-    private OriginVerifier mUseAsOriginVerifier;
-    private OriginVerifier mHandleAllUrlsVerifier;
-    private volatile String mLastPackageName;
-    private volatile Uri mLastOrigin;
-    private volatile boolean mLastVerified;
-
-    @Before
-    public void setUp() throws Exception {
-        mHandleAllUrlsVerifier = new OriginVerifier(new TestOriginVerificationListener(),
-                PACKAGE_NAME, CustomTabsService.RELATION_HANDLE_ALL_URLS);
-        mUseAsOriginVerifier = new OriginVerifier(new TestOriginVerificationListener(),
-                PACKAGE_NAME, CustomTabsService.RELATION_USE_AS_ORIGIN);
-        mVerificationResultSemaphore = new Semaphore(0);
-    }
 
     @Test
     @SmallTest
@@ -70,48 +31,4 @@
         Assert.assertEquals(OriginVerifier.getCertificateSHA256FingerprintForPackage(PACKAGE_NAME),
                 SHA_256_FINGERPRINT);
     }
-
-    @Test
-    @SmallTest
-    public void testOnlyHttpsAllowed() throws InterruptedException {
-        ThreadUtils.postOnUiThread(() -> mHandleAllUrlsVerifier.start(Uri.parse("LOL")));
-        Assert.assertTrue(
-                mVerificationResultSemaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-        Assert.assertFalse(mLastVerified);
-        ThreadUtils.postOnUiThread(() -> mHandleAllUrlsVerifier.start(TEST_HTTP_ORIGIN));
-        Assert.assertTrue(
-                mVerificationResultSemaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-        Assert.assertFalse(mLastVerified);
-    }
-
-    @Test
-    @SmallTest
-    public void testMultipleRelationships() throws Exception {
-        ThreadUtils.postOnUiThread(
-                ()
-                        -> OriginVerifier.addVerifiedOriginForPackage(PACKAGE_NAME,
-                                TEST_HTTPS_ORIGIN_1, CustomTabsService.RELATION_USE_AS_ORIGIN));
-        ThreadUtils.postOnUiThread(() -> mUseAsOriginVerifier.start(TEST_HTTPS_ORIGIN_1));
-        Assert.assertTrue(
-                mVerificationResultSemaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-        Assert.assertTrue(mLastVerified);
-        Assert.assertTrue(ThreadUtils.runOnUiThreadBlocking(new Callable<Boolean>() {
-            @Override
-            public Boolean call() throws Exception {
-                return OriginVerifier.isValidOrigin(PACKAGE_NAME, TEST_HTTPS_ORIGIN_1,
-                        CustomTabsService.RELATION_USE_AS_ORIGIN);
-            }
-        }));
-        Assert.assertFalse(ThreadUtils.runOnUiThreadBlocking(new Callable<Boolean>() {
-            @Override
-            public Boolean call() throws Exception {
-                return OriginVerifier.isValidOrigin(PACKAGE_NAME, TEST_HTTPS_ORIGIN_1,
-                        CustomTabsService.RELATION_HANDLE_ALL_URLS);
-            }
-        }));
-        Assert.assertEquals(mLastPackageName, PACKAGE_NAME);
-        Assert.assertEquals(mLastOrigin,
-                OriginVerifier.getPostMessageOriginFromVerifiedOrigin(
-                        PACKAGE_NAME, TEST_HTTPS_ORIGIN_1));
-    }
 }
diff --git a/chrome/browser/android/customtabs/origin_verifier.cc b/chrome/browser/android/customtabs/origin_verifier.cc
index 5a123c02..811046c 100644
--- a/chrome/browser/android/customtabs/origin_verifier.cc
+++ b/chrome/browser/android/customtabs/origin_verifier.cc
@@ -37,15 +37,13 @@
                                   const JavaParamRef<jobject>& obj,
                                   const JavaParamRef<jstring>& j_package_name,
                                   const JavaParamRef<jstring>& j_fingerprint,
-                                  const JavaParamRef<jstring>& j_origin,
-                                  const JavaParamRef<jstring>& j_relationship) {
-  if (!j_package_name || !j_fingerprint || !j_origin || !j_relationship)
+                                  const JavaParamRef<jstring>& j_origin) {
+  if (!j_package_name || !j_fingerprint || !j_origin)
     return false;
 
   std::string package_name = ConvertJavaStringToUTF8(env, j_package_name);
   std::string fingerprint = ConvertJavaStringToUTF8(env, j_fingerprint);
   std::string origin = ConvertJavaStringToUTF8(env, j_origin);
-  std::string relationship = ConvertJavaStringToUTF8(env, j_relationship);
 
   // Multiple calls here will end up resetting the callback on the handler side
   // and cancelling previous requests.
@@ -56,7 +54,8 @@
   return asset_link_handler_->CheckDigitalAssetLinkRelationship(
       base::Bind(&customtabs::OriginVerifier::OnRelationshipCheckComplete,
                  base::Unretained(this)),
-      origin, package_name, fingerprint, relationship);
+      origin, package_name, fingerprint,
+      "delegate_permission/common.use_as_origin");
 }
 
 void OriginVerifier::OnRelationshipCheckComplete(
diff --git a/chrome/browser/android/customtabs/origin_verifier.h b/chrome/browser/android/customtabs/origin_verifier.h
index 86dfca1..517bcf1 100644
--- a/chrome/browser/android/customtabs/origin_verifier.h
+++ b/chrome/browser/android/customtabs/origin_verifier.h
@@ -34,8 +34,7 @@
                     const base::android::JavaParamRef<jobject>& obj,
                     const base::android::JavaParamRef<jstring>& j_package_name,
                     const base::android::JavaParamRef<jstring>& j_fingerprint,
-                    const base::android::JavaParamRef<jstring>& j_origin,
-                    const base::android::JavaParamRef<jstring>& j_relationship);
+                    const base::android::JavaParamRef<jstring>& j_origin);
 
   void Destroy(JNIEnv* env, const base::android::JavaRef<jobject>& obj);