TabPickerViewController: Refactor to not reference tab controller directly.

This commit is contained in:
James Magahern
2022-08-05 15:13:37 -07:00
parent ace7917080
commit 1db6cf54a9
7 changed files with 181 additions and 112 deletions

View File

@@ -17,6 +17,17 @@ class Tab: NSObject, SBRProcessBundleBridgeDelegate
{
public weak var delegate: TabDelegate?
public var tabInfo: TabInfo {
get {
TabInfo(
title: loadedWebView?.title,
url: loadedWebView?.url ?? self.homeURL,
favicon: self.favicon,
identifier: self.identifier
)
}
}
public let homeURL: URL?
public let bridge: ProcessBundleBridge
public var webView: WKWebView {
@@ -33,8 +44,8 @@ class Tab: NSObject, SBRProcessBundleBridgeDelegate
public var policyManager: ResourcePolicyManager
private var loadedWebView: WKWebView? = nil
public var title: String? { loadedWebView?.title }
public var url: URL? { loadedWebView?.url ?? self.homeURL }
public var title: String? { get { tabInfo.title } }
public var url: URL? { get { tabInfo.url } }
public var javaScriptEnabled: Bool = false {
didSet { bridge.allowAllScripts = javaScriptEnabled }