Fix crash when opening in new tab

This commit is contained in:
James Magahern
2020-09-24 16:36:31 -07:00
parent d0713b5f11
commit 6e0e2a0f20
5 changed files with 45 additions and 30 deletions

View File

@@ -18,7 +18,7 @@ class Tab: NSObject, SBRProcessBundleBridgeDelegate
public weak var delegate: TabDelegate?
public let homeURL: URL?
public let bridge = SBRProcessBundleBridge()
public let bridge: SBRProcessBundleBridge
public var webView: WKWebView {
if self.loadedWebView == nil {
self.loadedWebView = bridge.webView
@@ -53,17 +53,19 @@ class Tab: NSObject, SBRProcessBundleBridgeDelegate
private var urlObservation: NSKeyValueObservation?
convenience init(policyManager: ResourcePolicyManager) {
self.init(url: nil, policyManager: policyManager)
self.init(url: nil, policyManager: policyManager, webViewConfiguration: nil)
}
convenience init(urlString: String, policyManager: ResourcePolicyManager) {
self.init(url: URL(string: urlString), policyManager: policyManager)
self.init(url: URL(string: urlString), policyManager: policyManager, webViewConfiguration: nil)
}
init(url: URL?, policyManager: ResourcePolicyManager) {
init(url: URL?, policyManager: ResourcePolicyManager, webViewConfiguration: WKWebViewConfiguration?) {
self.homeURL = url
self.policyManager = policyManager
bridge.policyDataSource = policyManager
self.bridge = SBRProcessBundleBridge(webViewConfiguration: webViewConfiguration)
self.bridge.policyDataSource = policyManager
super.init()

View File

@@ -26,7 +26,11 @@ class TabController
}
func createNewTab(url: URL?) -> Tab {
let tab = Tab(url: url, policyManager: policyManager)
return self.createNewTab(url: url, webViewConfiguration: nil)
}
func createNewTab(url: URL?, webViewConfiguration: WKWebViewConfiguration?) -> Tab {
let tab = Tab(url: url, policyManager: policyManager, webViewConfiguration: webViewConfiguration)
tabs.append(tab)
return tab