1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-11-01 16:33:06 +01:00
Commit Graph

52 Commits

Author SHA1 Message Date
paledega
32ce27cf89
Update make-firefox.sh 2021-08-25 08:47:45 +00:00
Manish Jethani
be68a6b5b4
Use set -e in Bash scripts (#3791) 2021-07-31 17:34:25 -04:00
Raymond Hill
6fa8ae619d
Revert "Pass -e flag to bash (#3790)"
This reverts commit bb20159495.
2021-07-31 14:49:32 -04:00
Manish Jethani
bb20159495
Pass -e flag to bash (#3790) 2021-07-31 12:15:32 -04:00
Raymond Hill
22022f636f
Modularize codebase with export/import
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1664

The changes are enough to fulfill the related issue.

A new platform has been added in order to allow for building
a NodeJS package. From the root of the project:

    ./tools/make-nodejs

This will create new uBlock0.nodejs directory in the
./dist/build directory, which is a valid NodeJS package.

From the root of the package, you can try:

    node test

This will instantiate a static network filtering engine,
populated by easylist and easyprivacy, which can be used
to match network requests by filling the appropriate
filtering context object.

The test.js file contains code which is typical example
of usage of the package.

Limitations: the NodeJS package can't execute the WASM
versions of the code since the WASM module requires the
use of fetch(), which is not available in NodeJS.

This is a first pass at modularizing the codebase, and
while at it a number of opportunistic small rewrites
have also been made.

This commit requires the minimum supported version for
Chromium and Firefox be raised to 61 and 60 respectively.
2021-07-27 17:26:04 -04:00
Raymond Hill
a4aced69dc
Reorganize platform directory to avoid Chromium-centric appearance
Though Firefox shares a lot of WebExtensions code with Chromium,
these platforms have their own specific code paths, for various
reasons.

The reorganization here makes it clear that Chromium platform is
just one flavor of WebExtensions, and as such all Chromium-specific
code paths should no longer be automatically pulled by other
platforms where these code paths are not needed.

Given that the filepath of many files changed, here is the
parent commit to quickly browse back to the previous directory
layout:

ec7db30b2f
2021-07-16 10:06:58 -04:00
Raymond Hill
5c68867b92
Deprecate pseudo user styles code
The pseudo user styles code served only browsers based
on Chromium 65 and earlier -- Chromium 66 supports
native user styles and was first released more than two
years ago.

In Chromium-based browsers, the pseudo user styles code
is being unconditionally injected in every page/frame
just in case the browser is version 65 or earlier.

Removing pseudo user styles reduce uBO's main content
script in Chromium-based browsers by more than 20K.

Related thread:
- https://github.com/NanoAdblocker/NanoCore/issues/348#issuecomment-653646507
2020-07-22 10:21:16 -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
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
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
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
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
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
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
06ea2fb858
fix Firefox/legacy build 2018-04-14 09:36:19 -04:00
gorhill
23487a643a
prepend vapi-usercss.js to contentscript.js in extension package 2017-10-24 12:40:58 -04:00
gorhill
6112a68faf
fix #2984 2017-10-21 13:43:46 -04: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
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
c274195b69 bring support for dev build in Chrome store 2016-08-04 08:24:11 -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
cad3c5f5cb update packaging scripts for https://github.com/uBlockOrigin/uAssets repo 2016-04-03 13:07:46 -04:00
Aaron Bieber
98b0967d69 allow scripts to run with bash in other locations 2016-01-31 12:17:04 -05:00
gorhill
ee2a657f84 AMO review feedback: remove unecessary files from package 2015-12-26 15:53:56 -05:00
gorhill
d9e56d1396 this completes the fix to #602 2015-11-24 20:53:02 -05: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
29b695d813 changes for a beta channel on AMO 2015-08-12 16:31:19 -04:00
gorhill
34485a0465 code review 2015-06-17 14:06:59 -04:00
gorhill
b9e07a16e3 this fixes https://github.com/chrisaljoudi/uBlock/issues/1219 for Firefox 2015-04-09 07:15:14 -04:00
gorhill
b83e0b46d5 move platform-specific images to their respective platform 2015-03-15 08:17:38 -04:00
AlexVallat
31188c6330 Tidying .xul location, update linux script to match windows one 2015-03-03 07:58:35 +00:00
gorhill
9a6c87d0dd Revert "µBlock logo refinement and browser icon organization"
This reverts commit e43931f075.
2015-02-06 07:56:59 -05:00
Chris
e43931f075 µBlock logo refinement and browser icon organization
This includes a new, refined µBlock logo, rendered more coherently
and consistently for different sizes and display pixel densities.
The Safari build script has been modified to bundle appropriate
resolutions. The Firefox build script was slightly changed to
adhere to the naming convention. The Chrome manifest was
modified/ammended slightly to take advantage of new renderings.
README's beginning has been modified to be nicer and more
minimal.
Other than the logo's slightly refined look and having better
resolution on different browsers and setups, this should have
no effect on the user experience or further development.
2015-02-06 04:24:25 -07:00
Chris
b2ae524ed8 Fix cleanup in build script so rm won't complain during first build 2015-02-05 15:13:39 -07:00
Deathamns
ed818c92fe Remove comment 2015-01-14 19:12:10 +01:00
Florian Walch
9e7909b62e Set up Travis releases. 2015-01-14 09:25:14 +01:00
gorhill
580d3a81db build package only if "all" arg specified 2015-01-13 09:28:53 -05:00
gorhill
7e6acb9200 fix script 2015-01-13 08:14:00 -05:00
gorhill
da0a2cd206 create package 2015-01-13 07:55:45 -05:00
gorhill
929466b429 chmod u+x 2015-01-13 07:51:14 -05:00
Deathamns
4e271aebb3 Include LICENSE.txt into extension packages 2015-01-13 07:29:18 +01:00
Deathamns
f74f07e092 Firefox: implement vAPI.tabs.injectScript 2015-01-13 07:29:12 +01:00
Deathamns
45137c2be9 Firefox: update manifest files when building 2015-01-13 07:29:06 +01:00
Deathamns
e4329b7dfe Firefox: blocking and content scripts for e10s 2015-01-13 07:29:00 +01:00