Opened 5 years ago

Closed 3 years ago

#230 closed defect (worksforme)

ABP for opera does not block ads in speed dial

Reported by: =Vitali= Assignee:
Priority: P3 Milestone:
Module: Platform Keywords: externaldependency
Cc: smultron45@…, trev, sebastian Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description (last modified by mapx)

Environment

opera 20
ABP with ruadlist - easylist

How to reproduce

  1. add rutracker.org in speed dial window

Observed behaviour

the thumbnail shows the site with ads

Expected behaviour

the thumbnail should be without ads (like in a normal tab)

see also
https://adblockplus.org/forum/viewtopic.php?f=14&t=19998

Change History (8)

comment:1 Changed 5 years ago by mapx

  • Description modified (diff)
  • Summary changed from ABP IN OPERA! to ABP for opera does not block ads in speed dial

comment:2 Changed 5 years ago by mapx

  • Priority changed from Unknown to P3

comment:3 Changed 5 years ago by philll

  • Component changed from Extensions-for-Adblock-Plus to Unknown
  • Ready set

comment:4 Changed 5 years ago by mapx

  • Cc smultron45@… added

comment:5 Changed 5 years ago by trev

  • Cc trev added

comment:6 Changed 5 years ago by trev

  • Cc sebastian added
  • Component changed from Unknown to Platform

I confirmed that the requests initiated by the thumbnail generation have tabId == -1 meaning that they aren't associated with any tab - not even a virtual one. There is a real frame structure however, frameId and parentFrameId are being set correctly. The request types are set correctly, meaning there is a main_frame request first followed by requests for individual resources. For some reason, there is one more request issued for the page URL with type other before the actual load starts, this one has frameId == -1.

Altogether this looks like we might want to start treating tabId == -1 as a real tab and track the frame structure for it. The issue is that requests made by extensions aren't really distinguishable - these have frameId == 0 and would look like they come from the page being loaded for thumbnail generation. The other obvious issue - it isn't possible to distinguish requests produced by two different thumbnails loading in parallel, both obviously have the same tab ID and Adblock Plus will necessarily associate the requests incorrectly. Still, I'm not so much worried about false positives during thumbnail generation, the potential issue here is rather mistakenly blocking requests initiated by extensions or the browser.

Note that while content scripts apparently do run while thumbnails are being generated, I was unable to send a message to the background page - which might have something to do with the fact that they are associated with tab -1.

comment:7 Changed 5 years ago by sebastian

  • Keywords externaldependency added

Treating -1 as a real tab might not be a suitable solution. The frame hierarchy stored inside Adblock Plus, would get replaced every time another page loads. So when multiple pages with tabId == -1 load at the same time, things will go wrong. Also I'm not sure whether it is worth messing with other requests, sent in the background by extensions and Opera itself.

However, I have filed a bug at Opera (DNA-22176) to use individual tabIds for each page when loading its preview on the pre-dial page.

comment:8 Changed 3 years ago by sebastian

  • Platform set to Unknown / Cross platform
  • Resolution set to worksforme
  • Status changed from new to closed
  • Tester set to Unknown

I cannot reproduce this issue anymore as of Opera 34. It seems that they don't render live previews on the speed dial (aka new tab) page anymore, but rather use static images.

Note: See TracTickets for help on using tickets.