Intent to unship: bootstrapped extensions

Andrew Swan aswan at mozilla.com
Tue Jun 5 03:34:52 UTC 2018


Since various types of legacy extensions became unsupported in Firefox
Quantum, we've been busy removing obsolete code and streamlining the Addons
Manager which, as you might imagine, had become quite large and complex in
order to support a wide variety of legacy addon formats.

At this point, the largest remaining category of legacy extensions is
bootstrapped extensions.  We no longer support bootstrapped extensions for
general use, but we do use them for things like system addons, Test Pilot
experiments, Shield studies, extensions used in automation, and a few other
things.  Bootstrapped extensions are useful for these applications since
they provide a relatively simple way to run some chrome-privileged
javascript code without having to land that code and wait for it to ride
the trains.  But continuing to support these extensions comes at some cost
(for instance, they are one of the last users of RDF in mozilla-central).

An important feature of WebExtensions is that they run in a sandboxed
environment much like web content without direct access to
chrome-privileged browser internals.  However, a feature called
WebExtensions Experiments allows certain extensions to run some privileged
code.  Converting bootstrapped extensions to WebExtensions plus experiments
has a bunch of advantages:
- It means less privileged code overall which is good for stability and
security
- Though porting takes some work, the result should be easier to maintain
and build on in the future
- It frees us up to remove more old code and further streamline the addons
manager

So, we plan to remove support for bootstrapped extensions altogether in
Firefox 65.  This will entail porting existing bootstrapped extensions to
WebExtensions (or converting them to something other than an extension
where that is appropriate).  This effort is tracked in bug 1449052.  If you
are responsible for a bootstrapped extension that we rely on and it is not
already tracked as a dependency of that bug, please:
1. Add a comment or dependency. to bug 1449052, and
2. Aim to get the extension converted by the end of the 64 Nightly cycle
(Oct 15)

And needless to say, we shouldn't be creating any new bootstrapped
extensions at this point.

A lot of things are going to need to come together to hit his schedule but
we are eager to get this wrapped up and move on.  If you are responsible
for an extension and have questions about how to handle it, feel free to
either contact me directly or drop into #webextensions on IRC.  If you want
to learn more about WebExtensions Experiments, there is a brief overview at
[1] and a lot of gory implementation details at [2].

[1] https://webextensions-experiments.readthedocs.io/en/latest/
[2] https://firefox-source-docs.mozilla.org/toolkit/components/extensions/
webextensions/index.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/dev-addons/attachments/20180604/eab0e9bb/attachment.html>


More information about the Dev-addons mailing list