Bug 1401288 - Run remote devtools panel browsers in the right TabGroup.
This patch ensures that the devtools panel browser elements are associated to
the same TabGroup of the other extension pages from the same extension.
MozReview-Commit-ID: 40TSPqGfTnz
--- a/browser/components/extensions/ext-devtools-panels.js
+++ b/browser/components/extensions/ext-devtools-panels.js
@@ -208,31 +208,34 @@ class ParentDevToolsPanel {
this.context = null;
this.toolbox = null;
this.browser = null;
this.browserContainerWindow = null;
}
createBrowserElement(window) {
const {toolbox} = this;
+ const {extension} = this.context;
const {url} = this.panelOptions;
const {document} = window;
const browser = document.createElementNS(XUL_NS, "browser");
browser.setAttribute("type", "content");
browser.setAttribute("disableglobalhistory", "true");
browser.setAttribute("style", "width: 100%; height: 100%;");
browser.setAttribute("transparent", "true");
browser.setAttribute("class", "webextension-devtoolsPanel-browser");
browser.setAttribute("webextension-view-type", "devtools_panel");
browser.setAttribute("flex", "1");
- this.browser = browser;
+ // Ensure that the devtools panel browser is going to run in the same
+ // process of the other extension pages from the same addon.
+ browser.sameProcessAsFrameLoader = extension.groupFrameLoader;
- const {extension} = this.context;
+ this.browser = browser;
let awaitFrameLoader = Promise.resolve();
if (extension.remote) {
browser.setAttribute("remote", "true");
browser.setAttribute("remoteType", E10SUtils.EXTENSION_REMOTE_TYPE);
awaitFrameLoader = promiseEvent(browser, "XULFrameLoaderCreated");
}