2020-07-22 19:29:38 -07:00
|
|
|
//
|
|
|
|
|
// ResourcePolicyManager.swift
|
|
|
|
|
// SBrowser
|
|
|
|
|
//
|
|
|
|
|
// Created by James Magahern on 7/22/20.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
import Foundation
|
|
|
|
|
|
|
|
|
|
class ResourcePolicyManager: NSObject, SBRResourceOriginPolicyDataSource
|
|
|
|
|
{
|
|
|
|
|
static let AllowedOriginsDefaultsKey = "allowedOrigins"
|
|
|
|
|
private var allowedOriginSet: Set<String> = {
|
|
|
|
|
if let allowedOrigins = UserDefaults.standard.array(forKey: AllowedOriginsDefaultsKey) as? [String] {
|
|
|
|
|
return Set<String>(allowedOrigins)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Set<String>()
|
|
|
|
|
}()
|
|
|
|
|
|
|
|
|
|
func allowedOriginsForScriptResources() -> Set<String>
|
|
|
|
|
{
|
|
|
|
|
allowedOriginSet
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func allowOriginToLoadScriptResources(_ origin: String)
|
|
|
|
|
{
|
|
|
|
|
allowedOriginSet.formUnion([ origin ])
|
2020-07-24 19:26:35 -07:00
|
|
|
UserDefaults.standard.set(Array(allowedOriginSet), forKey: Self.AllowedOriginsDefaultsKey)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func disallowOriginToLoadScriptResources(_ origin: String)
|
|
|
|
|
{
|
|
|
|
|
allowedOriginSet.remove(origin)
|
|
|
|
|
UserDefaults.standard.set(Array(allowedOriginSet), forKey: Self.AllowedOriginsDefaultsKey)
|
2020-07-22 19:29:38 -07:00
|
|
|
}
|
|
|
|
|
}
|