As part of the API freeze, several "services" and XPCOM "components"
will also need to be frozen.
By services, I mean things like the Component Manager, the nsMemory
service, and other global services that embeddors access via
contract-id. Currently, these contract-ids are scattered in various
related files.
I propose that for each frozen service or public component we create a
corresponding header file which has the following:
1. Contract-id (and Class-id if necessary) for the component instance.
2. #includes for all of the related interface headers.
3. Detailed doxygen documentation describing the service (or component).
These header files allow the conceptual encapsulation of an XPCOM
service or component.
Below is a small, but growing, list of the services and components that
need to be frozen:
- component manager
- nsMemory service
- WebBrowser component
- Preferences service
- Profile manager
-- rick