[MYPAL] Set the browser's opener when adding a new tab
parent
ba9a4b84ca
commit
6641b605e4
|
@ -4481,13 +4481,15 @@ nsBrowserAccess.prototype = {
|
|||
}
|
||||
|
||||
let loadInBackground = gPrefService.getBoolPref("browser.tabs.loadDivertedInBackground");
|
||||
let openerWindow = (aContext & Ci.nsIBrowserDOMWindow.OPEN_NO_OPENER) ? null : aOpener;
|
||||
|
||||
let tab = win.gBrowser.loadOneTab(aURI ? aURI.spec : "about:blank", {
|
||||
triggeringPrincipal: triggeringPrincipal,
|
||||
referrerURI: referrer,
|
||||
referrerPolicy: referrerPolicy,
|
||||
fromExternal: isExternal,
|
||||
inBackground: loadInBackground});
|
||||
inBackground: loadInBackground,
|
||||
opener: openerWindow });
|
||||
let browser = win.gBrowser.getBrowserForTab(tab);
|
||||
|
||||
if (gPrefService.getBoolPref("browser.tabs.noWindowActivationOnExternal")) {
|
||||
|
|
|
@ -1337,6 +1337,7 @@
|
|||
var aFromExternal;
|
||||
var aRelatedToCurrent;
|
||||
var aOriginPrincipal;
|
||||
var aOpener;
|
||||
if (arguments.length == 2 &&
|
||||
typeof arguments[1] == "object" &&
|
||||
!(arguments[1] instanceof Ci.nsIURI)) {
|
||||
|
@ -1351,6 +1352,7 @@
|
|||
aFromExternal = params.fromExternal;
|
||||
aRelatedToCurrent = params.relatedToCurrent;
|
||||
aOriginPrincipal = params.originPrincipal;
|
||||
aOpener = params.opener;
|
||||
}
|
||||
|
||||
var bgLoad = (aLoadInBackground != null) ? aLoadInBackground :
|
||||
|
@ -1366,7 +1368,8 @@
|
|||
allowThirdPartyFixup: aAllowThirdPartyFixup,
|
||||
fromExternal: aFromExternal,
|
||||
originPrincipal: aOriginPrincipal,
|
||||
relatedToCurrent: aRelatedToCurrent});
|
||||
relatedToCurrent: aRelatedToCurrent,
|
||||
opener: aOpener });
|
||||
if (!bgLoad)
|
||||
this.selectedTab = tab;
|
||||
|
||||
|
@ -1489,6 +1492,7 @@
|
|||
var aSkipAnimation;
|
||||
var aOriginPrincipal;
|
||||
var aSkipBackgroundNotify;
|
||||
var aOpener;
|
||||
if (arguments.length == 2 &&
|
||||
typeof arguments[1] == "object" &&
|
||||
!(arguments[1] instanceof Ci.nsIURI)) {
|
||||
|
@ -1504,6 +1508,7 @@
|
|||
aRelatedToCurrent = params.relatedToCurrent;
|
||||
aSkipAnimation = params.skipAnimation;
|
||||
aOriginPrincipal = params.originPrincipal;
|
||||
aOpener = params.opener;
|
||||
aSkipBackgroundNotify = params.skipBackgroundNotify;
|
||||
}
|
||||
|
||||
|
@ -1578,6 +1583,10 @@
|
|||
b.setAttribute("showresizer", "true");
|
||||
}
|
||||
|
||||
if (aOpener) {
|
||||
b.QueryInterface(Ci.nsIFrameLoaderOwner).presetOpenerWindow(aOpener);
|
||||
}
|
||||
|
||||
if (this.hasAttribute("autocompletepopup"))
|
||||
b.setAttribute("autocompletepopup", this.getAttribute("autocompletepopup"));
|
||||
b.setAttribute("autoscrollpopup", this._autoScrollPopup.id);
|
||||
|
|
Loading…
Reference in New Issue