Commit Graph

7188 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