Initial commit
Able to actually block scripts using a plugin, have XPC set up between plugin and host process. Limited UI support
This commit is contained in:
31
SBrowser/Backend/ResourcePolicyManager.swift
Normal file
31
SBrowser/Backend/ResourcePolicyManager.swift
Normal file
@@ -0,0 +1,31 @@
|
||||
//
|
||||
// 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 ])
|
||||
UserDefaults.standard.set(allowedOriginSet, forKey: Self.AllowedOriginsDefaultsKey)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user