browser(firefox): set opener for popup opened from iframe (#9837)

This commit is contained in:
Yury Semikhatsky 2021-10-28 02:16:37 -07:00 committed by GitHub
parent 0dcb6f44a1
commit 7560f40c77
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 8 deletions

View file

@ -1,2 +1,2 @@
1299
Changed: lushnikov@chromium.org Wed 27 Oct 2021 12:40:16 AM PDT
1300
Changed: yurys@chromium.org Wed Oct 27 17:58:07 PDT 2021

View file

@ -159,8 +159,9 @@ class TargetRegistry {
const openerContext = tab.linkedBrowser.browsingContext.opener;
let openerTarget;
if (openerContext) {
// Popups usually have opener context.
openerTarget = this._browserBrowsingContextToTarget.get(openerContext);
// Popups usually have opener context. Get top context for the case when opener is
// an iframe.
openerTarget = this._browserBrowsingContextToTarget.get(openerContext.top);
} else if (tab.openerTab) {
// Noopener popups from the same window have opener tab instead.
openerTarget = this._browserToTarget.get(tab.openerTab.linkedBrowser);

View file

@ -1,2 +1,2 @@
1297
Changed: lushnikov@chromium.org Fri Oct 15 18:51:16 PDT 2021
1298
Changed: yurys@chromium.org Wed Oct 27 17:58:07 PDT 2021

View file

@ -159,8 +159,9 @@ class TargetRegistry {
const openerContext = tab.linkedBrowser.browsingContext.opener;
let openerTarget;
if (openerContext) {
// Popups usually have opener context.
openerTarget = this._browserBrowsingContextToTarget.get(openerContext);
// Popups usually have opener context. Get top context for the case when opener is
// an iframe.
openerTarget = this._browserBrowsingContextToTarget.get(openerContext.top);
} else if (tab.openerTab) {
// Noopener popups from the same window have opener tab instead.
openerTarget = this._browserToTarget.get(tab.openerTab.linkedBrowser);