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);