browser(firefox): set opener for popup opened from iframe (#9837)
This commit is contained in:
parent
0dcb6f44a1
commit
7560f40c77
|
|
@ -1,2 +1,2 @@
|
||||||
1299
|
1300
|
||||||
Changed: lushnikov@chromium.org Wed 27 Oct 2021 12:40:16 AM PDT
|
Changed: yurys@chromium.org Wed Oct 27 17:58:07 PDT 2021
|
||||||
|
|
|
||||||
|
|
@ -159,8 +159,9 @@ class TargetRegistry {
|
||||||
const openerContext = tab.linkedBrowser.browsingContext.opener;
|
const openerContext = tab.linkedBrowser.browsingContext.opener;
|
||||||
let openerTarget;
|
let openerTarget;
|
||||||
if (openerContext) {
|
if (openerContext) {
|
||||||
// Popups usually have opener context.
|
// Popups usually have opener context. Get top context for the case when opener is
|
||||||
openerTarget = this._browserBrowsingContextToTarget.get(openerContext);
|
// an iframe.
|
||||||
|
openerTarget = this._browserBrowsingContextToTarget.get(openerContext.top);
|
||||||
} else if (tab.openerTab) {
|
} else if (tab.openerTab) {
|
||||||
// Noopener popups from the same window have opener tab instead.
|
// Noopener popups from the same window have opener tab instead.
|
||||||
openerTarget = this._browserToTarget.get(tab.openerTab.linkedBrowser);
|
openerTarget = this._browserToTarget.get(tab.openerTab.linkedBrowser);
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
1297
|
1298
|
||||||
Changed: lushnikov@chromium.org Fri Oct 15 18:51:16 PDT 2021
|
Changed: yurys@chromium.org Wed Oct 27 17:58:07 PDT 2021
|
||||||
|
|
|
||||||
|
|
@ -159,8 +159,9 @@ class TargetRegistry {
|
||||||
const openerContext = tab.linkedBrowser.browsingContext.opener;
|
const openerContext = tab.linkedBrowser.browsingContext.opener;
|
||||||
let openerTarget;
|
let openerTarget;
|
||||||
if (openerContext) {
|
if (openerContext) {
|
||||||
// Popups usually have opener context.
|
// Popups usually have opener context. Get top context for the case when opener is
|
||||||
openerTarget = this._browserBrowsingContextToTarget.get(openerContext);
|
// an iframe.
|
||||||
|
openerTarget = this._browserBrowsingContextToTarget.get(openerContext.top);
|
||||||
} else if (tab.openerTab) {
|
} else if (tab.openerTab) {
|
||||||
// Noopener popups from the same window have opener tab instead.
|
// Noopener popups from the same window have opener tab instead.
|
||||||
openerTarget = this._browserToTarget.get(tab.openerTab.linkedBrowser);
|
openerTarget = this._browserToTarget.get(tab.openerTab.linkedBrowser);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue