Adds keyboard shortcuts for changing script policy
This commit is contained in:
@@ -177,4 +177,40 @@ extension BrowserViewController: ShortcutResponder
|
||||
createNewTab(withURL: event.url)
|
||||
}
|
||||
}
|
||||
|
||||
func raiseScriptPolicyRestriction(_ sender: Any?) {
|
||||
guard let hostOrigin = currentTab.webView.url?.securityOrigin else { return }
|
||||
let currentPolicy = policyManager.scriptPolicy(forOrigin: hostOrigin)
|
||||
policyManager.setScriptPolicyType(currentPolicy.policyType--, forOrigin: hostOrigin)
|
||||
didChangeScriptPolicy()
|
||||
}
|
||||
|
||||
func lowerScriptPolicyRestriction(_ sender: Any?) {
|
||||
guard let hostOrigin = currentTab.webView.url?.securityOrigin else { return }
|
||||
let currentPolicy = policyManager.scriptPolicy(forOrigin: hostOrigin)
|
||||
policyManager.setScriptPolicyType(currentPolicy.policyType++, forOrigin: hostOrigin)
|
||||
didChangeScriptPolicy()
|
||||
}
|
||||
}
|
||||
|
||||
extension ScriptPolicy.PolicyType {
|
||||
static postfix func ++ (obj: ScriptPolicy.PolicyType) -> ScriptPolicy.PolicyType {
|
||||
switch obj {
|
||||
case .alpha: .bravo
|
||||
case .bravo: .charlie
|
||||
case .charlie: .delta
|
||||
case .delta: .echo
|
||||
default: obj
|
||||
}
|
||||
}
|
||||
|
||||
static postfix func -- (obj: ScriptPolicy.PolicyType) -> ScriptPolicy.PolicyType {
|
||||
switch obj {
|
||||
case .bravo: .alpha
|
||||
case .charlie: .bravo
|
||||
case .delta: .charlie
|
||||
case .echo: .delta
|
||||
default: obj
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user