Opened 22 months ago

Last modified 20 months ago

#6025 new defect

-abp-properties filter is unreliable and hard to use in conjunction with pretty much anything

Reported by: Lain_13 Assignee:
Priority: Unknown Milestone:
Module: Platform Keywords:
Cc: mapx, sebastian, kzar, hfiguiere, dimisa Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: no Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description

Environment

Adblock Plus 1.13.4 (also tested in dev 3.0.0.1918)
Google Chrome 62

How to reproduce

  1. Add filters:

issues.adblockplus.org#?#.logo:-abp-properties(color)
issues.adblockplus.org#?#:-abp-properties(color).logo

  1. Refresh this page and check for logo in the top-left corner.
  2. Visit this page https://yadi.sk/i/cKXBny5x3PPX3A and check for text ads above picture.

If ads doesn't appear go to yandex.ru and search there for something like "велосипед", then return to yadi.sk and refresh the page.

  1. Add filter and refresh yadi.sk

yadi.sk#?#.preview-responsiveimage-wrapper:-abp-properties(margin-top)

  1. Add filter and refresh yadi.sk

yadi.sk#?#.ns-view-content :-abp-properties(margin)

  1. Add filter and refresh yadi.sk

yadi.sk#?#:-abp-properties(margin-top)

Observed behaviour

  1. Site logo is still visible on the page. (Try to remove ".logo" - pretty much everything on the page will disappear)
  2. Yandex ads are visible. Try to remove "-top" from filter (and nothing will change)
  3. Normal text in ads is still visible, but links disappeared.
  4. Nothing have changed.

Expected behaviour

  1. Site logo is hidden.

4-6. Yandex ads are hidden.

Additional information

As I understand -abp-properties() takes styles from the page, appends whatever were in the filter next to it, adds "display: none" to that and... hopes for the best? The problem is this process doesn't work as reliable as it has to be and often generates either broken or useless filters which never hide anything. The only case when -abp-properties work is when there is nothing else next to it and even then it may not see some styles like 'margin-top'.

uBO have :matches-css() filter which have similar purpose, but significantly more reliable. It's possible to use in conjunction with normal hiding filters and it doesn't have any problems with properties like "margin-top".

Change History (10)

comment:1 Changed 22 months ago by mapx

  • Cc mapx added

comment:2 follow-up: Changed 22 months ago by mapx

  1. the correct filter should be

issues.adblockplus.org#?##logo:-abp-properties(color) which works fine for me (using chrome 63 + ABP last build 1918

comment:3 Changed 22 months ago by mapx

I cannot reproduce the text ads on yadi

comment:4 Changed 22 months ago by mapx

  • Cc trev sebastian kzar hfiguiere added

comment:5 Changed 22 months ago by mapx

  • Cc dimisa added

comment:6 in reply to: ↑ 2 Changed 22 months ago by Lain_13

Ugh, true. Haven't noticed that "logo" is ID. My bad. Then it might be something Yandex-specific again.
Try to use Russian or Ukrainian proxy and search for different things (like: велосипед, холодильник, тапочки) on yandex.ru a few times.
2-3 attempts should be enough to make ads appear.

Last edited 22 months ago by Lain_13 (previous) (diff)

comment:7 Changed 22 months ago by trev

  • Component changed from Unknown to Platform

comment:8 Changed 22 months ago by mapx

I got the ads, I cannot hide them using the abp-properties but using:
yadi.sk##.preview-resource.preview-resource_no-overlay

comment:9 Changed 22 months ago by mapx

yadi.sk#?#.preview-responsiveimage-wrapper:-abp-properties(margin-top) seems to work in uBo

comment:10 Changed 20 months ago by fhd

  • Cc trev removed
Note: See TracTickets for help on using tickets.