sessions.Session

The Session object represents a tab or window that the user has closed in the current browsing session.

Sessions are represented as 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 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

object. If the object represents a closed tab, then this property is present and will be a tabs.Tab object. This will contain url, title, and favIconUrl only if the extension has the "tabs" permission or host permissions to access the tab's URL.

window Optional

object. If the object represents a closed window, then this property is present and will be a windows.Window object.

Browser compatibility

BCD tables only load in the browser

Note: This API is based on Chromium's chrome.sessions API.