Files
Attractor/SBrowser/Tabs/TabController.swift

41 lines
786 B
Swift
Raw Normal View History

//
// TabController.swift
// SBrowser
//
// Created by James Magahern on 7/30/20.
//
import Foundation
class TabController
{
var tabs: [Tab] = []
var policyManager = ResourcePolicyManager()
init() {
// TODO: load tabs from disk.
_ = createNewTab()
}
func tab(forURL url: URL) -> Tab? {
tabs.first { $0.url == url }
}
func tab(forIdentifier identifier: UUID) -> Tab? {
tabs.first { $0.identifier == identifier }
}
func createNewTab() -> Tab {
2020-07-31 14:39:18 -07:00
let tab = Tab(policyManager: policyManager)
tabs.append(tab)
return tab
}
func closeTab(_ tab: Tab) {
if let index = tabs.firstIndex(of: tab) {
tabs.remove(at: index)
}
}
}