Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#451 closed defect (rejected)

ABP blocking ads on New Tab page and there is no option to whitelist the page/domain

Reported by: hellhen47 Assignee:
Priority: P2 Milestone: Adblock-Plus-1.8.3-for-Chrome-Opera-Safari
Module: Platform Keywords:
Cc: smultron45@…, sebastian Blocked By:
Blocking: Platform:
Ready: yes Confidential: no
Tester: Verified working: no
Review URL(s):

http://codereview.adblockplus.org/5673543668858880/

Description

Environment

Windows 8.1, Google Chrome 35.0.1916.86 beta-m (corroborated by friend using stable channel), ABP 1.8.1 EasyList. Whitelisted domains: www.tabforacause.org, tabforacause.org

How to reproduce

  1. Download Tab for a Cause extension for chrome (https://chrome.google.com/webstore/detail/tab-for-a-cause/gibkoahgjfhphbmeiphbcnhehbfdlcgo)
  2. Open up a New Tab with ABP deactivated (notice banner ads)
  3. Reactivate ABP and open up a few New Tabs

Observed behaviour

ABP is blocking ads from the New Tab page. Often they are "half-blocked" such that the outline of the ad shows up, but the image is blank. There seems to be no way to whitelist this new tab page (i want the ads to show on this page because that is how they raise money for charity)

Expected behaviour

ABP used to not block any ads on Tab for a Cause's new tab page. At the very least, there should be a way to whitelist the domain/page.

Change History (9)

comment:1 Changed 6 years ago by mapx

  • Cc smultron45@… added
  • Component changed from Unknown to Platform

comment:2 Changed 6 years ago by arthur

  • Cc sebastian added
  • Priority changed from Unknown to P2
  • Ready set

Adding "tabforacause.org" to the whitelisted domains should whitelist the whole iframe with the ads of the new tab page.

For testing I tried 1.7.4.1120 from 2014-02-28 and this build doesn't seem to block anything on new tab pages even without a whitelist.

@Sebastian
Could you look into this?

comment:3 Changed 6 years ago by sebastian

ABP is blocking ads from the New Tab page. Often they are "half-blocked" such that the outline of the ad shows up, but the image is blank.

That is because Chrome doesn't let us run content scripts on other extension's pages. So all we can do here is web request blocking without element collapsing.

There seems to be no way to whitelist this new tab page (i want the ads to show on this page because that is how they raise money for charity)

Adding "tabforacause.org" to the whitelisted domains seems to work. However what OP probably means is that since the page has a chrome-extension:// URL, our bubble UI isn't fully functional, and don't let you disable ABP on the current page.

comment:4 Changed 6 years ago by trev

  • Resolution set to rejected
  • Status changed from new to closed

I agree with Sebastian's analysis - supporting simple disabling via the bubble UI in a scenario like this one doesn't seem possible. It's an extension page so it isn't clearly associated with a particular domain (there could be multiple frames inside that page, from different domains). Adding tabforacause.org to whitelisted domains in the options is the only way and that one works.

comment:5 Changed 6 years ago by philll

@sebastian: I have added tabforacause.org to the whitelisted domains of my ABP installation, but with Easylist enabled, I face some ads like http://pagead2.googlesyndication.com/pagead/imgad?id=CICAgKCN77eLbhCsAhj6ATII4miIJPzfVm4 on the right side below the social media part blocked but not collapsed.

comment:6 Changed 6 years ago by sebastian

  • Review URL(s) modified (diff)

That is because those ads are embedded with a frame, which is constructed with JavaScript and not loaded via HTTP. In that case we don't know the parent frame, which has been whitelisted. But we fall back to the top level frame, so whitelisting still works if the domain of the top-level frame has been whitelisted.

But in this case we don't know the top-level frame either. And even if we would, the top-level frame has a chrome-extension:// URL and the exception rule matches the first sub frame. However this can easily solved by falling back to the first known frame instead hard-coding the top level frame.

comment:8 Changed 6 years ago by sebastian

  • Milestone set to Adblock-Plus-for-Chrome-Opera-Safari-next

comment:9 Changed 6 years ago by sebastian

  • Milestone changed from Adblock-Plus-for-Chrome-Opera-Safari-next to Adblock-Plus-for-Chrome-Opera-Safari-next-next
Note: See TracTickets for help on using tickets.