Commit Graph

26 Commits

Author SHA1 Message Date
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 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 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 d528f3811a
Use version number in the filename of packages 2018-12-23 10:16:08 -05: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 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 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 e5f2e9701d
better manage platform-specific code for user-stylesheet support 2018-04-26 11:36:22 -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 17930cc778
fix #3474, #2823 2018-02-15 17:25:38 -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 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 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 e420db1f1f
keep using `.xpi` for webext 2017-04-02 10:55:50 -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 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