Packages are the fundamental concept underlying most chrome content. Here's how to make one.
Pieces of software installed on top of Firefox are called extensions, themes, locales, or add-ons. The name extension and those other names are all product bundle names. Extension product bundles, for example, are handled by the Extension Manager. Inside these product bundles is the lower-level nuts-and-bolts concept of a package. This hack covers the different package representations and the extra steps that are needed for packages to be formally recognized by Firefox in the chrome registry.
An extension's packages include the extension's user-interface (UI) content, plus some additional information. This information makes up the extra bits and pieces needed for the extension to work in Firefox. Users see an extension as something that carries out a particular task for them. This encompasses the UI and the code to implement any functionality. A package includes these files, but it also serves as the name of the extension as it is used in file paths and in RDF files. Packages underlie all themes, locales, and extensions for Firefox.
Here are the steps needed to bring a package into existence:
Create your files locally on disk.
Choose to leave them in a flat file structure or put them in a JAR.
Create the contents.rdf files necessary for Firefox chrome registration.
URLs for your package.
After these steps, the package is ready for further ...