diff --git a/App/Browser View/BrowserViewController.swift b/App/Browser View/BrowserViewController.swift index 69e3a98..65d48da 100644 --- a/App/Browser View/BrowserViewController.swift +++ b/App/Browser View/BrowserViewController.swift @@ -8,7 +8,7 @@ import UIKit import UniformTypeIdentifiers -class BrowserViewController: UIViewController, WKNavigationDelegate, +class BrowserViewController: UIViewController, WKNavigationDelegate, WKUIDelegate, UITextFieldDelegate, ScriptPolicyViewControllerDelegate, UIPopoverPresentationControllerDelegate, TabDelegate, TabPickerViewControllerDelegate { @@ -190,6 +190,7 @@ class BrowserViewController: UIViewController, WKNavigationDelegate, let webView = tab.webView webView.allowsBackForwardNavigationGestures = true webView.navigationDelegate = self + webView.uiDelegate = self // Change webView browserView.webView = webView @@ -309,6 +310,18 @@ class BrowserViewController: UIViewController, WKNavigationDelegate, 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 func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {