Commit Graph

316 Commits

Author SHA1 Message Date
Raymond Hill bb873cc776
Import translation work from https://crowdin.com/project/ublock 2020-05-15 12:13:54 -04:00
Raymond Hill 151ff5326a
Import translation work from https://crowdin.com/project/ublock 2020-03-24 12:18:33 -04:00
Raymond Hill b784b7d569
Support loading of benchmark dataset in published versions
New advanced setting: `benchmarkDatasetURL`
Default value: `unset`

To specify a URL from where the benchmark dataset will be
fetched. This allows to launch benchmark operations from
within published versions of uBO, rather than from just
a locally built version.
2020-02-21 08:06:52 -05:00
Raymond Hill 004e4a3285
Support Bosnian in Opera store 2019-11-09 07:09:04 -05:00
Raymond Hill 7459a3f369
Fix thunderbird build script
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/753
2019-10-11 18:01:05 -04:00
Raymond Hill 79b3b1921e
Import translation work from https://crowdin.com/project/ublock 2019-10-07 08:28:56 -04:00
Raymond Hill eec53c0154
Work toward modernizing code base: promisification
Swathes of code have been converted to use
Promises/async/await. More left to do.

Related commits:
- 915687fddb
- 55cc0c6997
- e27328f931
2019-09-16 09:45:17 -04:00
Raymond Hill a94df7f3b2
Remove Bosnian locale from Opera package
Opera Store requires that shipped locales have
a proper accompanying description. The Bosnian
locale so far has no description and is only
partial.
2019-07-26 12:50:08 -04:00
Raymond Hill 6f5aa947fb
Finalize converting resources.txt into immutable resources
With hindsight, I revised decisions made earlier during
this development cycle:

Un-redirectable scriptlets have been removed from
/web_accessible_resources and instead put in the new
/assets/resources/scriptlets.js, which contains all
scriptlets used for web page injection purpose.

uBO will no longer fetch a remote version of built-in
resources.

Advanced setting `userResourcesLocation` will still be
honoured by uBO, and if set, will be fetched every
time at least one asset is updated.
2019-07-06 12:36:28 -04:00
Raymond Hill caa8e7d35b
Add shell script to copy common files
This shell script will copy files commoon to
all platform into the package.
2019-07-03 09:52:03 -04:00
Raymond Hill 152cea2dfe
Refactor management of injectable resources
This is a first step, the ultimate goal is to remove
the need for resources.txt, or at least to reduce to
only hotfixes or for trivial resources targeting very
specific websites.

Most resources will become immutable, i.e. they will
be part of uBO's code base. Advantages include easier
code maintenance (jshint, syntax highlight), and to
make scriptlets more easy to code review by external
parties (for example extension store reviewers).

TODO:

- More scriptlets need to be imported before next
  release.
- Need to make legacy versions of uBO use a legacy
  version of resources.txt, as all the now obsolete
  scriptlets will have to be removed once uBO's
  next release become widespread.
- Possibly need to add code to load binary
  resources so that they can be injected as
  data: URI. So far it's unclear whether this is
  really needed. For example, this would be needed
  if a xmlhttprequest is redirected to an image
  resource.
2019-07-03 09:47:56 -04:00
Raymond Hill 1dfdc40e09
Add ability to suspend network request handler at will
This works only for platforms supporting the return of
Promise by network listeners, i.e. only Firefox at this
point.

When filter lists are reloaded[1], there is a small
time window in which some network requests which should
have normally been blocked are not being blocked
because the static network filtering engine may not
have yet loaded all the filters in memory

This is now addressed by suspending the network request
handler when filter lists are reloaded -- again, this
works only on supported platforms.

[1] Examples: when a filter list update session
    completes; when user filters change, when
    adding/removing filter lists.
2019-06-30 10:09:27 -04:00
Raymond Hill b0b43ad6b2
Add support to import en_GB description 2019-06-23 08:25:16 -04:00
Raymond Hill 81324b765d
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/636 2019-06-17 07:35:14 -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 bd961364cc
Import new `en-GB` from https://crowdin.com/project/ublock 2019-05-31 09:30:32 -04:00
Raymond Hill 4d0784f8f3
Fix Opera package build script: removal of WASM-related files 2019-03-13 10:12:09 -04:00
Raymond Hill 07d4a6b60c
Import translation work from https://crowdin.com/project/ublock 2019-03-05 10:52:56 -05:00
Raymond Hill 5733439f62
Leverage whotracks.me's huge dataset of URLs for benchmark purpose
As seen at:
  https://whotracks.me/blog/adblockers_performance_study.html

The requests.json.gz file can be downloaded from:
  https://cdn.cliqz.com/adblocking/requests_top500.json.gz

Copy the file into ./tmp/requests.json.gz

If the file is present when you build uBO using `make-[target].sh` from
the shell, the resulting package will contain `./assets/requests.json`,
which will be looked-up by the method below to launch a benchmark
session.

From uBO's dev console, launch the benchmark:
  µBlock.staticNetFilteringEngine.benchmark();

The usual browser dev tools can be used to obtain useful profiling
data, i.e. start the profiler, call the benchmark method from the
console, then stop the profiler when it completes.

Keep in mind that the measurements at the blog post above where obtained
with ONLY EasyList. The CPU reportedly used was:
  https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-6600U+%40+2.60GHz&id=2608

Rename ./tmp/requests.json.gz to something else if you no longer want
./assets/requests.json in the build.
2019-02-15 16:18:03 -05:00
Raymond Hill 69c87c5117
Fix Promise chain of WASM module load operations
The Promise chain was not properly designed for WASM module
loading. This became apparent when removing WASM modules
from Opera build[1].

The problem was that errors thrown by fetch() -- used to
load WASM modules -- were not properly handled.

[1] Opera refuses updating uBO if there are unrecognized file
types in the package, and `.wasm`/`.wat` files are not
recognized by Opera uploader.
2019-02-01 08:20:43 -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 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 a038c8658f
Attempt to fix build script for Firefox 2018-12-23 18:19:16 -05:00
Raymond Hill d528f3811a
Use version number in the filename of packages 2018-12-23 10:16:08 -05: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 a8c4e0214f
fix https://github.com/uBlockOrigin/uBlock-issues/issues/217, https://github.com/uBlockOrigin/uBlock-issues/issues/218 2018-09-11 06:44:52 -04:00
Raymond Hill cc4bf3581f
add ampproject.org/v0.js as a web-accessible-resources 2018-09-09 18:11:44 -04:00
Raymond Hill 2663c19a81
remove translations for which no description is available (Opera) 2018-08-24 09:38:00 -04:00
Raymond Hill 2d2339a26b
add import of Azerbaijani, Thai 2018-07-22 15:49:44 -04:00
Raymond Hill 2da91b8aef
use plain version string: uBO will render itself to b/rc if needed 2018-06-01 08:12:44 -04:00
Raymond Hill 4136a51ba3
fix webext build for chromium (https://github.com/gorhill/uBlock/issues/3716#issuecomment-393207176) 2018-05-30 11:52:52 -04:00
Raymond Hill b6b1edb288
fix opera make script 2018-05-20 11:08:53 -04:00
Raymond Hill 91b0ac5b3f
fix dd92337a4a (commitcomment-29051501) 2018-05-20 07:45:39 -04:00
Raymond Hill dd92337a4a
"developement build" instead of "dev build" 2018-05-18 10:29:09 -04:00
Raymond Hill 686171c315
import translation work from https://crowdin.com/project/ublock 2018-05-14 07:51:49 -04:00
Raymond Hill 4d8ccfdc05
fix https://bugzilla.mozilla.org/show_bug.cgi?id=1459007 2018-05-10 16:11:29 -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 d9e52b4052
rename "debian" target to more accurate "webext" 2018-04-27 12:42:49 -04:00
Raymond Hill 2b460da748
rename "debian" target to more accurate "webext" 2018-04-27 12:39:43 -04:00
Raymond Hill 0bf2f27d87
rename "webext" target to more accurate "firefox" 2018-04-27 12:38:09 -04:00
Raymond Hill c9b14e201a
rename "webext" target to more accurate "firefox" 2018-04-27 12:37:33 -04:00
Raymond Hill 08495c42e9
complete "debian" as a target platform 2018-04-27 11:43:35 -04:00
Raymond Hill 443010efdc
remove firefox/legacy platform, it now has its own branch: `firefox-legacy` 2018-04-27 08:40:53 -04:00
Raymond Hill 9baf17fa2a
patch firefox/legacy for changes in e5f2e9701d 2018-04-26 12:01:31 -04:00
Raymond Hill e5f2e9701d
better manage platform-specific code for user-stylesheet support 2018-04-26 11:36:22 -04:00
Raymond Hill 4585287187
fix build script for Opera 2018-04-24 17:15:18 -04:00
Raymond Hill 665166e9d0
remove obsolete shell scripts 2018-04-15 06:55:54 -04:00
Raymond Hill 06ea2fb858
fix Firefox/legacy build 2018-04-14 09:36:19 -04:00
Raymond Hill efcab14597
Squashed commit of the following:
commit ab2b328cf1360a751fa1c58b8521f907eeb1ec50
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Thu Apr 12 12:08:30 2018 -0400

    fix #3588

commit c4ae7638dfa5a5c7ddec2f9dd2d2988450082542
Author: Raymond Hill <rhill@raymondhill.net>
Date:   Thu Apr 12 09:08:56 2018 -0400

    detect user stylesheets support from content scripts (#3588)
2018-04-12 12:17:38 -04:00
Raymond Hill e377b3e915
changes needed for releasing uBO/opera 1.15.24 2018-04-09 10:04:32 -04:00
Raymond Hill d9161aeffa
fix #3636 2018-03-23 15:03:29 -04:00
Raymond Hill c84308da6f
minor code review of Python scripts 2018-02-28 12:27:41 -05:00
Raymond Hill d674e992e5
centralize the managing version string for all platform 2018-02-23 09:56:45 -05:00
Raymond Hill b2ff50f039
abandon separate, distinct webext version for dev build 2018-02-16 09:37:14 -05:00
Raymond Hill 287f04b47e
code review for #3474, #2823: simplify management of "web accessible resources" 2018-02-16 09:07:20 -05:00
Raymond Hill 17930cc778
fix #3474, #2823 2018-02-15 17:25:38 -05:00
Raymond Hill 7f9435f8b2
import Kazakh translation work 2018-01-31 12:49:23 -05:00
Raymond Hill 9fc8b546ee
replace "no" locale by "nb" 2018-01-13 09:50:26 -05:00
Raymond Hill abcea432a4
shallow clone uAssets in travis build 2018-01-09 17:57:40 -05:00
Raymond Hill dfcfa5ab9e
fix shell script for Opera 2017-12-22 09:57:28 -05:00
Raymond Hill 7afc78e866
do not include optional annoyances.txt in extension package 2017-12-17 09:42:24 -05:00
gorhill 324a75c45b
list changed files after importing from https://crowdin.com/project/ublock 2017-11-27 14:52:25 -05:00
gorhill 00559d42d3
import Malay, some translated strings are now available 2017-11-11 07:56:40 -05:00
gorhill cfef3aeb2b
minor review of shell scripts 2017-11-10 11:36:55 -05:00
gorhill fd5f63d850
fix #3196 2017-11-10 11:36:14 -05:00
gorhill 23487a643a
prepend vapi-usercss.js to contentscript.js in extension package 2017-10-24 12:40:58 -04:00
gorhill 2be7bbf6e9
drop webext-hybrid support 2017-10-23 13:39:45 -04:00
gorhill 6112a68faf
fix #2984 2017-10-21 13:43:46 -04:00
gorhill a19efa4ebe
fix #3082 (use "dev build" in extension name) 2017-10-01 10:28:33 -04:00
gorhill ec3d1bfc88
fix "Preferences" button in about:addons (see https://www.ghacks.net/2017/09/29/firefox-adblock-plus-lost-millions-of-users-in-the-past-year/#comment-4233295) 2017-09-30 10:41:58 -04:00
gorhill a0c595d02d
fix #2950 2017-09-02 06:11:33 -04:00
gorhill beb7933016
fix #2925 2017-08-29 18:32:00 -04:00
gorhill ccc4324583
fix non-dev build versioning 2017-08-11 00:41:53 -04:00
gorhill 04057d40ea
fix #2855 2017-08-10 18:50:23 -04:00
gorhill 61a538e9f2
fix #2843: do not auto open dashboard on Firefox 2017-08-05 09:50:21 -04:00
gorhill e903752037
rename webext to webext-hybrid, add pure webext version 2017-08-04 18:19:55 -04:00
gorhill 8393e77ab0
rename webext to webext-hybrid 2017-08-04 17:59:30 -04:00
gorhill f328687663
implement user styles in webext platform 2017-07-23 11:33:39 -04:00
gorhill 57c5e645df
opera store requires translated description 2017-06-08 08:43:18 -04:00
gorhill 43656e64dc
translation work from https://crowdin.com/project/ublock, Georgian added 2017-05-13 08:32:12 -04:00
gorhill 2369794c2c
translation work from https://crowdin.com/project/ublock 2017-04-24 10:34:38 -04:00
gorhill bad345ea23
new languages available from https://crowdin.com/translate/ublock 2017-04-03 10:07:59 -04:00
gorhill e420db1f1f
keep using `.xpi` for webext 2017-04-02 10:55:50 -04:00
gorhill e0a5116348
fix #2454 2017-03-14 16:01:35 -04:00
Andrei Petcu e8375f91cd #2433 Changed the XML namespaces to please jpm sign (#2434)
*  #2433 changed the legacy install.rdf to match MDN
https://developer.mozilla.org/en-US/Add-ons/Install_Manifests

*  #2433 changed webext install.rdf to match MDN docs
 https://developer.mozilla.org/en-US/Add-ons/Install_Manifests

*  #2433 changed property added by mistake

*  #2433 changed localization XML namespaces to match install.rdf

*  #2433 small fixes
2017-03-10 07:01:57 -05:00
gorhill fafe4c8abc fix #2436 2017-03-08 13:44:01 -05:00
gorhill 4d1ed37556 Firefox WebExt readiness (#622) + support more webRequest types when available (websocket, font, csp_report) 2017-03-05 08:25:55 -05:00
gorhill 00b19515cf minor change 2017-01-18 13:36:24 -05:00
Raymond Hill 3b9fd49c50 Assets management refactored (#2314)
* refactoring assets management code

* finalizing refactoring of assets management

* various code review of new assets management code

* fix #2281

* fix #1961

* fix #1293

* fix #1275

* fix update scheduler timing logic

* forward compatibility (to be removed once 1.11+ is widespread)

* more codereview; give admins ability to specify own assets.json

* "assetKey" is more accurate than "path"

* fix group count update when building dom incrementally

* reorganize content (order, added URLs, etc.)

* ability to customize updater through advanced settings

* better spinner icon
2017-01-18 13:17:47 -05:00
gorhill 5a50f4ecfa use chromium manifest as the official one on which others are based 2016-10-19 19:07:59 -04:00
gorhill 71066206e0 webext as new target platform 2016-10-19 10:21:19 -04:00
gorhill 95ec573141 fix #2014 2016-09-24 14:36:08 -04:00
gorhill a7fe367eec refactor where appropriate to make use of ES6 Set/Map (#1070)
At the same time, the following issues were fixed:
- #1954: automatically lookup site-specific scriptlets
- https://github.com/uBlockOrigin/uAssets/issues/23
2016-09-12 10:22:25 -04:00
gorhill d1413bef69 revision 100+ will be release candidates 2016-08-16 14:04:49 -04:00
gorhill c274195b69 bring support for dev build in Chrome store 2016-08-04 08:24:11 -04:00
gorhill c94d24c2ed remove obsolete shell scripts 2016-07-30 17:46:43 -04:00
gorhill 8ee1f8812f fix #1661 as suggested 2016-06-09 12:32:00 -04:00
gorhill 909ef5303d prevent pushd/popd from polluting output 2016-04-03 18:06:19 -04:00
gorhill a9d36027e1 this fixes #1531 2016-04-03 17:45:02 -04:00
gorhill 5fda221031 this fixes travis? 2016-04-03 14:25:56 -04:00
gorhill cad3c5f5cb update packaging scripts for https://github.com/uBlockOrigin/uAssets repo 2016-04-03 13:07:46 -04:00
gorhill 18d6041ef1 somehow removed cp command before last checkin 2016-04-02 08:59:43 -04:00
gorhill 1357cd0bd9 updated script to pull all from uAssets 2016-04-02 08:31:29 -04:00
gorhill d286eff4ba spin-off filter lists into their own dedicated project 2016-04-01 20:58:35 -04:00
gorhill ea2b706a9a updated translation stuff for Opera store 2016-02-22 09:01:37 -05:00
Aaron Bieber 98b0967d69 allow scripts to run with bash in other locations 2016-01-31 12:17:04 -05:00
gorhill 6a1ef6aa75 translation work from https://crowdin.com/project/ublock 2016-01-25 10:29:03 -05:00
gorhill 89148351e8 #1163: this implements "block elements by size" 2016-01-17 13:30:43 -05:00
gorhill 241352bf3b this fixes #1225 2016-01-14 07:23:46 -05:00
gorhill ee2a657f84 AMO review feedback: remove unecessary files from package 2015-12-26 15:53:56 -05:00
gorhill 57b037be18 moving update checksums script to tools 2015-12-16 11:25:40 -05:00
gorhill 3c4a9b4e53 translation work from https://crowdin.com/project/ublock 2015-12-13 09:51:25 -05:00
gorhill d9e56d1396 this completes the fix to #602 2015-11-24 20:53:02 -05:00
gorhill e2bc299dc9 Opera also needs managed_schema.json 2015-10-24 13:13:29 -04:00
gorhill 892913d185 this fixes #832 2015-10-21 11:53:03 -04:00
gorhill 53fa8f7a50 new: Basque translation by https://crowdin.com/profile/Osoitz 2015-09-12 11:00:57 -04:00
gorhill c21a91d318 translation work from https://crowdin.com/project/ublock 2015-09-03 18:29:17 -04:00
gorhill 02be0e3c39 adding whitespaces for better alignment with uMatrix script 2015-08-27 13:52:05 -04:00
gorhill 9fa05aa7c4 changed "make" scripts for #602
All the assets which are not selected by default out-of-the-box will
be converted into an empty file. This is a first step, the final step
will be to removed completely the files from the package once everybody
is using v1.1.0.0+.
2015-08-17 09:29:11 -04:00
gorhill 5a8079940c no need for dash separator 2015-08-12 16:34:33 -04:00
gorhill 29b695d813 changes for a beta channel on AMO 2015-08-12 16:31:19 -04:00
gorhill e135496504 remove ta until description available (Opera store policy) 2015-08-01 14:56:17 -04:00
gorhill d9da7c996b translation work from https://crowdin.com/project/ublock 2015-07-12 19:08:39 -04:00
gorhill 65647860f6 translation work from https://crowdin.com/project/ublock 2015-07-05 08:04:24 -04:00
gorhill 34485a0465 code review 2015-06-17 14:06:59 -04:00
gorhill 2c3d810840 translation work from https://crowdin.com/project/ublock 2015-05-26 16:49:49 -04:00
gorhill 4afc2e2959 translation work from https://crowdin.com/project/ublock 2015-04-23 08:49:02 -04:00
gorhill 045fe4cc06 various minor changes need for Opera version 2015-04-18 13:09:49 -04:00
gorhill fcfdfdf9c3 this fixes https://github.com/chrisaljoudi/uBlock/issues/1219 for Chromium 2015-04-09 07:29:07 -04:00
gorhill b9e07a16e3 this fixes https://github.com/chrisaljoudi/uBlock/issues/1219 for Firefox 2015-04-09 07:15:14 -04:00
gorhill 63366e9e94 opera build 2015-03-22 16:16:27 -04:00
Chris 798e641765 Safari build script: slightly more accurate progress reporting 2015-03-16 23:01:22 -06:00
gorhill 6b8118bb68 update opera 2015-03-16 13:33:56 -04:00
gorhill b83e0b46d5 move platform-specific images to their respective platform 2015-03-15 08:17:38 -04:00
gorhill 6312e98cfe translation work from https://crowdin.com/project/ublock 2015-03-14 11:15:04 -04:00
gorhill bced12efdb added newly available translations 2015-03-13 17:27:25 -04:00
gorhill 08a76a5287 translation work from https://crowdin.com/translate/ublock 2015-03-13 17:21:00 -04:00
AlexVallat 3d385c3821 Move Windows Development environment into own branch 2015-03-07 14:32:08 +00:00
AlexVallat 31188c6330 Tidying .xul location, update linux script to match windows one 2015-03-03 07:58:35 +00:00
AlexVallat 2b60436ece Initial UI support for Fennec 2015-03-02 18:49:34 +00:00
AlexVallat 97028e5032 Add helper script for deploying to firefox android 2015-03-01 16:46:07 +00:00
AlexVallat b2f578a517 Windows build environment 2015-03-01 09:49:26 +00:00
Deathamns dc8623f1e8 Firefox/Fennec code cleanup 2015-02-28 20:46:49 +01:00
Chris e709901785 Safari: fix meta script permission 2015-02-16 21:15:47 -07:00
gorhill b3d673164c translation work from https://crowdin.com/project/ublock 2015-02-16 21:19:28 -05:00
gorhill 12daca3dc4 remove newly added Albanian until description available 2015-02-15 23:14:52 -05:00
gorhill 70488274b1 as per comment, this should work well enough 2015-02-15 23:05:50 -05:00
gorhill 7fc6d35dd3 translation work from https://crowdin.com/project/ublock 2015-02-15 14:55:01 -05:00
gorhill aa01233cfc support for fennec 2015-02-15 12:23:59 -05:00