Mozilla is working on consolidated documentation for its Plugin API.

At present, Mozilla provides full backwards compatibility with the Netscape Communicator Plugin API -- we recommend building plugins based on this legacy API. In addition, we've provided a mechanism to support plugin scriptability (where JavaScript can communicate with a plugin). Read about it here. We counsel the use of both the legacy plugin API and our new scriptable initiative. We also counsel against the use of interfaces that are not frozen. Frozen interfaces are designated by "@status FROZEN" appearing in the comments of the idl file. You can easily find these by running a text search for "@status FROZEN" in lxr. Happy hacking!