1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-09-29 22:27:12 +02:00
uBlock/src/js/wasm
Raymond Hill 609e9a6428
Remove elision of leading wildcard in some filter patterns
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/882

Related commits:
- https://github.com/gorhill/uBlock/commit/a95ef16e064a
- https://github.com/gorhill/uBlock/commit/7971b223855d

Leading wildcards before valid token characters need to
be kept in order to respect the semantic of the filter.
A leading wildcard in such case changes the semantic of
a filter, i.e. two following filters are semantically
different:

    example/abc
    *example/abc

As a result, µBlock.BidiTrieContainer.indexOf() is now
able to deal with a needle of length zero -- which is
what happens in FilterPatternLeft(Ex) with filter
patterns starting with `*` (or `^*`) and followed by
valid token characters (0-9, a-z and %).
2020-02-03 14:09:37 -05:00
..
biditrie.wasm Remove elision of leading wildcard in some filter patterns 2020-02-03 14:09:37 -05:00
biditrie.wat Remove elision of leading wildcard in some filter patterns 2020-02-03 14:09:37 -05:00
hntrie.wasm Do not store impossible to match filters in HNTrie 2019-04-29 13:15:16 -04:00
hntrie.wat Do not store impossible to match filters in HNTrie 2019-04-29 13:15:16 -04:00
README.md Squashed commit of the following: 2018-11-03 08:58:46 -03:00

For code reviewers

All wasm files in that directory where created by compiling the corresponding wat file using the command (using hntrie.wat/hntrie.wasm as example):

wat2wasm hntrie.wat -o hntrie.wasm

Assuming:

  • The command is executed from within the present directory.

wat2wasm tool

The wat2wasm tool can be downloaded from an official WebAssembly project: https://github.com/WebAssembly/wabt/releases.

wat2wasm tool online

You can also use the following online wat2wasm tool: https://webassembly.github.io/wabt/demo/wat2wasm/.

Just paste the whole content of the wat file to compile into the WAT pane. Click "Download" button to retrieve the resulting wasm file.