Opened on 05/20/2014 at 06:09:07 AM
Closed on 10/06/2016 at 01:10:42 PM
Last modified on 10/14/2016 at 08:33:52 AM
#524 closed change (fixed)
Stop using @-moz-document
Reported by: | trev | Assignee: | |
---|---|---|---|
Priority: | P4 | Milestone: | Adblock-Plus-2.8-for-Firefox |
Module: | Adblock-Plus-for-Firefox | Keywords: | |
Cc: | arthur, mapx | Blocked By: | #235, #521, #4167, #4450, #4499, #4527 |
Blocking: | Platform: | Unknown / Cross platform | |
Ready: | yes | Confidential: | no |
Tester: | Unknown | Verified working: | no |
Review URL(s): |
Description (last modified by trev)
Background
According to https://bugzilla.mozilla.org/show_bug.cgi?id=988266 it seems that the many conditional blocks via @-moz-document make it hard to share our stylesheet across documents, an own copy has to be created for each document instead. However, out of the 23759 element hiding filters in EasyList right now, 13005 filters apply on every webpage without exceptions so that part of our stylesheet can be completely fixed. There are 534 exceptions meaning that 534 filters will apply on almost every page but cannot be part of the global stylesheet. All other rules are domain-specific, there should never be all too many of them applying on a single page.
What to change
Update adblockpluscore dependency to include the changes in #4167 and #4450. This will import some additional changes, only affecting unit tests however.
Only preload the rules which will apply on every page unconditionally with about:abp-elemhide?css. For websites where element hiding is enabled there will be an additional stylesheet, e.g. about:abp-elemhide?css=example.com (note that host name has to be URL-encoded). The protocol handler needs to be adjusted to call ElemHide.getSelectorsForDomain() in that case.
The about:abp-elemhide?hit responses should always block the elements unconditionally now - exceptions are dealt with elsewhere, here we are really only counting hits. The hit counting also doesn't need to go through the complete processing in Policy.shouldAllow() - simpler processing can be established in element hiding code, and the special cases for element hiding in Policy.shouldAllow() can be removed.
Attachments (0)
Change History (11)
comment:1 Changed on 05/20/2014 at 07:15:38 AM by mapx
- Cc smultron45@gmail.com added
comment:2 Changed on 05/22/2014 at 10:30:45 AM by arthur
- Cc arthur added
comment:3 Changed on 02/04/2016 at 11:35:26 AM by trev
- Platform set to Unknown / Cross platform
- Priority changed from P2 to P4
- Tester set to Unknown
comment:4 Changed on 06/09/2016 at 10:14:35 AM by mapx
- Cc mapx added; smultron45@gmail.com removed
comment:6 Changed on 06/17/2016 at 02:43:29 PM by trev
- Blocked By 4167 added
comment:7 Changed on 10/06/2016 at 11:24:17 AM by trev
comment:8 Changed on 10/06/2016 at 01:09:55 PM by abpbot
A commit referencing this issue has landed:
Issue 524 - Stop using @-moz-document
comment:9 Changed on 10/06/2016 at 01:10:42 PM by trev
- Milestone set to Adblock-Plus-for-Firefox-next
- Resolution set to fixed
- Status changed from reviewing to closed
comment:10 Changed on 10/06/2016 at 08:16:48 PM by trev
- Blocked By 4499 added
comment:11 Changed on 10/14/2016 at 08:33:52 AM by trev
- Blocked By 4527 added
Changing priority to reflect reality, the important change is actually #521.