Fix crash, stale allowAllScripts and allowedOrigins
This commit is contained in:
@@ -90,8 +90,9 @@ class ScriptPolicyViewController: UIViewController, UICollectionViewDelegate
|
||||
|
||||
private static let enableScriptsForTabItem: String = "enableScriptsForTab"
|
||||
|
||||
convenience init(policyManager: ResourcePolicyManager, hostOrigin: String, loadedScripts: Set<String>) {
|
||||
convenience init(policyManager: ResourcePolicyManager, hostOrigin: String, loadedScripts: Set<String>, scriptsAllowedForTab: Bool) {
|
||||
self.init(nibName: nil, bundle: nil)
|
||||
allowScriptsForTab = scriptsAllowedForTab
|
||||
|
||||
let listConfig = UICollectionLayoutListConfiguration(appearance: .grouped)
|
||||
let listLayout = UICollectionViewCompositionalLayout.list(using: listConfig)
|
||||
@@ -117,7 +118,9 @@ class ScriptPolicyViewController: UIViewController, UICollectionViewDelegate
|
||||
// Hide script origins
|
||||
snapshot.deleteSections([ .origins ])
|
||||
} else {
|
||||
snapshot.appendSections([ .origins ])
|
||||
if !snapshot.sectionIdentifiers.contains(.origins) {
|
||||
snapshot.appendSections([ .origins ])
|
||||
}
|
||||
snapshot.appendItems(originItems, toSection: .origins)
|
||||
}
|
||||
|
||||
@@ -177,9 +180,14 @@ class ScriptPolicyViewController: UIViewController, UICollectionViewDelegate
|
||||
collectionView.delegate = self
|
||||
|
||||
var snapshot = dataSource.snapshot()
|
||||
snapshot.appendSections([ .tabOptions, .origins ])
|
||||
snapshot.appendSections([ .tabOptions ])
|
||||
snapshot.appendItems([ Self.enableScriptsForTabItem ], toSection: .tabOptions)
|
||||
snapshot.appendItems(originItems, toSection: .origins)
|
||||
|
||||
if !allowScriptsForTab {
|
||||
snapshot.appendSections([ .origins ])
|
||||
snapshot.appendItems(originItems, toSection: .origins)
|
||||
}
|
||||
|
||||
dataSource.apply(snapshot)
|
||||
|
||||
self.dataSource = dataSource
|
||||
|
||||
Reference in New Issue
Block a user