Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/sessions/session/index.md
6552 views
---
title: sessions.Session slug: Mozilla/Add-ons/WebExtensions/API/sessions/Session page-type: webextension-api-type tags: - API - Add-ons - Extensions - Non-standard - Reference - Session - Type - WebExtensions - sessions browser-compat: webextensions.api.sessions.Session
---

{{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

  • 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 contain url, title, and favIconUrl only 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.sessions API.