Bug 1299053 - Ensure that background pages have windowId -1 in browser.extension.getViews
MozReview-Commit-ID: HdayD0JrIBm
--- a/browser/components/extensions/test/browser/browser_ext_getViews.js
+++ b/browser/components/extensions/test/browser/browser_ext_getViews.js
@@ -126,16 +126,17 @@ add_task(async function() {
async function checkViewsWithFilter(filter, expectedCount) {
extension.sendMessage("background-getViews-with-filter", filter);
let count = await extension.awaitMessage("getViews-count");
is(count, expectedCount, `count for ${JSON.stringify(filter)} correct`);
}
await checkViews("background", 0, 0, 0);
+ await checkViewsWithFilter({windowId: -1}, 1);
await checkViewsWithFilter({tabId: -1}, 1);
let tabId1 = await openTab(winId1);
await checkViews("background", 1, 0, 0);
await checkViews("tab", 1, 0, 1);
await checkViewsWithFilter({windowId: winId1}, 1);
await checkViewsWithFilter({tabId: tabId1}, 1);
--- a/toolkit/components/extensions/ExtensionPageChild.jsm
+++ b/toolkit/components/extensions/ExtensionPageChild.jsm
@@ -148,16 +148,17 @@ class ExtensionBaseContextChild extends
return this.contentWindow.document.nodePrincipal;
}
get windowId() {
if (["tab", "popup", "sidebar"].includes(this.viewType)) {
let globalView = ExtensionPageChild.contentGlobals.get(this.messageManager);
return globalView ? globalView.windowId : -1;
}
+ return -1;
}
get tabId() {
// Will be overwritten in the constructor if necessary.
return -1;
}
// Called when the extension shuts down.