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):

https://codereview.adblockplus.org/29356078/

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

Changing priority to reflect reality, the important change is actually #521.

comment:4 Changed on 06/09/2016 at 10:14:35 AM by mapx

  • Cc mapx added; smultron45@gmail.com removed

comment:5 Changed on 06/17/2016 at 02:37:27 PM by trev

  • Description modified (diff)

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

  • Blocked By 4450 added
  • Description modified (diff)
  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

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

Add Comment

Modify Ticket

Change Properties
Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none).
 
Note: See TracTickets for help on using tickets.