uBlock/src
Raymond Hill fa83744b58
Use a sequence of base 64 numbers to encode array buffers
The purpose of using a custom base128 encoder is to
convert array buffers into strings, to allow a direct
string-to-array buffer conversion at load time:

  string => array buffer

Whereas a JSON array would require an extra step:

  JSON array as string => JS array => array buffer

Turns out that the current use of a custom base128 encoding
results in a significantly larger selfie storage usage when
converting array buffers into strings.

Speculation: possibly the browser convert the strings to
save into JSON strings internally. Since the custom base128
encoder is likely to cause the resulting string to contain
a lot of unprintable ASCII characters, these will need to
be escaped when converted to JSON -- escaped characters
occupy more space than non-escaped ones.

Using a sequence of base 64 numbers means only printable
will be present in the output string, hence no escaping
necessary. I have observed significant reduction in
storage usage for selfie purpose.
2019-04-20 09:06:54 -04:00
..
_locales Import translation work from https://crowdin.com/project/ublock 2019-04-19 17:07:27 -04:00
css Visually emphasize directive syntax (`!#if`/`!#endif`) in list viewer/editor 2019-03-21 19:53:04 -03:00
img Add export-to-clipboard feature to logger 2019-01-14 14:57:31 -05:00
js Use a sequence of base 64 numbers to encode array buffers 2019-04-20 09:06:54 -04:00
lib Fix https://github.com/NanoAdblocker/NanoCore/issues/257 2019-04-03 00:18:16 -03:00
web_accessible_resources add info about the script used to generate the web-accessible resouces 2018-09-14 08:02:27 -04:00
1p-filters.html further improving UI for small screens 2018-03-28 16:15:50 -04:00
3p-filters.html fix https://github.com/uBlockOrigin/uBlock-issues/issues/171 2018-08-31 10:50:19 -04:00
about.html Revert use of Fontawesome v5; use 4.7 or equivalent: see <>https://github.com/uBlockOrigin/uBlock-issues/issues/249#issuecomment-448587658 2018-12-19 14:05:19 -05:00
advanced-settings.html make use of CodeMirror in "Advanced settings" page 2018-08-13 10:21:42 -04:00
asset-viewer.html fix https://github.com/uBlockOrigin/uBlock-issues/issues/292 2018-12-06 09:29:17 -05:00
background.html Performance + code maintenance work on static network filtering engine 2019-04-14 16:45:20 -04:00
cloud-ui.html fix https://github.com/uBlockOrigin/uBlock-issues/issues/171 2018-08-31 10:50:19 -04:00
dashboard.html Remove (broken) benchmark pane 2018-12-21 12:01:24 -05:00
document-blocked.html Further fine tune layout for small screen devices; use SVG for icon 2018-12-21 08:16:24 -05:00
dyna-rules.html further improving UI for small screens 2018-03-28 16:15:50 -04:00
epicker.html Make the element picker dialog slowly fade away when made discrete 2018-12-22 15:09:38 -05:00
logger-ui.html Add logger "Export"-related strings for i18n 2019-01-17 08:03:50 -05:00
popup.html Grand refactoring of the logger 2019-01-12 16:36:20 -05:00
settings.html Grand refactoring of the logger 2019-01-12 16:36:20 -05:00
shortcuts.html fix https://github.com/uBlockOrigin/uBlock-issues/issues/106 2018-07-18 18:00:55 -04:00
whitelist.html further improving UI for small screens 2018-03-28 16:15:50 -04:00