Commit graph

6688 commits

Author SHA1 Message Date
Raymond Hill
41685f4cce
Replace exec with transpose in procedural filters
The purpose is to avoid having to iterate through
all input nodes at each operator implementation
level. The `transpose` method deals with only one
input node, and the iteration is performed by the
main procedural filtering entry points.

Additionally:
- Add `:spath` to HTML filtering
- Rename `:watch-attrs` to `:watch-attr`
  - `:watch=attrs` is deprecated and will be kept around
    until it is safe to remove it completely
2019-06-23 08:05:53 -04:00
Raymond Hill
4956a166d3
Make test pages small-screen friendly 2019-06-23 08:05:28 -04:00
Raymond Hill
a436102ff7
Add test case for :watch-attr 2019-06-22 16:41:42 -04:00
Raymond Hill
b2fb650279
Fix typos in test page 2019-06-22 12:38:00 -04:00
Raymond Hill
9def7f9c5d
Add tests for chaining with plain CSS syntax 2019-06-22 12:13:27 -04:00
Raymond Hill
b5397be601
Add link to parent page 2019-06-22 10:19:36 -04:00
Raymond Hill
10236552ca
Add test pages for procedural filters
Procedural cosmetic filters:
https://gorhill.github.io/uBlock/tests/procedural-cosmetic-filters.html

Procedural HTML filters:
https://gorhill.github.io/uBlock/tests/procedural-html-filters.html
2019-06-22 10:00:25 -04:00
Raymond Hill
d1a08af3ab
Make Firefox dev build auto-update 2019-06-20 14:57:22 -04:00
Raymond Hill
8847ac342d
New revision for dev build 2019-06-20 14:43:07 -04:00
Raymond Hill
570723f795
Import translation work from https://crowdin.com/project/ublock 2019-06-20 14:42:37 -04:00
Raymond Hill
b428a25c3f
Add new procedural operator: :min-text-length(x)
Where `x` is the minimal text length of the subject
DOM element. DOM elements whose text length is
greater than or equal to `x` will be selected.

The original rationale for such procedural cosmetic
operator[1] is to be able to remove inline script
elements according to a minimum text length using
HTML filtering.

[1] As a result of internal discussion with filter
    list maintainers @ uAssets.
2019-06-20 14:11:54 -04:00
Raymond Hill
793aca7ddb
Fix internal cosmetic filter being reported in the logger
Regression from:
- 62387fb87a

Repro steps were:
- Open the logger
- Navigate to `https://news.ycombinator.com/`
- Select an element using the element picker
- Click "Preview"

An attribute selector used internally by uBO to
hide targeted nodes was being reported in the
logger.
2019-06-20 07:14:34 -04:00
Raymond Hill
ca89a3895f
Make Firefox dev build auto-update 2019-06-19 18:44:02 -04:00
Raymond Hill
d405fb901b
New revision for dev build 2019-06-19 18:34:26 -04:00
Raymond Hill
822e0a133d
Provide visual feedback for invalid entries in "My rules"
Related issue:
- https://github.com/gorhill/uBlock/issues/1039
2019-06-19 18:28:44 -04:00
Raymond Hill
be2a950541
Code review of HNTrie/staticNetFilteringEngine
- Remove HNTrieContainer class from global context by
  storing it as a property of µBlock.

- Use block scope to isolate HNTrie-related constants
  from global context.

- Prevent filters which are pure IP address from
  being stored in an HNTrie instance -- as this
  could cause false positives.
2019-06-19 10:00:19 -04:00
Raymond Hill
7303776757
Use async/await in Matrix.benchmark() 2019-06-19 08:37:48 -04:00
Raymond Hill
b48176a964
Make Firefox dev build auto-update 2019-06-18 19:44:34 -04:00
Raymond Hill
cfc2ce333d
Implement bidirectional plain-string trie
The bidirectional trie allows storing the right
and left parts of a string into a trie given a
pivot position.

Releated issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/528

Additionally, the mandatory token-at-index-0 rule
for FilterPlainHnAnchored has been lifted, thus
allowing the engine to pick a potentially better token
at any position in the filter string.

***

TODO: Eventually rename `strie.js` to `biditrie.js`.

TODO: Fix dump() method, it currently only show the
      right-hand side of a filter string.
2019-06-18 19:16:39 -04:00
Raymond Hill
4a062728ff
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/638 2019-06-18 10:01:43 -04:00
Raymond Hill
81324b765d
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/636 2019-06-17 07:35:14 -04:00
Raymond Hill
afc41241f2
New revision for dev build 2019-06-15 09:38:34 -04:00
Raymond Hill
7e38391a71
Import new Bosnian translations from https://crowdin.com/project/ublock 2019-06-15 09:38:06 -04:00
Raymond Hill
d6a656a83b
New revision for stable release 2019-06-14 11:14:36 -04:00
Raymond Hill
5c05209e7f
Import translation work from https://crowdin.com/project/ublock 2019-06-14 10:59:07 -04:00
Raymond Hill
2a2faa84a0
Import translation work from https://crowdin.com/project/ublock 2019-06-05 08:19:12 -04:00
Raymond Hill
e2458184d6
Make Firefox dev build auto-update 2019-06-03 06:49:26 -04:00
Raymond Hill
e9bbc33194
Import translation work from https://crowdin.com/project/ublock 2019-06-03 06:42:02 -04:00
Raymond Hill
c549ad9f12
New revision for release candidate 2019-06-03 06:38:53 -04:00
Raymond Hill
2eb9b726a5
Fix generichide not being evaluated for local context
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/5704
2019-06-03 06:37:39 -04:00
Raymond Hill
27911e918c
Make Firefox dev build auto-update 2019-05-31 09:39:08 -04:00
Raymond Hill
bd961364cc
Import new en-GB from https://crowdin.com/project/ublock 2019-05-31 09:30:32 -04:00
Raymond Hill
c312ec2cd5
Import translation work from https://crowdin.com/project/ublock 2019-05-31 09:17:16 -04:00
Raymond Hill
24c5f1e80e
New revision for release candidate 2019-05-31 09:10:58 -04:00
Raymond Hill
27e8c8d468
Normalize tabless xhr to image/media in onHeadersReceived()
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/610

The service worker-related issue affects both
Chromium/Firefox: the type of resources fetched
from a service worker are uniformly set to
`xmlhttprequest`, hence losing a key piece of
information for the purpose of accurate content
filtering.
2019-05-31 09:02:07 -04:00
Raymond Hill
7904bebffb
Removed seemingly abandoned "DNK: Schacks" list
Related discussion:
- https://github.com/DandelionSprout/adfilt/issues/7#issuecomment-496691761
2019-05-28 18:12:49 -04:00
Raymond Hill
629371cf2d
Update README.md 2019-05-28 10:24:33 -04:00
Raymond Hill
bfd7cae3b9
Make Firefox dev build auto-update 2019-05-28 09:13:26 -04:00
Raymond Hill
d5b0c92f0b
Generate new access token for Travis deployment 2019-05-28 09:06:02 -04:00
Raymond Hill
36467cc455
New revision for release candidate 2019-05-28 07:26:15 -04:00
Raymond Hill
a691d180f2
Import translation work from https://crowdin.com/project/ublock 2019-05-28 07:25:11 -04:00
Raymond Hill
8828522fe8
Fix errors with cosmetic filter exception in the logger
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/602
2019-05-28 07:21:16 -04:00
Raymond Hill
adfe68d20e
Make Firefox dev build auto-update 2019-05-26 08:32:55 -04:00
Raymond Hill
d99789e107
Import translation work from https://crowdin.com/project/ublock 2019-05-26 08:11:38 -04:00
Raymond Hill
6f3acc505f
New revision for dev build 2019-05-26 08:07:44 -04:00
Raymond Hill
85b89fbe63
Fix broken import-from-file in Whitelist pane
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/bt2d1f/
2019-05-26 08:03:44 -04:00
Raymond Hill
44fd5b1473
Make Firefox dev build auto-update 2019-05-25 10:14:37 -04:00
Raymond Hill
ede233abe7
Import translation work from https://crowdin.com/project/ublock 2019-05-25 10:09:53 -04:00
Raymond Hill
0a518b15f2
New revision for dev build 2019-05-25 10:07:54 -04:00
Raymond Hill
a7bfff03d6
Avoid spurious diff at edit time in "My rules"
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/593

The issue was caused by the lack of empty last line, since
the differ taking into account new line characters.
2019-05-25 10:04:31 -04:00