Convert script policy to ObjC

This commit is contained in:
James Magahern
2021-10-21 11:05:40 -07:00
parent 31787f57ae
commit 70486c49de
11 changed files with 206 additions and 92 deletions

View File

@@ -30,6 +30,10 @@ class ResourcePolicyManager: NSObject, SBRResourceOriginPolicyDataSource
func allowedOriginsForScriptResources() -> Set<String> { allowedOriginSet }
func scriptPolicyTypeByOrigin() -> [String : NSNumber] {
return scriptPolicies.mapValues { NSNumber(integerLiteral: $0.rawValue) }
}
private lazy var scriptPolicies: Dictionary<String, ScriptPolicy.PolicyType> = {
if let existingDict = UserDefaults.standard.dictionary(forKey: Self.OriginPoliciesDefaultsKey) as? Dictionary<String, Int> {
return existingDict.mapValues { ScriptPolicy.PolicyType(rawValue: $0)! }
@@ -53,10 +57,10 @@ class ResourcePolicyManager: NSObject, SBRResourceOriginPolicyDataSource
func scriptPolicy(forOrigin origin: String) -> ScriptPolicy {
if let policyType = scriptPolicies[origin] {
return ScriptPolicy(policyType: policyType, securityOrigin: origin)
return ScriptPolicy(securityOrigin: origin, policyType: policyType)
}
return ScriptPolicy(policyType: .alpha, securityOrigin: origin)
return ScriptPolicy(securityOrigin: origin, policyType: .alpha)
}
func setScriptPolicyType(_ policyType: ScriptPolicy.PolicyType, forOrigin origin: String) {