Issue #1104 - Set the browser's opener when adding a new tab

- This modifies `loadOneTab` and `addTab` to accept an opener
- This code was adapted from Basilisk's copy of tabbrowser.xml without the refactored code changes (which is a lot more involved as it divides addTab's functions into multiple functions)
pull/7/head
FranklinDM 3 years ago committed by Roy Tam
parent 838eb9a504
commit 70c0d40d9b
  1. 11
      application/palemoon/base/content/tabbrowser.xml

@ -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…
Cancel
Save