Bug 1299053 - Ensure that background pages have windowId -1 in browser.extension.getViews draft
authorRob Wu <rob@robwu.nl>
Sun, 23 Apr 2017 13:03:11 +0200
changeset 577558 93abf4bbc9da895f892720796012b241bfac00c0
parent 577557 7d7b67e26ca85508933b0ea2777c0e387782085d
child 628526 704e5ce833e421592b69b2596c8b42eb34c4493f
push id58717
push userbmo:rob@robwu.nl
push dateSun, 14 May 2017 22:37:15 +0000
bugs1299053
milestone55.0a1
Bug 1299053 - Ensure that background pages have windowId -1 in browser.extension.getViews MozReview-Commit-ID: HdayD0JrIBm
browser/components/extensions/test/browser/browser_ext_getViews.js
toolkit/components/extensions/ExtensionPageChild.jsm
--- 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.