How many hacks does it take to make your extension install without a restart?

Written By
Web Webster
Web Webster
Sep 15, 2010

[ Thanks to SilverWave for this link.
]

“Dave Townsend did some really great work on the add-on
manager recently, he managed to completely rewrite the old crappy
backend code and replace it with something far more sane. Along the
way a new feature was added: starting with Firefox 4 some add-ons
should be able to opt-in and install/uninstall without requiring a
browser restart. This feature was primarily meant for JetPack-built
extensions but is generally open to all other extensions as well. I
tried enabling this feature for Adblock Plus and found that there
is an awful number of catches attached to it. I wrote these down,
might save somebody else’s time:

* Catch 1: No XPCOM components. What you get is a single
JavaScript file (bootstrap.js) that will run when your extension
needs to initialize itself or shut itself down. Solution: move all
global code you might have into JavaScript modules, load these
modules from the bootstrap script and register XPCOM components
dynamically. Do
Components.manager.QueryInterface(Ci.nsIComponentRegistrar) and
call registerFactory() the required number of times.”


Complete Story

Web Webster

Web Webster

Web Webster has more than 20 years of writing and editorial experience in the tech sector. He’s written and edited news, demand generation, user-focused, and thought leadership content for business software solutions, consumer tech, and Linux Today, he edits and writes for a portfolio of tech industry news and analysis websites including webopedia.com, and DatabaseJournal.com.

Linux Today Logo

LinuxToday is a trusted, contributor-driven news resource supporting all types of Linux users. Our thriving international community engages with us through social media and frequent content contributions aimed at solving problems ranging from personal computing to enterprise-level IT operations. LinuxToday serves as a home for a community that struggles to find comparable information elsewhere on the web.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.