diff --git a/Sources/BrowserServicesKit/SecureVault/SecureVaultManager.swift b/Sources/BrowserServicesKit/SecureVault/SecureVaultManager.swift index cc2794017..5b760c8b2 100644 --- a/Sources/BrowserServicesKit/SecureVault/SecureVaultManager.swift +++ b/Sources/BrowserServicesKit/SecureVault/SecureVaultManager.swift @@ -35,6 +35,8 @@ public struct AutofillData { } public protocol SecureVaultManagerDelegate: SecureVaultErrorReporting { + + func secureVaultManagerIsEnabledStatus(_: SecureVaultManager) -> Bool func secureVaultManager(_: SecureVaultManager, promptUserToStoreAutofillData data: AutofillData) @@ -75,6 +77,10 @@ extension SecureVaultManager: AutofillSecureVaultDelegate { [SecureVaultModels.CreditCard]) -> Void) { do { + guard let delegate = delegate, delegate.secureVaultManagerIsEnabledStatus(self) else { + completionHandler([], [], []) + return + } let vault = try self.vault ?? SecureVaultFactory.default.makeVault(errorReporter: self.delegate) let accounts = try vault.accountsFor(domain: domain) let identities = try vault.identities() diff --git a/Tests/BrowserServicesKitTests/SecureVault/SecureVaultManagerTests.swift b/Tests/BrowserServicesKitTests/SecureVault/SecureVaultManagerTests.swift index 13e1a5ec4..7aed655ae 100644 --- a/Tests/BrowserServicesKitTests/SecureVault/SecureVaultManagerTests.swift +++ b/Tests/BrowserServicesKitTests/SecureVault/SecureVaultManagerTests.swift @@ -337,6 +337,10 @@ private class MockSecureVaultManagerDelegate: SecureVaultManagerDelegate { private(set) var promptedAutofillData: AutofillData? + func secureVaultManagerIsEnabledStatus(_: SecureVaultManager) -> Bool { + return true + } + func secureVaultManager(_: SecureVaultManager, promptUserToStoreAutofillData data: AutofillData) { self.promptedAutofillData = data }