User:Fyan/Improving Tab Hierarchy
Jump to navigation
Jump to search
openNewTab(newTab, trigger):
IF trigger = newTabButton:
openTab('about:blank')
ELSE:
openTab('about:blank', { opener : tab, position : tab.position + 1 })
onOpenLinkInNewTab(newTab, openerTab):
newTab.opener := openerTab
onTabClose(closedTab):
FOR EACH tab IN tabs:
IF tab.opener = closedTab:
tab.opener := closedTab.opener
prev := closedTab.prevSibling
next := closedTab.nextSibling
IF next AND next.opener AND next.opener = closedTab.opener:
selectTab(next)
ELSE IF prev AND prev.opener AND prev.opener = closedTab.opener:
selectTab(prev)
ELSE IF prev AND prev = closedTab.opener:
selectTab(prev)
ELSE IF next:
selectTab(next)
ELSE IF prev:
selectTab(prev)
ELSE IF pref('closeWindowWithLastTab'):
closeWindow()
ELSE:
openTab('about:blank')
onTabSelect(from, to):
IF from.opener = to
OR to.opener = from
OR from.opener = to.opener:
RETURN
ELSE:
FOR EACH tab IN tabs:
tab.opener := NULL
onTabMove():
FOR EACH tab IN tabs:
tab.opener := NULL