Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'$popup' not working #1659

Closed
6 tasks done
nicekon opened this issue Jul 14, 2021 · 19 comments
Closed
6 tasks done

'$popup' not working #1659

nicekon opened this issue Jul 14, 2021 · 19 comments
Labels
Chromium specific to Chromium/Chrome external issue involving an external factor fixed issue has been addressed

Comments

@nicekon
Copy link

nicekon commented Jul 14, 2021

Prerequisites

I tried to reproduce the issue when...

  • uBO is the only extension
  • uBO with default lists/settings
  • using a new, unmodified browser profile

URL(s) where the issue occurs

https://dood.watch/d/bnyc4jrdf5sx

Describe the issue

*$popunder,domain=dood.watch

popunder ad is showing but rules not working

Screenshot(s)

No response

uBlock Origin version

1.36.2

Browser name and version

Chrome 91.0.4472.114

Settings

Activate only user filters

Notes

No response

@uBlock-user uBlock-user transferred this issue from uBlockOrigin/uAssets Jul 14, 2021
@gwarser
Copy link

gwarser commented Jul 14, 2021

I don't see a popup?

@uBlock-user uBlock-user added the unable to reproduce cannot reproduce the issue label Jul 14, 2021
@uBlock-user
Copy link
Contributor

Activate only user filters

Did you disable all other default lists ?

@gwarser gwarser removed the unable to reproduce cannot reproduce the issue label Jul 14, 2021
@gwarser
Copy link

gwarser commented Jul 14, 2021

Blocked in Firefox, but context is missing?
image

Chrome is not registering popups at all.

@nicekon
Copy link
Author

nicekon commented Jul 14, 2021

Activate only user filters

Did you disable all other default lists ?

@uBlock-user @gwarser
Every filter has disabled all filters.
To test the $popunder option.
If you turn off all filters and connect the site, the popunder pop-up may appear.

스크린샷 2021-07-14 오후 5 03 13

@uBlock-user uBlock-user added the something to address something to address label Jul 14, 2021
@nicekon
Copy link
Author

nicekon commented Jul 14, 2021

@gwarser The popunder ads is not blocked by the *$popup rule in chrome.

@gorhill
Copy link
Member

gorhill commented Jul 14, 2021

Confusing, the opening comment states:

  • uBO with default lists/settings

Then later in another comment:

Every filter has disabled all filters ... If you turn off all filters

So does it happen with the default settings/lists or does this requires to disable default filter lists?

@nicekon
Copy link
Author

nicekon commented Jul 14, 2021

Confusing, the opening comment states:

  • uBO with default lists/settings

Then later in another comment:

Every filter has disabled all filters ... If you turn off all filters

So does it happen with the default settings/lists or does this requires to disable default filter lists?

I'm sorry for confusion.

All filters were disabled. Only user rules were activated.

Thank you.

@gorhill
Copy link
Member

gorhill commented Jul 14, 2021

uBO's onCreatedNavigationTarget() listener is not being called, so it appears to be a browser extension framework issue, and given that the issue is not reproducible with default filter lists, unlikely I will spend more time on investigating further for a workaround (if any).

@uBlock-user uBlock-user added external issue involving an external factor and removed something to address something to address labels Jul 14, 2021
@nicekon
Copy link
Author

nicekon commented Jul 15, 2021

Thank you for your reply. I am working on a filter list in Korea. Popunder ads are used on so many sites. Script files associated with popunder are difficult to block because they vary from site to site. Some sites are lucky to be blocked, but advertisements are often exposed on most sites.

Blocking URLs has limitations in blocking popunder ads. Using the $popunder rule is much more helpful. I hope that that can be resolved. Thank you.

@gorhill
Copy link
Member

gorhill commented Jul 15, 2021

Note that I could not reproduce a popunder case, I reproduced exactly what you show in your screenshot, which is a popup case (your red arrow).

In such case, uBO's onCreatedNavigationTarget() listener is not being called, which is necessary for uBO to find out which tab opened the popup and thus properly filter it -- I don't see how this can be solved safely without onCreatedNavigationTarget() working as expected.


I am going to look again, ideally we would be able to find the minimal case so that we can file an issue with Chromium devs, but the page makes it difficult to investigate how this popup is being opened.

@nicekon
Copy link
Author

nicekon commented Jul 15, 2021

The popunder ad runs a small square pop-up window at the bottom right; it opens a new window where the ad is displayed afterwards (see video).

Please refer to the script file address where the popunder is activated. I hope it helps.

video
https://youtu.be/XIfivN4NX0g

popunder script file
https://practisecolander.com/f0/6f/53/f06f53688194268edaf23d2b44a59e27.js

@gorhill
Copy link
Member

gorhill commented Jul 15, 2021

Don't use *$popunder please, this is not a popunder from uBO's point of view, this is a popup, i.e. the document in the main tab stays the same.

@gorhill
Copy link
Member

gorhill commented Jul 15, 2021

Blocked in Firefox, but context is missing?

It's because the popup is opened from an about:blank frame, and uBO reports this context, i.e. no hostname.

gorhill added a commit to gorhill/uBlock that referenced this issue Jul 15, 2021
Related issue:
- uBlockOrigin/uBlock-issues#1659

This commit introduces a workaround for missing
onCreatedNavigationTarget() in Chromium.
@gorhill
Copy link
Member

gorhill commented Jul 15, 2021

Just disabling "uBlock filters" and toggling on the no-popups per-site switch was enough to reproduce the issue, no need to disable all the other lists, which allows to reproduce the issue without having to allow all ads and trackers.

@uBlock-user uBlock-user added the Chromium specific to Chromium/Chrome label Jul 15, 2021
@gorhill gorhill changed the title '$popunder' not working '$popup' not working Jul 15, 2021
@nicekon
Copy link
Author

nicekon commented Jul 16, 2021

Don't use *$popunder please, this is not a popunder from uBO's point of view, this is a popup, i.e. the document in the main tab stays the same.

Oh, I see. I expected the $popunder to block the popunder ad. What I'm saying is that the popunder ad is being used on a lot of sites, and the script opens a new window after hiding the http referer property of header. I hope it helps.

@gwarser
Copy link

gwarser commented Jul 16, 2021

@nicekon can you try latest dev build https://github.com/gorhill/uBlock/releases? It look fixed to me.

@nicekon
Copy link
Author

nicekon commented Jul 16, 2021

Thank you for answering. Unfortunately, I still see pop-up ads.

video
https://youtu.be/4qW5yP4gI3U

@gorhill
Copy link
Member

gorhill commented Jul 16, 2021

*$popup works though. The problem is that with the synthetic event -- because onCreatedNavigationTarget() failed to fire -- uBO does not know from which tab the popup was created, so it's using it's own context as the source of the popup, and if this context does not match dood.watch from *$popup,domain=dood.watch, the filter won't match.

@gorhill
Copy link
Member

gorhill commented Jul 16, 2021

I looked into this a bit more and this is not something which can be fixed in uBO, this has to be fixed in Chromium.

@gwarser gwarser closed this as completed Jul 16, 2021
@uBlock-user uBlock-user added the fixed issue has been addressed label Jul 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Chromium specific to Chromium/Chrome external issue involving an external factor fixed issue has been addressed
Projects
None yet
Development

No branches or pull requests

4 participants