Open Bug 1176510 Opened 9 years ago Updated 4 months ago

Popups from a Site that is in the "Allowed List" (whitelist) are blocked, starting with the n-th popup (dom.popup_maximum)

Categories

(Core :: DOM: Events, defect)

40 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: ojab, Unassigned)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:40.0) Gecko/20100101 Firefox/40.0
Build ID: 20150619004003

Steps to reproduce:

Clicking Popup Links extensively on a Site that is unblocked


Actual results:

The browser stops opening user requested popups after a while


Expected results:

the browser should open the popups
Can you reproduce this in the latest Nightly in a brand new profile, where the only changed setting is the addition of the relevant site to the pop-up whitelist?
https://nightly.mozilla.org
https://support.mozilla.org/kb/profile-manager-create-and-remove-firefox-profiles
Component: Untriaged → DOM: Events
Product: Firefox → Core
See Also: → 260264
Reproducible in Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:41.0) Gecko/20100101 Firefox/41.0 with new profile.
This bug is also still reproducible on Linux with FF 50, and was with every 4? version I tried. 

I tried to debug and fix this myself, but it's hard for me, because I don't know much about how the code is meant to work. But the problem seemed to be, that the code path, that is responsible for decrementing the concurrent popup counter was not executed when closing a popup. So the counter got incremented every time a popup was opened, but not decremented, when the popup got closed. 

After 20 (default value of dom.popup_maximum) popups were opened and closed, no more popups were opened, and FF showed the warning that it has blocked popups. The only workaround I know of, was to increase  dom.popup_maximum to a value that was higher than the amount of popups that would be opened during one browser session.
(In reply to Carsten Sommer from comment #3)
> The only workaround I know of, was to increase  dom.popup_maximum to
> a value that was higher than the amount of popups that would be opened
> during one browser session.

dom.popup_maximum=-1 means "unlimited".

I can confirm this is still happening with the latest version of FF on Win10.

Is someone planning to do something about it? I use an RSS reader (feedly) and it gets tedious to have to manually approve all the popups.

I'd be happy to look at a fix, if someone could give me some direction.

This is still present on Firefox 79

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0

@Steven I joined the developer Matrix server and asked to discuss the intended behaviour here, with the intent of submitting a PR to fix it if other devs agreed it was a bug. Never received a reply, despite repeated attempts, so gave up.

@Duncan, could you please point out for the question? I don't know where was the discussion but I don't see it here, not in the bug you posted originally.

(In reply to Duncan Bayne from comment #9)

@Steven I joined the developer Matrix server and asked to discuss the intended behaviour here, with the intent of submitting a PR to fix it if other devs agreed it was a bug. Never received a reply, despite repeated attempts, so gave up.

No worries Duncan. It stopped happening for me after a couple of months, so I didn't chase it further.

It is easy to reproduce for at least multiple FF versions, including 95. It is triggered when more than dom.popup_maximum (20 by default) from a single tab are opened (and kept open), and what triggered the popup opening was not in the dom.popup_allowed_events list.

An example usecase triggering this is opening a lot of tabs from a RSS reader with keypresses, before reviewing them all, like in OP.

You can reproduce this here : https://jsbin.com/fakunuteni/edit?html,js,output
If you click on the button you can open as much tabs as you want, if you press any key with the output panel in focus you will be stopped after dom.popup_maximum is reached.

That's intended behaviour, but what's pretty unclear to the user is why the popup has been blocked. The alert bar is the same as the "regular" popup blocker. It suggests that exceptions can be added, or the popup blocking be disabled altogether, but both does not work and popup are still blocked.

(In reply to Éric Gillet from comment #12)

You can reproduce this here : https://jsbin.com/fakunuteni/edit?html,js,output

Here is a snippet to avoid potential issues with the jsbin being open to modifications.

The following code triggers the issue :

document.addEventListener("keydown", function(event) {
  window.open("")
});
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: