Skip to content

Commit fbab23a

Browse files
committed
Permission assertions handled
1 parent 09bf206 commit fbab23a

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

macOS/DuckDuckGo/Permissions/Model/PermissionManager.swift

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,12 @@
1717
//
1818

1919
import Foundation
20+
import BrowserServicesKit
2021
import Combine
2122
import Common
23+
import FeatureFlags
2224
import os.log
25+
import AppKit
2326

2427
protocol PermissionManagerProtocol: AnyObject {
2528

@@ -39,13 +42,15 @@ protocol PermissionManagerProtocol: AnyObject {
3942
final class PermissionManager: PermissionManagerProtocol {
4043

4144
private let store: PermissionStore
45+
private let featureFlagger: FeatureFlagger
4246
private var permissions = [String: [PermissionType: StoredPermission]]()
4347

4448
private let permissionSubject = PassthroughSubject<PublishedPermission, Never>()
4549
var permissionPublisher: AnyPublisher<PublishedPermission, Never> { permissionSubject.eraseToAnyPublisher() }
4650

47-
init(store: PermissionStore) {
51+
init(store: PermissionStore, featureFlagger: FeatureFlagger = NSApp.delegateTyped.featureFlagger) {
4852
self.store = store
53+
self.featureFlagger = featureFlagger
4954
loadPermissions()
5055
}
5156

@@ -76,8 +81,11 @@ final class PermissionManager: PermissionManagerProtocol {
7681
}
7782

7883
func setPermission(_ decision: PersistedPermissionDecision, forDomain domain: String, permissionType: PermissionType) {
79-
assert(permissionType.canPersistGrantedDecision || decision != .allow)
80-
assert(permissionType.canPersistDeniedDecision || decision != .deny)
84+
85+
if !featureFlagger.isFeatureOn(.newPermissionView) {
86+
assert(permissionType.canPersistGrantedDecision || decision != .allow)
87+
assert(permissionType.canPersistDeniedDecision || decision != .deny)
88+
}
8189

8290
let storedPermission: StoredPermission
8391
let domain = domain.droppingWwwPrefix()

0 commit comments

Comments
 (0)