cookies.CookieStore
The CookieStore
type of the cookies
API represents a cookie store in the browser.
Windows in different browsing modes may use different cookie stores. For example, a private browsing/incognito mode window uses a separate cookie store from a non-incognito/private window. Also, a window may have several cookie stores when using container tabs in Firefox.
See Work with the Cookies API for more information about cookie stores.
Type
Values of this type are objects, which can contain the following properties:
id
-
A
string
representing the unique identifier for the cookie store. incognito
Optional-
A boolean value that indicates whether this is an incognito cookie store. This property is not supported in Chrome or Safari. However, you can identify incognito cookie stores in Chrome because their
id
is always "1". tabIds
-
An
array
ofintegers
, which identifies all of the browser tabs that share this cookie store.
Browser compatibility
BCD tables only load in the browser
Examples
In the following snippet, the cookies.getAllCookieStores()
method is used to retrieve all the cookie stores currently available in the browser, and print out each cookie store ID, and the tabs that currently share each cookie store.
function logStores(cookieStores) {
for (const store of cookieStores) {
console.log(`Cookie store: ${store.id}\n Tab IDs: ${store.tabIds}`);
}
}
browser.cookies.getAllCookieStores().then(logStores);
The following code snippet gets all cookie stores and then logs the total number of stores and how many of those stores are incognito.
browser.cookies.getAllCookieStores().then((stores) => {
const incognitoStores = stores.map((store) => store.incognito);
console.log(
`Of ${stores.length} cookie stores, ${incognitoStores.length} are incognito.`,
);
});
Note:
This API is based on Chromium's chrome.cookies
API. This documentation is derived from cookies.json
in the Chromium code.