Support for links that want to open in new tabs
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
import UIKit
|
import UIKit
|
||||||
import UniformTypeIdentifiers
|
import UniformTypeIdentifiers
|
||||||
|
|
||||||
class BrowserViewController: UIViewController, WKNavigationDelegate,
|
class BrowserViewController: UIViewController, WKNavigationDelegate, WKUIDelegate,
|
||||||
UITextFieldDelegate, ScriptPolicyViewControllerDelegate,
|
UITextFieldDelegate, ScriptPolicyViewControllerDelegate,
|
||||||
UIPopoverPresentationControllerDelegate, TabDelegate, TabPickerViewControllerDelegate
|
UIPopoverPresentationControllerDelegate, TabDelegate, TabPickerViewControllerDelegate
|
||||||
{
|
{
|
||||||
@@ -190,6 +190,7 @@ class BrowserViewController: UIViewController, WKNavigationDelegate,
|
|||||||
let webView = tab.webView
|
let webView = tab.webView
|
||||||
webView.allowsBackForwardNavigationGestures = true
|
webView.allowsBackForwardNavigationGestures = true
|
||||||
webView.navigationDelegate = self
|
webView.navigationDelegate = self
|
||||||
|
webView.uiDelegate = self
|
||||||
|
|
||||||
// Change webView
|
// Change webView
|
||||||
browserView.webView = webView
|
browserView.webView = webView
|
||||||
@@ -309,6 +310,18 @@ class BrowserViewController: UIViewController, WKNavigationDelegate,
|
|||||||
self.loadError = error
|
self.loadError = error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MARK: WKUIDelegate
|
||||||
|
|
||||||
|
func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView?
|
||||||
|
{
|
||||||
|
let newTab = tabController.createNewTab(url: nil)
|
||||||
|
newTab.webView.load(navigationAction.request)
|
||||||
|
|
||||||
|
self.tab = newTab
|
||||||
|
|
||||||
|
return newTab.webView
|
||||||
|
}
|
||||||
|
|
||||||
// MARK: UITextField Delegate
|
// MARK: UITextField Delegate
|
||||||
|
|
||||||
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
|
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
|
||||||
|
|||||||
Reference in New Issue
Block a user