1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-11-02 00:42:45 +01:00
Commit Graph

1292 Commits

Author SHA1 Message Date
Raymond Hill
e06cf1de9b
Shield early request handler against re-entrance
Unlikely re-entrance is occurring, but there is no harm
shielding against it -- just in case.
2019-02-12 07:13:37 -05:00
Raymond Hill
656203adc7
Minor generic code review of changes since 1.18.2 2019-02-02 08:09:34 -05:00
Raymond Hill
920eee88be
Code review: ensure vAPI.shutdown.exec is called from root context only
This prevents uncaught errors in content scripts when uBO's main
process is terminated (i.e. disabled, updated).
2019-01-28 16:16:52 -05:00
Raymond Hill
a6ebcc85be
Reuse both flavors of webRequest wrapper in webext package
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/407

Both flavors will be stitched together into a single
`vapi-qebrequest.js` file.

The decision of which flavor to use will be made at runtime,
according to the browser environment.
2019-01-28 16:12:26 -05:00
Raymond Hill
15100459b3
Harden content script's message Port against spurious disconnections
Those spurious disconnections have been observed to occur at
uBO's launch time.

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/403

I have observed that this fixes an issue observed on Firefox 64
(current stable).

The reported Waterfox issue *may* be fixed as a result. If not,
the issue he still considered fixed as Waterfox is not
officially supported.
2019-01-27 17:07:40 -05:00
Raymond Hill
3eb26fc0c5
Set minimum Opera version to 40 (Chromium 53) 2019-01-25 08:41:15 -05:00
Raymond Hill
305cd4db1c
Experimental Thunderbird 65+ support: experimental
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/194

This is a first iteration, which purpose is to merely allow
uBO to load properly. Many things are known to not work,
quite probably due to the early Thunderbird support of the
WebExtensions framework.

Permission which had to be removed:
- contextMenus

Manifest entries which had to be removed:
- commands
- sidebar_action

uBO's webRequest listeners are not being called when loading a
feed item in the preview pane, *except* for resources fetched
from embedded iframes.

uBO appears to function properly when a feed item is opened in
its own tab.
2019-01-20 12:22:40 -05:00
Raymond Hill
ed5d63df69
Grand refactoring of the logger
Performance-related work: the logger data has been decoupled
from the DOM -- inspired from CodeMirror's way of efficiently
handling large amout of text data.

This decoupling now makes the logger highly efficient CPU- and
memory-wise, and open the way to more possibilities.

Ability to configure some aspect of the logger behavior and
visuals:
- The hard-coded limit of 5000 entries has been
  removed and is now replaced with a variety of
  user-configurable settings to enforce the discarding of
  logger entries.
- Some columns in the logger output can now be hidden.

The filter list look-up feature has been merged into the
existing overlay dialog used to create URL rules or static
filters, as an entry in a new "Details" pane.

Other issues addressed during refactoring:
- https://github.com/uBlockOrigin/uBlock-issues/issues/280
- https://github.com/gorhill/uBlock/issues/1999

The minimum version supported on Firefox has been bumped
up to 55.0.
2019-01-12 16:36:20 -05:00
Raymond Hill
0341a5e1f9
Use URL to proper issue in comments 2018-12-25 13:29:41 -05:00
Raymond Hill
be9e7fd11c
Code review related to the early blocking of network requests at launch 2018-12-24 08:56:35 -05:00
Raymond Hill
41548be6be
Move early blocking of requests out of experimental status on Firefox
Related issues:
- https://github.com/gorhill/uBlock/issues/2067
- https://github.com/uBlockOrigin/uBlock-issues/issues/128

Related mozbug issue:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1503721
2018-12-23 17:59:31 -05:00
Raymond Hill
ee89f88265
fix https://github.com/uBlockOrigin/uBlock-issues/issues/345 2018-12-16 10:51:25 -05:00
Raymond Hill
5b7a3c9983
fix https://github.com/uBlockOrigin/uBlock-issues/issues/256; add regex support in logger filter field 2018-12-14 11:01:21 -05:00
Raymond Hill
9b27a98f90
Fix https://github.com/gorhill/uBlock/issues/3654
Additionally, there has been refactoring work done regarding
filtering context used throughout uBO, motivated by the fix
here.
2018-12-13 12:30:54 -05:00
Raymond Hill
5c33a57158
fix reported extension error in Chrome 72.0.3622.0
Apparently the "file:///" permission is redundant to the declared
"<all_urls>" permission.
2018-12-05 14:46:35 -05:00
Raymond Hill
ec55191a25
fix regression reported at https://www.reddit.com/r/uBlockOrigin/comments/9vcrk3/bug_in_ubo_1173_betas_when_saving_files_hosted_on/ 2018-11-08 19:58:45 -02:00
Raymond Hill
649f82f901
fix https://github.com/uBlockOrigin/uBlock-issues/issues/296 2018-11-02 08:55:15 -03:00
Raymond Hill
9039874fc9
refactor some webRequest-related code (now that firefox legacy is out of the way) 2018-10-28 10:58:25 -03:00
Raymond Hill
71c8550362
fix https://github.com/uBlockOrigin/uBlock-issues/issues/253: set min version to Opera 38 2018-10-02 13:44:04 -04:00
Raymond Hill
fee65bec57
fix another case of https://github.com/uBlockOrigin/uBlock-issues/issues/167 2018-09-29 18:56:59 -04:00
Raymond Hill
015e31b577
fix https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=909626 2018-09-26 07:20:54 -04:00
Raymond Hill
6dd6dc5f1d
fix https://www.reddit.com/r/uBlockOrigin/comments/9gwrna/when_you_right_click_and_go_to_options_it_keeps/ 2018-09-18 20:14:09 -04:00
Raymond Hill
c506c0cd7a
fix https://github.com/uBlockOrigin/uBlock-issues/issues/223 2018-09-15 06:15:40 -04:00
Raymond Hill
3ef4005f63
remove obstacle to modernize codebase with ES6 syntax: bump up min version for Chromium 2018-09-03 14:03:38 -04:00
Raymond Hill
c00297680b
fix https://www.reddit.com/r/uMatrix/comments/8lc9ia/ 2018-08-25 12:57:21 -04:00
Raymond Hill
273f1db297
fix <https://github.com/uBlockOrigin/uBlock-issues/issues/168>: Firefox for Android does not support the windows API 2018-08-14 18:56:08 -04:00
Raymond Hill
dc430f1eff
fix https://github.com/uBlockOrigin/uBlock-issues/issues/167 2018-08-14 14:32:56 -04:00
Raymond Hill
38aabc937a
reorganize cache storage compression; workaround fix for #2812 2018-08-11 10:39:43 -04:00
Raymond Hill
e163080518
added optional lz4 compression for cache storage (https://github.com/uBlockOrigin/uBlock-issues/issues/141)
Squashed commit of the following:

commit 6a8473822537636ac54d5dabdb14472114bb730b
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Mon Aug 6 10:56:44 2018 -0400

    remove remnant of snappyjs and spurious instruction

commit 9a4b709bee97d3cc2235fab602359fa5953bdb46
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Mon Aug 6 09:48:58 2018 -0400

    make cache storage compression optionally available on all platforms

    New advanced setting: `cacheStorageCompression`. Default is `false`.

commit 22ee6547f2f7c9c5aefe25dea1262a1b31612155
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Sun Aug 5 19:16:26 2018 -0400

    remove Chromium from lz4 experiment

commit ee3e201c45afe983508f70713a2d43af74737d8d
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Sun Aug 5 18:52:43 2018 -0400

    import lz4-block-codec.wasm library

commit 883a3118efcfd749c82356fde7134754d6ae371d
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Sun Aug 5 18:50:46 2018 -0400

    implement storage compression through lz4-wasm [draft]

commit 48d1ccaba407de447c2cd6747dc3a90839c260a7
Merge: 8ae77e6 b34c897
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Sat Aug 4 08:56:51 2018 -0400

    Merge branch 'master' of github.com:gorhill/uBlock into lz4

commit 8ae77e6aeeaa85af335e664c2560d2afd37288c6
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Wed Jul 25 18:17:45 2018 -0400

    experiment with compression
2018-08-06 12:34:41 -04:00
Raymond Hill
3bcdddfb9f
fix missing exception handler (https://github.com/uBlockOrigin/uBlock-issues/issues/141) 2018-07-23 13:13:47 -04:00
Raymond Hill
c5e3773a3c
prevent sidebar from opening when uBO is 1st installed [Firefox] 2018-07-22 16:15:58 -04:00
Raymond Hill
1836f7656e
no need for multiple icon entries when using svg 2018-07-22 10:41:35 -04:00
Raymond Hill
23979c3197
fix https://github.com/uBlockOrigin/uBlock-issues/issues/52 2018-05-30 12:55:33 -04:00
Raymond Hill
06756baed9
improve use of imageData in setIcon
- Generate imageData according to existing path information
- Pass a copy as argument (see 06768dcadb)
2018-05-27 11:13:25 -04:00
Raymond Hill
3b61ef51b0
fix version parsing in 91b0ac5b3f 2018-05-20 08:12:09 -04:00
Raymond Hill
91b0ac5b3f
fix dd92337a4a (commitcomment-29051501) 2018-05-20 07:45:39 -04:00
Raymond Hill
c5d8588118
inject scriptlets earlier (experimental) (ex. https://github.com/uBlockOrigin/uAssets/issues/2300) 2018-05-17 07:33:21 -04:00
Raymond Hill
0458d01eb2
handle initiator === "null" (see https://issues.adblockplus.org/ticket/6586) 2018-05-14 08:11:50 -04:00
Raymond Hill
a9a1cc3f3b
code review: use setIcon w/ ImageData only for chromium-based browsers 2018-05-09 08:08:19 -04:00
Raymond Hill
d3691cf45a
fix https://github.com/uBlockOrigin/uBlock-issues/issues/32 2018-05-08 15:01:25 -04:00
Raymond Hill
7e5661383a
code review to further lower overhead of updating toolbar icon 2018-05-08 09:43:25 -04:00
Raymond Hill
89fd76ac39
use image data instead of paths for browser icons
When using paths, platform implementations of setIcon typically
will fetch the resource then convert to image data internally.
It is preferable for uBO to do this conversion itself as it can
be done only once at launch time.

With chromium-based browsers, using image data eliminate the
incessant network traffic to fetch browser icons as reported
in the extension's dev tool, meaning a good chunk of overhead
is eliminated.

Also, use optimal icon sizes, as of now both chromium and firefox
prefers 16px instead of 19px, and 32px instead of 38px.
2018-05-07 19:03:50 -04:00
Raymond Hill
14709d18cf
fix #2809 2018-05-04 08:44:54 -04:00
Raymond Hill
8be1aed04d
guard against future instances of issue fixed in #3721 2018-05-03 09:55:36 -04:00
Rob Wu
b27f23d520 Clear return value of vapi.js content script (#3721)
Upon start-up, uBlock runs all content scripts in manifest.json using
`chrome.tabs.executeScript`. When this API is used, the value of the
last expression is automatically cloned and transferred to the
callback of `chrome.tabs.executeScript`. This is convenient if needed,
and a performance burden otherwise (the latter is the case for uBlock).

There are three content scripts that need to be checked:

- vapi.js
  The last expression is often the vAPI object, and it is relatively
  expensive to clone this object. This commit sets the value of the
  last expression to `void 0` to solve this inefficiency.

- vapi-client.js
  No action needed yet; The last expression is `vAPI.shutdown.add(...)`,
  which has a void return value.

- contentscript.js
  No action needed yet; The last expression is an immediately-invoked
  function expression without return value.
2018-05-01 07:28:21 -04:00
Raymond Hill
29bad2afab
typo 2018-04-27 12:49:34 -04:00
Raymond Hill
3a703afef3
add README to webext platform 2018-04-27 12:49:11 -04:00
Raymond Hill
2b460da748
rename "debian" target to more accurate "webext" 2018-04-27 12:39:43 -04:00
Raymond Hill
c9b14e201a
rename "webext" target to more accurate "firefox" 2018-04-27 12:37:33 -04:00
Raymond Hill
e930403635
move template file to a more sensible location 2018-04-27 12:25:29 -04:00