Back to index

lightning-sunbird  0.9+nobinonly
Classes | Defines | Typedefs | Enumerations
nsIDOMClassInfo.h File Reference
#include "nsIClassInfo.h"
#include "nsVoidArray.h"
#include "nsIXPCScriptable.h"
#include "nsIServiceManager.h"
#include "nsIDOMScriptObjectFactory.h"
#include "nsDOMCID.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  nsIDOMCIExtension

Defines

#define DEFAULT_SCRIPTABLE_FLAGS
#define DOM_DEFAULT_SCRIPTABLE_FLAGS
#define NS_CLASSINFO_MAP_BEGIN(_class)
 nsIClassInfo helper macros
#define NS_CLASSINFO_MAP_BEGIN_EXPORTED(_class)
#define NS_CLASSINFO_MAP_ENTRY(_interface)
#define NS_CLASSINFO_MAP_ENTRY_FUNCTION(_function)
#define NS_CLASSINFO_MAP_END
#define NS_INTERFACE_MAP_ENTRY_DOM_CLASSINFO(_class)
#define NS_INTERFACE_MAP_ENTRY_EXTERNAL_DOM_CLASSINFO(_class)
#define NS_DECL_DOM_CLASSINFO(_class)   nsISupports *NS_CLASSINFO_NAME(_class) = nsnull;
#define NS_IDOMCI_EXTENSION_IID
#define NS_DOMCI_EXTENSION_NAME(_module)   ns##_module##DOMCIExtension
#define NS_DOMCI_EXTENSION_CONSTRUCTOR(_module)   ns##_module##DOMCIExtensionConstructor
#define NS_DOMCI_EXTENSION_CONSTRUCTOR_IMP(_extension)   NS_GENERIC_FACTORY_CONSTRUCTOR(_extension)
#define NS_DOMCI_EXTENSION(_module)
#define NS_DOMCI_EXTENSION_ENTRY_BEGIN(_class)
#define NS_DOMCI_EXTENSION_ENTRY_INTERFACE(_interface)   &NS_GET_IID(_interface),
#define NS_DOMCI_EXTENSION_ENTRY_END_HELPER(_class, _proto, _hasclassif,_constructorcid)
#define NS_DOMCI_EXTENSION_ENTRY_END(_class, _proto, _hasclassif,_constructorcid)
#define NS_DOMCI_EXTENSION_ENTRY_END_NO_PRIMARY_IF(_class, _hasclassif,_constructorcid)
#define NS_DOMCI_EXTENSION_END

Typedefs

typedef nsIClassInfo *(* nsDOMClassInfoExternalConstructorFnc )(const char *aName)

Enumerations

enum  nsDOMClassInfoID {
  eDOMClassInfo_Window_id, eDOMClassInfo_Location_id, eDOMClassInfo_Navigator_id, eDOMClassInfo_Plugin_id,
  eDOMClassInfo_PluginArray_id, eDOMClassInfo_MimeType_id, eDOMClassInfo_MimeTypeArray_id, eDOMClassInfo_BarProp_id,
  eDOMClassInfo_History_id, eDOMClassInfo_Screen_id, eDOMClassInfo_XMLDocument_id, eDOMClassInfo_DocumentType_id,
  eDOMClassInfo_DOMImplementation_id, eDOMClassInfo_DOMException_id, eDOMClassInfo_DocumentFragment_id, eDOMClassInfo_Element_id,
  eDOMClassInfo_Attr_id, eDOMClassInfo_Text_id, eDOMClassInfo_Comment_id, eDOMClassInfo_CDATASection_id,
  eDOMClassInfo_ProcessingInstruction_id, eDOMClassInfo_Entity_id, eDOMClassInfo_EntityReference_id, eDOMClassInfo_Notation_id,
  eDOMClassInfo_NodeList_id, eDOMClassInfo_NamedNodeMap_id, eDOMClassInfo_DocumentStyleSheetList_id, eDOMClassInfo_Event_id,
  eDOMClassInfo_MutationEvent_id, eDOMClassInfo_UIEvent_id, eDOMClassInfo_MouseEvent_id, eDOMClassInfo_KeyboardEvent_id,
  eDOMClassInfo_PopupBlockedEvent_id, eDOMClassInfo_HTMLDocument_id, eDOMClassInfo_HTMLCollection_id, eDOMClassInfo_HTMLOptionsCollection_id,
  eDOMClassInfo_HTMLFormControlCollection_id, eDOMClassInfo_HTMLGenericCollection_id, eDOMClassInfo_HTMLAnchorElement_id, eDOMClassInfo_HTMLAppletElement_id,
  eDOMClassInfo_HTMLAreaElement_id, eDOMClassInfo_HTMLBRElement_id, eDOMClassInfo_HTMLBaseElement_id, eDOMClassInfo_HTMLBaseFontElement_id,
  eDOMClassInfo_HTMLBodyElement_id, eDOMClassInfo_HTMLButtonElement_id, eDOMClassInfo_HTMLDListElement_id, eDOMClassInfo_HTMLDelElement_id,
  eDOMClassInfo_HTMLDirectoryElement_id, eDOMClassInfo_HTMLDivElement_id, eDOMClassInfo_HTMLEmbedElement_id, eDOMClassInfo_HTMLFieldSetElement_id,
  eDOMClassInfo_HTMLFontElement_id, eDOMClassInfo_HTMLFormElement_id, eDOMClassInfo_HTMLFrameElement_id, eDOMClassInfo_HTMLFrameSetElement_id,
  eDOMClassInfo_HTMLHRElement_id, eDOMClassInfo_HTMLHeadElement_id, eDOMClassInfo_HTMLHeadingElement_id, eDOMClassInfo_HTMLHtmlElement_id,
  eDOMClassInfo_HTMLIFrameElement_id, eDOMClassInfo_HTMLImageElement_id, eDOMClassInfo_HTMLInputElement_id, eDOMClassInfo_HTMLInsElement_id,
  eDOMClassInfo_HTMLIsIndexElement_id, eDOMClassInfo_HTMLLIElement_id, eDOMClassInfo_HTMLLabelElement_id, eDOMClassInfo_HTMLLegendElement_id,
  eDOMClassInfo_HTMLLinkElement_id, eDOMClassInfo_HTMLMapElement_id, eDOMClassInfo_HTMLMenuElement_id, eDOMClassInfo_HTMLMetaElement_id,
  eDOMClassInfo_HTMLModElement_id, eDOMClassInfo_HTMLOListElement_id, eDOMClassInfo_HTMLObjectElement_id, eDOMClassInfo_HTMLOptGroupElement_id,
  eDOMClassInfo_HTMLOptionElement_id, eDOMClassInfo_HTMLParagraphElement_id, eDOMClassInfo_HTMLParamElement_id, eDOMClassInfo_HTMLPreElement_id,
  eDOMClassInfo_HTMLQuoteElement_id, eDOMClassInfo_HTMLScriptElement_id, eDOMClassInfo_HTMLSelectElement_id, eDOMClassInfo_HTMLSpacerElement_id,
  eDOMClassInfo_HTMLSpanElement_id, eDOMClassInfo_HTMLStyleElement_id, eDOMClassInfo_HTMLTableCaptionElement_id, eDOMClassInfo_HTMLTableCellElement_id,
  eDOMClassInfo_HTMLTableColElement_id, eDOMClassInfo_HTMLTableColGroupElement_id, eDOMClassInfo_HTMLTableElement_id, eDOMClassInfo_HTMLTableRowElement_id,
  eDOMClassInfo_HTMLTableSectionElement_id, eDOMClassInfo_HTMLTextAreaElement_id, eDOMClassInfo_HTMLTitleElement_id, eDOMClassInfo_HTMLUListElement_id,
  eDOMClassInfo_HTMLUnknownElement_id, eDOMClassInfo_HTMLWBRElement_id, eDOMClassInfo_CSSStyleRule_id, eDOMClassInfo_CSSCharsetRule_id,
  eDOMClassInfo_CSSImportRule_id, eDOMClassInfo_CSSMediaRule_id, eDOMClassInfo_CSSNameSpaceRule_id, eDOMClassInfo_CSSRuleList_id,
  eDOMClassInfo_CSSGroupRuleRuleList_id, eDOMClassInfo_MediaList_id, eDOMClassInfo_StyleSheetList_id, eDOMClassInfo_CSSStyleSheet_id,
  eDOMClassInfo_CSSStyleDeclaration_id, eDOMClassInfo_ComputedCSSStyleDeclaration_id, eDOMClassInfo_ROCSSPrimitiveValue_id, eDOMClassInfo_Range_id,
  eDOMClassInfo_Selection_id, eDOMClassInfo_XULControllers_id, eDOMClassInfo_Crypto_id, eDOMClassInfo_CRMFObject_id,
  eDOMClassInfo_Pkcs11_id, eDOMClassInfo_TreeWalker_id, eDOMClassInfo_CSSRect_id, eDOMClassInfo_ChromeWindow_id,
  eDOMClassInfo_CSSRGBColor_id, eDOMClassInfo_RangeException_id, eDOMClassInfo_CSSValueList_id, eDOMClassInfo_ContentList_id,
  eDOMClassInfo_XMLStylesheetProcessingInstruction_id, eDOMClassInfo_ImageDocument_id, eDOMClassInfo_DOMStringList_id, eDOMClassInfo_NameList_id,
  eDOMClassInfo_CSSMozDocumentRule_id, eDOMClassInfo_BeforeUnloadEvent_id, eDOMClassInfo_HTMLCanvasElement_id, eDOMClassInfo_SmartCardEvent_id,
  eDOMClassInfo_PageTransitionEvent_id, eDOMClassInfo_Storage_id, eDOMClassInfo_StorageList_id, eDOMClassInfo_StorageItem_id,
  eDOMClassInfo_StorageEvent_id, eDOMClassInfo_Constructor_id, eDOMClassInfo_WindowRoot_id, eDOMClassInfo_DOMParser_id,
  eDOMClassInfo_XMLSerializer_id, eDOMClassInfo_XMLHttpProgressEvent_id, eDOMClassInfo_XMLHttpRequest_id, eDOMClassInfo_XULCommandEvent_id,
  eDOMClassInfoIDCount
}

Define Documentation

Value:
(nsIXPCScriptable::USE_JSSTUB_FOR_ADDPROPERTY |                          \
   nsIXPCScriptable::USE_JSSTUB_FOR_DELPROPERTY |                          \
   nsIXPCScriptable::USE_JSSTUB_FOR_SETPROPERTY |                          \
   nsIXPCScriptable::ALLOW_PROP_MODS_DURING_RESOLVE |                      \
   nsIXPCScriptable::ALLOW_PROP_MODS_TO_PROTOTYPE |                        \
   nsIXPCScriptable::DONT_ASK_INSTANCE_FOR_SCRIPTABLE |                    \
   nsIXPCScriptable::DONT_REFLECT_INTERFACE_NAMES |                        \
   nsIXPCScriptable::WANT_NEWRESOLVE |                                     \
   nsIXPCScriptable::WANT_CHECKACCESS |                                    \
   nsIXPCScriptable::WANT_PRECREATE |                                      \
   nsIXPCScriptable::WANT_POSTCREATE)

Definition at line 378 of file nsIDOMClassInfo.h.

Value:
(DEFAULT_SCRIPTABLE_FLAGS |                                              \
   nsIXPCScriptable::DONT_ENUM_QUERY_INTERFACE |                           \
   nsIXPCScriptable::CLASSINFO_INTERFACES_ONLY)

Definition at line 391 of file nsIDOMClassInfo.h.

nsIClassInfo helper macros

Definition at line 405 of file nsIDOMClassInfo.h.

Definition at line 407 of file nsIDOMClassInfo.h.

Definition at line 413 of file nsIDOMClassInfo.h.

#define NS_CLASSINFO_MAP_ENTRY (   _interface)

Definition at line 409 of file nsIDOMClassInfo.h.

Definition at line 411 of file nsIDOMClassInfo.h.

#define NS_DECL_DOM_CLASSINFO (   _class)    nsISupports *NS_CLASSINFO_NAME(_class) = nsnull;

Definition at line 466 of file nsIDOMClassInfo.h.

#define NS_DOMCI_EXTENSION_CONSTRUCTOR (   _module)    ns##_module##DOMCIExtensionConstructor

Definition at line 486 of file nsIDOMClassInfo.h.

Definition at line 488 of file nsIDOMClassInfo.h.

Value:
return NS_ERROR_FAILURE;                                                \
}

Definition at line 552 of file nsIDOMClassInfo.h.

Value:
if (nsCRT::strcmp(aName, #_class) == 0) {                               \
    static const nsIID* interfaces[] = {

Definition at line 521 of file nsIDOMClassInfo.h.

#define NS_DOMCI_EXTENSION_ENTRY_END (   _class,
  _proto,
  _hasclassif,
  _constructorcid 
)
Value:
NS_DOMCI_EXTENSION_ENTRY_END_HELPER(_class, &NS_GET_IID(_proto),        \
                                      _hasclassif, _constructorcid)

Definition at line 542 of file nsIDOMClassInfo.h.

#define NS_DOMCI_EXTENSION_ENTRY_END_HELPER (   _class,
  _proto,
  _hasclassif,
  _constructorcid 
)
Value:
nsnull                                                              \
    };                                                                    \
    aDOMSOFactory->RegisterDOMClassInfo(#_class, nsnull, _proto,          \
                                        interfaces,                       \
                                        DOM_DEFAULT_SCRIPTABLE_FLAGS,     \
                                        _hasclassif, _constructorcid);    \
    return NS_OK;                                                         \
  }

Definition at line 531 of file nsIDOMClassInfo.h.

#define NS_DOMCI_EXTENSION_ENTRY_END_NO_PRIMARY_IF (   _class,
  _hasclassif,
  _constructorcid 
)
Value:
NS_DOMCI_EXTENSION_ENTRY_END_HELPER(_class, nsnull, _hasclassif,        \
                                      _constructorcid)

Definition at line 547 of file nsIDOMClassInfo.h.

#define NS_DOMCI_EXTENSION_ENTRY_INTERFACE (   _interface)    &NS_GET_IID(_interface),

Definition at line 525 of file nsIDOMClassInfo.h.

#define NS_DOMCI_EXTENSION_NAME (   _module)    ns##_module##DOMCIExtension

Definition at line 485 of file nsIDOMClassInfo.h.

Value:
{ 0x891a7b01, 0x1b61, 0x11d6, \
{ 0xa7, 0xf2, 0xf6, 0x90, 0xb6, 0x38, 0x89, 0x9c } }

Definition at line 470 of file nsIDOMClassInfo.h.

Value:
if (aIID.Equals(NS_GET_IID(nsIClassInfo))) {                             \
    static NS_DEFINE_CID(kDOMSOF_CID, NS_DOM_SCRIPT_OBJECT_FACTORY_CID);   \
                                                                           \
    nsresult rv;                                                           \
    nsCOMPtr<nsIDOMScriptObjectFactory> sof(do_GetService(kDOMSOF_CID,     \
                                                          &rv));           \
    if (NS_FAILED(rv)) {                                                   \
      *aInstancePtr = nsnull;                                              \
      return rv;                                                           \
    }                                                                      \
                                                                           \
    foundInterface =                                                       \
      sof->GetClassInfoInstance(eDOMClassInfo_##_class##_id);              \
  } else

Definition at line 420 of file nsIDOMClassInfo.h.

Value:
if (aIID.Equals(NS_GET_IID(nsIClassInfo))) {                             \
    extern nsISupports *NS_CLASSINFO_NAME(_class);                         \
    if (NS_CLASSINFO_NAME(_class)) {                                       \
      foundInterface = NS_CLASSINFO_NAME(_class);                          \
    } else {                                                               \
      static NS_DEFINE_CID(kDOMSOF_CID, NS_DOM_SCRIPT_OBJECT_FACTORY_CID); \
                                                                           \
      nsresult rv;                                                         \
      nsCOMPtr<nsIDOMScriptObjectFactory> sof(do_GetService(kDOMSOF_CID,   \
                                                            &rv));         \
      if (NS_FAILED(rv)) {                                                 \
        *aInstancePtr = nsnull;                                            \
        return rv;                                                         \
      }                                                                    \
                                                                           \
      foundInterface =                                                     \
        sof->GetExternalClassInfoInstance(NS_LITERAL_STRING(#_class));     \
                                                                           \
      if (foundInterface) {                                                \
        NS_CLASSINFO_NAME(_class) = foundInterface;                        \
        NS_CLASSINFO_NAME(_class)->AddRef();                               \
      }                                                                    \
    }                                                                      \
  } else

Definition at line 439 of file nsIDOMClassInfo.h.


Typedef Documentation

Definition at line 398 of file nsIDOMClassInfo.h.


Enumeration Type Documentation

Enumerator:
eDOMClassInfo_Window_id 
eDOMClassInfo_Location_id 
eDOMClassInfo_Navigator_id 
eDOMClassInfo_Plugin_id 
eDOMClassInfo_PluginArray_id 
eDOMClassInfo_MimeType_id 
eDOMClassInfo_MimeTypeArray_id 
eDOMClassInfo_BarProp_id 
eDOMClassInfo_History_id 
eDOMClassInfo_Screen_id 
eDOMClassInfo_XMLDocument_id 
eDOMClassInfo_DocumentType_id 
eDOMClassInfo_DOMImplementation_id 
eDOMClassInfo_DOMException_id 
eDOMClassInfo_DocumentFragment_id 
eDOMClassInfo_Element_id 
eDOMClassInfo_Attr_id 
eDOMClassInfo_Text_id 
eDOMClassInfo_Comment_id 
eDOMClassInfo_CDATASection_id 
eDOMClassInfo_ProcessingInstruction_id 
eDOMClassInfo_Entity_id 
eDOMClassInfo_EntityReference_id 
eDOMClassInfo_Notation_id 
eDOMClassInfo_NodeList_id 
eDOMClassInfo_NamedNodeMap_id 
eDOMClassInfo_DocumentStyleSheetList_id 
eDOMClassInfo_Event_id 
eDOMClassInfo_MutationEvent_id 
eDOMClassInfo_UIEvent_id 
eDOMClassInfo_MouseEvent_id 
eDOMClassInfo_KeyboardEvent_id 
eDOMClassInfo_PopupBlockedEvent_id 
eDOMClassInfo_HTMLDocument_id 
eDOMClassInfo_HTMLCollection_id 
eDOMClassInfo_HTMLOptionsCollection_id 
eDOMClassInfo_HTMLFormControlCollection_id 
eDOMClassInfo_HTMLGenericCollection_id 
eDOMClassInfo_HTMLAnchorElement_id 
eDOMClassInfo_HTMLAppletElement_id 
eDOMClassInfo_HTMLAreaElement_id 
eDOMClassInfo_HTMLBRElement_id 
eDOMClassInfo_HTMLBaseElement_id 
eDOMClassInfo_HTMLBaseFontElement_id 
eDOMClassInfo_HTMLBodyElement_id 
eDOMClassInfo_HTMLButtonElement_id 
eDOMClassInfo_HTMLDListElement_id 
eDOMClassInfo_HTMLDelElement_id 
eDOMClassInfo_HTMLDirectoryElement_id 
eDOMClassInfo_HTMLDivElement_id 
eDOMClassInfo_HTMLEmbedElement_id 
eDOMClassInfo_HTMLFieldSetElement_id 
eDOMClassInfo_HTMLFontElement_id 
eDOMClassInfo_HTMLFormElement_id 
eDOMClassInfo_HTMLFrameElement_id 
eDOMClassInfo_HTMLFrameSetElement_id 
eDOMClassInfo_HTMLHRElement_id 
eDOMClassInfo_HTMLHeadElement_id 
eDOMClassInfo_HTMLHeadingElement_id 
eDOMClassInfo_HTMLHtmlElement_id 
eDOMClassInfo_HTMLIFrameElement_id 
eDOMClassInfo_HTMLImageElement_id 
eDOMClassInfo_HTMLInputElement_id 
eDOMClassInfo_HTMLInsElement_id 
eDOMClassInfo_HTMLIsIndexElement_id 
eDOMClassInfo_HTMLLIElement_id 
eDOMClassInfo_HTMLLabelElement_id 
eDOMClassInfo_HTMLLegendElement_id 
eDOMClassInfo_HTMLLinkElement_id 
eDOMClassInfo_HTMLMapElement_id 
eDOMClassInfo_HTMLMenuElement_id 
eDOMClassInfo_HTMLMetaElement_id 
eDOMClassInfo_HTMLModElement_id 
eDOMClassInfo_HTMLOListElement_id 
eDOMClassInfo_HTMLObjectElement_id 
eDOMClassInfo_HTMLOptGroupElement_id 
eDOMClassInfo_HTMLOptionElement_id 
eDOMClassInfo_HTMLParagraphElement_id 
eDOMClassInfo_HTMLParamElement_id 
eDOMClassInfo_HTMLPreElement_id 
eDOMClassInfo_HTMLQuoteElement_id 
eDOMClassInfo_HTMLScriptElement_id 
eDOMClassInfo_HTMLSelectElement_id 
eDOMClassInfo_HTMLSpacerElement_id 
eDOMClassInfo_HTMLSpanElement_id 
eDOMClassInfo_HTMLStyleElement_id 
eDOMClassInfo_HTMLTableCaptionElement_id 
eDOMClassInfo_HTMLTableCellElement_id 
eDOMClassInfo_HTMLTableColElement_id 
eDOMClassInfo_HTMLTableColGroupElement_id 
eDOMClassInfo_HTMLTableElement_id 
eDOMClassInfo_HTMLTableRowElement_id 
eDOMClassInfo_HTMLTableSectionElement_id 
eDOMClassInfo_HTMLTextAreaElement_id 
eDOMClassInfo_HTMLTitleElement_id 
eDOMClassInfo_HTMLUListElement_id 
eDOMClassInfo_HTMLUnknownElement_id 
eDOMClassInfo_HTMLWBRElement_id 
eDOMClassInfo_CSSStyleRule_id 
eDOMClassInfo_CSSCharsetRule_id 
eDOMClassInfo_CSSImportRule_id 
eDOMClassInfo_CSSMediaRule_id 
eDOMClassInfo_CSSNameSpaceRule_id 
eDOMClassInfo_CSSRuleList_id 
eDOMClassInfo_CSSGroupRuleRuleList_id 
eDOMClassInfo_MediaList_id 
eDOMClassInfo_StyleSheetList_id 
eDOMClassInfo_CSSStyleSheet_id 
eDOMClassInfo_CSSStyleDeclaration_id 
eDOMClassInfo_ComputedCSSStyleDeclaration_id 
eDOMClassInfo_ROCSSPrimitiveValue_id 
eDOMClassInfo_Range_id 
eDOMClassInfo_Selection_id 
eDOMClassInfo_XULControllers_id 
eDOMClassInfo_Crypto_id 
eDOMClassInfo_CRMFObject_id 
eDOMClassInfo_Pkcs11_id 
eDOMClassInfo_TreeWalker_id 
eDOMClassInfo_CSSRect_id 
eDOMClassInfo_ChromeWindow_id 
eDOMClassInfo_CSSRGBColor_id 
eDOMClassInfo_RangeException_id 
eDOMClassInfo_CSSValueList_id 
eDOMClassInfo_ContentList_id 
eDOMClassInfo_XMLStylesheetProcessingInstruction_id 
eDOMClassInfo_ImageDocument_id 
eDOMClassInfo_DOMStringList_id 
eDOMClassInfo_NameList_id 
eDOMClassInfo_CSSMozDocumentRule_id 
eDOMClassInfo_BeforeUnloadEvent_id 
eDOMClassInfo_HTMLCanvasElement_id 
eDOMClassInfo_SmartCardEvent_id 
eDOMClassInfo_PageTransitionEvent_id 
eDOMClassInfo_Storage_id 
eDOMClassInfo_StorageList_id 
eDOMClassInfo_StorageItem_id 
eDOMClassInfo_StorageEvent_id 
eDOMClassInfo_Constructor_id 
eDOMClassInfo_WindowRoot_id 
eDOMClassInfo_DOMParser_id 
eDOMClassInfo_XMLSerializer_id 
eDOMClassInfo_XMLHttpProgressEvent_id 
eDOMClassInfo_XMLHttpRequest_id 
eDOMClassInfo_XULCommandEvent_id 
eDOMClassInfoIDCount 

Definition at line 45 of file nsIDOMClassInfo.h.

                      {
  // Base classes
  eDOMClassInfo_Window_id,
  eDOMClassInfo_Location_id,
  eDOMClassInfo_Navigator_id,
  eDOMClassInfo_Plugin_id,
  eDOMClassInfo_PluginArray_id,
  eDOMClassInfo_MimeType_id,
  eDOMClassInfo_MimeTypeArray_id,
  eDOMClassInfo_BarProp_id,
  eDOMClassInfo_History_id,
  eDOMClassInfo_Screen_id,

  // Core classes
  eDOMClassInfo_XMLDocument_id,
  eDOMClassInfo_DocumentType_id,
  eDOMClassInfo_DOMImplementation_id,
  eDOMClassInfo_DOMException_id,
  eDOMClassInfo_DocumentFragment_id,
  eDOMClassInfo_Element_id,
  eDOMClassInfo_Attr_id,
  eDOMClassInfo_Text_id,
  eDOMClassInfo_Comment_id,
  eDOMClassInfo_CDATASection_id,
  eDOMClassInfo_ProcessingInstruction_id,
  eDOMClassInfo_Entity_id,
  eDOMClassInfo_EntityReference_id,
  eDOMClassInfo_Notation_id,
  eDOMClassInfo_NodeList_id,
  eDOMClassInfo_NamedNodeMap_id,

  // StyleSheet classes
  eDOMClassInfo_DocumentStyleSheetList_id,

  // Event classes
  eDOMClassInfo_Event_id,
  eDOMClassInfo_MutationEvent_id,
  eDOMClassInfo_UIEvent_id,
  eDOMClassInfo_MouseEvent_id,
  eDOMClassInfo_KeyboardEvent_id,
  eDOMClassInfo_PopupBlockedEvent_id,

  // HTML classes
  eDOMClassInfo_HTMLDocument_id,
  eDOMClassInfo_HTMLCollection_id,
  eDOMClassInfo_HTMLOptionsCollection_id,
  eDOMClassInfo_HTMLFormControlCollection_id,
  eDOMClassInfo_HTMLGenericCollection_id,

  // HTML element classes
  eDOMClassInfo_HTMLAnchorElement_id,
  eDOMClassInfo_HTMLAppletElement_id,
  eDOMClassInfo_HTMLAreaElement_id,
  eDOMClassInfo_HTMLBRElement_id,
  eDOMClassInfo_HTMLBaseElement_id,
  eDOMClassInfo_HTMLBaseFontElement_id,
  eDOMClassInfo_HTMLBodyElement_id,
  eDOMClassInfo_HTMLButtonElement_id,
  eDOMClassInfo_HTMLDListElement_id,
  eDOMClassInfo_HTMLDelElement_id,
  eDOMClassInfo_HTMLDirectoryElement_id,
  eDOMClassInfo_HTMLDivElement_id,
  eDOMClassInfo_HTMLEmbedElement_id,
  eDOMClassInfo_HTMLFieldSetElement_id,
  eDOMClassInfo_HTMLFontElement_id,
  eDOMClassInfo_HTMLFormElement_id,
  eDOMClassInfo_HTMLFrameElement_id,
  eDOMClassInfo_HTMLFrameSetElement_id,
  eDOMClassInfo_HTMLHRElement_id,
  eDOMClassInfo_HTMLHeadElement_id,
  eDOMClassInfo_HTMLHeadingElement_id,
  eDOMClassInfo_HTMLHtmlElement_id,
  eDOMClassInfo_HTMLIFrameElement_id,
  eDOMClassInfo_HTMLImageElement_id,
  eDOMClassInfo_HTMLInputElement_id,
  eDOMClassInfo_HTMLInsElement_id,
  eDOMClassInfo_HTMLIsIndexElement_id,
  eDOMClassInfo_HTMLLIElement_id,
  eDOMClassInfo_HTMLLabelElement_id,
  eDOMClassInfo_HTMLLegendElement_id,
  eDOMClassInfo_HTMLLinkElement_id,
  eDOMClassInfo_HTMLMapElement_id,
  eDOMClassInfo_HTMLMenuElement_id,
  eDOMClassInfo_HTMLMetaElement_id,
  eDOMClassInfo_HTMLModElement_id,
  eDOMClassInfo_HTMLOListElement_id,
  eDOMClassInfo_HTMLObjectElement_id,
  eDOMClassInfo_HTMLOptGroupElement_id,
  eDOMClassInfo_HTMLOptionElement_id,
  eDOMClassInfo_HTMLParagraphElement_id,
  eDOMClassInfo_HTMLParamElement_id,
  eDOMClassInfo_HTMLPreElement_id,
  eDOMClassInfo_HTMLQuoteElement_id,
  eDOMClassInfo_HTMLScriptElement_id,
  eDOMClassInfo_HTMLSelectElement_id,
  eDOMClassInfo_HTMLSpacerElement_id,
  eDOMClassInfo_HTMLSpanElement_id,
  eDOMClassInfo_HTMLStyleElement_id,
  eDOMClassInfo_HTMLTableCaptionElement_id,
  eDOMClassInfo_HTMLTableCellElement_id,
  eDOMClassInfo_HTMLTableColElement_id,
  eDOMClassInfo_HTMLTableColGroupElement_id,
  eDOMClassInfo_HTMLTableElement_id,
  eDOMClassInfo_HTMLTableRowElement_id,
  eDOMClassInfo_HTMLTableSectionElement_id,
  eDOMClassInfo_HTMLTextAreaElement_id,
  eDOMClassInfo_HTMLTitleElement_id,
  eDOMClassInfo_HTMLUListElement_id,
  eDOMClassInfo_HTMLUnknownElement_id,
  eDOMClassInfo_HTMLWBRElement_id,

  // CSS classes
  eDOMClassInfo_CSSStyleRule_id,
  eDOMClassInfo_CSSCharsetRule_id,
  eDOMClassInfo_CSSImportRule_id,
  eDOMClassInfo_CSSMediaRule_id,
  eDOMClassInfo_CSSNameSpaceRule_id,
  eDOMClassInfo_CSSRuleList_id,
  eDOMClassInfo_CSSGroupRuleRuleList_id,
  eDOMClassInfo_MediaList_id,
  eDOMClassInfo_StyleSheetList_id,
  eDOMClassInfo_CSSStyleSheet_id,
  eDOMClassInfo_CSSStyleDeclaration_id,
  eDOMClassInfo_ComputedCSSStyleDeclaration_id,
  eDOMClassInfo_ROCSSPrimitiveValue_id,

  // Range classes
  eDOMClassInfo_Range_id,
  eDOMClassInfo_Selection_id,

  // XUL classes
#ifdef MOZ_XUL
  eDOMClassInfo_XULDocument_id,
  eDOMClassInfo_XULElement_id,
  eDOMClassInfo_XULCommandDispatcher_id,
  eDOMClassInfo_XULNodeList_id,
  eDOMClassInfo_XULNamedNodeMap_id,
  eDOMClassInfo_XULAttr_id,
#endif
  eDOMClassInfo_XULControllers_id,
#ifdef MOZ_XUL
  eDOMClassInfo_BoxObject_id,
  eDOMClassInfo_TreeSelection_id,
  eDOMClassInfo_TreeContentView_id,
#endif

  // Crypto classes
  eDOMClassInfo_Crypto_id,
  eDOMClassInfo_CRMFObject_id,
  eDOMClassInfo_Pkcs11_id,
  
  // DOM Traversal classes
  eDOMClassInfo_TreeWalker_id,

  // Rect object used by getComputedStyle
  eDOMClassInfo_CSSRect_id,

  // DOM Chrome Window class, almost identical to Window
  eDOMClassInfo_ChromeWindow_id,

  // RGBColor object used by getComputedStyle
  eDOMClassInfo_CSSRGBColor_id,

  eDOMClassInfo_RangeException_id,

  // CSSValueList object that represents an nsIDOMCSSValueList, used
  // by DOM CSS
  eDOMClassInfo_CSSValueList_id,

  // ContentList object used for various live NodeLists
  eDOMClassInfo_ContentList_id,
  
  // Processing-instruction with target "xml-stylesheet"
  eDOMClassInfo_XMLStylesheetProcessingInstruction_id,
  
  eDOMClassInfo_ImageDocument_id,

#ifdef MOZ_XUL
  eDOMClassInfo_XULTemplateBuilder_id,
  eDOMClassInfo_XULTreeBuilder_id,
#endif

  // DOMStringList object
  eDOMClassInfo_DOMStringList_id,

  // NameList object used by the DOM
  eDOMClassInfo_NameList_id,

#ifdef MOZ_XUL
  eDOMClassInfo_TreeColumn_id,
  eDOMClassInfo_TreeColumns_id,
#endif

  eDOMClassInfo_CSSMozDocumentRule_id,

  eDOMClassInfo_BeforeUnloadEvent_id,

#ifdef MOZ_SVG
  // The SVG document
  eDOMClassInfo_SVGDocument_id,

  // SVG element classes
  eDOMClassInfo_SVGCircleElement_id,
  eDOMClassInfo_SVGClipPathElement_id,
  eDOMClassInfo_SVGDefsElement_id,
  eDOMClassInfo_SVGDescElement_id,
  eDOMClassInfo_SVGEllipseElement_id,
  eDOMClassInfo_SVGGElement_id,
  eDOMClassInfo_SVGGradientElement_id,
  eDOMClassInfo_SVGImageElement_id,
  eDOMClassInfo_SVGLinearGradientElement_id,
  eDOMClassInfo_SVGLineElement_id,
  eDOMClassInfo_SVGMarkerElement_id,
  eDOMClassInfo_SVGMetadataElement_id,
  eDOMClassInfo_SVGPathElement_id,
  eDOMClassInfo_SVGPolygonElement_id,
  eDOMClassInfo_SVGPolylineElement_id,
  eDOMClassInfo_SVGRadialGradientElement_id,
  eDOMClassInfo_SVGRectElement_id,
  eDOMClassInfo_SVGScriptElement_id,
  eDOMClassInfo_SVGStopElement_id,
  eDOMClassInfo_SVGStyleElement_id,
  eDOMClassInfo_SVGSVGElement_id,
  eDOMClassInfo_SVGSymbolElement_id,
  eDOMClassInfo_SVGTextElement_id,
  eDOMClassInfo_SVGTitleElement_id,
  eDOMClassInfo_SVGTSpanElement_id,
  eDOMClassInfo_SVGUseElement_id,

  // other SVG classes
  eDOMClassInfo_SVGAngle_id,
  eDOMClassInfo_SVGAnimatedAngle_id,
  eDOMClassInfo_SVGAnimatedEnumeration_id,
  eDOMClassInfo_SVGAnimatedLength_id,
  eDOMClassInfo_SVGAnimatedLengthList_id,
  eDOMClassInfo_SVGAnimatedNumber_id,
  eDOMClassInfo_SVGAnimatedNumberList_id,
  eDOMClassInfo_SVGAnimatedPoints_id,
  eDOMClassInfo_SVGAnimatedPreserveAspectRatio_id,
  eDOMClassInfo_SVGAnimatedRect_id,
  eDOMClassInfo_SVGAnimatedString_id,
  eDOMClassInfo_SVGAnimatedTransformList_id,
  eDOMClassInfo_SVGEvent_id,
  eDOMClassInfo_SVGException_id,
  eDOMClassInfo_SVGLength_id,
  eDOMClassInfo_SVGLengthList_id,
  eDOMClassInfo_SVGMatrix_id,
  eDOMClassInfo_SVGNumber_id,
  eDOMClassInfo_SVGNumberList_id,
  eDOMClassInfo_SVGPathSegArcAbs_id,
  eDOMClassInfo_SVGPathSegArcRel_id,
  eDOMClassInfo_SVGPathSegClosePath_id,
  eDOMClassInfo_SVGPathSegCurvetoCubicAbs_id,
  eDOMClassInfo_SVGPathSegCurvetoCubicRel_id,
  eDOMClassInfo_SVGPathSegCurvetoCubicSmoothAbs_id,
  eDOMClassInfo_SVGPathSegCurvetoCubicSmoothRel_id,
  eDOMClassInfo_SVGPathSegCurvetoQuadraticAbs_id,
  eDOMClassInfo_SVGPathSegCurvetoQuadraticRel_id,
  eDOMClassInfo_SVGPathSegCurvetoQuadraticSmoothAbs_id,
  eDOMClassInfo_SVGPathSegCurvetoQuadraticSmoothRel_id,
  eDOMClassInfo_SVGPathSegLinetoAbs_id,
  eDOMClassInfo_SVGPathSegLinetoHorizontalAbs_id,
  eDOMClassInfo_SVGPathSegLinetoHorizontalRel_id,
  eDOMClassInfo_SVGPathSegLinetoRel_id,
  eDOMClassInfo_SVGPathSegLinetoVerticalAbs_id,
  eDOMClassInfo_SVGPathSegLinetoVerticalRel_id,
  eDOMClassInfo_SVGPathSegList_id,
  eDOMClassInfo_SVGPathSegMovetoAbs_id,
  eDOMClassInfo_SVGPathSegMovetoRel_id,
  eDOMClassInfo_SVGPoint_id,
  eDOMClassInfo_SVGPointList_id,
  eDOMClassInfo_SVGPreserveAspectRatio_id,
  eDOMClassInfo_SVGRect_id,
  eDOMClassInfo_SVGTransform_id,
  eDOMClassInfo_SVGTransformList_id,
  eDOMClassInfo_SVGZoomEvent_id,
#endif // MOZ_SVG

  // Canvas
  eDOMClassInfo_HTMLCanvasElement_id,
#ifdef MOZ_ENABLE_CANVAS
  eDOMClassInfo_CanvasRenderingContext2D_id,
  eDOMClassInfo_CanvasGradient_id,
  eDOMClassInfo_CanvasPattern_id,
#endif
  
  // SmartCard Events
  eDOMClassInfo_SmartCardEvent_id,
  
  // PageTransition Events
  eDOMClassInfo_PageTransitionEvent_id,

  // WhatWG WebApps Objects
  eDOMClassInfo_Storage_id,
  eDOMClassInfo_StorageList_id,
  eDOMClassInfo_StorageItem_id,
  eDOMClassInfo_StorageEvent_id,

  eDOMClassInfo_Constructor_id,

#if defined(MOZ_SVG)
  eDOMClassInfo_SVGTextPathElement_id,
#endif

  eDOMClassInfo_WindowRoot_id,

  // DOMParser, XMLSerializer
  eDOMClassInfo_DOMParser_id,
  eDOMClassInfo_XMLSerializer_id,

  // XMLHttpRequest
  eDOMClassInfo_XMLHttpProgressEvent_id,
  eDOMClassInfo_XMLHttpRequest_id,

  // We are now trying to preserve binary compat in classinfo.  No more
  // putting things in those categories up there.  New entries are to be
  // added here, which is the end of the things that are currently on by
  // default.

  // Define this near the end so that enabling/disabling foreignobject doesn't
  // break binary compatibility
#if defined(MOZ_SVG) && defined(MOZ_SVG_FOREIGNOBJECT)
  eDOMClassInfo_SVGForeignObjectElement_id,
#endif

  eDOMClassInfo_XULCommandEvent_id,

  // This one better be the last one in this list
  eDOMClassInfoIDCount
};