1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-11-02 00:42:45 +01:00
uBlock/platform/chromium
Raymond Hill 1e2eb037e5
Add new filter option queryprune=
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/760

The purpose of this new network filter option is to remove
query parameters form the URL of network requests.

The name `queryprune` has been picked over `querystrip`
since the purpose of the option is to remove some
parameters from the URL rather than all parameters.

`queryprune` is a modifier option (like `csp`) in that it
does not cause a network request to be blocked but rather
modified before being emitted.

`queryprune` must be assigned a value, which value will
determine which parameters from a query string will be
removed. The syntax for the value is that of regular
expression *except* for the following rules:

- do not wrap the regex directive between `/`
- do not use regex special values `^` and `$`
- do not use literal comma character in the value,
  though you can use hex-encoded version, `\x2c`
- to match the start of a query parameter, prepend `|`
- to match the end of a query parameter, append `|`

`queryprune` regex-like values will be tested against each
key-value parameter pair as `[key]=[value]` string. This
way you can prune according to either the key, the value,
or both.

This commit introduces the concept of modifier filter
options, which as of now are:

- `csp=`
- `queryprune=`

They both work in similar way when used with `important`
option or when used in exception filters. Modifier
options can apply to any network requests, hence the
logger reports the type of the network requests, and no
longer use the modifier as the type, i.e. `csp` filters
are no longer reported as requests of type `csp`.

Though modifier options can apply to any network requests,
for the time being the `csp=` modifier option still apply
only to top or embedded (frame) documents, just as before.
In some future we may want to apply `csp=` directives to
network requests of type script, to control the behavior
of service workers for example.

A new built-in filter expression has been added to the
logger: "modified", which allow to see all the network
requests which were modified before being emitted. The
translation work for this new option will be available
in a future commit.
2020-10-31 10:42:53 -04:00
..
is-webrtc-supported.html fix warnings in browser console 2017-07-25 11:59:52 -04:00
is-webrtc-supported.js this fixes https://github.com/gorhill/uBlock/issues/533#issuecomment-167931681 2015-12-31 09:24:55 -05:00
managed_storage.json #985: might be the missing trailing # 2015-11-27 14:30:17 -05:00
manifest.json Add fanboy.co.nz as valid location for subscription links 2020-09-14 15:46:24 -04:00
vapi-background.js Add new filter option queryprune= 2020-10-31 10:42:53 -04:00
vapi-client-extra.js Isolate element picker's svg layers from page content 2020-09-03 10:27:35 -04:00
vapi-client.js Add support to chain :style() to procedural operators 2020-09-07 08:28:01 -04:00
vapi-common.js Add Chromium detection for Chromium-based MS Edge 2020-07-24 12:32:47 -04:00
vapi-webrequest.js Add support for ping static filter option 2019-09-22 09:11:55 -04:00
vapi.js Fix regression in cosmetic filtering 2019-09-30 10:40:56 -04:00
webext.js Allow call to removeCSS in Chromium 2020-10-02 12:16:47 -04:00