summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrant Limberg <glimberg@gmail.com>2016-07-26 18:21:39 -0700
committerGrant Limberg <glimberg@gmail.com>2016-07-26 18:21:39 -0700
commit62befe006d892cbfb3aefa80d8469068d0e1f39f (patch)
tree82249f829788664eadacad45e285b7aa3f880c4c
parent693ac4e86c583a21614b42b0644b813006e9c481 (diff)
downloadinfinitytier-62befe006d892cbfb3aefa80d8469068d0e1f39f.tar.gz
infinitytier-62befe006d892cbfb3aefa80d8469068d0e1f39f.zip
Route clicked links in the web view to the default web browser
-rw-r--r--ZeroTier One/AboutViewController.swift18
1 files changed, 17 insertions, 1 deletions
diff --git a/ZeroTier One/AboutViewController.swift b/ZeroTier One/AboutViewController.swift
index 35929dcd..2e24e54d 100644
--- a/ZeroTier One/AboutViewController.swift
+++ b/ZeroTier One/AboutViewController.swift
@@ -9,13 +9,15 @@
import Cocoa
import WebKit
-class AboutViewController: NSViewController {
+class AboutViewController: NSViewController, WebPolicyDelegate {
@IBOutlet var webView: WebView!
override func viewDidLoad() {
super.viewDidLoad()
+
+ webView.policyDelegate = self
// Do view setup here.
let bundle = NSBundle.mainBundle()
let path = bundle.URLForResource("about", withExtension: "html")
@@ -24,5 +26,19 @@ class AboutViewController: NSViewController {
webView.mainFrame.loadRequest(NSURLRequest(URL: url))
}
}
+
+
+ func webView(webView: WebView!,
+ decidePolicyForNavigationAction actionInformation: [NSObject : AnyObject]!,
+ request: NSURLRequest!,
+ frame: WebFrame!,
+ decisionListener listener: WebPolicyDecisionListener!) {
+ if (request.URL?.host) != nil {
+ NSWorkspace.sharedWorkspace().openURL(request.URL!)
+ }
+ else {
+ listener.use()
+ }
+ }
}