brave / brave/adblock-rust

Support nested procedural filters

Open
#495 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
2.8k
Forks
250
Avg merge
1d 16h
Merged PRs (30d)
6

Description

Brave’s adblocker seems to ignore some nested cosmetic filters. For example:

`brave.com##li:has(> span:has-text(Why Brave))`

This works in uBlock Origin, it hides the `

  • ` element containing a `` with the text “Why Brave”. In Brave, the element is still visible.

    Are these kinds of nested procedural filters supposed to be supported?

  • Contributor guide

    No contributing guide indexed for this repository

    Research direction

    Start by reproducing the reported behavior with the nested filter `brave.com##li:has(> span:has-text(Why Brave))` in the adblock engine. Trace how procedural filters are parsed and evaluated, then verify whether nested filters are intended to work and define completion as matching the expected uBlock Origin behavior or documenting the supported limitation.

    Written by the indexing model from the issue text.

    Assessment

    Tech stack
    rust
    Domain
    security
    Issue type
    Bug
    Difficulty
    4/5
    Estimated time
    3-5 days
    Activity status
    Stale
    Clarity
    Mostly clear
    Newbie friendliness
    42/100

    Get new issues in your inbox

    A short digest of beginner-friendly GitHub issues.