Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/sessions/session/index.md
6552 views
------{{AddonSidebar()}}
The Session object represents a tab or window that the user has closed in the current browsing session.
Sessions are represented as {{WebExtAPIRef("tabs.Tab", "Tab")}} objects if the tab was closed but its window was not closed: for example, because the user clicked the "Close tab" button, and this tab was not the only tab in its window.
Sessions are represented as {{WebExtAPIRef("windows.Window", "Window")}} objects if the window was closed: for example, because the user clicked the "Close window" button, or closed the only tab open in a window.
Note that different browsers might have a different idea of when a session is a Tab and when it is a Window. For example:
In Chrome a session is recorded as a Window if the user closes a window that contained more than one tab. If the user closed a window that contained only one tab, this is recorded as a Tab.
In Firefox, a session is recorded as a Window if the user closes a window (or a tab that was the last tab in the window), and a Tab if the user closes a tab that wasn't the last tab in its window.
The Tab object for a tab that is open will not have a sessionId. When the tab is closed, it will have a sessionId but will not have a tab id. If the tab is restored, it will get a new tab id and will lose the sessionId.
Type
Values of this type are objects. They contain the following properties:
lastModified:
number. The time the tab or window was closed, in milliseconds since the epoch.
tab{{optional_inline}}:
object. If the object represents a closed tab, then this property is present and will be a {{WebExtAPIRef("tabs.Tab")}} object. This will containurl,title, andfavIconUrlonly if the extension has the "tabs" permission or host permissions to access the tab's URL.
window{{optional_inline}}:
object. If the object represents a closed window, then this property is present and will be a {{WebExtAPIRef("windows.Window")}} object.
Browser compatibility
{{Compat}}
Note: This API is based on Chromium's
chrome.sessionsAPI.