diff options
Diffstat (limited to 'src/background/presenters/tab.js')
-rw-r--r-- | src/background/presenters/tab.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/background/presenters/tab.js b/src/background/presenters/tab.js index be6955a..2a06a5a 100644 --- a/src/background/presenters/tab.js +++ b/src/background/presenters/tab.js @@ -48,6 +48,41 @@ export default class TabPresenter { return browser.tabs.remove(ids); } + async reopen() { + let window = await browser.windows.getCurrent(); + let sessions = await browser.sessions.getRecentlyClosed(); + let session = sessions.find((s) => { + return s.tab && s.tab.windowId === window.id; + }); + if (!session) { + return; + } + if (session.tab) { + return browser.sessions.restore(session.tab.sessionId); + } + return browser.sessions.restore(session.window.sessionId); + } + + reload(tabId, cache) { + return browser.tabs.reload(tabId, { bypassCache: cache }); + } + + setPinned(tabId, pinned) { + return browser.tabs.update(tabId, { pinned }); + } + + duplicate(id) { + return browser.tabs.duplicate(id); + } + + getZoom(tabId) { + return browser.tabs.getZoom(tabId); + } + + setZoom(tabId, factor) { + return browser.tabs.setZoom(tabId, factor); + } + async createAdjacent(url, { openerTabId, active }) { let tabs = await browser.tabs.query({ active: true, currentWindow: true |