Labs/F1/Modularity/WebMod HOWTO
This HOWTO is specifically tailored to web sites that wish to be tightly integrated with Firefox functionality in the form of a Web Module (WebMod).
Architecture
A WebMod is a way to extend targeted browser functionality with HTML and JavaScript. WebMods have no standalone abilities to modify the user agent, they only respond to API calls from the user agent. A WebMod is made available by a provider of a certain feature, e.g. Twitter for link-sharing, as HTML and JavaScript served from the provider's domain. It is advertised by a Web-accessible manifest, and it can be "installed" into a user agent that supports this functionality.
The user agent and a WebMod communicate over postMessage(). Effectively, a WebMod is a way for a web site to expose an API over postMessage(). Some advanced WebMods may eventually have a User Interface, but for now we describe purely the case of WebMods loaded in invisible IFRAMEs that provide only an API abstraction.