XPCOM API Reference

Notes to editors

For pages that require underscores in the title, please see the documentation for the Title Override Extension.

Also, please put breadcrumbs tag and xpcomapi template at the top of each page. The top of typical page should look as follows:

<breadcrumbs></breadcrumbs> <title-override>NS_InitXPCOM2</title-override>

Pages should also be categorized appropriately. Available categories: Category:Functions, Category:Components, Category:Interfaces, Category:Interfaces:Frozen, ...

If possible, use Template:InterfaceStatus. Example of usage can be seen at nsIObserver:

{{InterfaceStatus|nsIObserver|xpcom/ds/nsIObserver.idl|FROZEN|Mozilla 0.9.6|yes}}


nsIObserver is defined in {{ Source("xpcom/ds/nsIObserver.idl") }}, and has been frozen since Mozilla 0.9.6. It is scriptable.

Why are we not using a page naming scheme like "XPCOM API Reference:<name>", e.g. "XPCOM API Reference:nsCategoryManager", to take full advantage of the breacrumbs extension? I thought that's what breadcrumbs is here for. -- Andreas Wuest 08:37, 20 November 2005 (PST)

There's a balance to be struck between constructing page names to support breadcrumbs (which is somewhat artificial) and keeping page names simple to facilitate ease of linking and findability. In this case we have chosen to promote ease of linking/findability over breadcrumbs. There are plans in place to modify the breadcrumbs extension to support the creation of sensible breadcrumbs for cases like this where we do want to keep the page names as simple as possible, yet still have a useful breadcrumb navigation at the top. I believe Nickolay and Callek are looking at this extension revision now (not 100% sure about that, however). -- dria 08:54, 20 November 2005 (PST)
Thanks. An extended breadcrumbs would definitely be useful. Of course you could use the template mechanism (as is done here) to link back to some "ancestor" page, but being able to employ breadcrumbs would be more clean (as breadcrumbs navigation is present anyway). -- Andreas Wuest 09:11, 20 November 2005 (PST)

The XPCOM documents are badly in need of some sort of hierarchal organizational structure, for the reader's sake (speaking as a reader). It's nearly impossible to fathom the context of any of these pages, and it's painfully confusing to unravel in the state it's now in. --mzarathustra November 2006

For example? --Nickolay 08:58, 4 November 2006 (PST)


Most samples are in C/C++ย ?!? I hope somebody create a javascript equivalent samples of using the XPCOM APIs.


Researched the currently "red linked" nsString which is at the bottom of the page here and has no description. I can't figure out if it should be listed as "{{ Deprecated_inline() }}" here (evidence: ) or if it's just a base class from which other string types are derived (evidence: XPCOM string guide and nsEmbedString.h#45) and so just would rarely if ever be used. --George3 10:05, 19 August 2007 (PDT)