Commit 97d14272 authored by Peter E Conn's avatar Peter E Conn Committed by Chromium LUCI CQ

🍱 Move browserservices verification code into separate package.

This moves the browserservices code to do with verification into a
separate package and makes its dependencies explicit.

Change-Id: I8776ca289021cf319b4518acb1e4089cf4f9dc3f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2563260
Commit-Queue: Peter Conn <peconn@chromium.org>
Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#836618}
parent ed045b8d
......@@ -3235,10 +3235,10 @@ generate_jni("chrome_jni_headers") {
"java/src/org/chromium/chrome/browser/background_task_scheduler/ProxyNativeTask.java",
"java/src/org/chromium/chrome/browser/banners/AppBannerManagerHelper.java",
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java",
"java/src/org/chromium/chrome/browser/browserservices/OriginVerifier.java",
"java/src/org/chromium/chrome/browser/browserservices/QualityEnforcer.java",
"java/src/org/chromium/chrome/browser/browserservices/permissiondelegation/InstalledWebappBridge.java",
"java/src/org/chromium/chrome/browser/browserservices/permissiondelegation/InstalledWebappGeolocationBridge.java",
"java/src/org/chromium/chrome/browser/browserservices/verification/OriginVerifier.java",
"java/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridge.java",
"java/src/org/chromium/chrome/browser/browsing_data/BrowsingDataCounterBridge.java",
"java/src/org/chromium/chrome/browser/browsing_data/UrlFilterBridge.java",
......
......@@ -188,13 +188,11 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/browserservices/OriginVerifier.java",
"java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java",
"java/src/org/chromium/chrome/browser/browserservices/QualityEnforcer.java",
"java/src/org/chromium/chrome/browser/browserservices/Relationship.java",
"java/src/org/chromium/chrome/browser/browserservices/SessionDataHolder.java",
"java/src/org/chromium/chrome/browser/browserservices/SessionHandler.java",
"java/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityClient.java",
"java/src/org/chromium/chrome/browser/browserservices/TrustedWebActivitySettingsLauncher.java",
"java/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityUmaRecorder.java",
"java/src/org/chromium/chrome/browser/browserservices/VerificationResultStore.java",
"java/src/org/chromium/chrome/browser/browserservices/digitalgoods/AcknowledgeConverter.java",
"java/src/org/chromium/chrome/browser/browserservices/digitalgoods/DigitalGoodsAdapter.java",
"java/src/org/chromium/chrome/browser/browserservices/digitalgoods/DigitalGoodsConverter.java",
......@@ -243,6 +241,9 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/browserservices/ui/view/DisclosureInfobar.java",
"java/src/org/chromium/chrome/browser/browserservices/ui/view/DisclosureNotification.java",
"java/src/org/chromium/chrome/browser/browserservices/ui/view/DisclosureSnackbar.java",
"java/src/org/chromium/chrome/browser/browserservices/verification/OriginVerifier.java",
"java/src/org/chromium/chrome/browser/browserservices/verification/Relationship.java",
"java/src/org/chromium/chrome/browser/browserservices/verification/VerificationResultStore.java",
"java/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridge.java",
"java/src/org/chromium/chrome/browser/browsing_data/BrowsingDataCounterBridge.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataCheckBoxPreference.java",
......
......@@ -78,7 +78,6 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java",
"javatests/src/org/chromium/chrome/browser/bookmarks/bottomsheet/BookmarkBottomSheetTest.java",
"javatests/src/org/chromium/chrome/browser/browserservices/ManageTrustedWebActivityDataActivityTest.java",
"javatests/src/org/chromium/chrome/browser/browserservices/OriginVerifierTest.java",
"javatests/src/org/chromium/chrome/browser/browserservices/QualityEnforcerTest.java",
"javatests/src/org/chromium/chrome/browser/browserservices/RunningInChromeTest.java",
"javatests/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityClientLocationDelegationTest.java",
......@@ -95,6 +94,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/browserservices/ui/controller/CurrentPageVerifierTest.java",
"javatests/src/org/chromium/chrome/browser/browserservices/ui/controller/TestVerifier.java",
"javatests/src/org/chromium/chrome/browser/browserservices/ui/controller/trustedwebactivity/TrustedWebActivityCurrentPageVerifierTest.java",
"javatests/src/org/chromium/chrome/browser/browserservices/verification/OriginVerifierTest.java",
"javatests/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridgeTest.java",
"javatests/src/org/chromium/chrome/browser/browsing_data/BrowsingDataRemoverIntegrationTest.java",
"javatests/src/org/chromium/chrome/browser/browsing_data/BrowsingDataTest.java",
......
......@@ -88,7 +88,7 @@ https://chromium.googlesource.com/chromium/src/+/master/build/android/docs/lint.
</issue>
<issue id="Overdraw" severity="ignore"/>
<issue id="PackageManagerGetSignatures">
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/browserservices/OriginVerifier.java"/>
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/browserservices/verification/OriginVerifier.java"/>
<ignore regexp="chrome/android/webapk/libs/client/src/org/chromium/webapk/lib/client/WebApkValidator.java"/>
</issue>
<issue id="PluralsCandidate">
......
......@@ -13,7 +13,8 @@ import androidx.browser.customtabs.PostMessageBackend;
import org.chromium.base.ContextUtils;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.browserservices.OriginVerifier.OriginVerificationListener;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier.OriginVerificationListener;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.components.embedder_support.util.Origin;
import org.chromium.content_public.browser.MessagePort;
......
......@@ -9,8 +9,8 @@ import androidx.browser.customtabs.CustomTabsService;
import org.chromium.base.Promise;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.browserservices.OriginVerifier;
import org.chromium.chrome.browser.browserservices.ui.controller.Verifier;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
import org.chromium.chrome.browser.dependency_injection.ActivityScope;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
......
noparent = True
include_rules = [
"+base/android/java/src/org/chromium/base",
"!chrome/android/java/src/org/chromium/chrome/browser/browserservices",
"+chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences",
"+chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles",
"+components/embedder_support/android/java/src/org/chromium/components/embedder_support/util",
"+components/externalauth/android/java/src/org/chromium/components/externalauth",
"+content/public/android/java/src/org/chromium/content_public/browser",
]
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.browserservices;
package org.chromium.chrome.browser.browserservices.verification;
import org.chromium.components.embedder_support.util.Origin;
......@@ -18,8 +18,8 @@ public class Relationship {
public final String signatureFingerprint;
/** Creates a {@link Relationship} to hold relationship details. */
public Relationship(String packageName, String signatureFingerprint, Origin origin,
int relation) {
public Relationship(
String packageName, String signatureFingerprint, Origin origin, int relation) {
this.packageName = packageName;
this.signatureFingerprint = signatureFingerprint;
this.origin = origin;
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.browserservices;
package org.chromium.chrome.browser.browserservices.verification;
import androidx.annotation.VisibleForTesting;
......@@ -22,23 +22,23 @@ import java.util.Set;
* Thread safety: Methods can be called on any thread.
*/
public class VerificationResultStore {
/* package */ static void addRelationship(Relationship relationship) {
static void addRelationship(Relationship relationship) {
Set<String> savedLinks = getRelationships();
savedLinks.add(relationship.toString());
setRelationships(savedLinks);
}
/* package */ static void removeRelationship(Relationship relationship) {
static void removeRelationship(Relationship relationship) {
Set<String> savedLinks = getRelationships();
savedLinks.remove(relationship.toString());
setRelationships(savedLinks);
}
/* package */ static boolean isRelationshipSaved(Relationship relationship) {
static boolean isRelationshipSaved(Relationship relationship) {
return getRelationships().contains(relationship.toString());
}
/* package */ static void clearStoredRelationships() {
static void clearStoredRelationships() {
ThreadUtils.assertOnUiThread();
setRelationships(Collections.emptySet());
}
......
......@@ -30,9 +30,9 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.browserservices.OriginVerifier;
import org.chromium.chrome.browser.browserservices.OriginVerifier.OriginVerificationListener;
import org.chromium.chrome.browser.browserservices.PostMessageHandler;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier.OriginVerificationListener;
import org.chromium.chrome.browser.installedapp.InstalledAppProviderImpl;
import org.chromium.chrome.browser.installedapp.PackageManagerDelegate;
import org.chromium.components.embedder_support.util.Origin;
......
......@@ -19,9 +19,9 @@ import androidx.browser.customtabs.CustomTabsSessionToken;
import org.chromium.base.Log;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.browserservices.OriginVerifier;
import org.chromium.chrome.browser.browserservices.SessionDataHolder;
import org.chromium.chrome.browser.browserservices.SessionHandler;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler;
import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbarCoordinator;
......
......@@ -32,7 +32,7 @@ import org.junit.runner.RunWith;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.UiThreadTest;
import org.chromium.base.test.util.Feature;
import org.chromium.chrome.browser.browserservices.OriginVerifier;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier;
import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
import org.chromium.chrome.browser.customtabs.CustomTabsTestUtils;
import org.chromium.chrome.browser.test.CommandLineInitRule;
......
......@@ -14,6 +14,7 @@ import androidx.browser.customtabs.TrustedWebUtils;
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.cc.input.BrowserControlsState;
import org.chromium.chrome.browser.browserservices.ui.controller.CurrentPageVerifier;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier;
import org.chromium.chrome.browser.customtabs.CustomTabActivity;
import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
import org.chromium.chrome.browser.customtabs.CustomTabsTestUtils;
......
include_rules = [
"+components/externalauth/android/java/src/org/chromium/components/externalauth",
]
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.browserservices;
package org.chromium.chrome.browser.browserservices.verification;
import android.util.Pair;
......@@ -19,7 +19,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.task.PostTask;
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.chrome.browser.browserservices.OriginVerifier.OriginVerificationListener;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier.OriginVerificationListener;
import org.chromium.chrome.browser.browsing_data.BrowsingDataBridge;
import org.chromium.chrome.browser.browsing_data.BrowsingDataType;
import org.chromium.chrome.browser.browsing_data.TimePeriod;
......@@ -80,8 +80,8 @@ public class OriginVerifierTest {
private class TestOriginVerificationListener implements OriginVerificationListener {
@Override
public void onOriginVerified(String packageName, Origin origin, boolean verified,
Boolean online) {
public void onOriginVerified(
String packageName, Origin origin, boolean verified, Boolean online) {
mLastPackageName = packageName;
mLastOrigin = origin;
mLastVerified = verified;
......@@ -132,7 +132,8 @@ public class OriginVerifierTest {
@SmallTest
public void testOnlyHttpsAllowed() throws InterruptedException {
PostTask.postTask(UiThreadTaskTraits.DEFAULT,
() -> mHandleAllUrlsVerifier.start(
()
-> mHandleAllUrlsVerifier.start(
new TestOriginVerificationListener(), mHttpOrigin));
Assert.assertTrue(
mVerificationResultSemaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
......@@ -143,19 +144,23 @@ public class OriginVerifierTest {
@SmallTest
public void testMultipleRelationships() throws Exception {
PostTask.postTask(UiThreadTaskTraits.DEFAULT,
() -> OriginVerifier.addVerificationOverride(PACKAGE_NAME, mHttpsOrigin,
()
-> OriginVerifier.addVerificationOverride(PACKAGE_NAME, mHttpsOrigin,
CustomTabsService.RELATION_USE_AS_ORIGIN));
PostTask.postTask(UiThreadTaskTraits.DEFAULT,
() -> mUseAsOriginVerifier.start(
()
-> mUseAsOriginVerifier.start(
new TestOriginVerificationListener(), mHttpsOrigin));
Assert.assertTrue(
mVerificationResultSemaphore.tryAcquire(TIMEOUT_MS, TimeUnit.MILLISECONDS));
Assert.assertTrue(mLastVerified);
Assert.assertTrue(TestThreadUtils.runOnUiThreadBlocking(
() -> OriginVerifier.wasPreviouslyVerified(PACKAGE_NAME, mHttpsOrigin,
()
-> OriginVerifier.wasPreviouslyVerified(PACKAGE_NAME, mHttpsOrigin,
CustomTabsService.RELATION_USE_AS_ORIGIN)));
Assert.assertFalse(TestThreadUtils.runOnUiThreadBlocking(
() -> OriginVerifier.wasPreviouslyVerified(PACKAGE_NAME, mHttpsOrigin,
()
-> OriginVerifier.wasPreviouslyVerified(PACKAGE_NAME, mHttpsOrigin,
CustomTabsService.RELATION_HANDLE_ALL_URLS)));
Assert.assertEquals(mLastPackageName, PACKAGE_NAME);
Assert.assertEquals(mLastOrigin, mHttpsOrigin);
......
......@@ -26,8 +26,8 @@ import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.Criteria;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.MetricsUtils;
import org.chromium.chrome.browser.browserservices.OriginVerifier;
import org.chromium.chrome.browser.browserservices.PostMessageHandler;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier;
import org.chromium.components.embedder_support.util.Origin;
import org.chromium.content_public.browser.test.NativeLibraryTestUtils;
import org.chromium.content_public.browser.test.util.TestThreadUtils;
......
......@@ -91,8 +91,8 @@ import org.chromium.chrome.browser.WarmupManager;
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider.CustomTabsUiType;
import org.chromium.chrome.browser.browserservices.OriginVerifier;
import org.chromium.chrome.browser.browserservices.SessionDataHolder;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier;
import org.chromium.chrome.browser.contextmenu.RevampedContextMenuCoordinator;
import org.chromium.chrome.browser.customtabs.CustomTabsTestUtils.OnFinishedForTest;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityNavigationController.FinishReason;
......
......@@ -32,7 +32,7 @@ import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CriteriaHelper;
import org.chromium.base.test.util.MetricsUtils.HistogramDelta;
import org.chromium.chrome.browser.MockSafeBrowsingApiHandler;
import org.chromium.chrome.browser.browserservices.OriginVerifier;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier;
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.firstrun.FirstRunStatus;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
......
......@@ -28,8 +28,8 @@ import org.robolectric.annotation.Config;
import org.chromium.base.Promise;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.chrome.browser.browserservices.OriginVerifier;
import org.chromium.chrome.browser.browserservices.OriginVerifier.OriginVerificationListener;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier;
import org.chromium.chrome.browser.browserservices.verification.OriginVerifier.OriginVerificationListener;
import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider;
import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
......
......@@ -24,7 +24,7 @@ namespace digital_asset_links {
extern const char kDigitalAssetLinksCheckResponseKeyLinked[];
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.browserservices
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.browserservices.verification
enum class RelationshipCheckResult {
kSuccess = 0,
kFailure,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment