-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
declarativeNetRequest API: have isUrlFilterCaseSensitive
condition set to false
by default
#269
Comments
I support this from Apple. Our internal format already is case-insensitive by default. |
Thanks for the feedback, @gorhill. My first impression is that this seems like a good change. I suspect that the main challenge here is going to be breaking published extensions, tough we may be able to largely mitigate this through public announcements and direct outreach. |
Firefox also support this proposal, the risk of "breaking" existing extensions here seems minimal, as the new default would be to block more. It seems likely that those who care about case sensitivity would explicitly use the |
Firefox has already implemented this default: https://bugzilla.mozilla.org/show_bug.cgi?id=1811498 Safari has already filed a tracking issue internally. Chrome will also file such a bug. Relevant part of yesterday's meeting notes: webextensions/_minutes/2023-01-19-wecg.md Lines 116 to 124 in 9c2609a
|
This shipped today in Safari Technology Preview 163. |
I just opened https://crbug.com/1414441 to track this issue in Chromium. |
Marking this as
supportive: chrome
|
We've done an announcement to developers here: https://groups.google.com/a/chromium.org/g/chromium-extensions/c/TXYUmvDHUlw/m/9JdxXG2cAgAJ. We're planning to make this change in M118. |
* It is agreed to set isUrlFilterCaseSensitive to 'false' by default w3c/webextensions#269 (comment) * updated info which browsers set isUrlFilterCaseSensitive to false by default * Apply suggestion Co-authored-by: Oliver Dunk <[email protected]> * Update files/en-us/mozilla/add-ons/webextensions/api/declarativenetrequest/rulecondition/index.md Co-authored-by: Rob Wu <[email protected]> --------- Co-authored-by: Oliver Dunk <[email protected]> Co-authored-by: Rob Wu <[email protected]>
This shipped in Chrome 118: https://chromiumdash.appspot.com/commit/d90e6a56d0e77ce5d278a5b070098c5d8f7081fd |
Currently, the
isUrlFilterCaseSensitive
condition defaults totrue
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 assumingisUrlFilterCaseSensitive
default tofalse
(this was a single unformatted line ofjson
).The text was updated successfully, but these errors were encountered: