Opened on 07/17/2017 at 09:27:17 AM

Closed on 08/21/2017 at 07:59:36 PM

Last modified on 09/24/2017 at 12:03:38 PM

#5422 closed defect (fixed)

Property selector matching * selector doesn't work

Reported by: fhd Assignee: hfiguiere
Priority: P2 Milestone:
Module: Core Keywords:
Cc: Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Ross Verified working: yes
Review URL(s):

https://codereview.adblockplus.org/29490698/

Description (last modified by trev)

Environment

Adblock Plus for Chrome 1.13.3

How to reproduce

  1. Add the following custom filter: testpages.adblockplus.org#?#.abp-testsuite-fail:-abp-properties(/.*/)
  2. Navigate to https://testpages.adblockplus.org/en/testsuite/05

Observed behaviour

The box under _Test case_ is red, and the following error shows up in the console:

Error in event handler for (unknown): SyntaxError: Failed to execute 'insertRule' on 'CSSStyleSheet': Failed to parse the rule '::content .abp-testsuite-fail*, ::content .abp-testsuite-failhtml, ::content .abp-testsuite-fail body, ::content .abp-testsuite-failh1, ::content .abp-testsuite-failh2, ::content .abp-testsuite-failh3, ::content .abp-testsuite-fail.center, ::content .abp-testsuite-fail.abp-container, ::content .abp-testsuite-fail.abp-container h1, ::content .abp-testsuite-fail h2, ::content .abp-testsuite-fail h3, ::content .abp-testsuite-fail.abp-container h3, ::content .abp-testsuite-fail.abp-container p, ::content .abp-testsuite-fail.abp-container p:last-of-type, ::content .abp-testsuite-fail.abp-container hr, ::content .abp-testsuite-fail.abp-header h1, ::content .abp-testsuite-fail.abp-header a, ::content .abp-testsuite-fail.abp-logo, ::content .abp-testsuite-fail.abp-breadcrumbs, ::content .abp-testsuite-fail.abp-pagelist, ::content .abp-testsuite-fail.abp-pagelist h3, ::content .abp-testsuite-fail.abp-testsuitelist, ::content .abp-testsuite-fail.abp-bubble, ::content .abp-testsuite-fail.abp-bubble p, ::content .abp-testsuite-fail.abp-bubble h4, ::content .abp-testsuite-fail.abp-bubble a, ::content .abp-testsuite-fail.abp-bubble a:hover, ::content .abp-testsuite-fail.abp-bubble a img, ::content .abp-testsuite-fail.abp-customfilterlist, ::content .abp-testsuite-fail.abp-linkset, ::content .abp-testsuite-fail.abp-linkset li, ::content .abp-testsuite-fail.abp-lastupdate, ::content .abp-testsuite-fail.abp-feature-table td, ::content .abp-testsuite-fail th, ::content .abp-testsuite-fail.abp-filterlist, ::content .abp-testsuite-fail.abp-reference-image, ::content .abp-testsuite-fail.abp-testcase-information, ::content .abp-testsuite-fail.abp-testcase-information th, ::content .abp-testsuite-fail.abp-testcase-information td, ::content .abp-testsuite-fail.abp-testsuite-testcase, ::content .abp-testsuite-fail.abp-testsuite-testcase-inner, ::content .abp-testsuite-fail.abp-testsuite-pass, ::content .abp-testsuite-fail.abp-testsuite-fail, ::content .abp-testsuite-fail.abp-testsuite-image, ::content .abp-testsuite-fail.abp-testsuite-result, ::content .abp-testsuite-fail.abp-testsuite-iframe, ::content .abp-testsuite-fail.abp-testsuite-03-img, ::content .abp-testsuite-fail.abp-testsuite-04, ::content .abp-testsuite-fail.abp-testcase-img-04, ::content .abp-testsuite-fail.abp-testcase-img-04 img, ::content .abp-testsuite-fail.abp-testcase-img-04-overlay, ::content .abp-testsuite-fail.abp-testcase-img-05, ::content .abp-testsuite-fail.abp-testcase-css-01, ::content .abp-testsuite-fail.abp-testcase-css-02, ::content .abp-testsuite-fail.abp-testcase-css-03::before{display: none !important;}'.
    at ElemHide.addSelectors (chrome-extension://cfhdojbkjhnklbpkdaibdccddilifddb/include.preload.js:438:24)
    at ElemHideEmulation.addSelectors (chrome-extension://cfhdojbkjhnklbpkdaibdccddilifddb/elemHideEmulation.js:476:10)
    at getFiltersFunc.patterns (chrome-extension://cfhdojbkjhnklbpkdaibdccddilifddb/elemHideEmulation.js:521:14)

Expected behaviour

The box under _Test case_ is green, and there is no error in the console.

Additional notes

Our code will currently produce the selector .abp-testsuite-fail* which isn't valid. We need special handling when selectors like * or *.foo are matched.

Attachments (0)

Change History (7)

comment:1 Changed on 07/17/2017 at 01:17:08 PM by hfiguiere

  • Owner set to hfiguiere

comment:2 Changed on 07/17/2017 at 03:37:19 PM by hfiguiere

  • Component changed from Unknown to Core
  • Platform changed from Chrome to Unknown / Cross platform

comment:3 Changed on 07/17/2017 at 05:21:26 PM by hfiguiere

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:4 Changed on 08/16/2017 at 08:38:57 AM by trev

  • Description modified (diff)
  • Priority changed from Unknown to P2
  • Ready set
  • Summary changed from Greedy property selector doesn't work to Property selector matching * selector doesn't work

comment:5 Changed on 08/21/2017 at 07:59:03 PM by abpbot

A commit referencing this issue has landed:
Issue 5422 - Properly build props selector

comment:6 Changed on 08/21/2017 at 07:59:36 PM by hfiguiere

  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:7 Changed on 09/24/2017 at 12:03:38 PM by Ross

  • Tester changed from Unknown to Ross
  • Verified working set

Fixed.

ABP 1.13.3.1838
Chrome 51 / 61 / Windows 10
Opera 47 / Windows 10

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 hfiguiere.
 
Note: See TracTickets for help on using tickets.