sessions.getRecentlyClosed()
{{AddonSidebar}}
Returns an array of {{WebExtAPIRef("sessions.Session", "Session")}}
objects, representing windows and tabs that were closed in the current browsing session (that is: the time since the browser was started).
This is an asynchronous function that returns a Promise
.
Syntax
let gettingSessions = browser.sessions.getRecentlyClosed(
filter // optional object
)
Parameters
filter
{{optional_inline}}
- :
object
. A{{WebExtAPIRef("sessions.Filter")}}
object that limits the set of sessions returned.
- :
Return value
A Promise
. This will be fulfilled with an array of {{WebExtAPIRef("sessions.Session", "Session")}}
objects, one for each of the most recently closed tabs or windows in the current browsing session, up to {{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}}
or the number included in the filter
argument, whichever is smaller. The array is given in the reverse of the order in which tabs or windows were closed, so the most recently closed will be at index 0.
If an error occurs, the promise will be rejected with an error message.
Browser compatibility
{{Compat}}
Examples
This code restores the single most recently-closed session, whether it’s a tab or a window:
function restoreMostRecent(sessionInfos) {
if (!sessionInfos.length) {
console.log("No sessions found");
return;
}
let sessionInfo = sessionInfos[0];
if (sessionInfo.tab) {
browser.sessions.restore(sessionInfo.tab.sessionId);
} else {
browser.sessions.restore(sessionInfo.window.sessionId);
}
}
function onError(error) {
console.log(error);
}
browser.browserAction.onClicked.addListener(() => {
let gettingSessions = browser.sessions.getRecentlyClosed({
maxResults: 1,
});
gettingSessions.then(restoreMostRecent, onError);
});
{{WebExtExamples}}
[!NOTE] This API is based on Chromium’s
chrome.sessions
API.