Bug 1330167 - CookieStore.tabIds should be an array of tab IDs
MozReview-Commit-ID: 7KuVKEEOhlv
--- a/browser/components/extensions/test/browser/browser_ext_tabs_cookieStoreId.js
+++ b/browser/components/extensions/test/browser/browser_ext_tabs_cookieStoreId.js
@@ -91,16 +91,17 @@ add_task(function* () {
browser.test.assertTrue(tab != undefined, "Tab found!");
testTab(data, tab);
}
let stores = await browser.cookies.getAllCookieStores();
let store = stores.find(store => store.id === tab.cookieStoreId);
browser.test.assertTrue(!!store, "We have a store for this tab.");
+ browser.test.assertTrue(store.tabIds.includes(tab.id), "tabIds includes this tab.");
await browser.tabs.remove(tab.id);
browser.test.sendMessage("test-done");
} catch (e) {
browser.test.fail("An exception has been thrown");
}
}
--- a/toolkit/components/extensions/ext-cookies.js
+++ b/toolkit/components/extensions/ext-cookies.js
@@ -422,17 +422,17 @@ extensions.registerSchemaAPI("cookies",
getAllCookieStores: function() {
let data = {};
for (let window of WindowListManager.browserWindows()) {
let tabs = TabManager.for(extension).getTabs(window);
for (let tab of tabs) {
if (!(tab.cookieStoreId in data)) {
data[tab.cookieStoreId] = [];
}
- data[tab.cookieStoreId].push(tab);
+ data[tab.cookieStoreId].push(tab.id);
}
}
let result = [];
for (let key in data) {
result.push({id: key, tabIds: data[key], incognito: key == PRIVATE_STORE});
}
return Promise.resolve(result);
--- a/toolkit/components/extensions/test/mochitest/test_ext_cookies.html
+++ b/toolkit/components/extensions/test/mochitest/test_ext_cookies.html
@@ -80,17 +80,18 @@ add_task(function* test_cookies() {
assertExpected({url: TEST_URL, name: "name1", storeId: STORE_ID}, details);
cookie = await browser.cookies.get({url: TEST_URL, name: "name1"});
browser.test.assertEq(null, cookie, "removed cookie not found");
let stores = await browser.cookies.getAllCookieStores();
browser.test.assertEq(1, stores.length, "expected number of stores returned");
browser.test.assertEq(STORE_ID, stores[0].id, "expected store id returned");
- browser.test.assertEq(1, stores[0].tabIds.length, "one tab returned for store");
+ browser.test.assertEq(1, stores[0].tabIds.length, "one tabId returned for store");
+ browser.test.assertEq("number", typeof stores[0].tabIds[0], "tabId is a number");
{
let privateWindow = await browser.windows.create({incognito: true});
let stores = await browser.cookies.getAllCookieStores();
browser.test.assertEq(2, stores.length, "expected number of stores returned");
browser.test.assertEq(STORE_ID, stores[0].id, "expected store id returned");
browser.test.assertEq(1, stores[0].tabIds.length, "one tab returned for store");