1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-09-15 07:22:28 +02:00
Commit Graph

6546 Commits

Author SHA1 Message Date
Raymond Hill
c229003d31
Performance + code maintenance work on static network filtering engine
Implement a plain string trie container class: STrieContainer.

Make use of STrieContainer where beneficial

  Some filter buckets can grow quite large, and in such case
  coalescing "trieable" filter classes into a single trie reduces
  lookup performance and memory usage.

  For instance, at time of commit, the filter bucket for the
  `ad` keyword contains 919 entries[1].

  Coalescing trieable filters of the same class into a single plain
  string trie reduced the size of the bucket into 50 entries + two
  tries which are scanned only once each whenever the bucket is
  visited.

  [1] Enter the following code at uBO's dev console:
      µBlock.staticNetFilteringEngine.categories.get(0).get(µBlock.urlTokenizer.tokenHashFromString('ad'))

Refactor static network filtering engine code to make use of
ES6's syntactic sugar `class`.

Change first auto-update run from 7 to 5 minutes.
2019-04-14 16:45:20 -04:00
Raymond Hill
92c5f17b78
Improve usefulness of FilterContainer.benchmark()
Add ability to test/record results. This allows to compare against
output after code changes to detect and more accurately report
regressions.
2019-04-14 09:44:24 -04:00
Raymond Hill
813d96175d
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/468 2019-04-13 08:10:55 -04:00
Raymond Hill
d2cb0f17ea
Report block count in benchmark()
The block count can be used for testing against regression after
code changes.
2019-04-12 10:19:38 -04:00
Raymond Hill
563f6fddde
Import translation work from https://crowdin.com/project/ublock 2019-04-08 12:36:19 -03:00
Noelle Leigh
0bb7b76338 Fixed wrong method for number of elements in a Map (#3755) 2019-04-06 16:42:24 -03:00
Raymond Hill
1cd781796e
Make Firefox dev build auto-update 2019-04-03 13:39:27 -03:00
Raymond Hill
ecc2274fec
New revision for dev build 2019-04-03 13:21:43 -03:00
Raymond Hill
1a7a3298e2
Be prepared to deal with failure to read user settings
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/507
2019-04-03 13:18:47 -03:00
Raymond Hill
48ac4b21c6
Make Firefox dev build auto-update 2019-04-03 10:57:38 -03:00
Raymond Hill
24dced810f
New revision for dev build 2019-04-03 10:45:41 -03:00
Raymond Hill
7bf83fad5e
New revision for stable release 2019-04-03 00:20:26 -03:00
Raymond Hill
f47ad8366e
Fix https://github.com/NanoAdblocker/NanoCore/issues/257 2019-04-03 00:18:16 -03:00
Raymond Hill
d505adfa38
Upgrade CodeMirror to 5.45 2019-03-31 00:31:29 -03:00
okiehsch
98182c12a8 adress https://github.com/DandelionSprout/adfilt/issues/7#issuecomment-478296690 (#3754) 2019-03-30 23:22:50 -03:00
Raymond Hill
4e01e2672a
New revision for stable build 2019-03-28 12:46:40 -03:00
Raymond Hill
e1366c2080
Make Firefox dev build auto-update 2019-03-28 10:52:56 -03:00
Raymond Hill
7c7dd7c806
New revision for dev build 2019-03-28 10:25:11 -03:00
Raymond Hill
f62d866b36
Code review implementation of cacheStorage.clear()
Possibly related issue:
- https://old.reddit.com/r/firefox/comments/b3u4nj/what_is_the_estimated_time_period_for_reviewing_a/

@gwarser has been able to reproduce at will, while I have been
unable to reproduce at all. The change here is to clear the
content of the database instead of outright deleting it before
restoring backed up settings.
2019-03-28 10:17:47 -03:00
Raymond Hill
da9e3f29b8
New revision for stable release 2019-03-26 12:03:32 -03:00
Raymond Hill
99fabf1ca7
Make Firefox dev build auto-update 2019-03-23 18:23:25 -03:00
Raymond Hill
f52e77b0c8
Import translation work from https://crowdin.com/project/ublock 2019-03-23 18:08:49 -03:00
Raymond Hill
d5d9bb45cf
New revision for dev build 2019-03-23 16:43:59 -03:00
Raymond Hill
977178bef2
Use a lower WebRTC mode on Firefox to hide private IP addresses
Releated issue:
- https://github.com/gorhill/uBlock/issues/3009

Firefox implements differently the behavior of `disable_non_proxied_udp`,
and this probably leads to more oft-misdiagnosed breakage.

Example:
https://www.reddit.com/r/firefox/comments/b4guyl/gotowebmeeting_same_unsupported_bs/
2019-03-23 16:23:42 -03:00
Raymond Hill
3b065a9418
Make Firefox dev build auto-update 2019-03-22 22:20:07 -03:00
Raymond Hill
d7343bb407
New revision for dev build 2019-03-22 22:13:50 -03:00
Raymond Hill
2fd587b7ae
Simplyfy code to gather storage used with StorageManager.estimate()
Documentation:
https://developer.mozilla.org/docs/Web/API/StorageManager
2019-03-22 22:09:27 -03:00
Raymond Hill
ac71d6577a
Visually emphasize directive syntax (!#if/!#endif) in list viewer/editor 2019-03-21 19:53:04 -03:00
Raymond Hill
c56fee9448
Make Firefox dev build auto-update 2019-03-21 18:01:58 -03:00
Raymond Hill
f78febbfb7
New revision for dev build 2019-03-21 17:56:57 -03:00
Raymond Hill
26c57feee8
Code review of IndexedDB usage for cache storage purpose
Use Promise.prototype.catch() to deal with potential exceptions.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/416
2019-03-21 17:49:19 -03:00
Raymond Hill
bbdb08c74a
New revision for stable release 2019-03-21 10:06:56 -03:00
Raymond Hill
7ee8c34685
Make Firefox dev build auto-update 2019-03-17 11:08:09 -04:00
Raymond Hill
df86e5e227
New revision for release candidate
The sole purpose of this new revision is to ensure that users of
Firefox version of uBO dev build get the new twitch.tv scriptlet.
2019-03-17 11:02:16 -04:00
Raymond Hill
ef438309bb
Make Firefox dev build auto-update 2019-03-17 10:16:59 -04:00
Raymond Hill
732d517fe4
New revision for release candidate 2019-03-17 09:51:54 -04:00
Raymond Hill
34a138e3ef
Add unlimitedStorage to Firefox manifest; add timeout to IndexedDB access
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/416

The Chromium version of uBO has declared `unlimitedStorage` since the
extension was first published in 2014. Declaring this permission in
Firefox brings uBO inline with the Chromium version. I suspect some
reported errors could be caused by IndexedDB eviction due to the lack
of `unlimitedStorage` permission.

Additionally, a timeout has been added when uBO tries to access its
indexedDB storage. It's unclear whether this will help with the
mentioned related issue though, the root cause is still to be
identified.
2019-03-17 09:45:28 -04:00
Raymond Hill
dbecb71262
Make Firefox dev build auto-update 2019-03-16 09:32:26 -04:00
Raymond Hill
8b5d3d8078
New revision for release candidate 2019-03-16 09:04:09 -04:00
Raymond Hill
008370e4b9
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/461
uBO will fallback using a JSON string when trying to encode an array
buffer in Chromium version 59 and earlier.
2019-03-16 09:00:31 -04:00
Raymond Hill
7875bb6ebc
Make Firefox dev build auto-update 2019-03-15 07:52:49 -04:00
Raymond Hill
23154138fc
New revision for dev build 2019-03-15 07:48:59 -04:00
Raymond Hill
580c3885df
Fix typo which could lead to improper filtering context
Related discussion:
- 354ac4f57b (commitcomment-32715209)
2019-03-15 07:47:36 -04:00
Raymond Hill
875542c964
Code review of fix for https://github.com/uBlockOrigin/uBlock-issues/issues/459
Relocate workaround to the code responsible to compute filtering context, such
that the workaround will also be applied in other code paths, for example  also
for webRequest.onHeadersReceived.
2019-03-14 11:24:13 -04:00
Raymond Hill
f411ab1feb
Make Firefox dev build auto-update 2019-03-14 10:00:14 -04:00
Raymond Hill
3991e95a00
New revision for dev build 2019-03-14 09:41:34 -04:00
Raymond Hill
9a7887eb39
Better English in comment 2019-03-13 17:21:30 -04:00
Raymond Hill
6841e7565a
New revision for stable release 2019-03-13 17:20:04 -04:00
Raymond Hill
f5974a500b
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/459 2019-03-13 17:17:37 -04:00
Raymond Hill
4d0784f8f3
Fix Opera package build script: removal of WASM-related files 2019-03-13 10:12:09 -04:00