Skip to content

declarativeNetRequest API: have isUrlFilterCaseSensitive condition set to false by default #269

Closed
@gorhill

Description

@gorhill

Currently, the isUrlFilterCaseSensitive condition defaults to true when not specified.

I propose the default state to be changed to false.

Content blockers are probably behind the largest rulesets which will feed into the declarativeNetRequest API, and top content blockers are compatible and abide by EasyList syntax. In EasyList syntax, the pattern matching is case-insensitive by default, and the match-case option is rarely used.

At the moment, I find zero instance of match-case in EasyList and EasyPrivacy. I find 23 instances in uBlock Origin's own filter lists, and 5 instances in AdGuard's English list.

Defaulting isUrlFilterCaseSensitive to false would avoid the need to encode the property for the vast majority of rules, and thus reduce the size and verbosity of ruleset files.

For example, when I convert the default filter lists of uBO into a json ruleset file, the result is ~3.7 MB, while it is ~3 MB when assuming isUrlFilterCaseSensitive default to false (this was a single unformatted line of json).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions