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:
James Magahern
2020-07-22 19:29:38 -07:00
commit cddc684f54
22 changed files with 1390 additions and 0 deletions

View 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)
}
}