Changes

Jump to: navigation, search

Labs/Jetpack/JEP/25

361 bytes added, 01:05, 15 September 2009
added more info
<b>Chrome Boosters</b> are third-party modules that can be used to provide functionality to Jetpack Features or any XULRunner extension (e.g., Firefox Add/Thunderbird add-ons).  As their name implies, they are chrome-privileged and can use dependency injection to offer functionality to non-chrome-privileged Jetpacks--or, if used in a XULRunner extension, they can be used to provide functionality to other chrome-privileged code. Once we have a substrate of Chrome Boosters available, we'll be able to create "Content Boosters" that consist solely of unprivileged functionality that itself relies on capabilities provided to them via Chrome Boosters.
These modules essentially formalize the mechanism used within Jetpack to provide the <tt>jetpack</tt> namespace to Jetpacks.
Chrome Boosters have the following characteristics:
* They are a superset of the CommonJS [http://wiki.commonjs.org/wiki/CommonJS/Modules/SecurableModules SecurableModule] standard.
* They can be loaded and unloaded multiple times throughout the lifetime of their containing application (yes, leaks are an unfortunate possibility).
* They have access to an <tt>onUnload()</tt> function that allows them the ability to register callbacks to that perform cleanup tasks when the module is unloaded.
* They have full access to XPConnect's <tt>Components</tt> object, and all its sub-objects.
874
edits

Navigation menu