--- /builds/xpcomgc/src/content/base/src/nsXMLContentSerializer.h
+++ /builds/xpcomgc/src/content/base/src/nsXMLContentSerializer.h
@@ -54,1 +54,1 @@
-class nsXMLContentSerializer : public nsIContentSerializer {
+class nsXMLContentSerializer : public XPCOMGCFinalizedObject, public nsIContentSerializer {
--- /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
+++ /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
@@ -1144,2 +1144,2 @@
-class nsPluginStreamInfo : public nsI4xPluginStreamInfo
-{
+class nsPluginStreamInfo : public XPCOMGCFinalizedObject, public nsI4xPluginStreamInfo
+{
--- /builds/xpcomgc/src/xpcom/base/nsUUIDGenerator.h
+++ /builds/xpcomgc/src/xpcom/base/nsUUIDGenerator.h
@@ -44,1 +44,1 @@
-class nsUUIDGenerator : public nsIUUIDGenerator {
+class nsUUIDGenerator : public XPCOMGCFinalizedObject, public nsIUUIDGenerator {
--- /builds/xpcomgc/src/dom/src/base/nsBarProps.h
+++ /builds/xpcomgc/src/dom/src/base/nsBarProps.h
@@ -124,1 +124,1 @@
-class nsScrollbarsProp : public nsBarProp {
+class nsScrollbarsProp : public XPCOMGCFinalizedObject, public nsBarProp {
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -304,2 +304,2 @@
-class nsKOPSMDetector : public nsXPCOMDetector
-{
+class nsKOPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMDetector
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -3031,4 +3031,5 @@
-class BackstagePass : public nsIScriptObjectPrincipal,
-                      public nsIXPCScriptable,
-                      public nsIClassInfo
-{
+class BackstagePass : public XPCOMGCFinalizedObject,
+                      public nsIScriptObjectPrincipal,
+                      public nsIXPCScriptable,
+                      public nsIClassInfo
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLLabelElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLLabelElement.cpp
@@ -56,3 +56,4 @@
-class nsHTMLLabelElement : public nsGenericHTMLFormElement,
-                           public nsIDOMHTMLLabelElement
-{
+class nsHTMLLabelElement : public XPCOMGCFinalizedObject,
+                           public nsGenericHTMLFormElement,
+                           public nsIDOMHTMLLabelElement
+{
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedDownloadMgr.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedDownloadMgr.h
@@ -81,2 +81,2 @@
-class EmbedDownloadMgr : public nsIHelperAppLauncherDialog
-{
+class EmbedDownloadMgr : public XPCOMGCFinalizedObject, public nsIHelperAppLauncherDialog
+{
--- /builds/xpcomgc/src/layout/generic/nsSelection.cpp
+++ /builds/xpcomgc/src/layout/generic/nsSelection.cpp
@@ -398,2 +398,2 @@
-class nsSelectionIterator : public nsIBidirectionalEnumerator
-{
+class nsSelectionIterator : public XPCOMGCFinalizedObject, public nsIBidirectionalEnumerator
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCMSSecureMessage.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCMSSecureMessage.h
@@ -52,3 +52,3 @@
-class nsCMSSecureMessage
-: public nsICMSSecureMessage
-{
+class nsCMSSecureMessage
+: public XPCOMGCFinalizedObject, public nsICMSSecureMessage
+{
--- /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
@@ -161,1 +161,1 @@
-class nsASXULWindowFrontToBackEnumerator : public nsASXULWindowEnumerator {
+class nsASXULWindowFrontToBackEnumerator : public XPCOMGCFinalizedObject, public nsASXULWindowEnumerator {
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGTSpanFrame.h
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGTSpanFrame.h
@@ -46,3 +46,4 @@
-class nsSVGTSpanFrame : public nsSVGTSpanFrameBase,
-                        public nsISVGGlyphFragmentNode
-{
+class nsSVGTSpanFrame : public XPCOMGCFinalizedObject,
+                        public nsSVGTSpanFrameBase,
+                        public nsISVGGlyphFragmentNode
+{
--- /builds/xpcomgc/src/embedding/components/webbrowserpersist/src/nsWebBrowserPersist.h
+++ /builds/xpcomgc/src/embedding/components/webbrowserpersist/src/nsWebBrowserPersist.h
@@ -69,6 +69,7 @@
-class nsWebBrowserPersist : public nsIInterfaceRequestor,
-                            public nsIWebBrowserPersist,
-                            public nsIStreamListener,
-                            public nsIProgressEventSink,
-                            public nsSupportsWeakReference
-{
+class nsWebBrowserPersist : public XPCOMGCFinalizedObject,
+                            public nsIInterfaceRequestor,
+                            public nsIWebBrowserPersist,
+                            public nsIStreamListener,
+                            public nsIProgressEventSink,
+                            public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -165,2 +165,2 @@
-class nsSupportsPRUint64Impl : public nsISupportsPRUint64
-{
+class nsSupportsPRUint64Impl : public XPCOMGCFinalizedObject, public nsISupportsPRUint64
+{
--- /builds/xpcomgc/src/embedding/components/commandhandler/src/nsBaseCommandController.h
+++ /builds/xpcomgc/src/embedding/components/commandhandler/src/nsBaseCommandController.h
@@ -56,5 +56,6 @@
-class nsBaseCommandController :  public nsIController,
-                            public nsIControllerContext,
-                            public nsIInterfaceRequestor,
-                            public nsICommandController
-{
+class nsBaseCommandController :  public XPCOMGCFinalizedObject,
+                            public nsIController,
+                            public nsIControllerContext,
+                            public nsIInterfaceRequestor,
+                            public nsICommandController
+{
--- /builds/xpcomgc/src/layout/style/nsHTMLCSSStyleSheet.cpp
+++ /builds/xpcomgc/src/layout/style/nsHTMLCSSStyleSheet.cpp
@@ -103,1 +103,1 @@
-class CSSFirstLetterRule : public CSSDisablePropsRule {
+class CSSFirstLetterRule : public XPCOMGCFinalizedObject, public CSSDisablePropsRule {
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -80,2 +80,2 @@
-class nsSupportsStringImpl : public nsISupportsString
-{
+class nsSupportsStringImpl : public XPCOMGCFinalizedObject, public nsISupportsString
+{
--- /builds/xpcomgc/src/content/base/src/nsGenericElement.h
+++ /builds/xpcomgc/src/content/base/src/nsGenericElement.h
@@ -113,2 +113,2 @@
-class nsNode3Tearoff : public nsIDOM3Node
-{
+class nsNode3Tearoff : public XPCOMGCFinalizedObject, public nsIDOM3Node
+{
--- /builds/xpcomgc/src/xpcom/tests/dynamic/TestDynamic.cpp
+++ /builds/xpcomgc/src/xpcom/tests/dynamic/TestDynamic.cpp
@@ -47,1 +47,1 @@
-class TestDynamicClassImpl: public ITestClass {
+class TestDynamicClassImpl: public XPCOMGCFinalizedObject, public ITestClass {
--- /builds/xpcomgc/src/gfx/src/thebes/nsThebesRenderingContext.h
+++ /builds/xpcomgc/src/gfx/src/thebes/nsThebesRenderingContext.h
@@ -60,2 +60,2 @@
-class nsThebesRenderingContext : public nsRenderingContextImpl
-{
+class nsThebesRenderingContext : public XPCOMGCFinalizedObject, public nsRenderingContextImpl
+{
--- /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpAuthManager.h
+++ /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpAuthManager.h
@@ -43,2 +43,2 @@
-class nsHttpAuthManager : public nsIHttpAuthManager
-{
+class nsHttpAuthManager : public XPCOMGCFinalizedObject, public nsIHttpAuthManager
+{
--- /builds/xpcomgc/src/xpcom/components/nsComponentManager.h
+++ /builds/xpcomgc/src/xpcom/components/nsComponentManager.h
@@ -118,9 +118,10 @@
-class nsComponentManagerImpl
-    : public nsIComponentManager,
-      public nsIServiceManager,
-      public nsIComponentRegistrar,
-      public nsSupportsWeakReference,
-      public nsIInterfaceRequestor,
-      public nsIServiceManagerObsolete,
-      public nsIComponentManagerObsolete
-{
+class nsComponentManagerImpl
+    : public XPCOMGCFinalizedObject,
+      public nsIComponentManager,
+      public nsIServiceManager,
+      public nsIComponentRegistrar,
+      public nsSupportsWeakReference,
+      public nsIInterfaceRequestor,
+      public nsIServiceManagerObsolete,
+      public nsIComponentManagerObsolete
+{
--- /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
+++ /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
@@ -127,2 +127,2 @@
-class nsTextEditorCompositionListener : public nsIDOMCompositionListener
-{
+class nsTextEditorCompositionListener : public XPCOMGCFinalizedObject, public nsIDOMCompositionListener
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheDeviceSQL.cpp
+++ /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheDeviceSQL.cpp
@@ -318,2 +318,2 @@
-class nsOfflineCacheBinding : public nsISupports
-{
+class nsOfflineCacheBinding : public XPCOMGCFinalizedObject, public nsISupports
+{
--- /builds/xpcomgc/src/browser/components/migration/src/nsProfileMigrator.h
+++ /builds/xpcomgc/src/browser/components/migration/src/nsProfileMigrator.h
@@ -47,2 +47,2 @@
-class nsProfileMigrator : public nsIProfileMigrator
-{
+class nsProfileMigrator : public XPCOMGCFinalizedObject, public nsIProfileMigrator
+{
--- /builds/xpcomgc/src/content/html/content/src/nsTextRectangle.h
+++ /builds/xpcomgc/src/content/html/content/src/nsTextRectangle.h
@@ -45,2 +45,2 @@
-class nsTextRectangle : public nsIDOMTextRectangle
-{
+class nsTextRectangle : public XPCOMGCFinalizedObject, public nsIDOMTextRectangle
+{
--- /builds/xpcomgc/src/netwerk/test/TestStreamChannel.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestStreamChannel.cpp
@@ -129,3 +129,4 @@
-class MyCallbacks : public nsIInterfaceRequestor
-                  , public nsIProgressEventSink
-{
+class MyCallbacks : public XPCOMGCFinalizedObject
+                  , public nsIInterfaceRequestor
+                  , public nsIProgressEventSink
+{
--- /builds/xpcomgc/src/layout/style/nsDOMCSSValueList.h
+++ /builds/xpcomgc/src/layout/style/nsDOMCSSValueList.h
@@ -48,2 +48,2 @@
-class nsDOMCSSValueList : public nsIDOMCSSValueList
-{
+class nsDOMCSSValueList : public XPCOMGCFinalizedObject, public nsIDOMCSSValueList
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsBufferedStreams.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsBufferedStreams.h
@@ -89,4 +89,5 @@
-class nsBufferedInputStream : public nsBufferedStream,
-                              public nsIBufferedInputStream,
-                              public nsIStreamBufferAccess
-{
+class nsBufferedInputStream : public XPCOMGCFinalizedObject,
+                              public nsBufferedStream,
+                              public nsIBufferedInputStream,
+                              public nsIStreamBufferAccess
+{
--- /builds/xpcomgc/src/content/base/src/nsGenericElement.h
+++ /builds/xpcomgc/src/content/base/src/nsGenericElement.h
@@ -148,2 +148,2 @@
-class nsNodeWeakReference : public nsIWeakReference
-{
+class nsNodeWeakReference : public XPCOMGCFinalizedObject, public nsIWeakReference
+{
--- /builds/xpcomgc/src/modules/libpr0n/src/imgLoader.h
+++ /builds/xpcomgc/src/modules/libpr0n/src/imgLoader.h
@@ -110,2 +110,2 @@
-class imgCacheValidator : public nsIStreamListener
-{
+class imgCacheValidator : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_array.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_array.cpp
@@ -44,2 +44,2 @@
-class xpcarraytest : public nsIXPCTestArray
-{
+class xpcarraytest : public XPCOMGCFinalizedObject, public nsIXPCTestArray
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.cpp
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.cpp
@@ -217,1 +217,1 @@
-class nsP12Runnable : public nsIRunnable {
+class nsP12Runnable : public XPCOMGCFinalizedObject, public nsIRunnable {
--- /builds/xpcomgc/src/netwerk/base/src/nsAuthInformationHolder.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsAuthInformationHolder.h
@@ -43,1 +43,1 @@
-class nsAuthInformationHolder : public nsIAuthInformation {
+class nsAuthInformationHolder : public XPCOMGCFinalizedObject, public nsIAuthInformation {
--- /builds/xpcomgc/src/toolkit/components/satchel/src/nsStorageFormHistory.h
+++ /builds/xpcomgc/src/toolkit/components/satchel/src/nsStorageFormHistory.h
@@ -86,6 +86,7 @@
-class nsFormHistory : public nsIFormHistory2,
-                      public nsIFormHistoryPrivate,
-                      public nsIObserver,
-                      public nsIFormSubmitObserver,
-                      public nsSupportsWeakReference
-{
+class nsFormHistory : public XPCOMGCFinalizedObject,
+                      public nsIFormHistory2,
+                      public nsIFormHistoryPrivate,
+                      public nsIObserver,
+                      public nsIFormSubmitObserver,
+                      public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/editor/libeditor/base/ChangeAttributeTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/ChangeAttributeTxn.h
@@ -54,2 +54,2 @@
-class ChangeAttributeTxn : public EditTxn
-{
+class ChangeAttributeTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsMemoryCacheDevice.h
+++ /builds/xpcomgc/src/netwerk/cache/src/nsMemoryCacheDevice.h
@@ -133,1 +133,1 @@
-class nsMemoryCacheDeviceInfo : public nsICacheDeviceInfo {
+class nsMemoryCacheDeviceInfo : public XPCOMGCFinalizedObject, public nsICacheDeviceInfo {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSegList.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSegList.cpp
@@ -52,4 +52,5 @@
-class nsSVGPathSegList : public nsIDOMSVGPathSegList,
-                         public nsSVGValue,
-                         public nsISVGValueObserver
-{  
+class nsSVGPathSegList : public XPCOMGCFinalizedObject,
+                         public nsIDOMSVGPathSegList,
+                         public nsSVGValue,
+                         public nsISVGValueObserver
+{  
--- /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
+++ /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
@@ -245,2 +245,2 @@
-class nsTextEditorFocusListener : public nsIDOMFocusListener 
-{
+class nsTextEditorFocusListener : public XPCOMGCFinalizedObject, public nsIDOMFocusListener 
+{
--- /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpNTLMAuth.h
+++ /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpNTLMAuth.h
@@ -42,2 +42,2 @@
-class nsHttpNTLMAuth : public nsIHttpAuthenticator
-{
+class nsHttpNTLMAuth : public XPCOMGCFinalizedObject, public nsIHttpAuthenticator
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsBufferedStreams.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsBufferedStreams.h
@@ -116,5 +116,6 @@
-class nsBufferedOutputStream : public nsBufferedStream, 
-                               public nsISafeOutputStream,
-                               public nsIBufferedOutputStream,
-                               public nsIStreamBufferAccess
-{
+class nsBufferedOutputStream : public XPCOMGCFinalizedObject, 
+                               public nsBufferedStream, 
+                               public nsISafeOutputStream,
+                               public nsIBufferedOutputStream,
+                               public nsIStreamBufferAccess
+{
--- /builds/xpcomgc/src/extensions/spellcheck/src/mozSpellI18NManager.h
+++ /builds/xpcomgc/src/extensions/spellcheck/src/mozSpellI18NManager.h
@@ -49,2 +49,2 @@
-class mozSpellI18NManager : public mozISpellI18NManager
-{
+class mozSpellI18NManager : public XPCOMGCFinalizedObject, public mozISpellI18NManager
+{
--- /builds/xpcomgc/src/xpcom/glue/nsEnumeratorUtils.cpp
+++ /builds/xpcomgc/src/xpcom/glue/nsEnumeratorUtils.cpp
@@ -189,2 +189,2 @@
-class nsUnionEnumerator : public nsISimpleEnumerator
-{
+class nsUnionEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.h
@@ -81,2 +81,2 @@
-class nsCrypto: public nsIDOMCrypto
-{
+class nsCrypto: public XPCOMGCFinalizedObject, public nsIDOMCrypto
+{
--- /builds/xpcomgc/src/layout/forms/nsTextControlFrame.cpp
+++ /builds/xpcomgc/src/layout/forms/nsTextControlFrame.cpp
@@ -585,3 +585,4 @@
-class nsTextInputSelectionImpl : public nsSupportsWeakReference
-                               , public nsISelectionController
-{
+class nsTextInputSelectionImpl : public XPCOMGCFinalizedObject
+                               , public nsSupportsWeakReference
+                               , public nsISelectionController
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedTransformList.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedTransformList.cpp
@@ -47,4 +47,5 @@
-class nsSVGAnimatedTransformList : public nsIDOMSVGAnimatedTransformList,
-                                   public nsSVGValue,
-                                   public nsISVGValueObserver
-{  
+class nsSVGAnimatedTransformList : public XPCOMGCFinalizedObject,
+                                   public nsIDOMSVGAnimatedTransformList,
+                                   public nsSVGValue,
+                                   public nsISVGValueObserver
+{  
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2361,3 +2361,4 @@
-class XPCJSObjectHolder : public nsIXPConnectJSObjectHolder,
-                          public XPCRootSetElem
-{
+class XPCJSObjectHolder : public XPCOMGCFinalizedObject,
+                          public nsIXPConnectJSObjectHolder,
+                          public XPCRootSetElem
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheStreams.cpp
+++ /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheStreams.cpp
@@ -197,1 +197,1 @@
-class nsDiskCacheOutputStream : public nsIOutputStream {
+class nsDiskCacheOutputStream : public XPCOMGCFinalizedObject, public nsIOutputStream {
--- /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpPipeline.h
+++ /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpPipeline.h
@@ -49,4 +49,5 @@
-class nsHttpPipeline : public nsAHttpConnection
-                     , public nsAHttpTransaction
-                     , public nsAHttpSegmentReader
-{
+class nsHttpPipeline : public XPCOMGCFinalizedObject
+                     , public nsAHttpConnection
+                     , public nsAHttpTransaction
+                     , public nsAHttpSegmentReader
+{
--- /builds/xpcomgc/src/modules/libpref/src/nsPrefBranch.h
+++ /builds/xpcomgc/src/modules/libpref/src/nsPrefBranch.h
@@ -55,5 +55,6 @@
-class nsPrefBranch : public nsIPrefBranchInternal,
-                     public nsISecurityPref,
-                     public nsIObserver,
-                     public nsSupportsWeakReference
-{
+class nsPrefBranch : public XPCOMGCFinalizedObject,
+                     public nsIPrefBranchInternal,
+                     public nsISecurityPref,
+                     public nsIObserver,
+                     public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcjsid.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcjsid.cpp
@@ -254,2 +254,2 @@
-class SharedScriptableHelperForJSIID : public nsIXPCScriptable
-{
+class SharedScriptableHelperForJSIID : public XPCOMGCFinalizedObject, public nsIXPCScriptable
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsSocketTransport2.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsSocketTransport2.h
@@ -131,5 +131,6 @@
-class nsSocketTransport : public nsASocketHandler
-                        , public nsISocketTransport
-                        , public nsIDNSListener
-                        , public nsIClassInfo
-{
+class nsSocketTransport : public XPCOMGCFinalizedObject
+                        , public nsASocketHandler
+                        , public nsISocketTransport
+                        , public nsIDNSListener
+                        , public nsIClassInfo
+{
--- /builds/xpcomgc/src/modules/libpr0n/src/imgRequest.h
+++ /builds/xpcomgc/src/modules/libpr0n/src/imgRequest.h
@@ -74,5 +74,6 @@
-class imgRequest : public imgILoad,
-                   public imgIDecoderObserver,
-                   public nsIStreamListener,
-                   public nsSupportsWeakReference
-{
+class imgRequest : public XPCOMGCFinalizedObject,
+                   public imgILoad,
+                   public imgIDecoderObserver,
+                   public nsIStreamListener,
+                   public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/security/manager/pki/src/nsFormSigningDialog.h
+++ /builds/xpcomgc/src/security/manager/pki/src/nsFormSigningDialog.h
@@ -45,2 +45,2 @@
-class nsFormSigningDialog : public nsIFormSigningDialog
-{
+class nsFormSigningDialog : public XPCOMGCFinalizedObject, public nsIFormSigningDialog
+{
--- /builds/xpcomgc/src/dom/src/base/nsDOMWindowUtils.h
+++ /builds/xpcomgc/src/dom/src/base/nsDOMWindowUtils.h
@@ -44,3 +44,4 @@
-class nsDOMWindowUtils : public nsIDOMWindowUtils,
-                         public nsSupportsWeakReference
-{
+class nsDOMWindowUtils : public XPCOMGCFinalizedObject,
+                         public nsIDOMWindowUtils,
+                         public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGDefsElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGDefsElement.cpp
@@ -43,3 +43,4 @@
-class nsSVGDefsElement : public nsSVGDefsElementBase,
-                         public nsIDOMSVGDefsElement
-{
+class nsSVGDefsElement : public XPCOMGCFinalizedObject,
+                         public nsSVGDefsElementBase,
+                         public nsIDOMSVGDefsElement
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
+++ /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
@@ -1232,5 +1232,6 @@
-class nsPluginStreamListenerPeer : public nsIStreamListener,
-                                   public nsIProgressEventSink,
-                                   public nsIHttpHeaderVisitor,
-                                   public nsSupportsWeakReference
-{
+class nsPluginStreamListenerPeer : public XPCOMGCFinalizedObject,
+                                   public nsIStreamListener,
+                                   public nsIProgressEventSink,
+                                   public nsIHttpHeaderVisitor,
+                                   public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/toolkit/xre/nsXREDirProvider.h
+++ /builds/xpcomgc/src/toolkit/xre/nsXREDirProvider.h
@@ -48,3 +48,4 @@
-class nsXREDirProvider : public nsIDirectoryServiceProvider2,
-                         public nsIProfileStartup
-{
+class nsXREDirProvider : public XPCOMGCFinalizedObject,
+                         public nsIDirectoryServiceProvider2,
+                         public nsIProfileStartup
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLCanvasElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLCanvasElement.cpp
@@ -64,4 +64,5 @@
-class nsHTMLCanvasElement : public nsGenericHTMLElement,
-                            public nsIDOMHTMLCanvasElement,
-                            public nsICanvasElement
-{
+class nsHTMLCanvasElement : public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLElement,
+                            public nsIDOMHTMLCanvasElement,
+                            public nsICanvasElement
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsFilePicker.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsFilePicker.h
@@ -51,2 +51,2 @@
-class nsFilePicker : public nsBaseFilePicker
-{
+class nsFilePicker : public XPCOMGCFinalizedObject, public nsBaseFilePicker
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_out.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_out.cpp
@@ -48,1 +48,1 @@
-class xpcTestOut : public nsIXPCTestOut {
+class xpcTestOut : public XPCOMGCFinalizedObject, public nsIXPCTestOut {
--- /builds/xpcomgc/src/gfx/src/shared/gfxImageFrame.h
+++ /builds/xpcomgc/src/gfx/src/shared/gfxImageFrame.h
@@ -58,3 +58,4 @@
-class gfxImageFrame : public gfxIImageFrame,
-                      public nsIInterfaceRequestor
-{
+class gfxImageFrame : public XPCOMGCFinalizedObject,
+                      public gfxIImageFrame,
+                      public nsIInterfaceRequestor
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_domstring.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_domstring.cpp
@@ -45,1 +45,1 @@
-class xpcTestDOMString : public nsIXPCTestDOMString {
+class xpcTestDOMString : public XPCOMGCFinalizedObject, public nsIXPCTestDOMString {
--- /builds/xpcomgc/src/uriloader/exthandler/nsExternalProtocolHandler.h
+++ /builds/xpcomgc/src/uriloader/exthandler/nsExternalProtocolHandler.h
@@ -52,2 +52,2 @@
-class nsExternalProtocolHandler : public nsIExternalProtocolHandler, public nsSupportsWeakReference
-{
+class nsExternalProtocolHandler : public XPCOMGCFinalizedObject, public nsIExternalProtocolHandler, public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/xslt/src/xslt/txMozillaXSLTProcessor.h
+++ /builds/xpcomgc/src/content/xslt/src/xslt/txMozillaXSLTProcessor.h
@@ -71,7 +71,8 @@
-class txMozillaXSLTProcessor : public nsIXSLTProcessor,
-                               public nsIXSLTProcessorObsolete,
-                               public nsIXSLTProcessorPrivate,
-                               public nsIDocumentTransformer,
-                               public nsStubMutationObserver,
-                               public nsIJSNativeInitializer
-{
+class txMozillaXSLTProcessor : public XPCOMGCFinalizedObject,
+                               public nsIXSLTProcessor,
+                               public nsIXSLTProcessorObsolete,
+                               public nsIXSLTProcessorPrivate,
+                               public nsIDocumentTransformer,
+                               public nsStubMutationObserver,
+                               public nsIJSNativeInitializer
+{
--- /builds/xpcomgc/src/netwerk/streamconv/src/nsStreamConverterService.h
+++ /builds/xpcomgc/src/netwerk/streamconv/src/nsStreamConverterService.h
@@ -46,1 +46,1 @@
-class nsStreamConverterService : public nsIStreamConverterService {
+class nsStreamConverterService : public XPCOMGCFinalizedObject, public nsIStreamConverterService {
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLSharedObjectElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLSharedObjectElement.cpp
@@ -58,4 +58,5 @@
-class nsHTMLSharedObjectElement : public nsGenericHTMLElement,
-                                  public nsObjectLoadingContent,
-                                  public nsIDOMHTMLAppletElement,
-                                  public nsIDOMHTMLEmbedElement
+class nsHTMLSharedObjectElement : public XPCOMGCFinalizedObject,
+                                  public nsGenericHTMLElement,
+                                  public nsObjectLoadingContent,
+                                  public nsIDOMHTMLAppletElement,
+                                  public nsIDOMHTMLEmbedElement
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGClassValue.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGClassValue.h
@@ -45,3 +45,4 @@
-class nsSVGClassValue : public nsIDOMSVGAnimatedString,
-                        public nsSVGValue
-{
+class nsSVGClassValue : public XPCOMGCFinalizedObject,
+                        public nsIDOMSVGAnimatedString,
+                        public nsSVGValue
+{
--- /builds/xpcomgc/src/content/base/src/nsMappedAttributes.h
+++ /builds/xpcomgc/src/content/base/src/nsMappedAttributes.h
@@ -54,2 +54,2 @@
-class nsMappedAttributes : public nsIStyleRule
-{
+class nsMappedAttributes : public XPCOMGCFinalizedObject, public nsIStyleRule
+{
--- /builds/xpcomgc/src/xpfe/browser/src/nsBrowserStatusFilter.h
+++ /builds/xpcomgc/src/xpfe/browser/src/nsBrowserStatusFilter.h
@@ -54,4 +54,5 @@
-class nsBrowserStatusFilter : public nsIWebProgress
-                            , public nsIWebProgressListener2
-                            , public nsSupportsWeakReference
-{
+class nsBrowserStatusFilter : public XPCOMGCFinalizedObject
+                            , public nsIWebProgress
+                            , public nsIWebProgressListener2
+                            , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/embedding/components/printingui/src/unixshared/nsPrintingPromptService.h
+++ /builds/xpcomgc/src/embedding/components/printingui/src/unixshared/nsPrintingPromptService.h
@@ -59,3 +59,4 @@
-class nsPrintingPromptService: public nsIPrintingPromptService,
-                               public nsIWebProgressListener
-{
+class nsPrintingPromptService: public XPCOMGCFinalizedObject,
+                               public nsIPrintingPromptService,
+                               public nsIWebProgressListener
+{
--- /builds/xpcomgc/src/docshell/shistory/src/nsSHEntry.h
+++ /builds/xpcomgc/src/docshell/shistory/src/nsSHEntry.h
@@ -62,4 +62,5 @@
-class nsSHEntry : public nsISHEntry,
-                  public nsISHContainer,
-                  public nsIMutationObserver
-{
+class nsSHEntry : public XPCOMGCFinalizedObject,
+                  public nsISHEntry,
+                  public nsISHContainer,
+                  public nsIMutationObserver
+{
--- /builds/xpcomgc/src/dom/src/base/nsBarProps.h
+++ /builds/xpcomgc/src/dom/src/base/nsBarProps.h
@@ -114,2 +114,2 @@
-class nsStatusbarProp : public nsBarProp
-{
+class nsStatusbarProp : public XPCOMGCFinalizedObject, public nsBarProp
+{
--- /builds/xpcomgc/src/modules/libpr0n/src/imgRequestProxy.h
+++ /builds/xpcomgc/src/modules/libpr0n/src/imgRequestProxy.h
@@ -60,2 +60,2 @@
-class imgRequestProxy : public imgIRequest, public nsISupportsPriority
-{
+class imgRequestProxy : public XPCOMGCFinalizedObject, public imgIRequest, public nsISupportsPriority
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.h
+++ /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.h
@@ -88,2 +88,2 @@
-class nsPluginTag : public nsIPluginTag
-{
+class nsPluginTag : public XPCOMGCFinalizedObject, public nsIPluginTag
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -1815,3 +1815,4 @@
-class nsSVGPathSegLinetoVerticalRel : public nsIDOMSVGPathSegLinetoVerticalRel,
-                                      public nsSVGPathSeg
-{
+class nsSVGPathSegLinetoVerticalRel : public XPCOMGCFinalizedObject,
+                                      public nsIDOMSVGPathSegLinetoVerticalRel,
+                                      public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -2165,3 +2165,4 @@
-class nsSVGPathSegCurvetoQuadraticSmoothAbs : public nsIDOMSVGPathSegCurvetoQuadraticSmoothAbs,
-                                              public nsSVGPathSeg
-{
+class nsSVGPathSegCurvetoQuadraticSmoothAbs : public XPCOMGCFinalizedObject,
+                                              public nsIDOMSVGPathSegCurvetoQuadraticSmoothAbs,
+                                              public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLFormElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLFormElement.cpp
@@ -348,3 +348,4 @@
-class nsFormControlList : public nsIDOMNSHTMLFormControlList,
-                          public nsIDOMHTMLCollection
-{
+class nsFormControlList : public XPCOMGCFinalizedObject,
+                          public nsIDOMNSHTMLFormControlList,
+                          public nsIDOMHTMLCollection
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCMS.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCMS.h
@@ -97,3 +97,4 @@
-class nsCMSDecoder : public nsICMSDecoder,
-                     public nsNSSShutDownObject
-{
+class nsCMSDecoder : public XPCOMGCFinalizedObject,
+                     public nsICMSDecoder,
+                     public nsNSSShutDownObject
+{
--- /builds/xpcomgc/src/netwerk/protocol/about/src/nsAboutBlank.h
+++ /builds/xpcomgc/src/netwerk/protocol/about/src/nsAboutBlank.h
@@ -42,2 +42,2 @@
-class nsAboutBlank : public nsIAboutModule 
-{
+class nsAboutBlank : public XPCOMGCFinalizedObject, public nsIAboutModule 
+{
--- /builds/xpcomgc/src/content/xbl/src/nsBindingManager.h
+++ /builds/xpcomgc/src/content/xbl/src/nsBindingManager.h
@@ -66,2 +66,2 @@
-class nsBindingManager : public nsIMutationObserver
-{
+class nsBindingManager : public XPCOMGCFinalizedObject, public nsIMutationObserver
+{
--- /builds/xpcomgc/src/content/base/src/nsTreeWalker.h
+++ /builds/xpcomgc/src/content/base/src/nsTreeWalker.h
@@ -56,2 +56,2 @@
-class nsTreeWalker : public nsIDOMTreeWalker
-{
+class nsTreeWalker : public XPCOMGCFinalizedObject, public nsIDOMTreeWalker
+{
--- /builds/xpcomgc/src/content/xtf/src/nsXTFService.cpp
+++ /builds/xpcomgc/src/content/xtf/src/nsXTFService.cpp
@@ -51,2 +51,2 @@
-class nsXTFService : public nsIXTFService
-{
+class nsXTFService : public XPCOMGCFinalizedObject, public nsIXTFService
+{
--- /builds/xpcomgc/src/layout/base/nsDocumentViewer.cpp
+++ /builds/xpcomgc/src/layout/base/nsDocumentViewer.cpp
@@ -231,2 +231,2 @@
-class nsDocViewerSelectionListener : public nsISelectionListener
-{
+class nsDocViewerSelectionListener : public XPCOMGCFinalizedObject, public nsISelectionListener
+{
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsHTTPCompressConv.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsHTTPCompressConv.h
@@ -72,1 +72,1 @@
-class nsHTTPCompressConv	: public nsIStreamConverter	{
+class nsHTTPCompressConv	: public XPCOMGCFinalizedObject, public nsIStreamConverter	{
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGUtils.cpp
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGUtils.cpp
@@ -243,1 +243,1 @@
-class nsSVGClipPathProperty : public nsSVGPropertyBase {
+class nsSVGClipPathProperty : public XPCOMGCFinalizedObject, public nsSVGPropertyBase {
--- /builds/xpcomgc/src/content/xbl/src/nsXBLDocumentInfo.cpp
+++ /builds/xpcomgc/src/content/xbl/src/nsXBLDocumentInfo.cpp
@@ -61,3 +61,4 @@
-class nsXBLDocGlobalObject : public nsIScriptGlobalObject,
-                             public nsIScriptObjectPrincipal
-{
+class nsXBLDocGlobalObject : public XPCOMGCFinalizedObject,
+                             public nsIScriptGlobalObject,
+                             public nsIScriptObjectPrincipal
+{
--- /builds/xpcomgc/src/profile/dirserviceprovider/public/nsProfileDirServiceProvider.h
+++ /builds/xpcomgc/src/profile/dirserviceprovider/public/nsProfileDirServiceProvider.h
@@ -61,2 +61,2 @@
-class nsProfileDirServiceProvider: public nsIDirectoryServiceProvider
-{  
+class nsProfileDirServiceProvider: public XPCOMGCFinalizedObject, public nsIDirectoryServiceProvider
+{  
--- /builds/xpcomgc/src/xpcom/components/nsComponentManager.cpp
+++ /builds/xpcomgc/src/xpcom/components/nsComponentManager.cpp
@@ -359,3 +359,4 @@
-class PLDHashTableEnumeratorImpl : public nsIBidirectionalEnumerator,
-                                   public nsISimpleEnumerator
-{
+class PLDHashTableEnumeratorImpl : public XPCOMGCFinalizedObject,
+                                   public nsIBidirectionalEnumerator,
+                                   public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/editor/libeditor/html/TypeInState.h
+++ /builds/xpcomgc/src/editor/libeditor/html/TypeInState.h
@@ -59,2 +59,2 @@
-class TypeInState : public nsISelectionListener
-{
+class TypeInState : public XPCOMGCFinalizedObject, public nsISelectionListener
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGGElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGGElement.cpp
@@ -43,3 +43,4 @@
-class nsSVGGElement : public nsSVGGElementBase,
-                      public nsIDOMSVGGElement
-{
+class nsSVGGElement : public XPCOMGCFinalizedObject,
+                      public nsSVGGElementBase,
+                      public nsIDOMSVGGElement
+{
--- /builds/xpcomgc/src/editor/txtsvc/src/nsTSDNotifier.h
+++ /builds/xpcomgc/src/editor/txtsvc/src/nsTSDNotifier.h
@@ -45,2 +45,2 @@
-class nsTSDNotifier : public nsIEditActionListener
-{
+class nsTSDNotifier : public XPCOMGCFinalizedObject, public nsIEditActionListener
+{
--- /builds/xpcomgc/src/embedding/components/find/src/nsFind.cpp
+++ /builds/xpcomgc/src/embedding/components/find/src/nsFind.cpp
@@ -106,2 +106,2 @@
-class nsFindContentIterator : public nsIContentIterator
-{
+class nsFindContentIterator : public XPCOMGCFinalizedObject, public nsIContentIterator
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/ns4xPluginStreamListener.h
+++ /builds/xpcomgc/src/modules/plugin/base/src/ns4xPluginStreamListener.h
@@ -52,4 +52,5 @@
-class ns4xPluginStreamListener : public nsIPluginStreamListener,
-                                 public nsITimerCallback,
-                                 public nsIHTTPHeaderListener
-{
+class ns4xPluginStreamListener : public XPCOMGCFinalizedObject,
+                                 public nsIPluginStreamListener,
+                                 public nsITimerCallback,
+                                 public nsIHTTPHeaderListener
+{
--- /builds/xpcomgc/src/xpcom/glue/nsCategoryCache.h
+++ /builds/xpcomgc/src/xpcom/glue/nsCategoryCache.h
@@ -64,1 +64,1 @@
-class NS_COM_GLUE nsCategoryObserver : public nsIObserver {
+class NS_COM_GLUE nsCategoryObserver : public XPCOMGCFinalizedObject, public nsIObserver {
--- /builds/xpcomgc/src/intl/uconv/util/nsUCSupport.h
+++ /builds/xpcomgc/src/intl/uconv/util/nsUCSupport.h
@@ -180,2 +180,2 @@
-class nsTableDecoderSupport : public nsBufferDecoderSupport
-{
+class nsTableDecoderSupport : public XPCOMGCFinalizedObject, public nsBufferDecoderSupport
+{
--- /builds/xpcomgc/src/toolkit/components/remote/nsGTKRemoteService.h
+++ /builds/xpcomgc/src/toolkit/components/remote/nsGTKRemoteService.h
@@ -59,3 +59,4 @@
-class nsGTKRemoteService : public nsIRemoteService,
-                           public nsIObserver
-{
+class nsGTKRemoteService : public XPCOMGCFinalizedObject,
+                           public nsIRemoteService,
+                           public nsIObserver
+{
--- /builds/xpcomgc/src/toolkit/components/alerts/src/nsAlertsService.h
+++ /builds/xpcomgc/src/toolkit/components/alerts/src/nsAlertsService.h
@@ -44,2 +44,2 @@
-class nsAlertsService : public nsIAlertsService
-{
+class nsAlertsService : public XPCOMGCFinalizedObject, public nsIAlertsService
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLSelectElement.h
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLSelectElement.h
@@ -224,6 +224,7 @@
-class nsHTMLSelectElement : public nsGenericHTMLFormElement,
-                            public nsIDOMHTMLSelectElement,
-                            public nsIDOMNSHTMLSelectElement,
-                            public nsIDOMNSXBLFormControl,
-                            public nsISelectElement
-{
+class nsHTMLSelectElement : public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLFormElement,
+                            public nsIDOMHTMLSelectElement,
+                            public nsIDOMNSHTMLSelectElement,
+                            public nsIDOMNSXBLFormControl,
+                            public nsISelectElement
+{
--- /builds/xpcomgc/src/netwerk/cookie/src/nsCookieService.h
+++ /builds/xpcomgc/src/netwerk/cookie/src/nsCookieService.h
@@ -146,5 +146,6 @@
-class nsCookieService : public nsICookieService
-                      , public nsICookieManager2
-                      , public nsIObserver
-                      , public nsSupportsWeakReference
-{
+class nsCookieService : public XPCOMGCFinalizedObject
+                      , public nsICookieService
+                      , public nsICookieManager2
+                      , public nsIObserver
+                      , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/netwerk/protocol/viewsource/src/nsViewSourceHandler.h
+++ /builds/xpcomgc/src/netwerk/protocol/viewsource/src/nsViewSourceHandler.h
@@ -43,2 +43,2 @@
-class nsViewSourceHandler : public nsIProtocolHandler
-{
+class nsViewSourceHandler : public XPCOMGCFinalizedObject, public nsIProtocolHandler
+{
--- /builds/xpcomgc/src/embedding/components/commandhandler/src/nsCommandParams.h
+++ /builds/xpcomgc/src/embedding/components/commandhandler/src/nsCommandParams.h
@@ -52,2 +52,2 @@
-class nsCommandParams : public nsICommandParams
-{
+class nsCommandParams : public XPCOMGCFinalizedObject, public nsICommandParams
+{
--- /builds/xpcomgc/src/xpcom/io/nsUnicharInputStream.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsUnicharInputStream.cpp
@@ -154,1 +154,1 @@
-class UTF8InputStream : public nsIUnicharInputStream {
+class UTF8InputStream : public XPCOMGCFinalizedObject, public nsIUnicharInputStream {
--- /builds/xpcomgc/src/browser/components/dirprovider/nsBrowserDirectoryProvider.cpp
+++ /builds/xpcomgc/src/browser/components/dirprovider/nsBrowserDirectoryProvider.cpp
@@ -58,3 +58,3 @@
-class nsBrowserDirectoryProvider :
-  public nsIDirectoryServiceProvider2
-{
+class nsBrowserDirectoryProvider :
+  public XPCOMGCFinalizedObject, public nsIDirectoryServiceProvider2
+{
--- /builds/xpcomgc/src/intl/strres/src/nsStringBundleTextOverride.cpp
+++ /builds/xpcomgc/src/intl/strres/src/nsStringBundleTextOverride.cpp
@@ -111,2 +111,2 @@
-class nsPropertyEnumeratorByURL : public nsISimpleEnumerator
-{
+class nsPropertyEnumeratorByURL : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_noisy.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_noisy.cpp
@@ -45,2 +45,2 @@
-class xpctestNoisy : public nsIXPCTestNoisy
-{
+class xpctestNoisy : public XPCOMGCFinalizedObject, public nsIXPCTestNoisy
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCallbacks.cpp
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCallbacks.cpp
@@ -624,3 +624,3 @@
-class nsSSLStatus
-  : public nsISSLStatus
-{
+class nsSSLStatus
+  : public XPCOMGCFinalizedObject, public nsISSLStatus
+{
--- /builds/xpcomgc/src/dom/src/base/nsWindowRoot.h
+++ /builds/xpcomgc/src/dom/src/base/nsWindowRoot.h
@@ -58,5 +58,6 @@
-class nsWindowRoot : public nsIDOMEventTarget,
-                     public nsIDOM3EventTarget,
-                     public nsIDOMNSEventTarget,
-                     public nsPIWindowRoot
-{
+class nsWindowRoot : public XPCOMGCFinalizedObject,
+                     public nsIDOMEventTarget,
+                     public nsIDOM3EventTarget,
+                     public nsIDOMNSEventTarget,
+                     public nsPIWindowRoot
+{
--- /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsDialogParamBlock.h
+++ /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsDialogParamBlock.h
@@ -50,2 +50,2 @@
-class nsDialogParamBlock: public nsIDialogParamBlock
-{
+class nsDialogParamBlock: public XPCOMGCFinalizedObject, public nsIDialogParamBlock
+{
--- /builds/xpcomgc/src/widget/src/xpwidgets/nsTransferable.h
+++ /builds/xpcomgc/src/widget/src/xpwidgets/nsTransferable.h
@@ -55,2 +55,2 @@
-class nsTransferable : public nsITransferable
-{
+class nsTransferable : public XPCOMGCFinalizedObject, public nsITransferable
+{
--- /builds/xpcomgc/src/dom/src/base/nsJSEnvironment.h
+++ /builds/xpcomgc/src/dom/src/base/nsJSEnvironment.h
@@ -51,4 +51,5 @@
-class nsJSContext : public nsIScriptContext,
-                    public nsIXPCScriptNotify,
-                    public nsITimerCallback
-{
+class nsJSContext : public XPCOMGCFinalizedObject,
+                    public nsIScriptContext,
+                    public nsIXPCScriptNotify,
+                    public nsITimerCallback
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsCyrillicDetector.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsCyrillicDetector.h
@@ -177,2 +177,2 @@
-class nsUKStringProbDetector : public nsCyrXPCOMStringDetector
-{
+class nsUKStringProbDetector : public XPCOMGCFinalizedObject, public nsCyrXPCOMStringDetector
+{
--- /builds/xpcomgc/src/intl/strres/src/nsStringBundleTextOverride.cpp
+++ /builds/xpcomgc/src/intl/strres/src/nsStringBundleTextOverride.cpp
@@ -51,2 +51,2 @@
-class URLPropertyElement : public nsIPropertyElement
-{
+class URLPropertyElement : public XPCOMGCFinalizedObject, public nsIPropertyElement
+{
--- /builds/xpcomgc/src/content/xbl/src/nsBindingManager.cpp
+++ /builds/xpcomgc/src/content/xbl/src/nsBindingManager.cpp
@@ -89,2 +89,2 @@
-class nsAnonymousContentList : public nsIDOMNodeList
-{
+class nsAnonymousContentList : public XPCOMGCFinalizedObject, public nsIDOMNodeList
+{
--- /builds/xpcomgc/src/embedding/components/printingui/src/unixshared/nsPrintProgressParams.h
+++ /builds/xpcomgc/src/embedding/components/printingui/src/unixshared/nsPrintProgressParams.h
@@ -44,2 +44,2 @@
-class nsPrintProgressParams : public nsIPrintProgressParams
-{
+class nsPrintProgressParams : public XPCOMGCFinalizedObject, public nsIPrintProgressParams
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsServerSocket.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsServerSocket.h
@@ -45,3 +45,4 @@
-class nsServerSocket : public nsASocketHandler
-                     , public nsIServerSocket
-{
+class nsServerSocket : public XPCOMGCFinalizedObject
+                     , public nsASocketHandler
+                     , public nsIServerSocket
+{
--- /builds/xpcomgc/src/content/xslt/src/xpath/nsXPath1Scheme.h
+++ /builds/xpcomgc/src/content/xslt/src/xpath/nsXPath1Scheme.h
@@ -47,2 +47,2 @@
-class nsXPath1SchemeProcessor : public nsIXPointerSchemeProcessor
-{
+class nsXPath1SchemeProcessor : public XPCOMGCFinalizedObject, public nsIXPointerSchemeProcessor
+{
--- /builds/xpcomgc/src/rdf/util/public/nsRDFResource.h
+++ /builds/xpcomgc/src/rdf/util/public/nsRDFResource.h
@@ -53,1 +53,1 @@
-class nsRDFResource : public nsIRDFResource {
+class nsRDFResource : public XPCOMGCFinalizedObject, public nsIRDFResource {
--- /builds/xpcomgc/src/security/manager/boot/src/nsSecureBrowserUIImpl.cpp
+++ /builds/xpcomgc/src/security/manager/boot/src/nsSecureBrowserUIImpl.cpp
@@ -1386,2 +1386,2 @@
-class nsUIContext : public nsIInterfaceRequestor
-{
+class nsUIContext : public XPCOMGCFinalizedObject, public nsIInterfaceRequestor
+{
--- /builds/xpcomgc/src/xpfe/components/directory/nsDirectoryViewer.h
+++ /builds/xpcomgc/src/xpfe/components/directory/nsDirectoryViewer.h
@@ -70,7 +70,8 @@
-class nsHTTPIndex : public nsIHTTPIndex,
-                    public nsIRDFDataSource,
-                    public nsIStreamListener,
-                    public nsIDirIndexListener,
-                    public nsIInterfaceRequestor,
-                    public nsIFTPEventSink
-{
+class nsHTTPIndex : public XPCOMGCFinalizedObject,
+                    public nsIHTTPIndex,
+                    public nsIRDFDataSource,
+                    public nsIStreamListener,
+                    public nsIDirIndexListener,
+                    public nsIInterfaceRequestor,
+                    public nsIFTPEventSink
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSComponent.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSComponent.h
@@ -94,2 +94,2 @@
-class PSMContentDownloader : public nsIStreamListener
-{
+class PSMContentDownloader : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/content/base/src/nsScriptLoader.cpp
+++ /builds/xpcomgc/src/content/base/src/nsScriptLoader.cpp
@@ -118,1 +118,1 @@
-class nsScriptLoadRequest : public nsISupports {
+class nsScriptLoadRequest : public XPCOMGCFinalizedObject, public nsISupports {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -629,3 +629,4 @@
-class nsSVGPathSegCurvetoCubicAbs : public nsIDOMSVGPathSegCurvetoCubicAbs,
-                                    public nsSVGPathSeg
-{
+class nsSVGPathSegCurvetoCubicAbs : public XPCOMGCFinalizedObject,
+                                    public nsIDOMSVGPathSegCurvetoCubicAbs,
+                                    public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpDigestAuth.h
+++ /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpDigestAuth.h
@@ -63,2 +63,2 @@
-class nsHttpDigestAuth : public nsIHttpAuthenticator
-{
+class nsHttpDigestAuth : public XPCOMGCFinalizedObject, public nsIHttpAuthenticator
+{
--- /builds/xpcomgc/src/dom/src/storage/nsDOMStorage.h
+++ /builds/xpcomgc/src/dom/src/storage/nsDOMStorage.h
@@ -82,2 +82,2 @@
-class nsDOMStorageManager : public nsIObserver
-{
+class nsDOMStorageManager : public XPCOMGCFinalizedObject, public nsIObserver
+{
--- /builds/xpcomgc/src/view/src/nsView.cpp
+++ /builds/xpcomgc/src/view/src/nsView.cpp
@@ -65,2 +65,2 @@
-class ViewWrapper : public nsIInterfaceRequestor
-{
+class ViewWrapper : public XPCOMGCFinalizedObject, public nsIInterfaceRequestor
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -3073,3 +3073,4 @@
-class nsJSRuntimeServiceImpl : public nsIJSRuntimeService,
-                               public nsSupportsWeakReference
-{
+class nsJSRuntimeServiceImpl : public XPCOMGCFinalizedObject,
+                               public nsIJSRuntimeService,
+                               public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/editor/libeditor/base/nsStyleSheetTxns.h
+++ /builds/xpcomgc/src/editor/libeditor/base/nsStyleSheetTxns.h
@@ -83,2 +83,2 @@
-class RemoveStyleSheetTxn : public EditTxn
-{
+class RemoveStyleSheetTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierStreamUpdater.cpp
+++ /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierStreamUpdater.cpp
@@ -66,2 +66,2 @@
-class TableUpdateListener : public nsIStreamListener
-{
+class TableUpdateListener : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/xpcom/components/nsCategoryManager.h
+++ /builds/xpcomgc/src/xpcom/components/nsCategoryManager.h
@@ -131,3 +131,3 @@
-class nsCategoryManager
-  : public nsICategoryManager
-{
+class nsCategoryManager
+  : public XPCOMGCFinalizedObject, public nsICategoryManager
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -1899,2 +1899,2 @@
-class XPCWrappedNative : public nsIXPConnectWrappedNative
-{
+class XPCWrappedNative : public XPCOMGCFinalizedObject, public nsIXPConnectWrappedNative
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsAsyncStreamCopier.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsAsyncStreamCopier.h
@@ -50,2 +50,2 @@
-class nsAsyncStreamCopier : public nsIAsyncStreamCopier
-{
+class nsAsyncStreamCopier : public XPCOMGCFinalizedObject, public nsIAsyncStreamCopier
+{
--- /builds/xpcomgc/src/dom/src/base/nsScreen.h
+++ /builds/xpcomgc/src/dom/src/base/nsScreen.h
@@ -49,2 +49,2 @@
-class nsScreen : public nsIDOMScreen
-{
+class nsScreen : public XPCOMGCFinalizedObject, public nsIDOMScreen
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -2032,3 +2032,4 @@
-class nsSVGPathSegCurvetoCubicSmoothRel : public nsIDOMSVGPathSegCurvetoCubicSmoothRel,
-                                          public nsSVGPathSeg
-{
+class nsSVGPathSegCurvetoCubicSmoothRel : public XPCOMGCFinalizedObject,
+                                          public nsIDOMSVGPathSegCurvetoCubicSmoothRel,
+                                          public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/layout/style/nsCSSLoader.h
+++ /builds/xpcomgc/src/layout/style/nsCSSLoader.h
@@ -108,3 +108,4 @@
-class SheetLoadData : public nsIRunnable,
-                      public nsIUnicharStreamLoaderObserver
-{
+class SheetLoadData : public XPCOMGCFinalizedObject,
+                      public nsIRunnable,
+                      public nsIUnicharStreamLoaderObserver
+{
--- /builds/xpcomgc/src/layout/style/nsInspectorCSSUtils.h
+++ /builds/xpcomgc/src/layout/style/nsInspectorCSSUtils.h
@@ -50,1 +50,1 @@
-class nsInspectorCSSUtils : public nsIInspectorCSSUtils {
+class nsInspectorCSSUtils : public XPCOMGCFinalizedObject, public nsIInspectorCSSUtils {
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLSharedElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLSharedElement.cpp
@@ -54,9 +54,10 @@
-class nsHTMLSharedElement : public nsGenericHTMLElement,
-                            public nsIDOMHTMLIsIndexElement,
-                            public nsIDOMHTMLParamElement,
-                            public nsIDOMHTMLBaseElement,
-                            public nsIDOMHTMLDirectoryElement,
-                            public nsIDOMHTMLMenuElement,
-                            public nsIDOMHTMLQuoteElement,
-                            public nsIDOMHTMLBaseFontElement
-{
+class nsHTMLSharedElement : public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLElement,
+                            public nsIDOMHTMLIsIndexElement,
+                            public nsIDOMHTMLParamElement,
+                            public nsIDOMHTMLBaseElement,
+                            public nsIDOMHTMLDirectoryElement,
+                            public nsIDOMHTMLMenuElement,
+                            public nsIDOMHTMLQuoteElement,
+                            public nsIDOMHTMLBaseFontElement
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsPK11TokenDB.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsPK11TokenDB.h
@@ -77,2 +77,2 @@
-class nsPK11TokenDB : public nsIPK11TokenDB
-{
+class nsPK11TokenDB : public XPCOMGCFinalizedObject, public nsIPK11TokenDB
+{
--- /builds/xpcomgc/src/content/xml/document/src/nsXMLPrettyPrinter.h
+++ /builds/xpcomgc/src/content/xml/document/src/nsXMLPrettyPrinter.h
@@ -45,2 +45,2 @@
-class nsXMLPrettyPrinter : public nsStubDocumentObserver
-{
+class nsXMLPrettyPrinter : public XPCOMGCFinalizedObject, public nsStubDocumentObserver
+{
--- /builds/xpcomgc/src/modules/libpr0n/decoders/gif/nsGIFDecoder2.h
+++ /builds/xpcomgc/src/modules/libpr0n/decoders/gif/nsGIFDecoder2.h
@@ -61,2 +61,2 @@
-class nsGIFDecoder2 : public imgIDecoder   
-{
+class nsGIFDecoder2 : public XPCOMGCFinalizedObject, public imgIDecoder   
+{
--- /builds/xpcomgc/src/xpcom/io/nsScriptableInputStream.h
+++ /builds/xpcomgc/src/xpcom/io/nsScriptableInputStream.h
@@ -54,5 +54,6 @@
-class nsScriptableInputStream : public nsIScriptableInputStream,
-                                public nsIScriptableIOInputStream,
-                                public nsISeekableStream,
-                                public nsIMultiplexInputStream
-{
+class nsScriptableInputStream : public XPCOMGCFinalizedObject,
+                                public nsIScriptableInputStream,
+                                public nsIScriptableIOInputStream,
+                                public nsISeekableStream,
+                                public nsIMultiplexInputStream
+{
--- /builds/xpcomgc/src/layout/generic/nsTextFrameThebes.cpp
+++ /builds/xpcomgc/src/layout/generic/nsTextFrameThebes.cpp
@@ -2660,2 +2660,2 @@
-class nsBlinkTimer : public nsITimerCallback
-{
+class nsBlinkTimer : public XPCOMGCFinalizedObject, public nsITimerCallback
+{
--- /builds/xpcomgc/src/xpcom/io/nsFastLoadService.h
+++ /builds/xpcomgc/src/xpcom/io/nsFastLoadService.h
@@ -48,2 +48,2 @@
-class nsFastLoadService : public nsIFastLoadService
-{
+class nsFastLoadService : public XPCOMGCFinalizedObject, public nsIFastLoadService
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGScriptElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGScriptElement.cpp
@@ -53,5 +53,6 @@
-class nsSVGScriptElement : public nsSVGScriptElementBase,
-                           public nsIDOMSVGScriptElement, 
-                           public nsIDOMSVGURIReference,
-                           public nsScriptElement
-{
+class nsSVGScriptElement : public XPCOMGCFinalizedObject,
+                           public nsSVGScriptElementBase,
+                           public nsIDOMSVGScriptElement, 
+                           public nsIDOMSVGURIReference,
+                           public nsScriptElement
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -342,2 +342,2 @@
-class nsSupportsDependentCString : public nsISupportsCString
-{
+class nsSupportsDependentCString : public XPCOMGCFinalizedObject, public nsISupportsCString
+{
--- /builds/xpcomgc/src/content/base/src/nsGenericElement.h
+++ /builds/xpcomgc/src/content/base/src/nsGenericElement.h
@@ -176,2 +176,2 @@
-class nsNodeSupportsWeakRefTearoff : public nsISupportsWeakReference
-{
+class nsNodeSupportsWeakRefTearoff : public XPCOMGCFinalizedObject, public nsISupportsWeakReference
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsUnicharStreamLoader.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsUnicharStreamLoader.h
@@ -48,2 +48,2 @@
-class nsUnicharStreamLoader : public nsIUnicharStreamLoader
-{
+class nsUnicharStreamLoader : public XPCOMGCFinalizedObject, public nsIUnicharStreamLoader
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -429,5 +429,6 @@
-class nsXPConnect : public nsIXPConnect,
-                    public nsIThreadObserver,
-                    public nsSupportsWeakReference,
-                    public nsCycleCollectionParticipant
-{
+class nsXPConnect : public XPCOMGCFinalizedObject,
+                    public nsIXPConnect,
+                    public nsIThreadObserver,
+                    public nsSupportsWeakReference,
+                    public nsCycleCollectionParticipant
+{
--- /builds/xpcomgc/src/layout/base/nsFrameTraversal.cpp
+++ /builds/xpcomgc/src/layout/base/nsFrameTraversal.cpp
@@ -44,2 +44,2 @@
-class nsFrameIterator: public nsIBidirectionalEnumerator
-{
+class nsFrameIterator: public XPCOMGCFinalizedObject, public nsIBidirectionalEnumerator
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2410,2 +2410,2 @@
-class xpcPropertyBagEnumerator : public nsISimpleEnumerator
-{
+class xpcPropertyBagEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSComponent.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSComponent.h
@@ -173,2 +173,2 @@
-class nsCryptoHash : public nsICryptoHash
-{
+class nsCryptoHash : public XPCOMGCFinalizedObject, public nsICryptoHash
+{
--- /builds/xpcomgc/src/xpcom/proxy/tests/proxytests.cpp
+++ /builds/xpcomgc/src/xpcom/proxy/tests/proxytests.cpp
@@ -84,2 +84,2 @@
-class nsTestXPCFoo : public nsITestProxy
-{
+class nsTestXPCFoo : public XPCOMGCFinalizedObject, public nsITestProxy
+{
--- /builds/xpcomgc/src/uriloader/prefetch/nsOfflineCacheUpdate.h
+++ /builds/xpcomgc/src/uriloader/prefetch/nsOfflineCacheUpdate.h
@@ -158,5 +158,6 @@
-class nsOfflineCacheUpdateService : public nsIOfflineCacheUpdateService
-                                  , public nsIWebProgressListener
-                                  , public nsIObserver
-                                  , public nsSupportsWeakReference
-{
+class nsOfflineCacheUpdateService : public XPCOMGCFinalizedObject
+                                  , public nsIOfflineCacheUpdateService
+                                  , public nsIWebProgressListener
+                                  , public nsIObserver
+                                  , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -216,2 +216,2 @@
-class nsSupportsPRInt16Impl : public nsISupportsPRInt16
-{
+class nsSupportsPRInt16Impl : public XPCOMGCFinalizedObject, public nsISupportsPRInt16
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -5100,3 +5100,4 @@
-class nsSVGFESpecularLightingElement : public nsSVGFESpecularLightingElementBase,
-                                       public nsIDOMSVGFESpecularLightingElement
-{
+class nsSVGFESpecularLightingElement : public XPCOMGCFinalizedObject,
+                                       public nsSVGFESpecularLightingElementBase,
+                                       public nsIDOMSVGFESpecularLightingElement
+{
--- /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpNTLMAuth.cpp
+++ /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpNTLMAuth.cpp
@@ -201,2 +201,2 @@
-class nsNTLMSessionState : public nsISupports 
-{
+class nsNTLMSessionState : public XPCOMGCFinalizedObject, public nsISupports 
+{
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsDirIndex.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsDirIndex.h
@@ -43,1 +43,1 @@
-class nsDirIndex : public nsIDirIndex {
+class nsDirIndex : public XPCOMGCFinalizedObject, public nsIDirIndex {
--- /builds/xpcomgc/src/content/base/src/nsGenericElement.h
+++ /builds/xpcomgc/src/content/base/src/nsGenericElement.h
@@ -87,2 +87,2 @@
-class nsChildContentList : public nsGenericDOMNodeList 
-{
+class nsChildContentList : public XPCOMGCFinalizedObject, public nsGenericDOMNodeList 
+{
--- /builds/xpcomgc/src/embedding/components/printingui/src/unixshared/nsPrintProgress.h
+++ /builds/xpcomgc/src/embedding/components/printingui/src/unixshared/nsPrintProgress.h
@@ -52,2 +52,2 @@
-class nsPrintProgress : public nsIPrintProgress, public nsIPrintStatusFeedback
-{
+class nsPrintProgress : public XPCOMGCFinalizedObject, public nsIPrintProgress, public nsIPrintStatusFeedback
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -424,4 +424,5 @@
-class nsXPCComponents_InterfacesByID :
-            public nsIScriptableInterfacesByID,
-            public nsIXPCScriptable,
-            public nsIClassInfo
+class nsXPCComponents_InterfacesByID :
+            public XPCOMGCFinalizedObject,
+            public nsIScriptableInterfacesByID,
+            public nsIXPCScriptable,
+            public nsIClassInfo
--- /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
@@ -187,1 +187,1 @@
-class nsASXULWindowBackToFrontEnumerator : public nsASXULWindowEnumerator {
+class nsASXULWindowBackToFrontEnumerator : public XPCOMGCFinalizedObject, public nsASXULWindowEnumerator {
--- /builds/xpcomgc/src/xpcom/io/nsStreamUtils.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsStreamUtils.cpp
@@ -473,2 +473,2 @@
-class nsStreamCopierOB : public nsAStreamCopier
-{
+class nsStreamCopierOB : public XPCOMGCFinalizedObject, public nsAStreamCopier
+{
--- /builds/xpcomgc/src/dom/src/base/nsGlobalWindow.cpp
+++ /builds/xpcomgc/src/dom/src/base/nsGlobalWindow.cpp
@@ -1023,2 +1023,2 @@
-class WindowStateHolder : public nsISupports
-{
+class WindowStateHolder : public XPCOMGCFinalizedObject, public nsISupports
+{
--- /builds/xpcomgc/src/dom/src/storage/nsDOMStorage.h
+++ /builds/xpcomgc/src/dom/src/storage/nsDOMStorage.h
@@ -247,3 +247,4 @@
-class nsDOMStorageItem : public nsIDOMStorageItem,
-                         public nsIDOMToString
-{
+class nsDOMStorageItem : public XPCOMGCFinalizedObject,
+                         public nsIDOMStorageItem,
+                         public nsIDOMToString
+{
--- /builds/xpcomgc/src/extensions/pref/system-pref/src/nsSystemPref.h
+++ /builds/xpcomgc/src/extensions/pref/system-pref/src/nsSystemPref.h
@@ -74,3 +74,4 @@
-class nsSystemPref : public nsIObserver,
-                     public nsSupportsWeakReference
-{
+class nsSystemPref : public XPCOMGCFinalizedObject,
+                     public nsIObserver,
+                     public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -252,3 +252,4 @@
-class nsSVGPathSegMovetoAbs : public nsIDOMSVGPathSegMovetoAbs,
-                              public nsSVGPathSeg
-{
+class nsSVGPathSegMovetoAbs : public XPCOMGCFinalizedObject,
+                              public nsIDOMSVGPathSegMovetoAbs,
+                              public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathElement.h
@@ -68,4 +68,5 @@
-class nsSVGPathElement : public nsSVGPathElementBase,
-                         public nsIDOMSVGPathElement,
-                         public nsIDOMSVGAnimatedPathData
-{
+class nsSVGPathElement : public XPCOMGCFinalizedObject,
+                         public nsSVGPathElementBase,
+                         public nsIDOMSVGPathElement,
+                         public nsIDOMSVGAnimatedPathData
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGStopElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGStopElement.cpp
@@ -47,3 +47,4 @@
-class nsSVGStopElement : public nsSVGStopElementBase,
-                         public nsIDOMSVGStopElement
-{
+class nsSVGStopElement : public XPCOMGCFinalizedObject,
+                         public nsSVGStopElementBase,
+                         public nsIDOMSVGStopElement
+{
--- /builds/xpcomgc/src/content/xslt/src/xpath/nsXPath1Scheme.cpp
+++ /builds/xpcomgc/src/content/xslt/src/xpath/nsXPath1Scheme.cpp
@@ -67,2 +67,2 @@
-class nsXPath1SchemeNSResolver : public nsIDOMXPathNSResolver
-{
+class nsXPath1SchemeNSResolver : public XPCOMGCFinalizedObject, public nsIDOMXPathNSResolver
+{
--- /builds/xpcomgc/src/modules/libpr0n/decoders/bmp/nsBMPDecoder.h
+++ /builds/xpcomgc/src/modules/libpr0n/decoders/bmp/nsBMPDecoder.h
@@ -148,2 +148,2 @@
-class nsBMPDecoder : public imgIDecoder
-{
+class nsBMPDecoder : public XPCOMGCFinalizedObject, public imgIDecoder
+{
--- /builds/xpcomgc/src/netwerk/streamconv/test/TestStreamConv.cpp
+++ /builds/xpcomgc/src/netwerk/streamconv/test/TestStreamConv.cpp
@@ -82,1 +82,1 @@
-class EndListener : public nsIStreamListener {
+class EndListener : public XPCOMGCFinalizedObject, public nsIStreamListener {
--- /builds/xpcomgc/src/xpinstall/src/nsInstallTrigger.h
+++ /builds/xpcomgc/src/xpinstall/src/nsInstallTrigger.h
@@ -33,4 +33,5 @@
-class nsInstallTrigger: public nsIScriptObjectOwner,
-                        public nsIDOMInstallTriggerGlobal,
-                        public nsIContentHandler
-{
+class nsInstallTrigger: public XPCOMGCFinalizedObject,
+                        public nsIScriptObjectOwner,
+                        public nsIDOMInstallTriggerGlobal,
+                        public nsIContentHandler
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -1389,3 +1389,4 @@
-class nsSVGPathSegArcRel : public nsIDOMSVGPathSegArcRel,
-                           public nsSVGPathSeg
-{
+class nsSVGPathSegArcRel : public XPCOMGCFinalizedObject,
+                           public nsIDOMSVGPathSegArcRel,
+                           public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheStreams.h
+++ /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheStreams.h
@@ -57,1 +57,1 @@
-class nsDiskCacheStreamIO : public nsISupports {
+class nsDiskCacheStreamIO : public XPCOMGCFinalizedObject, public nsISupports {
--- /builds/xpcomgc/src/widget/src/gtk2/nsIdleServiceGTK.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsIdleServiceGTK.h
@@ -57,2 +57,2 @@
-class nsIdleServiceGTK : public nsIdleService
-{
+class nsIdleServiceGTK : public XPCOMGCFinalizedObject, public nsIdleService
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -143,2 +143,2 @@
-class nsListCommand : public nsBaseStateUpdatingCommand
-{
+class nsListCommand : public XPCOMGCFinalizedObject, public nsBaseStateUpdatingCommand
+{
--- /builds/xpcomgc/src/xpcom/proxy/tests/proxytests.cpp
+++ /builds/xpcomgc/src/xpcom/proxy/tests/proxytests.cpp
@@ -138,2 +138,2 @@
-class nsTestXPCFoo2 : public nsITestProxy
-{
+class nsTestXPCFoo2 : public XPCOMGCFinalizedObject, public nsITestProxy
+{
--- /builds/xpcomgc/src/content/html/document/src/nsWyciwygChannel.h
+++ /builds/xpcomgc/src/content/html/document/src/nsWyciwygChannel.h
@@ -63,4 +63,5 @@
-class nsWyciwygChannel: public nsIWyciwygChannel,
-                        public nsIStreamListener,
-                        public nsICacheListener
-{
+class nsWyciwygChannel: public XPCOMGCFinalizedObject,
+                        public nsIWyciwygChannel,
+                        public nsIStreamListener,
+                        public nsICacheListener
+{
--- /builds/xpcomgc/src/netwerk/protocol/about/src/nsAboutProtocolHandler.h
+++ /builds/xpcomgc/src/netwerk/protocol/about/src/nsAboutProtocolHandler.h
@@ -45,2 +45,2 @@
-class nsAboutProtocolHandler : public nsIProtocolHandler
-{
+class nsAboutProtocolHandler : public XPCOMGCFinalizedObject, public nsIProtocolHandler
+{
--- /builds/xpcomgc/src/editor/composer/src/nsEditorSpellCheck.h
+++ /builds/xpcomgc/src/editor/composer/src/nsEditorSpellCheck.h
@@ -54,2 +54,2 @@
-class nsEditorSpellCheck : public nsIEditorSpellCheck
-{
+class nsEditorSpellCheck : public XPCOMGCFinalizedObject, public nsIEditorSpellCheck
+{
--- /builds/xpcomgc/src/netwerk/protocol/file/src/nsFileProtocolHandler.h
+++ /builds/xpcomgc/src/netwerk/protocol/file/src/nsFileProtocolHandler.h
@@ -43,3 +43,4 @@
-class nsFileProtocolHandler : public nsIFileProtocolHandler
-                            , public nsSupportsWeakReference
-{
+class nsFileProtocolHandler : public XPCOMGCFinalizedObject
+                            , public nsIFileProtocolHandler
+                            , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/extensions/pref/autoconfig/src/nsJSConfigTriggers.cpp
+++ /builds/xpcomgc/src/extensions/pref/autoconfig/src/nsJSConfigTriggers.cpp
@@ -60,2 +60,2 @@
-class AutoConfigSecMan : public nsIXPCSecurityManager
-{
+class AutoConfigSecMan : public XPCOMGCFinalizedObject, public nsIXPCSecurityManager
+{
--- /builds/xpcomgc/src/modules/libjar/nsJARChannel.cpp
+++ /builds/xpcomgc/src/modules/libjar/nsJARChannel.cpp
@@ -77,2 +77,2 @@
-class nsJARInputThunk : public nsIInputStream
-{
+class nsJARInputThunk : public XPCOMGCFinalizedObject, public nsIInputStream
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -1095,4 +1095,5 @@
-class nsSVGFEColorMatrixElement : public nsSVGFEColorMatrixElementBase,
-                                  public nsIDOMSVGFEColorMatrixElement,
-                                  public nsISVGFilter
-{
+class nsSVGFEColorMatrixElement : public XPCOMGCFinalizedObject,
+                                  public nsSVGFEColorMatrixElementBase,
+                                  public nsIDOMSVGFEColorMatrixElement,
+                                  public nsISVGFilter
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGMaskElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGMaskElement.h
@@ -49,4 +49,5 @@
-class nsSVGMaskElement : public nsSVGMaskElementBase,
-                         public nsIDOMSVGMaskElement,
-                         public nsIDOMSVGUnitTypes
-{
+class nsSVGMaskElement : public XPCOMGCFinalizedObject,
+                         public nsSVGMaskElementBase,
+                         public nsIDOMSVGMaskElement,
+                         public nsIDOMSVGUnitTypes
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLHRElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLHRElement.cpp
@@ -46,4 +46,5 @@
-class nsHTMLHRElement : public nsGenericHTMLElement,
-                        public nsIDOMHTMLHRElement,
-                        public nsIDOMNSHTMLHRElement
-{
+class nsHTMLHRElement : public XPCOMGCFinalizedObject,
+                        public nsGenericHTMLElement,
+                        public nsIDOMHTMLHRElement,
+                        public nsIDOMNSHTMLHRElement
+{
--- /builds/xpcomgc/src/js/jsd/jsd_xpc.h
+++ /builds/xpcomgc/src/js/jsd/jsd_xpc.h
@@ -245,2 +245,2 @@
-class jsdValue : public jsdIValue
-{
+class jsdValue : public XPCOMGCFinalizedObject, public jsdIValue
+{
--- /builds/xpcomgc/src/extensions/spellcheck/hunspell/src/mozHunspell.h
+++ /builds/xpcomgc/src/extensions/spellcheck/hunspell/src/mozHunspell.h
@@ -78,4 +78,5 @@
-class mozHunspell : public mozISpellCheckingEngine,
-                   public nsIObserver,
-                   public nsSupportsWeakReference
-{
+class mozHunspell : public XPCOMGCFinalizedObject,
+                   public mozISpellCheckingEngine,
+                   public nsIObserver,
+                   public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLScriptElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLScriptElement.cpp
@@ -63,2 +63,2 @@
-class nsHTMLScriptEventHandler : public nsIScriptEventHandler
-{
+class nsHTMLScriptEventHandler : public XPCOMGCFinalizedObject, public nsIScriptEventHandler
+{
--- /builds/xpcomgc/src/content/base/src/nsCCUncollectableMarker.h
+++ /builds/xpcomgc/src/content/base/src/nsCCUncollectableMarker.h
@@ -39,2 +39,2 @@
-class nsCCUncollectableMarker : public nsIObserver
-{
+class nsCCUncollectableMarker : public XPCOMGCFinalizedObject, public nsIObserver
+{
--- /builds/xpcomgc/src/modules/libpr0n/src/imgLoader.h
+++ /builds/xpcomgc/src/modules/libpr0n/src/imgLoader.h
@@ -60,2 +60,2 @@
-class imgLoader : public imgILoader, public nsIContentSniffer
-{
+class imgLoader : public XPCOMGCFinalizedObject, public imgILoader, public nsIContentSniffer
+{
--- /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpTransaction.h
+++ /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpTransaction.h
@@ -69,4 +69,5 @@
-class nsHttpTransaction : public nsAHttpTransaction
-                        , public nsIInputStreamCallback
-                        , public nsIOutputStreamCallback
-{
+class nsHttpTransaction : public XPCOMGCFinalizedObject
+                        , public nsAHttpTransaction
+                        , public nsIInputStreamCallback
+                        , public nsIOutputStreamCallback
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/nsPluginInstancePeer.cpp
+++ /builds/xpcomgc/src/modules/plugin/base/src/nsPluginInstancePeer.cpp
@@ -146,2 +146,2 @@
-class nsPluginStreamToFile : public nsIOutputStream
-{
+class nsPluginStreamToFile : public XPCOMGCFinalizedObject, public nsIOutputStream
+{
--- /builds/xpcomgc/src/xpinstall/src/nsTopProgressNotifier.h
+++ /builds/xpcomgc/src/xpinstall/src/nsTopProgressNotifier.h
@@ -48,2 +48,2 @@
-class nsTopProgressListener : public nsIXPIListener
-{
+class nsTopProgressListener : public XPCOMGCFinalizedObject, public nsIXPIListener
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -2266,3 +2266,4 @@
-class nsSVGPathSegCurvetoQuadraticSmoothRel : public nsIDOMSVGPathSegCurvetoQuadraticSmoothRel,
-                                              public nsSVGPathSeg
-{
+class nsSVGPathSegCurvetoQuadraticSmoothRel : public XPCOMGCFinalizedObject,
+                                              public nsIDOMSVGPathSegCurvetoQuadraticSmoothRel,
+                                              public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsDataSignatureVerifier.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsDataSignatureVerifier.h
@@ -46,2 +46,2 @@
-class nsDataSignatureVerifier : public nsIDataSignatureVerifier
-{
+class nsDataSignatureVerifier : public XPCOMGCFinalizedObject, public nsIDataSignatureVerifier
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -497,4 +497,5 @@
-class nsSVGFEGaussianBlurElement : public nsSVGFEGaussianBlurElementBase,
-                                   public nsIDOMSVGFEGaussianBlurElement,
-                                   public nsISVGFilter
-{
+class nsSVGFEGaussianBlurElement : public XPCOMGCFinalizedObject,
+                                   public nsSVGFEGaussianBlurElementBase,
+                                   public nsIDOMSVGFEGaussianBlurElement,
+                                   public nsISVGFilter
+{
--- /builds/xpcomgc/src/xpcom/ds/nsObserverService.h
+++ /builds/xpcomgc/src/xpcom/ds/nsObserverService.h
@@ -50,1 +50,1 @@
-class nsObserverService : public nsIObserverService {
+class nsObserverService : public XPCOMGCFinalizedObject, public nsIObserverService {
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsMultiMixedConv.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsMultiMixedConv.h
@@ -65,4 +65,5 @@
-class nsPartChannel : public nsIChannel,
-                      public nsIByteRangeRequest,
-                      public nsIMultiPartChannel
-{
+class nsPartChannel : public XPCOMGCFinalizedObject,
+                      public nsIChannel,
+                      public nsIByteRangeRequest,
+                      public nsIMultiPartChannel
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.h
@@ -63,2 +63,2 @@
-class nsCRMFObject : public nsIDOMCRMFObject
-{
+class nsCRMFObject : public XPCOMGCFinalizedObject, public nsIDOMCRMFObject
+{
--- /builds/xpcomgc/src/intl/uconv/ucvko/nsISO2022KRToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvko/nsISO2022KRToUnicode.h
@@ -43,2 +43,2 @@
-class nsISO2022KRToUnicode : public nsBasicDecoderSupport
-{
+class nsISO2022KRToUnicode : public XPCOMGCFinalizedObject, public nsBasicDecoderSupport
+{
--- /builds/xpcomgc/src/xpcom/io/nsStorageStream.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsStorageStream.cpp
@@ -337,3 +337,4 @@
-class nsStorageInputStream : public nsIInputStream
-                           , public nsISeekableStream
-{
+class nsStorageInputStream : public XPCOMGCFinalizedObject
+                           , public nsIInputStream
+                           , public nsISeekableStream
+{
--- /builds/xpcomgc/src/extensions/spellcheck/src/mozEnglishWordUtils.h
+++ /builds/xpcomgc/src/extensions/spellcheck/src/mozEnglishWordUtils.h
@@ -50,2 +50,2 @@
-class mozEnglishWordUtils : public mozISpellI18NUtil
-{
+class mozEnglishWordUtils : public XPCOMGCFinalizedObject, public mozISpellI18NUtil
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/ns4xPlugin.cpp
+++ /builds/xpcomgc/src/modules/plugin/base/src/ns4xPlugin.cpp
@@ -1063,2 +1063,2 @@
-class ns4xStreamWrapper : nsISupports
-{
+class ns4xStreamWrapper : public XPCOMGCFinalizedObject, private nsISupports
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -859,2 +859,2 @@
-class XPCCallContext : public nsIXPCNativeCallContext
-{
+class XPCCallContext : public XPCOMGCFinalizedObject, public nsIXPCNativeCallContext
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLPreElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLPreElement.cpp
@@ -49,3 +49,4 @@
-class nsHTMLPreElement : public nsGenericHTMLElement,
-                         public nsIDOMHTMLPreElement
-{
+class nsHTMLPreElement : public XPCOMGCFinalizedObject,
+                         public nsGenericHTMLElement,
+                         public nsIDOMHTMLPreElement
+{
--- /builds/xpcomgc/src/content/xbl/src/nsXBLWindowKeyHandler.h
+++ /builds/xpcomgc/src/content/xbl/src/nsXBLWindowKeyHandler.h
@@ -53,2 +53,2 @@
-class nsXBLWindowKeyHandler : public nsIDOMKeyListener
-{
+class nsXBLWindowKeyHandler : public XPCOMGCFinalizedObject, public nsIDOMKeyListener
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.cpp
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.cpp
@@ -185,1 +185,1 @@
-class nsCryptoRunArgs : public nsISupports {
+class nsCryptoRunArgs : public XPCOMGCFinalizedObject, public nsISupports {
--- /builds/xpcomgc/src/uriloader/prefetch/nsPrefetchService.cpp
+++ /builds/xpcomgc/src/uriloader/prefetch/nsPrefetchService.cpp
@@ -101,2 +101,2 @@
-class nsPrefetchQueueEnumerator : public nsISimpleEnumerator
-{
+class nsPrefetchQueueEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/xpfe/components/filepicker/src/nsFileView.cpp
+++ /builds/xpcomgc/src/xpfe/components/filepicker/src/nsFileView.cpp
@@ -190,2 +190,2 @@
-class nsFileComplete : public nsIAutoCompleteSearch
-{
+class nsFileComplete : public XPCOMGCFinalizedObject, public nsIAutoCompleteSearch
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsDocumentCharsetInfo.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsDocumentCharsetInfo.h
@@ -43,2 +43,2 @@
-class nsDocumentCharsetInfo : public nsIDocumentCharsetInfo
-{
+class nsDocumentCharsetInfo : public XPCOMGCFinalizedObject, public nsIDocumentCharsetInfo
+{
--- /builds/xpcomgc/src/netwerk/test/TestIOThreads.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestIOThreads.cpp
@@ -53,1 +53,1 @@
-class nsIOEvent : public nsIRunnable {
+class nsIOEvent : public XPCOMGCFinalizedObject, public nsIRunnable {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGDescElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGDescElement.cpp
@@ -43,3 +43,4 @@
-class nsSVGDescElement : public nsSVGDescElementBase,
-                         public nsIDOMSVGDescElement
-{
+class nsSVGDescElement : public XPCOMGCFinalizedObject,
+                         public nsSVGDescElementBase,
+                         public nsIDOMSVGDescElement
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGRect.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGRect.h
@@ -62,3 +62,4 @@
-class nsSVGRect : public nsIDOMSVGRect,
-                  public nsSVGValue
-{
+class nsSVGRect : public XPCOMGCFinalizedObject,
+                  public nsIDOMSVGRect,
+                  public nsSVGValue
+{
--- /builds/xpcomgc/src/dom/src/base/nsMimeTypeArray.h
+++ /builds/xpcomgc/src/dom/src/base/nsMimeTypeArray.h
@@ -82,2 +82,2 @@
-class nsHelperMimeType : public nsIDOMMimeType
-{
+class nsHelperMimeType : public XPCOMGCFinalizedObject, public nsIDOMMimeType
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsFileStreams.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsFileStreams.h
@@ -139,3 +139,4 @@
-class nsFileOutputStream : public nsFileStream,
-                           public nsIFileOutputStream
-{
+class nsFileOutputStream : public XPCOMGCFinalizedObject,
+                           public nsFileStream,
+                           public nsIFileOutputStream
+{
--- /builds/xpcomgc/src/toolkit/components/feeds/src/nsScriptableUnescapeHTML.h
+++ /builds/xpcomgc/src/toolkit/components/feeds/src/nsScriptableUnescapeHTML.h
@@ -41,2 +41,2 @@
-class nsScriptableUnescapeHTML : public nsIScriptableUnescapeHTML
-{
+class nsScriptableUnescapeHTML : public XPCOMGCFinalizedObject, public nsIScriptableUnescapeHTML
+{
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGGlyphFrame.h
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGGlyphFrame.h
@@ -54,2 +54,3 @@
-class nsSVGGlyphFrame : public nsSVGGlyphFrameBase,
-                        public nsISVGGlyphFragmentLeaf,
+class nsSVGGlyphFrame : public XPCOMGCFinalizedObject,
+                        public nsSVGGlyphFrameBase,
+                        public nsISVGGlyphFragmentLeaf,
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -1748,5 +1748,6 @@
-class nsXPCComponents_Exception :
-  public nsIXPCComponents_Exception,
-  public nsIXPCScriptable,
-  public nsIClassInfo
-{
+class nsXPCComponents_Exception :
+  public XPCOMGCFinalizedObject,
+  public nsIXPCComponents_Exception,
+  public nsIXPCScriptable,
+  public nsIClassInfo
+{
--- /builds/xpcomgc/src/intl/uconv/ucvja/nsJapaneseToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvja/nsJapaneseToUnicode.h
@@ -52,2 +52,2 @@
-class nsShiftJISToUnicode : public nsJapaneseToUnicode
-{
+class nsShiftJISToUnicode : public XPCOMGCFinalizedObject, public nsJapaneseToUnicode
+{
--- /builds/xpcomgc/src/xpcom/tests/TestThreads.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestThreads.cpp
@@ -108,1 +108,1 @@
-class nsStressRunner : public nsIRunnable {
+class nsStressRunner : public XPCOMGCFinalizedObject, public nsIRunnable {
--- /builds/xpcomgc/src/layout/xul/base/src/nsMenuFrame.h
+++ /builds/xpcomgc/src/layout/xul/base/src/nsMenuFrame.h
@@ -88,2 +88,2 @@
-class nsMenuTimerMediator : public nsITimerCallback
-{
+class nsMenuTimerMediator : public XPCOMGCFinalizedObject, public nsITimerCallback
+{
--- /builds/xpcomgc/src/netwerk/dns/src/nsDNSService2.cpp
+++ /builds/xpcomgc/src/netwerk/dns/src/nsDNSService2.cpp
@@ -66,2 +66,2 @@
-class nsDNSRecord : public nsIDNSRecord
-{
+class nsDNSRecord : public XPCOMGCFinalizedObject, public nsIDNSRecord
+{
--- /builds/xpcomgc/src/xpcom/tests/TestThreads.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestThreads.cpp
@@ -46,1 +46,1 @@
-class nsRunner : public nsIRunnable {
+class nsRunner : public XPCOMGCFinalizedObject, public nsIRunnable {
--- /builds/xpcomgc/src/extensions/cookie/nsPopupWindowManager.h
+++ /builds/xpcomgc/src/extensions/cookie/nsPopupWindowManager.h
@@ -49,3 +49,4 @@
-class nsPopupWindowManager : public nsIPopupWindowManager,
-                             public nsIObserver,
-                             public nsSupportsWeakReference {
+class nsPopupWindowManager : public XPCOMGCFinalizedObject,
+                             public nsIPopupWindowManager,
+                             public nsIObserver,
+                             public nsSupportsWeakReference {
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLObjectElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLObjectElement.cpp
@@ -50,4 +50,5 @@
-class nsHTMLObjectElement : public nsGenericHTMLFormElement,
-                            public nsObjectLoadingContent,
-                            public nsIDOMHTMLObjectElement
-{
+class nsHTMLObjectElement : public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLFormElement,
+                            public nsObjectLoadingContent,
+                            public nsIDOMHTMLObjectElement
+{
--- /builds/xpcomgc/src/content/events/src/nsPrivateTextRange.h
+++ /builds/xpcomgc/src/content/events/src/nsPrivateTextRange.h
@@ -44,2 +44,2 @@
-class nsPrivateTextRange : public nsIPrivateTextRange 
-{
+class nsPrivateTextRange : public XPCOMGCFinalizedObject, public nsIPrivateTextRange 
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_in.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_in.cpp
@@ -48,1 +48,1 @@
-class xpcTestIn : public nsIXPCTestIn {
+class xpcTestIn : public XPCOMGCFinalizedObject, public nsIXPCTestIn {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPolygonElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPolygonElement.cpp
@@ -44,3 +44,4 @@
-class nsSVGPolygonElement : public nsSVGPolygonElementBase,
-                            public nsIDOMSVGPolygonElement
-{
+class nsSVGPolygonElement : public XPCOMGCFinalizedObject,
+                            public nsSVGPolygonElementBase,
+                            public nsIDOMSVGPolygonElement
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLDelElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLDelElement.cpp
@@ -44,3 +44,4 @@
-class nsHTMLModElement : public nsGenericHTMLElement,
-                         public nsIDOMHTMLModElement
-{
+class nsHTMLModElement : public XPCOMGCFinalizedObject,
+                         public nsGenericHTMLElement,
+                         public nsIDOMHTMLModElement
+{
--- /builds/xpcomgc/src/dom/src/base/nsPluginArray.h
+++ /builds/xpcomgc/src/dom/src/base/nsPluginArray.h
@@ -49,3 +49,4 @@
-class nsPluginArray : public nsIDOMPluginArray,
-                      public nsIDOMJSPluginArray
-{
+class nsPluginArray : public XPCOMGCFinalizedObject,
+                      public nsIDOMPluginArray,
+                      public nsIDOMJSPluginArray
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2735,1 +2735,1 @@
-class nsJSIID : public nsIJSIID, public nsIXPCScriptable
+class nsJSIID : public XPCOMGCFinalizedObject, public nsIJSIID, public nsIXPCScriptable
--- /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateQueryProcessorXML.h
+++ /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateQueryProcessorXML.h
@@ -61,2 +61,2 @@
-class nsXMLQuery : public nsISupports
-{
+class nsXMLQuery : public XPCOMGCFinalizedObject, public nsISupports
+{
--- /builds/xpcomgc/src/layout/inspector/src/inCSSValueSearch.h
+++ /builds/xpcomgc/src/layout/inspector/src/inCSSValueSearch.h
@@ -54,2 +54,2 @@
-class inCSSValueSearch : public inICSSValueSearch
-{
+class inCSSValueSearch : public XPCOMGCFinalizedObject, public inICSSValueSearch
+{
--- /builds/xpcomgc/src/content/base/src/nsSyncLoadService.cpp
+++ /builds/xpcomgc/src/content/base/src/nsSyncLoadService.cpp
@@ -102,2 +102,2 @@
-class nsForceXMLListener : public nsIStreamListener
-{
+class nsForceXMLListener : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLTableSectionElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLTableSectionElement.cpp
@@ -51,3 +51,4 @@
-class nsHTMLTableSectionElement : public nsGenericHTMLElement,
-                                  public nsIDOMHTMLTableSectionElement
-{
+class nsHTMLTableSectionElement : public XPCOMGCFinalizedObject,
+                                  public nsGenericHTMLElement,
+                                  public nsIDOMHTMLTableSectionElement
+{
--- /builds/xpcomgc/src/netwerk/protocol/res/src/nsResProtocolHandler.h
+++ /builds/xpcomgc/src/netwerk/protocol/res/src/nsResProtocolHandler.h
@@ -59,2 +59,2 @@
-class nsResProtocolHandler : public nsIResProtocolHandler, public nsSupportsWeakReference
-{
+class nsResProtocolHandler : public XPCOMGCFinalizedObject, public nsIResProtocolHandler, public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/layout/base/nsCaret.h
+++ /builds/xpcomgc/src/layout/base/nsCaret.h
@@ -52,3 +52,4 @@
-class nsCaret : public nsICaret,
-                public nsISelectionListener
-{
+class nsCaret : public XPCOMGCFinalizedObject,
+                public nsICaret,
+                public nsISelectionListener
+{
--- /builds/xpcomgc/src/layout/xul/base/src/tree/src/nsTreeContentView.h
+++ /builds/xpcomgc/src/layout/xul/base/src/tree/src/nsTreeContentView.h
@@ -52,4 +52,5 @@
-class nsTreeContentView : public nsINativeTreeView,
-                          public nsITreeContentView,
-                          public nsStubDocumentObserver
-{
+class nsTreeContentView : public XPCOMGCFinalizedObject,
+                          public nsINativeTreeView,
+                          public nsITreeContentView,
+                          public nsStubDocumentObserver
+{
--- /builds/xpcomgc/src/content/events/src/nsXMLEventsManager.h
+++ /builds/xpcomgc/src/content/events/src/nsXMLEventsManager.h
@@ -54,1 +54,1 @@
-class nsXMLEventsListener : public nsIDOMEventListener {
+class nsXMLEventsListener : public XPCOMGCFinalizedObject, public nsIDOMEventListener {
--- /builds/xpcomgc/src/xpcom/reflect/xptcall/tests/TestXPTCInvoke.cpp
+++ /builds/xpcomgc/src/xpcom/reflect/xptcall/tests/TestXPTCInvoke.cpp
@@ -1175,2 +1175,2 @@
-class FooBarImpl2 : public nsIFoo2, public nsIBar2
-{
+class FooBarImpl2 : public XPCOMGCFinalizedObject, public nsIFoo2, public nsIBar2
+{
--- /builds/xpcomgc/src/layout/base/nsLayoutDebugger.cpp
+++ /builds/xpcomgc/src/layout/base/nsLayoutDebugger.cpp
@@ -50,1 +50,1 @@
-class nsLayoutDebugger : public nsILayoutDebugger {
+class nsLayoutDebugger : public XPCOMGCFinalizedObject, public nsILayoutDebugger {
--- /builds/xpcomgc/src/uriloader/base/nsDocLoader.h
+++ /builds/xpcomgc/src/uriloader/base/nsDocLoader.h
@@ -78,10 +78,11 @@
-class nsDocLoader : public nsIDocumentLoader, 
-                    public nsIRequestObserver,
-                    public nsSupportsWeakReference,
-                    public nsIProgressEventSink,
-                    public nsIWebProgress,
-                    public nsIInterfaceRequestor,
-                    public nsIChannelEventSink,
-                    public nsISecurityEventSink,
-                    public nsISupportsPriority
-{
+class nsDocLoader : public XPCOMGCFinalizedObject, 
+                    public nsIDocumentLoader, 
+                    public nsIRequestObserver,
+                    public nsSupportsWeakReference,
+                    public nsIProgressEventSink,
+                    public nsIWebProgress,
+                    public nsIInterfaceRequestor,
+                    public nsIChannelEventSink,
+                    public nsISecurityEventSink,
+                    public nsISupportsPriority
+{
--- /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
+++ /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
@@ -197,2 +197,2 @@
-class nsTextEditorDragListener : public nsIDOMDragListener 
-{
+class nsTextEditorDragListener : public XPCOMGCFinalizedObject, public nsIDOMDragListener 
+{
--- /builds/xpcomgc/src/toolkit/components/startup/src/nsUserInfo.h
+++ /builds/xpcomgc/src/toolkit/components/startup/src/nsUserInfo.h
@@ -42,3 +42,3 @@
-class nsUserInfo: public nsIUserInfo
-
-{
+class nsUserInfo: public XPCOMGCFinalizedObject, public nsIUserInfo
+
+{
--- /builds/xpcomgc/src/content/xbl/src/nsXBLDocumentInfo.h
+++ /builds/xpcomgc/src/content/xbl/src/nsXBLDocumentInfo.h
@@ -48,2 +48,2 @@
-class nsXBLDocumentInfo : public nsIXBLDocumentInfo, public nsIScriptGlobalObjectOwner, public nsSupportsWeakReference
-{
+class nsXBLDocumentInfo : public XPCOMGCFinalizedObject, public nsIXBLDocumentInfo, public nsIScriptGlobalObjectOwner, public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/xpcom/proxy/src/nsProxyEventObject.cpp
+++ /builds/xpcomgc/src/xpcom/proxy/src/nsProxyEventObject.cpp
@@ -127,2 +127,2 @@
-class nsProxyThreadFilter : public nsIThreadEventFilter
-{
+class nsProxyThreadFilter : public XPCOMGCFinalizedObject, public nsIThreadEventFilter
+{
--- /builds/xpcomgc/src/xpcom/glue/nsEnumeratorUtils.cpp
+++ /builds/xpcomgc/src/xpcom/glue/nsEnumeratorUtils.cpp
@@ -113,2 +113,2 @@
-class nsSingletonEnumerator : public nsISimpleEnumerator
-{
+class nsSingletonEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/intl/uconv/src/nsCharsetConverterManager.h
+++ /builds/xpcomgc/src/intl/uconv/src/nsCharsetConverterManager.h
@@ -48,2 +48,2 @@
-class nsCharsetConverterManager : public nsICharsetConverterManager
-{
+class nsCharsetConverterManager : public XPCOMGCFinalizedObject, public nsICharsetConverterManager
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsSSLSocketProvider.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsSSLSocketProvider.h
@@ -50,2 +50,2 @@
-class nsSSLSocketProvider : public nsISocketProvider
-{
+class nsSSLSocketProvider : public XPCOMGCFinalizedObject, public nsISocketProvider
+{
--- /builds/xpcomgc/src/netwerk/test/TestCommon.h
+++ /builds/xpcomgc/src/netwerk/test/TestCommon.h
@@ -51,1 +51,1 @@
-class nsQuitPumpingEvent : public nsIRunnable {
+class nsQuitPumpingEvent : public XPCOMGCFinalizedObject, public nsIRunnable {
--- /builds/xpcomgc/src/content/xslt/src/xpath/nsXPathEvaluator.h
+++ /builds/xpcomgc/src/content/xslt/src/xpath/nsXPathEvaluator.h
@@ -53,3 +53,4 @@
-class nsXPathEvaluator : public nsIDOMXPathEvaluator,
-                         public nsIXPathEvaluatorInternal
-{
+class nsXPathEvaluator : public XPCOMGCFinalizedObject,
+                         public nsIDOMXPathEvaluator,
+                         public nsIXPathEvaluatorInternal
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/nsPluginInstancePeer.h
+++ /builds/xpcomgc/src/modules/plugin/base/src/nsPluginInstancePeer.h
@@ -49,3 +49,4 @@
-class nsPluginInstancePeerImpl : public nsIPluginInstancePeer2,
-                                 public nsIWindowlessPluginInstancePeer,
-                                 public nsIPluginTagInfo2,
+class nsPluginInstancePeerImpl : public XPCOMGCFinalizedObject,
+                                 public nsIPluginInstancePeer2,
+                                 public nsIWindowlessPluginInstancePeer,
+                                 public nsIPluginTagInfo2,
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedCertificates.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedCertificates.h
@@ -63,3 +63,4 @@
-class EmbedCertificates
-: public nsITokenPasswordDialogs,
-  public nsIBadCertListener,
+class EmbedCertificates
+: public XPCOMGCFinalizedObject,
+  public nsITokenPasswordDialogs,
+  public nsIBadCertListener,
--- /builds/xpcomgc/src/storage/test/storage1.cpp
+++ /builds/xpcomgc/src/storage/test/storage1.cpp
@@ -99,1 +99,1 @@
-class TestProgressHandler : public mozIStorageProgressHandler {
+class TestProgressHandler : public XPCOMGCFinalizedObject, public mozIStorageProgressHandler {
--- /builds/xpcomgc/src/storage/src/mozStorageConnection.h
+++ /builds/xpcomgc/src/storage/src/mozStorageConnection.h
@@ -56,2 +56,2 @@
-class mozStorageConnection : public mozIStorageConnection
-{
+class mozStorageConnection : public XPCOMGCFinalizedObject, public mozIStorageConnection
+{
--- /builds/xpcomgc/src/content/xml/document/src/nsXMLContentSink.h
+++ /builds/xpcomgc/src/content/xml/document/src/nsXMLContentSink.h
@@ -67,5 +67,6 @@
-class nsXMLContentSink : public nsContentSink,
-                         public nsIXMLContentSink,
-                         public nsITransformObserver,
-                         public nsIExpatSink
-{
+class nsXMLContentSink : public XPCOMGCFinalizedObject,
+                         public nsContentSink,
+                         public nsIXMLContentSink,
+                         public nsITransformObserver,
+                         public nsIExpatSink
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -97,2 +97,2 @@
-class nsSupportsPRBoolImpl : public nsISupportsPRBool
-{
+class nsSupportsPRBoolImpl : public XPCOMGCFinalizedObject, public nsISupportsPRBool
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -3500,4 +3500,5 @@
-class nsSVGFEMorphologyElement : public nsSVGFEMorphologyElementBase,
-                                 public nsIDOMSVGFEMorphologyElement,
-                                 public nsISVGFilter
-{
+class nsSVGFEMorphologyElement : public XPCOMGCFinalizedObject,
+                                 public nsSVGFEMorphologyElementBase,
+                                 public nsIDOMSVGFEMorphologyElement,
+                                 public nsISVGFilter
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGEllipseElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGEllipseElement.cpp
@@ -48,3 +48,4 @@
-class nsSVGEllipseElement : public nsSVGEllipseElementBase,
-                            public nsIDOMSVGEllipseElement
-{
+class nsSVGEllipseElement : public XPCOMGCFinalizedObject,
+                            public nsSVGEllipseElementBase,
+                            public nsIDOMSVGEllipseElement
+{
--- /builds/xpcomgc/src/extensions/pref/system-pref/src/gconf/nsSystemPrefService.h
+++ /builds/xpcomgc/src/extensions/pref/system-pref/src/gconf/nsSystemPrefService.h
@@ -58,2 +58,2 @@
-class nsSystemPrefService : public nsIPrefBranch2
-{
+class nsSystemPrefService : public XPCOMGCFinalizedObject, public nsIPrefBranch2
+{
--- /builds/xpcomgc/src/rdf/base/src/nsRDFXMLParser.h
+++ /builds/xpcomgc/src/rdf/base/src/nsRDFXMLParser.h
@@ -50,1 +50,1 @@
-class nsRDFXMLParser : public nsIRDFXMLParser {
+class nsRDFXMLParser : public XPCOMGCFinalizedObject, public nsIRDFXMLParser {
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -297,2 +297,2 @@
-class nsJAStringPSMDetector : public nsXPCOMStringDetector
-{
+class nsJAStringPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMStringDetector
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGRectElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGRectElement.cpp
@@ -47,3 +47,4 @@
-class nsSVGRectElement : public nsSVGRectElementBase,
-                         public nsIDOMSVGRectElement
-{
+class nsSVGRectElement : public XPCOMGCFinalizedObject,
+                         public nsSVGRectElementBase,
+                         public nsIDOMSVGRectElement
+{
--- /builds/xpcomgc/src/uriloader/exthandler/nsLocalHandlerApp.h
+++ /builds/xpcomgc/src/uriloader/exthandler/nsLocalHandlerApp.h
@@ -46,2 +46,2 @@
-class nsLocalHandlerApp : public nsILocalHandlerApp
-{
+class nsLocalHandlerApp : public XPCOMGCFinalizedObject, public nsILocalHandlerApp
+{
--- /builds/xpcomgc/src/content/xslt/src/xpath/nsXPathNSResolver.h
+++ /builds/xpcomgc/src/content/xslt/src/xpath/nsXPathNSResolver.h
@@ -49,2 +49,2 @@
-class nsXPathNSResolver : public nsIDOMXPathNSResolver
-{
+class nsXPathNSResolver : public XPCOMGCFinalizedObject, public nsIDOMXPathNSResolver
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLOptionElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLOptionElement.cpp
@@ -74,6 +74,7 @@
-class nsHTMLOptionElement : public nsGenericHTMLElement,
-                            public nsIDOMHTMLOptionElement,
-                            public nsIDOMNSHTMLOptionElement,
-                            public nsIJSNativeInitializer,
-                            public nsIOptionElement
-{
+class nsHTMLOptionElement : public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLElement,
+                            public nsIDOMHTMLOptionElement,
+                            public nsIDOMNSHTMLOptionElement,
+                            public nsIJSNativeInitializer,
+                            public nsIOptionElement
+{
--- /builds/xpcomgc/src/xpfe/appshell/src/nsWebShellWindow.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsWebShellWindow.h
@@ -54,3 +54,4 @@
-class nsWebShellWindow : public nsXULWindow,
-                         public nsIWebProgressListener
-{
+class nsWebShellWindow : public XPCOMGCFinalizedObject,
+                         public nsXULWindow,
+                         public nsIWebProgressListener
+{
--- /builds/xpcomgc/src/content/xbl/src/nsXBLEventHandler.h
+++ /builds/xpcomgc/src/content/xbl/src/nsXBLEventHandler.h
@@ -82,2 +82,2 @@
-class nsXBLKeyEventHandler : public nsIDOMEventListener
-{
+class nsXBLKeyEventHandler : public XPCOMGCFinalizedObject, public nsIDOMEventListener
+{
--- /builds/xpcomgc/src/layout/base/nsImageLoader.h
+++ /builds/xpcomgc/src/layout/base/nsImageLoader.h
@@ -50,2 +50,2 @@
-class nsImageLoader : public nsStubImageDecoderObserver
-{
+class nsImageLoader : public XPCOMGCFinalizedObject, public nsStubImageDecoderObserver
+{
--- /builds/xpcomgc/src/parser/htmlparser/robot/nsRobotSink.cpp
+++ /builds/xpcomgc/src/parser/htmlparser/robot/nsRobotSink.cpp
@@ -65,1 +65,1 @@
-class RobotSink : public nsIRobotSink {
+class RobotSink : public XPCOMGCFinalizedObject, public nsIRobotSink {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -2682,4 +2682,5 @@
-class nsSVGFEFloodElement : public nsSVGFEFloodElementBase,
-                            public nsIDOMSVGFEFloodElement,
-                            public nsISVGFilter
-{
+class nsSVGFEFloodElement : public XPCOMGCFinalizedObject,
+                            public nsSVGFEFloodElementBase,
+                            public nsIDOMSVGFEFloodElement,
+                            public nsISVGFilter
+{
--- /builds/xpcomgc/src/intl/uconv/src/nsConverterInputStream.h
+++ /builds/xpcomgc/src/intl/uconv/src/nsConverterInputStream.h
@@ -57,2 +57,3 @@
-class nsConverterInputStream : public nsIConverterInputStream,
-                               public nsIUnicharLineInputStream {
+class nsConverterInputStream : public XPCOMGCFinalizedObject,
+                               public nsIConverterInputStream,
+                               public nsIUnicharLineInputStream {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -1652,3 +1652,4 @@
-class nsSVGPathSegLinetoHorizontalRel : public nsIDOMSVGPathSegLinetoHorizontalRel,
-                                        public nsSVGPathSeg
-{
+class nsSVGPathSegLinetoHorizontalRel : public XPCOMGCFinalizedObject,
+                                        public nsIDOMSVGPathSegLinetoHorizontalRel,
+                                        public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedEventListener.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedEventListener.h
@@ -77,7 +77,8 @@
-class EmbedEventListener : public nsIDOMKeyListener,
-                           public nsIDOMMouseListener,
-                           public nsIDOMUIListener,
-                           public nsIDOMMouseMotionListener,
-                           public nsIWebProgressListener,
-                           public nsIDOMFocusListener
-{
+class EmbedEventListener : public XPCOMGCFinalizedObject,
+                           public nsIDOMKeyListener,
+                           public nsIDOMMouseListener,
+                           public nsIDOMUIListener,
+                           public nsIDOMMouseMotionListener,
+                           public nsIWebProgressListener,
+                           public nsIDOMFocusListener
+{
--- /builds/xpcomgc/src/extensions/cookie/nsPermission.h
+++ /builds/xpcomgc/src/extensions/cookie/nsPermission.h
@@ -45,2 +45,2 @@
-class nsPermission : public nsIPermission
-{
+class nsPermission : public XPCOMGCFinalizedObject, public nsIPermission
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsOCSPResponder.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsOCSPResponder.h
@@ -46,2 +46,2 @@
-class nsOCSPResponder : public nsIOCSPResponder
-{
+class nsOCSPResponder : public XPCOMGCFinalizedObject, public nsIOCSPResponder
+{
--- /builds/xpcomgc/src/modules/libjar/zipwriter/src/nsZipHeader.h
+++ /builds/xpcomgc/src/modules/libjar/zipwriter/src/nsZipHeader.h
@@ -50,2 +50,2 @@
-class nsZipHeader : public nsIZipEntry
-{
+class nsZipHeader : public XPCOMGCFinalizedObject, public nsIZipEntry
+{
--- /builds/xpcomgc/src/content/base/src/nsDocumentFragment.cpp
+++ /builds/xpcomgc/src/content/base/src/nsDocumentFragment.cpp
@@ -57,3 +57,4 @@
-class nsDocumentFragment : public nsGenericElement,
-                           public nsIDOMDocumentFragment
-{
+class nsDocumentFragment : public XPCOMGCFinalizedObject,
+                           public nsGenericElement,
+                           public nsIDOMDocumentFragment
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPolylineElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPolylineElement.cpp
@@ -43,3 +43,4 @@
-class nsSVGPolylineElement : public nsSVGPolylineElementBase,
-                             public nsIDOMSVGPolylineElement
-{
+class nsSVGPolylineElement : public XPCOMGCFinalizedObject,
+                             public nsSVGPolylineElementBase,
+                             public nsIDOMSVGPolylineElement
+{
--- /builds/xpcomgc/src/intl/uconv/src/nsPlatformCharset.h
+++ /builds/xpcomgc/src/intl/uconv/src/nsPlatformCharset.h
@@ -41,2 +41,2 @@
-class nsPlatformCharset : public nsIPlatformCharset
-{
+class nsPlatformCharset : public XPCOMGCFinalizedObject, public nsIPlatformCharset
+{
--- /builds/xpcomgc/src/xpcom/io/nsAppFileLocationProvider.h
+++ /builds/xpcomgc/src/xpcom/io/nsAppFileLocationProvider.h
@@ -48,2 +48,2 @@
-class nsAppFileLocationProvider : public nsIDirectoryServiceProvider2
-{
+class nsAppFileLocationProvider : public XPCOMGCFinalizedObject, public nsIDirectoryServiceProvider2
+{
--- /builds/xpcomgc/src/layout/style/nsHTMLCSSStyleSheet.cpp
+++ /builds/xpcomgc/src/layout/style/nsHTMLCSSStyleSheet.cpp
@@ -96,1 +96,1 @@
-class CSSFirstLineRule : public CSSDisablePropsRule {
+class CSSFirstLineRule : public XPCOMGCFinalizedObject, public CSSDisablePropsRule {
--- /builds/xpcomgc/src/intl/locale/src/nsLocaleService.cpp
+++ /builds/xpcomgc/src/intl/locale/src/nsLocaleService.cpp
@@ -100,1 +100,1 @@
-class nsLocaleService: public nsILocaleService {
+class nsLocaleService: public XPCOMGCFinalizedObject, public nsILocaleService {
--- /builds/xpcomgc/src/parser/xml/src/nsSAXAttributes.h
+++ /builds/xpcomgc/src/parser/xml/src/nsSAXAttributes.h
@@ -62,2 +62,2 @@
-class nsSAXAttributes : public nsISAXMutableAttributes
-{
+class nsSAXAttributes : public XPCOMGCFinalizedObject, public nsISAXMutableAttributes
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_string.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_string.cpp
@@ -44,2 +44,2 @@
-class xpcstringtest : public nsIXPCTestString
-{
+class xpcstringtest : public XPCOMGCFinalizedObject, public nsIXPCTestString
+{
--- /builds/xpcomgc/src/content/base/src/nsNoDataProtocolContentPolicy.h
+++ /builds/xpcomgc/src/content/base/src/nsNoDataProtocolContentPolicy.h
@@ -55,2 +55,2 @@
-class nsNoDataProtocolContentPolicy : public nsIContentPolicy
-{
+class nsNoDataProtocolContentPolicy : public XPCOMGCFinalizedObject, public nsIContentPolicy
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsScreenGtk.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsScreenGtk.h
@@ -56,2 +56,2 @@
-class nsScreenGtk : public nsIScreen
-{
+class nsScreenGtk : public XPCOMGCFinalizedObject, public nsIScreen
+{
--- /builds/xpcomgc/src/embedding/browser/webBrowser/nsCommandHandler.h
+++ /builds/xpcomgc/src/embedding/browser/webBrowser/nsCommandHandler.h
@@ -46,4 +46,5 @@
-class nsCommandHandler :
-    public nsICommandHandlerInit,
-    public nsICommandHandler
-{
+class nsCommandHandler :
+    public XPCOMGCFinalizedObject,
+    public nsICommandHandlerInit,
+    public nsICommandHandler
+{
--- /builds/xpcomgc/src/rdf/base/src/nsRDFContentSink.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsRDFContentSink.cpp
@@ -149,3 +149,4 @@
-class RDFContentSinkImpl : public nsIRDFContentSink,
-                           public nsIExpatSink
-{
+class RDFContentSinkImpl : public XPCOMGCFinalizedObject,
+                           public nsIRDFContentSink,
+                           public nsIExpatSink
+{
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsIndexedToHTML.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsIndexedToHTML.h
@@ -57,3 +57,4 @@
-class nsIndexedToHTML : public nsIStreamConverter,
-                        public nsIDirIndexListener
-{
+class nsIndexedToHTML : public XPCOMGCFinalizedObject,
+                        public nsIStreamConverter,
+                        public nsIDirIndexListener
+{
--- /builds/xpcomgc/src/toolkit/components/downloads/src/nsDownloadManager.h
+++ /builds/xpcomgc/src/toolkit/components/downloads/src/nsDownloadManager.h
@@ -172,2 +172,2 @@
-class nsDownload : public nsIDownload
-{
+class nsDownload : public XPCOMGCFinalizedObject, public nsIDownload
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsArray.cpp
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsArray.cpp
@@ -685,2 +685,2 @@
-class nsArrayEnumerator : public nsISimpleEnumerator
-{
+class nsArrayEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/netwerk/protocol/ftp/src/nsFtpControlConnection.h
+++ /builds/xpcomgc/src/netwerk/protocol/ftp/src/nsFtpControlConnection.h
@@ -75,2 +75,2 @@
-class nsFtpControlConnection : public nsIInputStreamCallback
-{
+class nsFtpControlConnection : public XPCOMGCFinalizedObject, public nsIInputStreamCallback
+{
--- /builds/xpcomgc/src/xpinstall/stub/nsStubNotifier.h
+++ /builds/xpcomgc/src/xpinstall/stub/nsStubNotifier.h
@@ -47,2 +47,2 @@
-class nsStubListener : public nsIXPIListener
-{
+class nsStubListener : public XPCOMGCFinalizedObject, public nsIXPIListener
+{
--- /builds/xpcomgc/src/content/canvas/src/nsCanvasRenderingContext2D.cpp
+++ /builds/xpcomgc/src/content/canvas/src/nsCanvasRenderingContext2D.cpp
@@ -165,2 +165,2 @@
-class nsCanvasGradient : public nsIDOMCanvasGradient
-{
+class nsCanvasGradient : public XPCOMGCFinalizedObject, public nsIDOMCanvasGradient
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsTransportUtils.cpp
+++ /builds/xpcomgc/src/netwerk/base/src/nsTransportUtils.cpp
@@ -48,2 +48,2 @@
-class nsTransportEventSinkProxy : public nsITransportEventSink
-{
+class nsTransportEventSinkProxy : public XPCOMGCFinalizedObject, public nsITransportEventSink
+{
--- /builds/xpcomgc/src/content/events/src/nsEventListenerManager.h
+++ /builds/xpcomgc/src/content/events/src/nsEventListenerManager.h
@@ -69,4 +69,5 @@
-class nsEventListenerManager : public nsIEventListenerManager,
-                               public nsIDOMEventTarget,
-                               public nsIDOM3EventTarget
-{
+class nsEventListenerManager : public XPCOMGCFinalizedObject,
+                               public nsIEventListenerManager,
+                               public nsIDOMEventTarget,
+                               public nsIDOM3EventTarget
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_calljs.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_calljs.cpp
@@ -46,1 +46,1 @@
-class xpcTestCallJS : public nsIXPCTestCallJS, public nsIXPCScriptable {
+class xpcTestCallJS : public XPCOMGCFinalizedObject, public nsIXPCTestCallJS, public nsIXPCScriptable {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -790,3 +790,4 @@
-class nsSVGPathSegCurvetoCubicRel : public nsIDOMSVGPathSegCurvetoCubicRel,
-                                    public nsSVGPathSeg
-{
+class nsSVGPathSegCurvetoCubicRel : public XPCOMGCFinalizedObject,
+                                    public nsIDOMSVGPathSegCurvetoCubicRel,
+                                    public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/intl/uconv/ucvja/nsJapaneseToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvja/nsJapaneseToUnicode.h
@@ -85,2 +85,2 @@
-class nsEUCJPToUnicodeV2 : public nsJapaneseToUnicode
-{
+class nsEUCJPToUnicodeV2 : public XPCOMGCFinalizedObject, public nsJapaneseToUnicode
+{
--- /builds/xpcomgc/src/modules/libjar/nsJAR.h
+++ /builds/xpcomgc/src/modules/libjar/nsJAR.h
@@ -173,2 +173,2 @@
-class nsJARItem : public nsIZipEntry
-{
+class nsJARItem : public XPCOMGCFinalizedObject, public nsIZipEntry
+{
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGPathGeometryFrame.cpp
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGPathGeometryFrame.cpp
@@ -52,1 +52,1 @@
-class nsSVGMarkerProperty : public nsStubMutationObserver {
+class nsSVGMarkerProperty : public XPCOMGCFinalizedObject, public nsStubMutationObserver {
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToLangBoxArabic16.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToLangBoxArabic16.h
@@ -43,2 +43,2 @@
-class nsUnicodeToLangBoxArabic16 : public nsBasicEncoder
-{
+class nsUnicodeToLangBoxArabic16 : public XPCOMGCFinalizedObject, public nsBasicEncoder
+{
--- /builds/xpcomgc/src/intl/locale/src/nsCollation.h
+++ /builds/xpcomgc/src/intl/locale/src/nsCollation.h
@@ -50,1 +50,1 @@
-class nsCollationFactory: public nsICollationFactory {
+class nsCollationFactory: public XPCOMGCFinalizedObject, public nsICollationFactory {
--- /builds/xpcomgc/src/modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h
+++ /builds/xpcomgc/src/modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h
@@ -58,2 +58,2 @@
-class nsJPEGEncoder : public imgIEncoder
-{
+class nsJPEGEncoder : public XPCOMGCFinalizedObject, public imgIEncoder
+{
--- /builds/xpcomgc/src/js/src/xpconnect/loader/mozJSComponentLoader.h
+++ /builds/xpcomgc/src/js/src/xpconnect/loader/mozJSComponentLoader.h
@@ -90,4 +90,5 @@
-class mozJSComponentLoader : public nsIModuleLoader,
-                             public xpcIJSModuleLoader,
-                             public nsIObserver
-{
+class mozJSComponentLoader : public XPCOMGCFinalizedObject,
+                             public nsIModuleLoader,
+                             public xpcIJSModuleLoader,
+                             public nsIObserver
+{
--- /builds/xpcomgc/src/dom/src/offline/nsDOMOfflineLoadStatusList.h
+++ /builds/xpcomgc/src/dom/src/offline/nsDOMOfflineLoadStatusList.h
@@ -58,5 +58,6 @@
-class nsDOMOfflineLoadStatusList : public nsIDOMLoadStatusList,
-                                   public nsIDOMEventTarget,
-                                   public nsIObserver,
-                                   public nsSupportsWeakReference
-{
+class nsDOMOfflineLoadStatusList : public XPCOMGCFinalizedObject,
+                                   public nsIDOMLoadStatusList,
+                                   public nsIDOMEventTarget,
+                                   public nsIObserver,
+                                   public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -3202,1 +3202,1 @@
-class nsScriptError : public nsIScriptError {
+class nsScriptError : public XPCOMGCFinalizedObject, public nsIScriptError {
--- /builds/xpcomgc/src/extensions/spellcheck/hunspell/src/mozHunspellDirProvider.h
+++ /builds/xpcomgc/src/extensions/spellcheck/hunspell/src/mozHunspellDirProvider.h
@@ -42,3 +42,3 @@
-class mozHunspellDirProvider :
-  public nsIDirectoryServiceProvider2
-{
+class mozHunspellDirProvider :
+  public XPCOMGCFinalizedObject, public nsIDirectoryServiceProvider2
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -3099,3 +3099,4 @@
-class nsXPCComponents : public nsIXPCComponents,
-                        public nsIXPCScriptable,
-                        public nsIClassInfo
+class nsXPCComponents : public XPCOMGCFinalizedObject,
+                        public nsIXPCComponents,
+                        public nsIXPCScriptable,
+                        public nsIClassInfo
--- /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheEntry.h
+++ /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheEntry.h
@@ -117,1 +117,1 @@
-class nsDiskCacheEntryInfo : public nsICacheEntryInfo {
+class nsDiskCacheEntryInfo : public XPCOMGCFinalizedObject, public nsICacheEntryInfo {
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -360,2 +360,2 @@
-class nsCJKPSMDetector : public nsXPCOMDetector
-{
+class nsCJKPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMDetector
+{
--- /builds/xpcomgc/src/content/base/src/nsDocument.h
+++ /builds/xpcomgc/src/content/base/src/nsDocument.h
@@ -231,3 +231,4 @@
-class nsDOMStyleSheetList : public nsIDOMStyleSheetList,
-                            public nsStubDocumentObserver
-{
+class nsDOMStyleSheetList : public XPCOMGCFinalizedObject,
+                            public nsIDOMStyleSheetList,
+                            public nsStubDocumentObserver
+{
--- /builds/xpcomgc/src/docshell/base/nsGlobalHistoryAdapter.h
+++ /builds/xpcomgc/src/docshell/base/nsGlobalHistoryAdapter.h
@@ -52,2 +52,2 @@
-class nsGlobalHistoryAdapter : public nsIGlobalHistory2
-{
+class nsGlobalHistoryAdapter : public XPCOMGCFinalizedObject, public nsIGlobalHistory2
+{
--- /builds/xpcomgc/src/intl/strres/src/nsStringBundleTextOverride.h
+++ /builds/xpcomgc/src/intl/strres/src/nsStringBundleTextOverride.h
@@ -57,2 +57,2 @@
-class nsStringBundleTextOverride : public nsIStringBundleOverride
-{
+class nsStringBundleTextOverride : public XPCOMGCFinalizedObject, public nsIStringBundleOverride
+{
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsUnknownDecoder.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsUnknownDecoder.h
@@ -57,2 +57,2 @@
-class nsUnknownDecoder : public nsIStreamConverter, public nsIContentSniffer
-{
+class nsUnknownDecoder : public XPCOMGCFinalizedObject, public nsIStreamConverter, public nsIContentSniffer
+{
--- /builds/xpcomgc/src/uriloader/prefetch/nsPrefetchService.h
+++ /builds/xpcomgc/src/uriloader/prefetch/nsPrefetchService.h
@@ -64,5 +64,6 @@
-class nsPrefetchService : public nsIPrefetchService
-                        , public nsIWebProgressListener
-                        , public nsIObserver
-                        , public nsSupportsWeakReference
-{
+class nsPrefetchService : public XPCOMGCFinalizedObject
+                        , public nsIPrefetchService
+                        , public nsIWebProgressListener
+                        , public nsIObserver
+                        , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/base/src/nsContentList.h
+++ /builds/xpcomgc/src/content/base/src/nsContentList.h
@@ -75,2 +75,2 @@
-class nsBaseContentList : public nsIDOMNodeList
-{
+class nsBaseContentList : public XPCOMGCFinalizedObject, public nsIDOMNodeList
+{
--- /builds/xpcomgc/src/toolkit/components/downloads/src/nsDownloadProxy.h
+++ /builds/xpcomgc/src/toolkit/components/downloads/src/nsDownloadProxy.h
@@ -52,2 +52,2 @@
-class nsDownloadProxy : public nsITransfer
-{
+class nsDownloadProxy : public XPCOMGCFinalizedObject, public nsITransfer
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLSelectElement.h
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLSelectElement.h
@@ -161,1 +161,1 @@
-class nsSelectState : public nsISupports {
+class nsSelectState : public XPCOMGCFinalizedObject, public nsISupports {
--- /builds/xpcomgc/src/xpcom/io/nsAppFileLocationProvider.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsAppFileLocationProvider.cpp
@@ -522,2 +522,2 @@
-class nsPathsDirectoryEnumerator : public nsAppDirectoryEnumerator
-{
+class nsPathsDirectoryEnumerator : public XPCOMGCFinalizedObject, public nsAppDirectoryEnumerator
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsWindow.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsWindow.h
@@ -69,1 +69,1 @@
-class nsWindow : public nsCommonWidget, public nsSupportsWeakReference
+class nsWindow : public XPCOMGCFinalizedObject, public nsCommonWidget, public nsSupportsWeakReference
--- /builds/xpcomgc/src/dom/src/jsurl/nsJSProtocolHandler.h
+++ /builds/xpcomgc/src/dom/src/jsurl/nsJSProtocolHandler.h
@@ -55,2 +55,2 @@
-class nsJSProtocolHandler : public nsIProtocolHandler
-{
+class nsJSProtocolHandler : public XPCOMGCFinalizedObject, public nsIProtocolHandler
+{
--- /builds/xpcomgc/src/xpcom/io/nsStreamUtils.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsStreamUtils.cpp
@@ -430,2 +430,2 @@
-class nsStreamCopierIB : public nsAStreamCopier
-{
+class nsStreamCopierIB : public XPCOMGCFinalizedObject, public nsAStreamCopier
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -2033,5 +2033,6 @@
-class nsXPCConstructor :
-  public nsIXPCConstructor,
-  public nsIXPCScriptable,
-  public nsIClassInfo
-{
+class nsXPCConstructor :
+  public XPCOMGCFinalizedObject,
+  public nsIXPCConstructor,
+  public nsIXPCScriptable,
+  public nsIClassInfo
+{
--- /builds/xpcomgc/src/dom/src/base/nsGlobalWindow.h
+++ /builds/xpcomgc/src/dom/src/base/nsGlobalWindow.h
@@ -768,4 +768,5 @@
-class nsNavigator : public nsIDOMNavigator,
-                    public nsIDOMJSNavigator,
-                    public nsIDOMClientInformation
-{
+class nsNavigator : public XPCOMGCFinalizedObject,
+                    public nsIDOMNavigator,
+                    public nsIDOMJSNavigator,
+                    public nsIDOMClientInformation
+{
--- /builds/xpcomgc/src/content/base/src/nsScriptEventManager.h
+++ /builds/xpcomgc/src/content/base/src/nsScriptEventManager.h
@@ -52,2 +52,2 @@
-class nsScriptEventManager : public nsIScriptEventManager
-{
+class nsScriptEventManager : public XPCOMGCFinalizedObject, public nsIScriptEventManager
+{
--- /builds/xpcomgc/src/modules/libjar/nsJARChannel.h
+++ /builds/xpcomgc/src/modules/libjar/nsJARChannel.h
@@ -59,4 +59,5 @@
-class nsJARChannel : public nsIJARChannel
-                   , public nsIDownloadObserver
-                   , public nsIStreamListener
-{
+class nsJARChannel : public XPCOMGCFinalizedObject
+                   , public nsIJARChannel
+                   , public nsIDownloadObserver
+                   , public nsIStreamListener
+{
--- /builds/xpcomgc/src/content/html/document/src/nsImageDocument.cpp
+++ /builds/xpcomgc/src/content/html/document/src/nsImageDocument.cpp
@@ -76,2 +76,2 @@
-class ImageListener: public nsMediaDocumentStreamListener
-{
+class ImageListener: public XPCOMGCFinalizedObject, public nsMediaDocumentStreamListener
+{
--- /builds/xpcomgc/src/content/xul/document/src/nsXULCommandDispatcher.h
+++ /builds/xpcomgc/src/content/xul/document/src/nsXULCommandDispatcher.h
@@ -59,3 +59,4 @@
-class nsXULCommandDispatcher : public nsIDOMXULCommandDispatcher,
-                               public nsSupportsWeakReference
-{
+class nsXULCommandDispatcher : public XPCOMGCFinalizedObject,
+                               public nsIDOMXULCommandDispatcher,
+                               public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGUseElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGUseElement.h
@@ -59,5 +59,6 @@
-class nsSVGUseElement : public nsSVGUseElementBase,
-                        public nsIDOMSVGURIReference,
-                        public nsIDOMSVGUseElement,
-                        public nsStubMutationObserver
-{
+class nsSVGUseElement : public XPCOMGCFinalizedObject,
+                        public nsSVGUseElementBase,
+                        public nsIDOMSVGURIReference,
+                        public nsIDOMSVGUseElement,
+                        public nsStubMutationObserver
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2396,2 +2396,2 @@
-class xpcProperty : public nsIProperty
-{
+class xpcProperty : public XPCOMGCFinalizedObject, public nsIProperty
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilterElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilterElement.h
@@ -49,5 +49,6 @@
-class nsSVGFilterElement : public nsSVGFilterElementBase,
-                           public nsIDOMSVGFilterElement,
-                           public nsIDOMSVGURIReference,
-                           public nsIDOMSVGUnitTypes
-{
+class nsSVGFilterElement : public XPCOMGCFinalizedObject,
+                           public nsSVGFilterElementBase,
+                           public nsIDOMSVGFilterElement,
+                           public nsIDOMSVGURIReference,
+                           public nsIDOMSVGUnitTypes
+{
--- /builds/xpcomgc/src/content/base/src/nsGenericElement.h
+++ /builds/xpcomgc/src/content/base/src/nsGenericElement.h
@@ -1045,2 +1045,2 @@
-class nsNSElementTearoff : public nsIDOMNSElement
-{
+class nsNSElementTearoff : public XPCOMGCFinalizedObject, public nsIDOMNSElement
+{
--- /builds/xpcomgc/src/content/base/src/nsRange.h
+++ /builds/xpcomgc/src/content/base/src/nsRange.h
@@ -59,2 +59,2 @@
-class nsRangeUtils : public nsIRangeUtils
-{
+class nsRangeUtils : public XPCOMGCFinalizedObject, public nsIRangeUtils
+{
--- /builds/xpcomgc/src/content/base/src/nsDOMAttribute.h
+++ /builds/xpcomgc/src/content/base/src/nsDOMAttribute.h
@@ -61,4 +61,5 @@
-class nsDOMAttribute : public nsIDOMAttr,
-                       public nsIDOM3Attr,
-                       public nsIAttribute
-{
+class nsDOMAttribute : public XPCOMGCFinalizedObject,
+                       public nsIDOMAttr,
+                       public nsIDOM3Attr,
+                       public nsIAttribute
+{
--- /builds/xpcomgc/src/toolkit/xre/nsNativeAppSupportUnix.cpp
+++ /builds/xpcomgc/src/toolkit/xre/nsNativeAppSupportUnix.cpp
@@ -126,2 +126,2 @@
-class nsNativeAppSupportUnix : public nsNativeAppSupportBase
-{
+class nsNativeAppSupportUnix : public XPCOMGCFinalizedObject, public nsNativeAppSupportBase
+{
--- /builds/xpcomgc/src/gfx/src/nsScriptableRegion.h
+++ /builds/xpcomgc/src/gfx/src/nsScriptableRegion.h
@@ -47,1 +47,1 @@
-class NS_GFX nsScriptableRegion : public nsIScriptableRegion {
+class NS_GFX nsScriptableRegion : public XPCOMGCFinalizedObject, public nsIScriptableRegion {
--- /builds/xpcomgc/src/editor/libeditor/html/nsHTMLURIRefObject.h
+++ /builds/xpcomgc/src/editor/libeditor/html/nsHTMLURIRefObject.h
@@ -54,2 +54,2 @@
-class nsHTMLURIRefObject : public nsIURIRefObject
-{
+class nsHTMLURIRefObject : public XPCOMGCFinalizedObject, public nsIURIRefObject
+{
--- /builds/xpcomgc/src/parser/htmlparser/robot/nsDebugRobot.cpp
+++ /builds/xpcomgc/src/parser/htmlparser/robot/nsDebugRobot.cpp
@@ -141,3 +141,4 @@
-class CStreamListener:  public nsIWebProgressListener,
-                        public nsSupportsWeakReference
-{
+class CStreamListener:  public XPCOMGCFinalizedObject,
+                        public nsIWebProgressListener,
+                        public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/rdf/base/src/rdfTriplesSerializer.cpp
+++ /builds/xpcomgc/src/rdf/base/src/rdfTriplesSerializer.cpp
@@ -55,2 +55,2 @@
-class TriplesVisitor : public rdfITripleVisitor
-{
+class TriplesVisitor : public XPCOMGCFinalizedObject, public rdfITripleVisitor
+{
--- /builds/xpcomgc/src/xpcom/threads/TimerThread.h
+++ /builds/xpcomgc/src/xpcom/threads/TimerThread.h
@@ -55,3 +55,4 @@
-class TimerThread : public nsIRunnable,
-                    public nsIObserver
-{
+class TimerThread : public XPCOMGCFinalizedObject,
+                    public nsIRunnable,
+                    public nsIObserver
+{
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToUTF32.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToUTF32.h
@@ -93,2 +93,2 @@
-class nsUnicodeToUTF32BE : public nsUnicodeToUTF32
-{
+class nsUnicodeToUTF32BE : public XPCOMGCFinalizedObject, public nsUnicodeToUTF32
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2837,2 +2837,2 @@
-class nsXPCJSContextStackIterator : public nsIJSContextStackIterator
-{
+class nsXPCJSContextStackIterator : public XPCOMGCFinalizedObject, public nsIJSContextStackIterator
+{
--- /builds/xpcomgc/src/modules/libjar/nsJAR.h
+++ /builds/xpcomgc/src/modules/libjar/nsJAR.h
@@ -222,3 +222,3 @@
-class nsZipReaderCache : public nsIZipReaderCache, public nsIObserver,
-                         public nsSupportsWeakReference
-{
+class nsZipReaderCache : public XPCOMGCFinalizedObject, public nsIZipReaderCache, public nsIObserver,
+                         public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/netwerk/streamconv/test/Converters.h
+++ /builds/xpcomgc/src/netwerk/streamconv/test/Converters.h
@@ -46,2 +46,2 @@
-class TestConverterFactory : public nsIFactory
-{
+class TestConverterFactory : public XPCOMGCFinalizedObject, public nsIFactory
+{
--- /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateQueryProcessorRDF.h
+++ /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateQueryProcessorRDF.h
@@ -82,3 +82,4 @@
-class nsXULTemplateQueryProcessorRDF : public nsIXULTemplateQueryProcessor,
-                                       public nsIRDFObserver
-{
+class nsXULTemplateQueryProcessorRDF : public XPCOMGCFinalizedObject,
+                                       public nsIXULTemplateQueryProcessor,
+                                       public nsIRDFObserver
+{
--- /builds/xpcomgc/src/editor/libeditor/base/CreateElementTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/CreateElementTxn.h
@@ -53,2 +53,2 @@
-class CreateElementTxn : public EditTxn
-{
+class CreateElementTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsFileStreams.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsFileStreams.h
@@ -76,4 +76,5 @@
-class nsFileInputStream : public nsFileStream,
-                          public nsIFileInputStream,
-                          public nsILineInputStream
-{
+class nsFileInputStream : public XPCOMGCFinalizedObject,
+                          public nsFileStream,
+                          public nsIFileInputStream,
+                          public nsILineInputStream
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheDeviceSQL.h
+++ /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheDeviceSQL.h
@@ -53,1 +53,1 @@
-class nsOfflineCacheEvictionFunction : public mozIStorageFunction {
+class nsOfflineCacheEvictionFunction : public XPCOMGCFinalizedObject, public mozIStorageFunction {
--- /builds/xpcomgc/src/editor/libeditor/base/InsertTextTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/InsertTextTxn.h
@@ -53,2 +53,2 @@
-class InsertTextTxn : public EditTxn
-{
+class InsertTextTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -2674,3 +2674,4 @@
-class nsXPCComponents_Utils :
-            public nsIXPCComponents_Utils,
-            public nsIXPCScriptable
+class nsXPCComponents_Utils :
+            public XPCOMGCFinalizedObject,
+            public nsIXPCComponents_Utils,
+            public nsIXPCScriptable
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGUseFrame.cpp
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGUseFrame.cpp
@@ -46,3 +46,4 @@
-class nsSVGUseFrame : public nsSVGUseFrameBase,
-                      public nsIAnonymousContentCreator
-{
+class nsSVGUseFrame : public XPCOMGCFinalizedObject,
+                      public nsSVGUseFrameBase,
+                      public nsIAnonymousContentCreator
+{
--- /builds/xpcomgc/src/dom/src/base/nsJSEnvironment.cpp
+++ /builds/xpcomgc/src/dom/src/base/nsJSEnvironment.cpp
@@ -3604,1 +3604,1 @@
-class nsJSArgArray : public nsIJSArgArray, public nsIArray {
+class nsJSArgArray : public XPCOMGCFinalizedObject, public nsIJSArgArray, public nsIArray {
--- /builds/xpcomgc/src/modules/libpref/src/nsPrefBranch.h
+++ /builds/xpcomgc/src/modules/libpref/src/nsPrefBranch.h
@@ -113,2 +113,2 @@
-class nsRelativeFilePref : public nsIRelativeFilePref
-{
+class nsRelativeFilePref : public XPCOMGCFinalizedObject, public nsIRelativeFilePref
+{
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToUTF32.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToUTF32.h
@@ -117,2 +117,2 @@
-class nsUnicodeToUTF32LE : public nsUnicodeToUTF32
-{
+class nsUnicodeToUTF32LE : public XPCOMGCFinalizedObject, public nsUnicodeToUTF32
+{
--- /builds/xpcomgc/src/xpcom/threads/nsTimerImpl.h
+++ /builds/xpcomgc/src/xpcom/threads/nsTimerImpl.h
@@ -86,2 +86,2 @@
-class nsTimerImpl : public nsITimer
-{
+class nsTimerImpl : public XPCOMGCFinalizedObject, public nsITimer
+{
--- /builds/xpcomgc/src/editor/libeditor/html/nsHTMLObjectResizer.h
+++ /builds/xpcomgc/src/editor/libeditor/html/nsHTMLObjectResizer.h
@@ -92,2 +92,2 @@
-class ResizerMouseMotionListener: public nsIDOMMouseMotionListener
-{
+class ResizerMouseMotionListener: public XPCOMGCFinalizedObject, public nsIDOMMouseMotionListener
+{
--- /builds/xpcomgc/src/netwerk/protocol/data/src/nsDataHandler.h
+++ /builds/xpcomgc/src/netwerk/protocol/data/src/nsDataHandler.h
@@ -42,2 +42,2 @@
-class nsDataHandler : public nsIProtocolHandler
-{
+class nsDataHandler : public XPCOMGCFinalizedObject, public nsIProtocolHandler
+{
--- /builds/xpcomgc/src/content/html/content/src/nsGenericHTMLElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsGenericHTMLElement.cpp
@@ -187,3 +187,4 @@
-class nsGenericHTMLElementTearoff : public nsIDOMNSHTMLElement,
-                                    public nsIDOMElementCSSInlineStyle
-{
+class nsGenericHTMLElementTearoff : public XPCOMGCFinalizedObject,
+                                    public nsIDOMNSHTMLElement,
+                                    public nsIDOMElementCSSInlineStyle
+{
--- /builds/xpcomgc/src/xpinstall/src/nsLoggingProgressNotifier.h
+++ /builds/xpcomgc/src/xpinstall/src/nsLoggingProgressNotifier.h
@@ -50,2 +50,2 @@
-class nsLoggingProgressListener : public nsIXPIListener
-{
+class nsLoggingProgressListener : public XPCOMGCFinalizedObject, public nsIXPIListener
+{
--- /builds/xpcomgc/src/editor/libeditor/base/nsStyleSheetTxns.h
+++ /builds/xpcomgc/src/editor/libeditor/base/nsStyleSheetTxns.h
@@ -54,2 +54,2 @@
-class AddStyleSheetTxn : public EditTxn
-{
+class AddStyleSheetTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsSDR.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsSDR.h
@@ -66,4 +66,5 @@
-class nsSecretDecoderRing
-: public nsISecretDecoderRing,
-  public nsISecretDecoderRingConfig
-{
+class nsSecretDecoderRing
+: public XPCOMGCFinalizedObject,
+  public nsISecretDecoderRing,
+  public nsISecretDecoderRingConfig
+{
--- /builds/xpcomgc/src/rdf/tests/rdfcat/rdfcat.cpp
+++ /builds/xpcomgc/src/rdf/tests/rdfcat/rdfcat.cpp
@@ -90,2 +90,2 @@
-class ConsoleOutputStreamImpl : public nsIOutputStream
-{
+class ConsoleOutputStreamImpl : public XPCOMGCFinalizedObject, public nsIOutputStream
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGSVGElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGSVGElement.h
@@ -57,6 +57,7 @@
-class nsSVGSVGElement : public nsSVGSVGElementBase,
-                        public nsIDOMSVGSVGElement,
-                        public nsIDOMSVGFitToViewBox,
-                        public nsIDOMSVGLocatable,
-                        public nsIDOMSVGZoomAndPan
-{
+class nsSVGSVGElement : public XPCOMGCFinalizedObject,
+                        public nsSVGSVGElementBase,
+                        public nsIDOMSVGSVGElement,
+                        public nsIDOMSVGFitToViewBox,
+                        public nsIDOMSVGLocatable,
+                        public nsIDOMSVGZoomAndPan
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2996,3 +2996,4 @@
-class nsXPCThreadJSContextStackImpl : public nsIThreadJSContextStack,
-                                      public nsSupportsWeakReference
-{
+class nsXPCThreadJSContextStackImpl : public XPCOMGCFinalizedObject,
+                                      public nsIThreadJSContextStack,
+                                      public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/layout/base/nsPresShell.cpp
+++ /builds/xpcomgc/src/layout/base/nsPresShell.cpp
@@ -763,5 +763,5 @@
-class PresShell : public nsIPresShell, public nsIViewObserver,
-                  public nsStubDocumentObserver,
-                  public nsISelectionController, public nsIObserver,
-                  public nsSupportsWeakReference
-{
+class PresShell : public XPCOMGCFinalizedObject, public nsIPresShell, public nsIViewObserver,
+                  public nsStubDocumentObserver,
+                  public nsISelectionController, public nsIObserver,
+                  public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLTableElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLTableElement.cpp
@@ -107,2 +107,2 @@
-class TableRowsCollection : public nsIDOMHTMLCollection 
-{
+class TableRowsCollection : public XPCOMGCFinalizedObject, public nsIDOMHTMLCollection 
+{
--- /builds/xpcomgc/src/intl/locale/src/unix/nsDateTimeFormatUnix.h
+++ /builds/xpcomgc/src/intl/locale/src/unix/nsDateTimeFormatUnix.h
@@ -48,1 +48,1 @@
-class nsDateTimeFormatUnix : public nsIDateTimeFormat {
+class nsDateTimeFormatUnix : public XPCOMGCFinalizedObject, public nsIDateTimeFormat {
--- /builds/xpcomgc/src/layout/generic/nsSelection.cpp
+++ /builds/xpcomgc/src/layout/generic/nsSelection.cpp
@@ -190,4 +190,5 @@
-class nsTypedSelection : public nsISelection2,
-                         public nsISelectionPrivate,
-                         public nsSupportsWeakReference
-{
+class nsTypedSelection : public XPCOMGCFinalizedObject,
+                         public nsISelection2,
+                         public nsISelectionPrivate,
+                         public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/embedding/components/commandhandler/src/nsCommandGroup.cpp
+++ /builds/xpcomgc/src/embedding/components/commandhandler/src/nsCommandGroup.cpp
@@ -167,2 +167,2 @@
-class nsNamedGroupEnumerator : public nsISimpleEnumerator
-{
+class nsNamedGroupEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLOListElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLOListElement.cpp
@@ -47,5 +47,6 @@
-class nsHTMLSharedListElement : public nsGenericHTMLElement,
-                                public nsIDOMHTMLOListElement,
-                                public nsIDOMHTMLDListElement,
-                                public nsIDOMHTMLUListElement
-{
+class nsHTMLSharedListElement : public XPCOMGCFinalizedObject,
+                                public nsGenericHTMLElement,
+                                public nsIDOMHTMLOListElement,
+                                public nsIDOMHTMLDListElement,
+                                public nsIDOMHTMLUListElement
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertValidity.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertValidity.h
@@ -45,2 +45,2 @@
-class nsX509CertValidity : public nsIX509CertValidity
-{
+class nsX509CertValidity : public XPCOMGCFinalizedObject, public nsIX509CertValidity
+{
--- /builds/xpcomgc/src/dom/src/base/nsGlobalWindowCommands.cpp
+++ /builds/xpcomgc/src/dom/src/base/nsGlobalWindowCommands.cpp
@@ -810,2 +810,2 @@
-class nsClipboardDragDropHookCommand : public nsIControllerCommand
-{
+class nsClipboardDragDropHookCommand : public XPCOMGCFinalizedObject, public nsIControllerCommand
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLTableColElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLTableColElement.cpp
@@ -49,3 +49,4 @@
-class nsHTMLTableColElement : public nsGenericHTMLElement,
-                              public nsIDOMHTMLTableColElement
-{
+class nsHTMLTableColElement : public XPCOMGCFinalizedObject,
+                              public nsGenericHTMLElement,
+                              public nsIDOMHTMLTableColElement
+{
--- /builds/xpcomgc/src/embedding/components/commandhandler/src/nsControllerCommandTable.h
+++ /builds/xpcomgc/src/embedding/components/commandhandler/src/nsControllerCommandTable.h
@@ -48,3 +48,4 @@
-class  nsControllerCommandTable : public nsIControllerCommandTable,
-                                  public nsSupportsWeakReference
-{
+class  nsControllerCommandTable : public XPCOMGCFinalizedObject,
+                                  public nsIControllerCommandTable,
+                                  public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/parser/htmlparser/src/nsViewSourceHTML.h
+++ /builds/xpcomgc/src/parser/htmlparser/src/nsViewSourceHTML.h
@@ -59,2 +59,2 @@
-class CViewSourceHTML: public nsIDTD
-{
+class CViewSourceHTML: public XPCOMGCFinalizedObject, public nsIDTD
+{
--- /builds/xpcomgc/src/modules/libjar/nsJARURI.h
+++ /builds/xpcomgc/src/modules/libjar/nsJARURI.h
@@ -67,5 +67,6 @@
-class nsJARURI : public nsIJARURI,
-                 public nsISerializable,
-                 public nsIClassInfo,
-                 public nsINestedURI
-{
+class nsJARURI : public XPCOMGCFinalizedObject,
+                 public nsIJARURI,
+                 public nsISerializable,
+                 public nsIClassInfo,
+                 public nsINestedURI
+{
--- /builds/xpcomgc/src/layout/generic/nsSelection.cpp
+++ /builds/xpcomgc/src/layout/generic/nsSelection.cpp
@@ -427,2 +427,2 @@
-class nsAutoScrollTimer : public nsITimerCallback
-{
+class nsAutoScrollTimer : public XPCOMGCFinalizedObject, public nsITimerCallback
+{
--- /builds/xpcomgc/src/docshell/base/nsDocShellTransferableHooks.h
+++ /builds/xpcomgc/src/docshell/base/nsDocShellTransferableHooks.h
@@ -49,2 +49,2 @@
-class nsTransferableHookData : public nsIClipboardDragDropHookList
-{
+class nsTransferableHookData : public XPCOMGCFinalizedObject, public nsIClipboardDragDropHookList
+{
--- /builds/xpcomgc/src/xpcom/threads/nsProcess.h
+++ /builds/xpcomgc/src/xpcom/threads/nsProcess.h
@@ -51,2 +51,2 @@
-class nsProcess : public nsIProcess
-{
+class nsProcess : public XPCOMGCFinalizedObject, public nsIProcess
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -2175,3 +2175,4 @@
-class nsSVGFEFuncGElement : public nsSVGComponentTransferFunctionElement,
-                            public nsIDOMSVGFEFuncGElement
-{
+class nsSVGFEFuncGElement : public XPCOMGCFinalizedObject,
+                            public nsSVGComponentTransferFunctionElement,
+                            public nsIDOMSVGFEFuncGElement
+{
--- /builds/xpcomgc/src/widget/src/xpwidgets/nsClipboardHelper.h
+++ /builds/xpcomgc/src/widget/src/xpwidgets/nsClipboardHelper.h
@@ -52,2 +52,2 @@
-class nsClipboardHelper : public nsIClipboardHelper
-{
+class nsClipboardHelper : public XPCOMGCFinalizedObject, public nsIClipboardHelper
+{
--- /builds/xpcomgc/src/content/xslt/src/xpath/nsXPathExpression.h
+++ /builds/xpcomgc/src/content/xslt/src/xpath/nsXPathExpression.h
@@ -53,3 +53,4 @@
-class nsXPathExpression : public nsIDOMXPathExpression,
-                          public nsIDOMNSXPathExpression
-{
+class nsXPathExpression : public XPCOMGCFinalizedObject,
+                          public nsIDOMXPathExpression,
+                          public nsIDOMNSXPathExpression
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGLength.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGLength.cpp
@@ -57,4 +57,5 @@
-class nsSVGLength : public nsISVGLength,
-                    public nsSVGValue,
-                    public nsISVGValueObserver
-{
+class nsSVGLength : public XPCOMGCFinalizedObject,
+                    public nsISVGLength,
+                    public nsSVGValue,
+                    public nsISVGValueObserver
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/TestXPC.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/TestXPC.cpp
@@ -202,2 +202,2 @@
-class MySecMan : public nsIXPCSecurityManager
-{
+class MySecMan : public XPCOMGCFinalizedObject, public nsIXPCSecurityManager
+{
--- /builds/xpcomgc/src/embedding/browser/webBrowser/nsDocShellTreeOwner.h
+++ /builds/xpcomgc/src/embedding/browser/webBrowser/nsDocShellTreeOwner.h
@@ -272,2 +272,2 @@
-class ChromeContextMenuListener : public nsIDOMContextMenuListener
-{
+class ChromeContextMenuListener : public XPCOMGCFinalizedObject, public nsIDOMContextMenuListener
+{
--- /builds/xpcomgc/src/netwerk/test/TestStreamTransport.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestStreamTransport.cpp
@@ -77,3 +77,4 @@
-class MyCopier : public nsIInputStreamCallback
-               , public nsIOutputStreamCallback
-{
+class MyCopier : public XPCOMGCFinalizedObject
+               , public nsIInputStreamCallback
+               , public nsIOutputStreamCallback
+{
--- /builds/xpcomgc/src/intl/strres/src/nsStringBundleService.h
+++ /builds/xpcomgc/src/intl/strres/src/nsStringBundleService.h
@@ -54,4 +54,5 @@
-class nsStringBundleService : public nsIStringBundleService,
-                              public nsIObserver,
-                              public nsSupportsWeakReference
-{
+class nsStringBundleService : public XPCOMGCFinalizedObject,
+                              public nsIStringBundleService,
+                              public nsIObserver,
+                              public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
+++ /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
@@ -161,2 +161,2 @@
-class nsTextEditorMouseListener : public nsIDOMMouseListener 
-{
+class nsTextEditorMouseListener : public XPCOMGCFinalizedObject, public nsIDOMMouseListener 
+{
--- /builds/xpcomgc/src/modules/libpr0n/decoders/bmp/nsICODecoder.h
+++ /builds/xpcomgc/src/modules/libpr0n/decoders/bmp/nsICODecoder.h
@@ -78,2 +78,2 @@
-class nsICODecoder : public imgIDecoder
-{
+class nsICODecoder : public XPCOMGCFinalizedObject, public imgIDecoder
+{
--- /builds/xpcomgc/src/netwerk/test/TestProtocols.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestProtocols.cpp
@@ -217,2 +217,2 @@
-class TestChannelEventSink : public nsIChannelEventSink
-{
+class TestChannelEventSink : public XPCOMGCFinalizedObject, public nsIChannelEventSink
+{
--- /builds/xpcomgc/src/intl/uconv/util/nsUCSupport.h
+++ /builds/xpcomgc/src/intl/uconv/util/nsUCSupport.h
@@ -407,2 +407,2 @@
-class nsTableEncoderSupport : public nsEncoderSupport
-{
+class nsTableEncoderSupport : public XPCOMGCFinalizedObject, public nsEncoderSupport
+{
--- /builds/xpcomgc/src/editor/libeditor/base/SetDocTitleTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/SetDocTitleTxn.h
@@ -56,2 +56,2 @@
-class SetDocTitleTxn : public EditTxn
-{
+class SetDocTitleTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/content/html/content/src/nsFormSubmission.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsFormSubmission.cpp
@@ -934,2 +934,2 @@
-class nsFSTextPlain : public nsFormSubmission
-{
+class nsFSTextPlain : public XPCOMGCFinalizedObject, public nsFormSubmission
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -1721,4 +1721,5 @@
-class nsSVGFEComponentTransferElement : public nsSVGFEComponentTransferElementBase,
-                                        public nsIDOMSVGFEComponentTransferElement,
-                                        public nsISVGFilter
-{
+class nsSVGFEComponentTransferElement : public XPCOMGCFinalizedObject,
+                                        public nsSVGFEComponentTransferElementBase,
+                                        public nsIDOMSVGFEComponentTransferElement,
+                                        public nsISVGFilter
+{
--- /builds/xpcomgc/src/intl/uconv/ucvcn/nsUnicodeToGBK.h
+++ /builds/xpcomgc/src/intl/uconv/ucvcn/nsUnicodeToGBK.h
@@ -55,2 +55,2 @@
-class nsUnicodeToGBK: public nsEncoderSupport
-{
+class nsUnicodeToGBK: public XPCOMGCFinalizedObject, public nsEncoderSupport
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsSimpleStreamListener.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsSimpleStreamListener.h
@@ -42,2 +42,2 @@
-class nsSimpleStreamListener : public nsISimpleStreamListener
-{
+class nsSimpleStreamListener : public XPCOMGCFinalizedObject, public nsISimpleStreamListener
+{
--- /builds/xpcomgc/src/caps/src/nsSecurityManagerFactory.cpp
+++ /builds/xpcomgc/src/caps/src/nsSecurityManagerFactory.cpp
@@ -68,2 +68,2 @@
-class nsSecurityNameSet : public nsIScriptExternalNameSet 
-{
+class nsSecurityNameSet : public XPCOMGCFinalizedObject, public nsIScriptExternalNameSet 
+{
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedFilePicker.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedFilePicker.h
@@ -61,2 +61,2 @@
-class EmbedFilePicker : public nsIFilePicker
-{
+class EmbedFilePicker : public XPCOMGCFinalizedObject, public nsIFilePicker
+{
--- /builds/xpcomgc/src/layout/xul/base/src/nsSliderFrame.h
+++ /builds/xpcomgc/src/layout/xul/base/src/nsSliderFrame.h
@@ -56,3 +56,4 @@
-class nsSliderMediator : public nsIDOMMouseListener, 
-                         public nsITimerCallback
-{
+class nsSliderMediator : public XPCOMGCFinalizedObject, 
+                         public nsIDOMMouseListener, 
+                         public nsITimerCallback
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLMetaElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLMetaElement.cpp
@@ -44,3 +44,4 @@
-class nsHTMLMetaElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLMetaElement
-{
+class nsHTMLMetaElement : public XPCOMGCFinalizedObject,
+                          public nsGenericHTMLElement,
+                          public nsIDOMHTMLMetaElement
+{
--- /builds/xpcomgc/src/dom/src/base/nsDOMClassInfo.cpp
+++ /builds/xpcomgc/src/dom/src/base/nsDOMClassInfo.cpp
@@ -4811,2 +4811,2 @@
-class nsDOMConstructor : public nsIDOMConstructor
-{
+class nsDOMConstructor : public XPCOMGCFinalizedObject, public nsIDOMConstructor
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -311,2 +311,2 @@
-class nsKOStringPSMDetector : public nsXPCOMStringDetector
-{
+class nsKOStringPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMStringDetector
+{
--- /builds/xpcomgc/src/modules/libjar/nsJAR.h
+++ /builds/xpcomgc/src/modules/libjar/nsJAR.h
@@ -95,2 +95,2 @@
-class nsJAR : public nsIZipReader, public nsIJAR
-{
+class nsJAR : public XPCOMGCFinalizedObject, public nsIZipReader, public nsIJAR
+{
--- /builds/xpcomgc/src/modules/libjar/zipwriter/src/nsZipWriter.h
+++ /builds/xpcomgc/src/modules/libjar/zipwriter/src/nsZipWriter.h
@@ -71,3 +71,4 @@
-class nsZipWriter : public nsIZipWriter,
-                    public nsIRequestObserver
-{
+class nsZipWriter : public XPCOMGCFinalizedObject,
+                    public nsIZipWriter,
+                    public nsIRequestObserver
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -158,2 +158,2 @@
-class nsListItemCommand : public nsBaseStateUpdatingCommand
-{
+class nsListItemCommand : public XPCOMGCFinalizedObject, public nsBaseStateUpdatingCommand
+{
--- /builds/xpcomgc/src/intl/uconv/src/nsUTF8ToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/src/nsUTF8ToUnicode.h
@@ -62,2 +62,2 @@
-class nsUTF8ToUnicode : public nsBasicDecoderSupport
-{
+class nsUTF8ToUnicode : public XPCOMGCFinalizedObject, public nsBasicDecoderSupport
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_overloaded.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_overloaded.cpp
@@ -96,2 +96,2 @@
-class xpcoverloaded : public nsIXPCTestOverloaded, public nsIXPCScriptable
-{
+class xpcoverloaded : public XPCOMGCFinalizedObject, public nsIXPCTestOverloaded, public nsIXPCScriptable
+{
--- /builds/xpcomgc/src/layout/style/nsCSSParser.cpp
+++ /builds/xpcomgc/src/layout/style/nsCSSParser.cpp
@@ -89,1 +89,1 @@
-class CSSParserImpl : public nsICSSParser {
+class CSSParserImpl : public XPCOMGCFinalizedObject, public nsICSSParser {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedAngle.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedAngle.cpp
@@ -46,4 +46,5 @@
-class nsSVGAnimatedAngle : public nsIDOMSVGAnimatedAngle,
-                           public nsSVGValue,
-                           public nsISVGValueObserver
-{
+class nsSVGAnimatedAngle : public XPCOMGCFinalizedObject,
+                           public nsIDOMSVGAnimatedAngle,
+                           public nsSVGValue,
+                           public nsISVGValueObserver
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGMetadataElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGMetadataElement.cpp
@@ -43,3 +43,4 @@
-class nsSVGMetadataElement : public nsSVGMetadataElementBase,
-                             public nsIDOMSVGMetadataElement
-{
+class nsSVGMetadataElement : public XPCOMGCFinalizedObject,
+                             public nsSVGMetadataElementBase,
+                             public nsIDOMSVGMetadataElement
+{
--- /builds/xpcomgc/src/netwerk/streamconv/test/Converters.h
+++ /builds/xpcomgc/src/netwerk/streamconv/test/Converters.h
@@ -21,1 +21,1 @@
-class TestConverter : public nsIStreamConverter {
+class TestConverter : public XPCOMGCFinalizedObject, public nsIStreamConverter {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -947,3 +947,4 @@
-class nsSVGPathSegCurvetoQuadraticAbs : public nsIDOMSVGPathSegCurvetoQuadraticAbs,
-                                        public nsSVGPathSeg
-{
+class nsSVGPathSegCurvetoQuadraticAbs : public XPCOMGCFinalizedObject,
+                                        public nsIDOMSVGPathSegCurvetoQuadraticAbs,
+                                        public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/editor/libeditor/base/SplitElementTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/SplitElementTxn.h
@@ -56,2 +56,2 @@
-class SplitElementTxn : public EditTxn
-{
+class SplitElementTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/toolkit/xre/nsAppRunner.cpp
+++ /builds/xpcomgc/src/toolkit/xre/nsAppRunner.cpp
@@ -972,2 +972,2 @@
-class nsSingletonFactory : public nsIFactory
-{
+class nsSingletonFactory : public XPCOMGCFinalizedObject, public nsIFactory
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -250,2 +250,2 @@
-class nsSupportsPRInt64Impl : public nsISupportsPRInt64
-{
+class nsSupportsPRInt64Impl : public XPCOMGCFinalizedObject, public nsISupportsPRInt64
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2293,6 +2293,7 @@
-class nsXPCWrappedJS : protected nsAutoXPTCStub,
-                       public nsIXPConnectWrappedJS,
-                       public nsSupportsWeakReference,
-                       public nsIPropertyBag,
-                       public XPCRootSetElem
-{
+class nsXPCWrappedJS : public XPCOMGCFinalizedObject,
+                       protected nsAutoXPTCStub,
+                       public nsIXPConnectWrappedJS,
+                       public nsSupportsWeakReference,
+                       public nsIPropertyBag,
+                       public XPCRootSetElem
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCertTree.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCertTree.h
@@ -69,2 +69,2 @@
-class nsCertTree : public nsICertTree
-{
+class nsCertTree : public XPCOMGCFinalizedObject, public nsICertTree
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLTitleElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLTitleElement.cpp
@@ -46,3 +46,4 @@
-class nsHTMLTitleElement : public nsGenericHTMLElement,
-                           public nsIDOMHTMLTitleElement
-{
+class nsHTMLTitleElement : public XPCOMGCFinalizedObject,
+                           public nsGenericHTMLElement,
+                           public nsIDOMHTMLTitleElement
+{
--- /builds/xpcomgc/src/browser/components/migration/src/nsSeamonkeyProfileMigrator.h
+++ /builds/xpcomgc/src/browser/components/migration/src/nsSeamonkeyProfileMigrator.h
@@ -52,3 +52,4 @@
-class nsSeamonkeyProfileMigrator : public nsNetscapeProfileMigratorBase, 
-                                   public nsIBrowserProfileMigrator
-{
+class nsSeamonkeyProfileMigrator : public XPCOMGCFinalizedObject, 
+                                   public nsNetscapeProfileMigratorBase, 
+                                   public nsIBrowserProfileMigrator
+{
--- /builds/xpcomgc/src/xpcom/base/nsConsoleService.h
+++ /builds/xpcomgc/src/xpcom/base/nsConsoleService.h
@@ -50,2 +50,2 @@
-class nsConsoleService : public nsIConsoleService
-{
+class nsConsoleService : public XPCOMGCFinalizedObject, public nsIConsoleService
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsSDR.cpp
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsSDR.cpp
@@ -72,2 +72,2 @@
-class nsSDRContext : public nsIInterfaceRequestor
-{
+class nsSDRContext : public XPCOMGCFinalizedObject, public nsIInterfaceRequestor
+{
--- /builds/xpcomgc/src/netwerk/socket/base/nsSOCKSSocketProvider.h
+++ /builds/xpcomgc/src/netwerk/socket/base/nsSOCKSSocketProvider.h
@@ -51,2 +51,2 @@
-class nsSOCKSSocketProvider : public nsISocketProvider
-{
+class nsSOCKSSocketProvider : public XPCOMGCFinalizedObject, public nsISocketProvider
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -1022,5 +1022,6 @@
-class nsXPCComponents_ClassesByID :
-  public nsIXPCComponents_ClassesByID,
-  public nsIXPCScriptable,
-  public nsIClassInfo
-{
+class nsXPCComponents_ClassesByID :
+  public XPCOMGCFinalizedObject,
+  public nsIXPCComponents_ClassesByID,
+  public nsIXPCScriptable,
+  public nsIClassInfo
+{
--- /builds/xpcomgc/src/browser/components/safebrowsing/src/nsDocNavStartProgressListener.h
+++ /builds/xpcomgc/src/browser/components/safebrowsing/src/nsDocNavStartProgressListener.h
@@ -48,5 +48,6 @@
-class nsDocNavStartProgressListener : public nsIDocNavStartProgressListener,
-                                      public nsIWebProgressListener,
-                                      public nsIObserver,
-                                      public nsSupportsWeakReference
-{
+class nsDocNavStartProgressListener : public XPCOMGCFinalizedObject,
+                                      public nsIDocNavStartProgressListener,
+                                      public nsIWebProgressListener,
+                                      public nsIObserver,
+                                      public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/modules/libpr0n/encoders/png/nsPNGEncoder.h
+++ /builds/xpcomgc/src/modules/libpr0n/encoders/png/nsPNGEncoder.h
@@ -52,2 +52,2 @@
-class nsPNGEncoder : public imgIEncoder
-{
+class nsPNGEncoder : public XPCOMGCFinalizedObject, public imgIEncoder
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheDeviceSQL.cpp
+++ /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheDeviceSQL.cpp
@@ -245,2 +245,2 @@
-class nsOfflineCacheDeviceInfo : public nsICacheDeviceInfo
-{
+class nsOfflineCacheDeviceInfo : public XPCOMGCFinalizedObject, public nsICacheDeviceInfo
+{
--- /builds/xpcomgc/src/content/base/src/nsDataDocumentContentPolicy.h
+++ /builds/xpcomgc/src/content/base/src/nsDataDocumentContentPolicy.h
@@ -55,2 +55,2 @@
-class nsDataDocumentContentPolicy : public nsIContentPolicy
-{
+class nsDataDocumentContentPolicy : public XPCOMGCFinalizedObject, public nsIContentPolicy
+{
--- /builds/xpcomgc/src/extensions/cookie/nsPermissionManager.h
+++ /builds/xpcomgc/src/extensions/cookie/nsPermissionManager.h
@@ -140,4 +140,5 @@
-class nsPermissionManager : public nsIPermissionManager,
-                            public nsIObserver,
-                            public nsSupportsWeakReference
-{
+class nsPermissionManager : public XPCOMGCFinalizedObject,
+                            public nsIPermissionManager,
+                            public nsIObserver,
+                            public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/toolkit/profile/src/nsToolkitProfileService.cpp
+++ /builds/xpcomgc/src/toolkit/profile/src/nsToolkitProfileService.cpp
@@ -127,2 +127,2 @@
-class nsToolkitProfileService : public nsIToolkitProfileService
-{
+class nsToolkitProfileService : public XPCOMGCFinalizedObject, public nsIToolkitProfileService
+{
--- /builds/xpcomgc/src/layout/forms/nsComboboxControlFrame.cpp
+++ /builds/xpcomgc/src/layout/forms/nsComboboxControlFrame.cpp
@@ -127,2 +127,2 @@
-class nsComboButtonListener: public nsIDOMMouseListener
-{
+class nsComboButtonListener: public XPCOMGCFinalizedObject, public nsIDOMMouseListener
+{
--- /builds/xpcomgc/src/netwerk/protocol/gopher/src/nsGopherHandler.h
+++ /builds/xpcomgc/src/netwerk/protocol/gopher/src/nsGopherHandler.h
@@ -55,1 +55,1 @@
-class nsGopherHandler : public nsIProxiedProtocolHandler {
+class nsGopherHandler : public XPCOMGCFinalizedObject, public nsIProxiedProtocolHandler {
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertificateDB.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertificateDB.h
@@ -47,2 +47,2 @@
-class nsNSSCertificateDB : public nsIX509CertDB, public nsIX509CertDB2
-{
+class nsNSSCertificateDB : public XPCOMGCFinalizedObject, public nsIX509CertDB, public nsIX509CertDB2
+{
--- /builds/xpcomgc/src/widget/src/xpwidgets/nsBaseWidget.cpp
+++ /builds/xpcomgc/src/widget/src/xpwidgets/nsBaseWidget.cpp
@@ -1062,1 +1062,1 @@
-class Debug_PrefObserver : public nsIObserver {
+class Debug_PrefObserver : public XPCOMGCFinalizedObject, public nsIObserver {
--- /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
@@ -148,1 +148,1 @@
-class nsASDOMWindowFrontToBackEnumerator : public nsASDOMWindowEnumerator {
+class nsASDOMWindowFrontToBackEnumerator : public XPCOMGCFinalizedObject, public nsASDOMWindowEnumerator {
--- /builds/xpcomgc/src/content/html/document/src/nsHTMLFragmentContentSink.cpp
+++ /builds/xpcomgc/src/content/html/document/src/nsHTMLFragmentContentSink.cpp
@@ -74,2 +74,3 @@
-class nsHTMLFragmentContentSink : public nsIFragmentContentSink,
-                                  public nsIHTMLContentSink {
+class nsHTMLFragmentContentSink : public XPCOMGCFinalizedObject,
+                                  public nsIFragmentContentSink,
+                                  public nsIHTMLContentSink {
--- /builds/xpcomgc/src/layout/style/nsDOMCSSRect.h
+++ /builds/xpcomgc/src/layout/style/nsDOMCSSRect.h
@@ -47,1 +47,1 @@
-class nsDOMCSSRect : public nsIDOMRect {
+class nsDOMCSSRect : public XPCOMGCFinalizedObject, public nsIDOMRect {
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLTableCaptionElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLTableCaptionElement.cpp
@@ -45,3 +45,4 @@
-class nsHTMLTableCaptionElement :  public nsGenericHTMLElement,
-                                   public nsIDOMHTMLTableCaptionElement
-{
+class nsHTMLTableCaptionElement :  public XPCOMGCFinalizedObject,
+                                   public nsGenericHTMLElement,
+                                   public nsIDOMHTMLTableCaptionElement
+{
--- /builds/xpcomgc/src/parser/xml/src/nsSAXXMLReader.h
+++ /builds/xpcomgc/src/parser/xml/src/nsSAXXMLReader.h
@@ -57,4 +57,5 @@
-class nsSAXXMLReader : public nsISAXXMLReader,
-                       public nsIExtendedExpatSink,
-                       public nsIContentSink
-{
+class nsSAXXMLReader : public XPCOMGCFinalizedObject,
+                       public nsISAXXMLReader,
+                       public nsIExtendedExpatSink,
+                       public nsIContentSink
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_multiple.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_multiple.cpp
@@ -45,1 +45,1 @@
-class xpcTestParentOne : public nsIXPCTestParentOne {
+class xpcTestParentOne : public XPCOMGCFinalizedObject, public nsIXPCTestParentOne {
--- /builds/xpcomgc/src/embedding/browser/webBrowser/nsEmbedStream.h
+++ /builds/xpcomgc/src/embedding/browser/webBrowser/nsEmbedStream.h
@@ -46,2 +46,2 @@
-class nsEmbedStream : public nsIInputStream 
-{
+class nsEmbedStream : public XPCOMGCFinalizedObject, public nsIInputStream 
+{
--- /builds/xpcomgc/src/uriloader/exthandler/nsExternalHelperAppService.h
+++ /builds/xpcomgc/src/uriloader/exthandler/nsExternalHelperAppService.h
@@ -238,4 +238,5 @@
-class nsExternalAppHandler : public nsIStreamListener,
-                             public nsIHelperAppLauncher,
-                             public nsITimerCallback
-{
+class nsExternalAppHandler : public XPCOMGCFinalizedObject,
+                             public nsIStreamListener,
+                             public nsIHelperAppLauncher,
+                             public nsITimerCallback
+{
--- /builds/xpcomgc/src/dom/src/base/nsGlobalWindowCommands.cpp
+++ /builds/xpcomgc/src/dom/src/base/nsGlobalWindowCommands.cpp
@@ -144,2 +144,2 @@
-class nsSelectCommand : public nsSelectionCommandsBase
-{
+class nsSelectCommand : public XPCOMGCFinalizedObject, public nsSelectionCommandsBase
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.cpp
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.cpp
@@ -201,1 +201,1 @@
-class nsCryptoRunnable : public nsIRunnable {
+class nsCryptoRunnable : public XPCOMGCFinalizedObject, public nsIRunnable {
--- /builds/xpcomgc/src/security/manager/ssl/src/nsTLSSocketProvider.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsTLSSocketProvider.h
@@ -54,2 +54,2 @@
-class nsTLSSocketProvider : public nsISocketProvider
-{
+class nsTLSSocketProvider : public XPCOMGCFinalizedObject, public nsISocketProvider
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCMS.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCMS.h
@@ -59,4 +59,5 @@
-class nsCMSMessage : public nsICMSMessage,
-                     public nsICMSMessage2,
-                     public nsNSSShutDownObject
-{
+class nsCMSMessage : public XPCOMGCFinalizedObject,
+                     public nsICMSMessage,
+                     public nsICMSMessage2,
+                     public nsNSSShutDownObject
+{
--- /builds/xpcomgc/src/xpcom/io/nsStringStream.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsStringStream.cpp
@@ -69,4 +69,5 @@
-class nsStringInputStream : public nsIStringInputStream
-                          , public nsISeekableStream
-                          , public nsISupportsCString
-{
+class nsStringInputStream : public XPCOMGCFinalizedObject
+                          , public nsIStringInputStream
+                          , public nsISeekableStream
+                          , public nsISupportsCString
+{
--- /builds/xpcomgc/src/rdf/base/src/rdfTriplesSerializer.cpp
+++ /builds/xpcomgc/src/rdf/base/src/rdfTriplesSerializer.cpp
@@ -132,2 +132,2 @@
-class rdfTriplesSerializer : public rdfISerializer
-{
+class rdfTriplesSerializer : public XPCOMGCFinalizedObject, public rdfISerializer
+{
--- /builds/xpcomgc/src/content/html/document/src/nsHTMLDocument.h
+++ /builds/xpcomgc/src/content/html/document/src/nsHTMLDocument.h
@@ -69,5 +69,6 @@
-class nsHTMLDocument : public nsDocument,
-                       public nsIHTMLDocument,
-                       public nsIDOMHTMLDocument,
-                       public nsIDOMNSHTMLDocument
-{
+class nsHTMLDocument : public XPCOMGCFinalizedObject,
+                       public nsDocument,
+                       public nsIHTMLDocument,
+                       public nsIDOMHTMLDocument,
+                       public nsIDOMNSHTMLDocument
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -239,2 +239,2 @@
-class nsFontColorStateCommand : public nsMultiStateCommand
-{
+class nsFontColorStateCommand : public XPCOMGCFinalizedObject, public nsMultiStateCommand
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcstack.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcstack.cpp
@@ -44,2 +44,2 @@
-class XPCJSStackFrame : public nsIStackFrame
-{
+class XPCJSStackFrame : public XPCOMGCFinalizedObject, public nsIStackFrame
+{
--- /builds/xpcomgc/src/content/xul/document/src/nsXULContentSink.h
+++ /builds/xpcomgc/src/content/xul/document/src/nsXULContentSink.h
@@ -58,3 +58,4 @@
-class XULContentSinkImpl : public nsIXMLContentSink,
-                           public nsIExpatSink
-{
+class XULContentSinkImpl : public XPCOMGCFinalizedObject,
+                           public nsIXMLContentSink,
+                           public nsIExpatSink
+{
--- /builds/xpcomgc/src/intl/unicharutil/src/nsCaseConversionImp2.h
+++ /builds/xpcomgc/src/intl/unicharutil/src/nsCaseConversionImp2.h
@@ -45,1 +45,1 @@
-class nsCaseConversionImp2 : public nsICaseConversion { 
+class nsCaseConversionImp2 : public XPCOMGCFinalizedObject, public nsICaseConversion { 
--- /builds/xpcomgc/src/browser/components/feeds/src/nsAboutFeeds.h
+++ /builds/xpcomgc/src/browser/components/feeds/src/nsAboutFeeds.h
@@ -44,2 +44,2 @@
-class nsAboutFeeds : public nsIAboutModule
-{
+class nsAboutFeeds : public XPCOMGCFinalizedObject, public nsIAboutModule
+{
--- /builds/xpcomgc/src/dom/src/base/nsHistory.h
+++ /builds/xpcomgc/src/dom/src/base/nsHistory.h
@@ -49,3 +49,4 @@
-class nsHistory : public nsIDOMHistory,
-                  public nsIDOMNSHistory
-{
+class nsHistory : public XPCOMGCFinalizedObject,
+                  public nsIDOMHistory,
+                  public nsIDOMNSHistory
+{
--- /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateQueryProcessorXML.h
+++ /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateQueryProcessorXML.h
@@ -112,2 +112,2 @@
-class nsXULTemplateResultSetXML : public nsISimpleEnumerator
-{
+class nsXULTemplateResultSetXML : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpHandler.h
+++ /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpHandler.h
@@ -75,4 +75,5 @@
-class nsHttpHandler : public nsIHttpProtocolHandler
-                    , public nsIObserver
-                    , public nsSupportsWeakReference
-{
+class nsHttpHandler : public XPCOMGCFinalizedObject
+                    , public nsIHttpProtocolHandler
+                    , public nsIObserver
+                    , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/docshell/shistory/src/nsSHistory.h
+++ /builds/xpcomgc/src/docshell/shistory/src/nsSHistory.h
@@ -62,5 +62,6 @@
-class nsSHistory: public PRCList,
-                  public nsISHistory,
-                  public nsISHistoryInternal,
-                  public nsIWebNavigation
-{
+class nsSHistory: public XPCOMGCFinalizedObject,
+                  public PRCList,
+                  public nsISHistory,
+                  public nsISHistoryInternal,
+                  public nsIWebNavigation
+{
--- /builds/xpcomgc/src/xpcom/io/nsStreamUtils.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsStreamUtils.cpp
@@ -48,3 +48,4 @@
-class nsInputStreamReadyEvent : public nsIRunnable
-                              , public nsIInputStreamCallback
-{
+class nsInputStreamReadyEvent : public XPCOMGCFinalizedObject
+                              , public nsIRunnable
+                              , public nsIInputStreamCallback
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPointList.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPointList.h
@@ -48,4 +48,5 @@
-class nsSVGPointList : public nsSVGValue,
-                       public nsIDOMSVGPointList,
-                       public nsISVGValueObserver
-{
+class nsSVGPointList : public XPCOMGCFinalizedObject,
+                       public nsSVGValue,
+                       public nsIDOMSVGPointList,
+                       public nsISVGValueObserver
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLTextAreaElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLTextAreaElement.cpp
@@ -81,7 +81,8 @@
-class nsHTMLTextAreaElement : public nsGenericHTMLFormElement,
-                              public nsIDOMHTMLTextAreaElement,
-                              public nsIDOMNSHTMLTextAreaElement,
-                              public nsITextControlElement,
-                              public nsIDOMNSEditableElement,
-                              public nsStubMutationObserver
-{
+class nsHTMLTextAreaElement : public XPCOMGCFinalizedObject,
+                              public nsGenericHTMLFormElement,
+                              public nsIDOMHTMLTextAreaElement,
+                              public nsIDOMNSHTMLTextAreaElement,
+                              public nsITextControlElement,
+                              public nsIDOMNSEditableElement,
+                              public nsStubMutationObserver
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSComponent.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSComponent.h
@@ -307,2 +307,3 @@
-class PSMContentListener : public nsIURIContentListener,
-                            public nsSupportsWeakReference {
+class PSMContentListener : public XPCOMGCFinalizedObject,
+                            public nsIURIContentListener,
+                            public nsSupportsWeakReference {
--- /builds/xpcomgc/src/netwerk/base/src/nsURLParsers.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsURLParsers.h
@@ -75,2 +75,2 @@
-class nsNoAuthURLParser : public nsBaseURLParser
-{
+class nsNoAuthURLParser : public XPCOMGCFinalizedObject, public nsBaseURLParser
+{
--- /builds/xpcomgc/src/xpfe/appshell/src/nsContentTreeOwner.cpp
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsContentTreeOwner.cpp
@@ -80,2 +80,2 @@
-class nsSiteWindow2 : public nsIEmbeddingSiteWindow2
-{
+class nsSiteWindow2 : public XPCOMGCFinalizedObject, public nsIEmbeddingSiteWindow2
+{
--- /builds/xpcomgc/src/content/xslt/src/xpath/txXPCOMExtensionFunction.cpp
+++ /builds/xpcomgc/src/content/xslt/src/xpath/txXPCOMExtensionFunction.cpp
@@ -52,2 +52,2 @@
-class txFunctionEvaluationContext : public txIFunctionEvaluationContext
-{
+class txFunctionEvaluationContext : public XPCOMGCFinalizedObject, public txIFunctionEvaluationContext
+{
--- /builds/xpcomgc/src/xpcom/threads/nsEnvironment.h
+++ /builds/xpcomgc/src/xpcom/threads/nsEnvironment.h
@@ -50,2 +50,2 @@
-class nsEnvironment : public nsIEnvironment
-{
+class nsEnvironment : public XPCOMGCFinalizedObject, public nsIEnvironment
+{
--- /builds/xpcomgc/src/content/base/src/nsCrossSiteListenerProxy.h
+++ /builds/xpcomgc/src/content/base/src/nsCrossSiteListenerProxy.h
@@ -51,4 +51,5 @@
-class nsCrossSiteListenerProxy : public nsIStreamListener,
-                                 public nsIXMLContentSink,
-                                 public nsIExpatSink
-{
+class nsCrossSiteListenerProxy : public XPCOMGCFinalizedObject,
+                                 public nsIStreamListener,
+                                 public nsIXMLContentSink,
+                                 public nsIExpatSink
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsCyrillicDetector.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsCyrillicDetector.h
@@ -170,2 +170,2 @@
-class nsUKProbDetector : public nsCyrXPCOMDetector
-{
+class nsUKProbDetector : public XPCOMGCFinalizedObject, public nsCyrXPCOMDetector
+{
--- /builds/xpcomgc/src/xpfe/browser/src/nsBrowserInstance.h
+++ /builds/xpcomgc/src/xpfe/browser/src/nsBrowserInstance.h
@@ -63,3 +63,4 @@
-class nsBrowserInstance : public nsIBrowserInstance,
-                          public nsSupportsWeakReference 
-{
+class nsBrowserInstance : public XPCOMGCFinalizedObject,
+                          public nsIBrowserInstance,
+                          public nsSupportsWeakReference 
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -2411,3 +2411,4 @@
-class nsSVGFEMergeNodeElement : public nsSVGFEMergeNodeElementBase,
-                                public nsIDOMSVGFEMergeNodeElement
-{
+class nsSVGFEMergeNodeElement : public XPCOMGCFinalizedObject,
+                                public nsSVGFEMergeNodeElementBase,
+                                public nsIDOMSVGFEMergeNodeElement
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsDownloader.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsDownloader.h
@@ -45,2 +45,2 @@
-class nsDownloader : public nsIDownloader
-{
+class nsDownloader : public XPCOMGCFinalizedObject, public nsIDownloader
+{
--- /builds/xpcomgc/src/dom/src/base/nsDOMClassInfo.h
+++ /builds/xpcomgc/src/dom/src/base/nsDOMClassInfo.h
@@ -1444,2 +1444,2 @@
-class nsEventListenerThisTranslator : public nsIXPCFunctionThisTranslator
-{
+class nsEventListenerThisTranslator : public XPCOMGCFinalizedObject, public nsIXPCFunctionThisTranslator
+{
--- /builds/xpcomgc/src/layout/base/nsDocumentViewer.cpp
+++ /builds/xpcomgc/src/layout/base/nsDocumentViewer.cpp
@@ -263,2 +263,2 @@
-class nsDocViewerFocusListener : public nsIDOMFocusListener
-{
+class nsDocViewerFocusListener : public XPCOMGCFinalizedObject, public nsIDOMFocusListener
+{
--- /builds/xpcomgc/src/intl/locale/src/unix/nsCollationUnix.h
+++ /builds/xpcomgc/src/intl/locale/src/unix/nsCollationUnix.h
@@ -48,1 +48,1 @@
-class nsCollationUnix : public nsICollation {
+class nsCollationUnix : public XPCOMGCFinalizedObject, public nsICollation {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -2836,4 +2836,5 @@
-class nsSVGFETileElement : public nsSVGFETileElementBase,
-                           public nsIDOMSVGFETileElement,
-                           public nsISVGFilter
-{
+class nsSVGFETileElement : public XPCOMGCFinalizedObject,
+                           public nsSVGFETileElementBase,
+                           public nsIDOMSVGFETileElement,
+                           public nsISVGFilter
+{
--- /builds/xpcomgc/src/storage/test/storage1.cpp
+++ /builds/xpcomgc/src/storage/test/storage1.cpp
@@ -41,1 +41,1 @@
-class TestFunc : public mozIStorageFunction {
+class TestFunc : public XPCOMGCFinalizedObject, public mozIStorageFunction {
--- /builds/xpcomgc/src/browser/components/places/src/nsPlacesImportExportService.h
+++ /builds/xpcomgc/src/browser/components/places/src/nsPlacesImportExportService.h
@@ -16,3 +16,4 @@
-class nsPlacesImportExportService : public nsIPlacesImportExportService,
-                                    public nsINavHistoryBatchCallback
-{
+class nsPlacesImportExportService : public XPCOMGCFinalizedObject,
+                                    public nsIPlacesImportExportService,
+                                    public nsINavHistoryBatchCallback
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/ns4xPlugin.h
+++ /builds/xpcomgc/src/modules/plugin/base/src/ns4xPlugin.h
@@ -112,2 +112,2 @@
-class ns4xPlugin : public nsIPlugin
-{
+class ns4xPlugin : public XPCOMGCFinalizedObject, public nsIPlugin
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -439,3 +439,4 @@
-class nsSVGPathSegLinetoAbs : public nsIDOMSVGPathSegLinetoAbs,
-                              public nsSVGPathSeg
-{
+class nsSVGPathSegLinetoAbs : public XPCOMGCFinalizedObject,
+                              public nsIDOMSVGPathSegLinetoAbs,
+                              public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/toolkit/profile/src/nsToolkitProfileService.cpp
+++ /builds/xpcomgc/src/toolkit/profile/src/nsToolkitProfileService.cpp
@@ -73,2 +73,2 @@
-class nsToolkitProfile : public nsIToolkitProfile
-{
+class nsToolkitProfile : public XPCOMGCFinalizedObject, public nsIToolkitProfile
+{
--- /builds/xpcomgc/src/netwerk/dns/src/nsIDNService.h
+++ /builds/xpcomgc/src/netwerk/dns/src/nsIDNService.h
@@ -57,4 +57,5 @@
-class nsIDNService : public nsIIDNService,
-                     public nsIObserver,
-                     public nsSupportsWeakReference
-{
+class nsIDNService : public XPCOMGCFinalizedObject,
+                     public nsIIDNService,
+                     public nsIObserver,
+                     public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGForeignObjectFrame.h
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGForeignObjectFrame.h
@@ -49,3 +49,4 @@
-class nsSVGForeignObjectFrame : public nsSVGForeignObjectFrameBase,
-                                public nsISVGChildFrame
-{
+class nsSVGForeignObjectFrame : public XPCOMGCFinalizedObject,
+                                public nsSVGForeignObjectFrameBase,
+                                public nsISVGChildFrame
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPoint.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPoint.cpp
@@ -45,3 +45,4 @@
-class nsSVGPoint : public nsIDOMSVGPoint,
-                   public nsSVGValue
-{
+class nsSVGPoint : public XPCOMGCFinalizedObject,
+                   public nsIDOMSVGPoint,
+                   public nsSVGValue
+{
--- /builds/xpcomgc/src/content/base/src/nsContentAreaDragDrop.h
+++ /builds/xpcomgc/src/content/base/src/nsContentAreaDragDrop.h
@@ -77,4 +77,5 @@
-class nsContentAreaDragDrop : public nsIDOMDragListener,
-                              public nsIDragDropHandler,
-                              public nsIFlavorDataProvider
-{
+class nsContentAreaDragDrop : public XPCOMGCFinalizedObject,
+                              public nsIDOMDragListener,
+                              public nsIDragDropHandler,
+                              public nsIFlavorDataProvider
+{
--- /builds/xpcomgc/src/content/html/document/src/nsHTMLContentSink.cpp
+++ /builds/xpcomgc/src/content/html/document/src/nsHTMLContentSink.cpp
@@ -160,1 +160,2 @@
-class HTMLContentSink : public nsContentSink,
+class HTMLContentSink : public XPCOMGCFinalizedObject,
+public nsContentSink,
--- /builds/xpcomgc/src/widget/src/gtk2/nsDragService.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsDragService.h
@@ -53,4 +53,5 @@
-class nsDragService : public nsBaseDragService,
-                      public nsIDragSessionGTK,
-                      public nsIObserver
-{
+class nsDragService : public XPCOMGCFinalizedObject,
+                      public nsBaseDragService,
+                      public nsIDragSessionGTK,
+                      public nsIObserver
+{
--- /builds/xpcomgc/src/content/base/src/nsPlainTextSerializer.h
+++ /builds/xpcomgc/src/content/base/src/nsPlainTextSerializer.h
@@ -59,4 +59,5 @@
-class nsPlainTextSerializer : public nsIContentSerializer,
-                              public nsIHTMLContentSink,
-                              public nsIHTMLToTextSink
-{
+class nsPlainTextSerializer : public XPCOMGCFinalizedObject,
+                              public nsIContentSerializer,
+                              public nsIHTMLContentSink,
+                              public nsIHTMLToTextSink
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommandsUpdater.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommandsUpdater.h
@@ -59,5 +59,6 @@
-class nsComposerCommandsUpdater : public nsISelectionListener,
-                                  public nsIDocumentStateListener,
-                                  public nsITransactionListener,
-                                  public nsITimerCallback
-{
+class nsComposerCommandsUpdater : public XPCOMGCFinalizedObject,
+                                  public nsISelectionListener,
+                                  public nsIDocumentStateListener,
+                                  public nsITransactionListener,
+                                  public nsITimerCallback
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLStyleElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLStyleElement.cpp
@@ -53,5 +53,6 @@
-class nsHTMLStyleElement : public nsGenericHTMLElement,
-                           public nsIDOMHTMLStyleElement,
-                           public nsStyleLinkElement,
-                           public nsStubMutationObserver
-{
+class nsHTMLStyleElement : public XPCOMGCFinalizedObject,
+                           public nsGenericHTMLElement,
+                           public nsIDOMHTMLStyleElement,
+                           public nsStyleLinkElement,
+                           public nsStubMutationObserver
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsArrayEnumerator.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsArrayEnumerator.h
@@ -44,1 +44,1 @@
-class nsSupportsArrayEnumerator : public nsIBidirectionalEnumerator {
+class nsSupportsArrayEnumerator : public XPCOMGCFinalizedObject, public nsIBidirectionalEnumerator {
--- /builds/xpcomgc/src/content/xml/content/src/nsXMLElement.h
+++ /builds/xpcomgc/src/content/xml/content/src/nsXMLElement.h
@@ -46,3 +46,4 @@
-class nsXMLElement : public nsGenericElement,
-                     public nsIDOMElement
-{
+class nsXMLElement : public XPCOMGCFinalizedObject,
+                     public nsGenericElement,
+                     public nsIDOMElement
+{
--- /builds/xpcomgc/src/layout/xul/base/src/tree/src/nsTreeSelection.h
+++ /builds/xpcomgc/src/layout/xul/base/src/tree/src/nsTreeSelection.h
@@ -51,2 +51,2 @@
-class nsTreeSelection : public nsITreeSelection
-{
+class nsTreeSelection : public XPCOMGCFinalizedObject, public nsITreeSelection
+{
--- /builds/xpcomgc/src/widget/src/xpwidgets/nsPrintSettingsImpl.h
+++ /builds/xpcomgc/src/widget/src/xpwidgets/nsPrintSettingsImpl.h
@@ -54,2 +54,2 @@
-class nsPrintSettings : public nsIPrintSettings
-{
+class nsPrintSettings : public XPCOMGCFinalizedObject, public nsIPrintSettings
+{
--- /builds/xpcomgc/src/xpcom/glue/nsArrayEnumerator.cpp
+++ /builds/xpcomgc/src/xpcom/glue/nsArrayEnumerator.cpp
@@ -46,2 +46,2 @@
-class nsSimpleArrayEnumerator : public nsISimpleEnumerator
-{
+class nsSimpleArrayEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/xpcom/base/nsErrorService.h
+++ /builds/xpcomgc/src/xpcom/base/nsErrorService.h
@@ -56,2 +56,2 @@
-class nsErrorService : public nsIErrorService
-{
+class nsErrorService : public XPCOMGCFinalizedObject, public nsIErrorService
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsStreamListenerTee.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsStreamListenerTee.h
@@ -45,2 +45,2 @@
-class nsStreamListenerTee : public nsIStreamListenerTee
-{
+class nsStreamListenerTee : public XPCOMGCFinalizedObject, public nsIStreamListenerTee
+{
--- /builds/xpcomgc/src/parser/htmlparser/src/nsExpatDriver.h
+++ /builds/xpcomgc/src/parser/htmlparser/src/nsExpatDriver.h
@@ -53,3 +53,4 @@
-class nsExpatDriver : public nsIDTD,
-                      public nsITokenizer
-{
+class nsExpatDriver : public XPCOMGCFinalizedObject,
+                      public nsIDTD,
+                      public nsITokenizer
+{
--- /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierDBService.cpp
+++ /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierDBService.cpp
@@ -389,2 +389,2 @@
-class nsUrlClassifierDBServiceWorker : public nsIUrlClassifierDBServiceWorker
-{
+class nsUrlClassifierDBServiceWorker : public XPCOMGCFinalizedObject, public nsIUrlClassifierDBServiceWorker
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -3598,2 +3598,2 @@
-class XPCVariant : public nsIVariant
-{
+class XPCVariant : public XPCOMGCFinalizedObject, public nsIVariant
+{
--- /builds/xpcomgc/src/layout/xul/base/src/nsBoxObject.h
+++ /builds/xpcomgc/src/layout/xul/base/src/nsBoxObject.h
@@ -52,2 +52,2 @@
-class nsBoxObject : public nsPIBoxObject
-{
+class nsBoxObject : public XPCOMGCFinalizedObject, public nsPIBoxObject
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -199,3 +199,4 @@
-class nsSVGPathSegClosePath : public nsIDOMSVGPathSegClosePath,
-                              public nsSVGPathSeg
-{
+class nsSVGPathSegClosePath : public XPCOMGCFinalizedObject,
+                              public nsIDOMSVGPathSegClosePath,
+                              public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/xpcom/base/nsInterfaceRequestorAgg.cpp
+++ /builds/xpcomgc/src/xpcom/base/nsInterfaceRequestorAgg.cpp
@@ -39,2 +39,2 @@
-class nsInterfaceRequestorAgg : public nsIInterfaceRequestor
-{
+class nsInterfaceRequestorAgg : public XPCOMGCFinalizedObject, public nsIInterfaceRequestor
+{
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedProgress.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedProgress.h
@@ -46,3 +46,4 @@
-class EmbedProgress : public nsIWebProgressListener,
-                      public nsSupportsWeakReference
-{
+class EmbedProgress : public XPCOMGCFinalizedObject,
+                      public nsIWebProgressListener,
+                      public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/layout/style/nsLayoutStylesheetCache.h
+++ /builds/xpcomgc/src/layout/style/nsLayoutStylesheetCache.h
@@ -47,3 +47,3 @@
-class nsLayoutStylesheetCache
- : public nsIObserver
-{
+class nsLayoutStylesheetCache
+ : public XPCOMGCFinalizedObject, public nsIObserver
+{
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsDirIndexParser.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsDirIndexParser.h
@@ -52,1 +52,1 @@
-class nsDirIndexParser : public nsIDirIndexParser {
+class nsDirIndexParser : public XPCOMGCFinalizedObject, public nsIDirIndexParser {
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCrypto.h
@@ -97,2 +97,2 @@
-class nsPkcs11 : public nsIDOMPkcs11
-{
+class nsPkcs11 : public XPCOMGCFinalizedObject, public nsIDOMPkcs11
+{
--- /builds/xpcomgc/src/xpfe/components/intl/nsCharsetMenu.cpp
+++ /builds/xpcomgc/src/xpfe/components/intl/nsCharsetMenu.cpp
@@ -154,2 +154,2 @@
-class nsCharsetMenu : public nsIRDFDataSource, public nsICurrentCharsetListener
-{
+class nsCharsetMenu : public XPCOMGCFinalizedObject, public nsIRDFDataSource, public nsICurrentCharsetListener
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedString.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedString.h
@@ -49,3 +49,4 @@
-class nsSVGAnimatedString : public nsIDOMSVGAnimatedString,
-                            public nsSVGValue
-{
+class nsSVGAnimatedString : public XPCOMGCFinalizedObject,
+                            public nsIDOMSVGAnimatedString,
+                            public nsSVGValue
+{
--- /builds/xpcomgc/src/uriloader/prefetch/nsPrefetchService.h
+++ /builds/xpcomgc/src/uriloader/prefetch/nsPrefetchService.h
@@ -126,5 +126,6 @@
-class nsPrefetchNode : public nsIDOMLoadStatus
-                     , public nsIStreamListener
-                     , public nsIInterfaceRequestor
-                     , public nsIChannelEventSink
-{
+class nsPrefetchNode : public XPCOMGCFinalizedObject
+                     , public nsIDOMLoadStatus
+                     , public nsIStreamListener
+                     , public nsIInterfaceRequestor
+                     , public nsIChannelEventSink
+{
--- /builds/xpcomgc/src/embedding/components/webbrowserpersist/src/nsWebBrowserPersist.h
+++ /builds/xpcomgc/src/embedding/components/webbrowserpersist/src/nsWebBrowserPersist.h
@@ -246,2 +246,2 @@
-class nsEncoderNodeFixup : public nsIDocumentEncoderNodeFixup
-{
+class nsEncoderNodeFixup : public XPCOMGCFinalizedObject, public nsIDocumentEncoderNodeFixup
+{
--- /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
+++ /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
@@ -95,2 +95,2 @@
-class nsTextEditorTextListener : public nsIDOMTextListener
-{
+class nsTextEditorTextListener : public XPCOMGCFinalizedObject, public nsIDOMTextListener
+{
--- /builds/xpcomgc/src/xpcom/io/nsUnicharInputStream.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsUnicharInputStream.cpp
@@ -55,1 +55,1 @@
-class StringUnicharInputStream : public nsIUnicharInputStream {
+class StringUnicharInputStream : public XPCOMGCFinalizedObject, public nsIUnicharInputStream {
--- /builds/xpcomgc/src/toolkit/profile/src/nsToolkitProfileService.cpp
+++ /builds/xpcomgc/src/toolkit/profile/src/nsToolkitProfileService.cpp
@@ -120,2 +120,2 @@
-class nsToolkitProfileFactory : public nsIFactory
-{
+class nsToolkitProfileFactory : public XPCOMGCFinalizedObject, public nsIFactory
+{
--- /builds/xpcomgc/src/uriloader/prefetch/nsOfflineCacheUpdate.h
+++ /builds/xpcomgc/src/uriloader/prefetch/nsOfflineCacheUpdate.h
@@ -68,6 +68,7 @@
-class nsOfflineCacheUpdateItem : public nsIDOMLoadStatus
-                               , public nsIStreamListener
-                               , public nsIRunnable
-                               , public nsIInterfaceRequestor
-                               , public nsIChannelEventSink
-{
+class nsOfflineCacheUpdateItem : public XPCOMGCFinalizedObject
+                               , public nsIDOMLoadStatus
+                               , public nsIStreamListener
+                               , public nsIRunnable
+                               , public nsIInterfaceRequestor
+                               , public nsIChannelEventSink
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -2495,4 +2495,5 @@
-class nsSVGFEOffsetElement : public nsSVGFEOffsetElementBase,
-                             public nsIDOMSVGFEOffsetElement,
-                             public nsISVGFilter
-{
+class nsSVGFEOffsetElement : public XPCOMGCFinalizedObject,
+                             public nsSVGFEOffsetElementBase,
+                             public nsIDOMSVGFEOffsetElement,
+                             public nsISVGFilter
+{
--- /builds/xpcomgc/src/layout/xul/base/src/tree/src/nsTreeColumns.h
+++ /builds/xpcomgc/src/layout/xul/base/src/tree/src/nsTreeColumns.h
@@ -52,1 +52,1 @@
-class nsTreeColumn : public nsITreeColumn {
+class nsTreeColumn : public XPCOMGCFinalizedObject, public nsITreeColumn {
--- /builds/xpcomgc/src/modules/libpr0n/decoders/png/nsPNGDecoder.h
+++ /builds/xpcomgc/src/modules/libpr0n/decoders/png/nsPNGDecoder.h
@@ -64,2 +64,2 @@
-class nsPNGDecoder : public imgIDecoder
-{
+class nsPNGDecoder : public XPCOMGCFinalizedObject, public imgIDecoder
+{
--- /builds/xpcomgc/src/layout/generic/nsLineBox.h
+++ /builds/xpcomgc/src/layout/generic/nsLineBox.h
@@ -1519,1 +1519,1 @@
-class nsLineIterator : public nsILineIteratorNavigator {
+class nsLineIterator : public XPCOMGCFinalizedObject, public nsILineIteratorNavigator {
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGPathGeometryFrame.h
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGPathGeometryFrame.h
@@ -59,3 +59,4 @@
-class nsSVGPathGeometryFrame : public nsSVGPathGeometryFrameBase,
-                               public nsISVGChildFrame
-{
+class nsSVGPathGeometryFrame : public XPCOMGCFinalizedObject,
+                               public nsSVGPathGeometryFrameBase,
+                               public nsISVGChildFrame
+{
--- /builds/xpcomgc/src/content/xul/content/src/nsXULElement.cpp
+++ /builds/xpcomgc/src/content/xul/content/src/nsXULElement.cpp
@@ -217,2 +217,2 @@
-class nsXULElementTearoff : public nsIDOMElementCSSInlineStyle
-{
+class nsXULElementTearoff : public XPCOMGCFinalizedObject, public nsIDOMElementCSSInlineStyle
+{
--- /builds/xpcomgc/src/content/events/src/nsDOMEvent.h
+++ /builds/xpcomgc/src/content/events/src/nsDOMEvent.h
@@ -55,4 +55,5 @@
-class nsDOMEvent : public nsIDOMEvent,
-                   public nsIDOMNSEvent,
-                   public nsIPrivateDOMEvent
-{
+class nsDOMEvent : public XPCOMGCFinalizedObject,
+                   public nsIDOMEvent,
+                   public nsIDOMNSEvent,
+                   public nsIPrivateDOMEvent
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLHeadingElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLHeadingElement.cpp
@@ -45,3 +45,4 @@
-class nsHTMLHeadingElement : public nsGenericHTMLElement,
-                             public nsIDOMHTMLHeadingElement
-{
+class nsHTMLHeadingElement : public XPCOMGCFinalizedObject,
+                             public nsGenericHTMLElement,
+                             public nsIDOMHTMLHeadingElement
+{
--- /builds/xpcomgc/src/layout/style/nsCSSLoader.h
+++ /builds/xpcomgc/src/layout/style/nsCSSLoader.h
@@ -295,2 +295,2 @@
-class CSSLoaderImpl : public nsICSSLoader
-{
+class CSSLoaderImpl : public XPCOMGCFinalizedObject, public nsICSSLoader
+{
--- /builds/xpcomgc/src/intl/unicharutil/src/nsSaveAsCharset.h
+++ /builds/xpcomgc/src/intl/unicharutil/src/nsSaveAsCharset.h
@@ -54,2 +54,2 @@
-class nsSaveAsCharset : public nsISaveAsCharset
-{
+class nsSaveAsCharset : public XPCOMGCFinalizedObject, public nsISaveAsCharset
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSHelper.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSHelper.h
@@ -50,2 +50,2 @@
-class PipUIContext : public nsIInterfaceRequestor
-{
+class PipUIContext : public XPCOMGCFinalizedObject, public nsIInterfaceRequestor
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLTableRowElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLTableRowElement.cpp
@@ -51,3 +51,4 @@
-class nsHTMLTableRowElement : public nsGenericHTMLElement,
-                              public nsIDOMHTMLTableRowElement
-{
+class nsHTMLTableRowElement : public XPCOMGCFinalizedObject,
+                              public nsGenericHTMLElement,
+                              public nsIDOMHTMLTableRowElement
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -284,2 +284,2 @@
-class nsSupportsDoubleImpl : public nsISupportsDouble
-{
+class nsSupportsDoubleImpl : public XPCOMGCFinalizedObject, public nsISupportsDouble
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -332,2 +332,2 @@
-class nsZHCNPSMDetector : public nsXPCOMDetector
-{
+class nsZHCNPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMDetector
+{
--- /builds/xpcomgc/src/content/base/src/nsXMLHttpRequest.h
+++ /builds/xpcomgc/src/content/base/src/nsXMLHttpRequest.h
@@ -230,2 +230,2 @@
-class nsXMLHttpProgressEvent : public nsIDOMLSProgressEvent
-{
+class nsXMLHttpProgressEvent : public XPCOMGCFinalizedObject, public nsIDOMLSProgressEvent
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsCacheService.cpp
+++ /builds/xpcomgc/src/netwerk/cache/src/nsCacheService.cpp
@@ -94,2 +94,2 @@
-class nsCacheProfilePrefObserver : public nsIObserver
-{
+class nsCacheProfilePrefObserver : public XPCOMGCFinalizedObject, public nsIObserver
+{
--- /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
@@ -135,1 +135,1 @@
-class nsASXULWindowEarlyToLateEnumerator : public nsASXULWindowEnumerator {
+class nsASXULWindowEarlyToLateEnumerator : public XPCOMGCFinalizedObject, public nsASXULWindowEnumerator {
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLBodyElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLBodyElement.cpp
@@ -84,3 +84,4 @@
-class nsHTMLBodyElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLBodyElement
-{
+class nsHTMLBodyElement : public XPCOMGCFinalizedObject,
+                          public nsGenericHTMLElement,
+                          public nsIDOMHTMLBodyElement
+{
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUCS2BEToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUCS2BEToUnicode.h
@@ -73,2 +73,2 @@
-class nsUTF16LEToUnicode : public nsUTF16ToUnicodeBase
-{
+class nsUTF16LEToUnicode : public XPCOMGCFinalizedObject, public nsUTF16ToUnicodeBase
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCipherInfo.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCipherInfo.h
@@ -41,2 +41,2 @@
-class nsCipherInfoService : public nsICipherInfoService
-{
+class nsCipherInfoService : public XPCOMGCFinalizedObject, public nsICipherInfoService
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsClipboard.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsClipboard.h
@@ -44,2 +44,2 @@
-class nsClipboard : public nsIClipboard
-{
+class nsClipboard : public XPCOMGCFinalizedObject, public nsIClipboard
+{
--- /builds/xpcomgc/src/xpfe/appshell/src/nsAbout.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsAbout.h
@@ -42,2 +42,2 @@
-class nsAbout : public nsIAboutModule 
-{
+class nsAbout : public XPCOMGCFinalizedObject, public nsIAboutModule 
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedPreserveAspectRatio.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedPreserveAspectRatio.cpp
@@ -47,4 +47,5 @@
-class nsSVGAnimatedPreserveAspectRatio : public nsIDOMSVGAnimatedPreserveAspectRatio,
-                                         public nsSVGValue,
-                                         public nsISVGValueObserver
-{
+class nsSVGAnimatedPreserveAspectRatio : public XPCOMGCFinalizedObject,
+                                         public nsIDOMSVGAnimatedPreserveAspectRatio,
+                                         public nsSVGValue,
+                                         public nsISVGValueObserver
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLFieldSetElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLFieldSetElement.cpp
@@ -46,3 +46,4 @@
-class nsHTMLFieldSetElement : public nsGenericHTMLFormElement,
-                              public nsIDOMHTMLFieldSetElement
-{
+class nsHTMLFieldSetElement : public XPCOMGCFinalizedObject,
+                              public nsGenericHTMLFormElement,
+                              public nsIDOMHTMLFieldSetElement
+{
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUCS2BEToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUCS2BEToUnicode.h
@@ -64,2 +64,2 @@
-class nsUTF16BEToUnicode : public nsUTF16ToUnicodeBase
-{
+class nsUTF16BEToUnicode : public XPCOMGCFinalizedObject, public nsUTF16ToUnicodeBase
+{
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUTF32ToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUTF32ToUnicode.h
@@ -114,2 +114,2 @@
-class nsUTF32LEToUnicode : public nsUTF32ToUnicode
-{
+class nsUTF32LEToUnicode : public XPCOMGCFinalizedObject, public nsUTF32ToUnicode
+{
--- /builds/xpcomgc/src/docshell/base/nsDocShellEnumerator.h
+++ /builds/xpcomgc/src/docshell/base/nsDocShellEnumerator.h
@@ -116,2 +116,2 @@
-class nsDocShellForwardsEnumerator : public nsDocShellEnumerator
-{
+class nsDocShellForwardsEnumerator : public XPCOMGCFinalizedObject, public nsDocShellEnumerator
+{
--- /builds/xpcomgc/src/rdf/base/src/nsRDFService.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsRDFService.cpp
@@ -662,1 +662,1 @@
-class IntImpl : public nsIRDFInt {
+class IntImpl : public XPCOMGCFinalizedObject, public nsIRDFInt {
--- /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateQueryProcessorXML.h
+++ /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateQueryProcessorXML.h
@@ -146,3 +146,4 @@
-class nsXULTemplateQueryProcessorXML : public nsIXULTemplateQueryProcessor,
-                                       public nsIDOMEventListener
-{
+class nsXULTemplateQueryProcessorXML : public XPCOMGCFinalizedObject,
+                                       public nsIXULTemplateQueryProcessor,
+                                       public nsIDOMEventListener
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsPKCS11Slot.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsPKCS11Slot.h
@@ -51,3 +51,4 @@
-class nsPKCS11Slot : public nsIPKCS11Slot,
-                     public nsNSSShutDownObject
-{
+class nsPKCS11Slot : public XPCOMGCFinalizedObject,
+                     public nsIPKCS11Slot,
+                     public nsNSSShutDownObject
+{
--- /builds/xpcomgc/src/content/base/src/nsXMLHttpRequest.cpp
+++ /builds/xpcomgc/src/content/base/src/nsXMLHttpRequest.cpp
@@ -143,2 +143,2 @@
-class nsMultipartProxyListener : public nsIStreamListener
-{
+class nsMultipartProxyListener : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/dom/src/base/nsGlobalWindow.h
+++ /builds/xpcomgc/src/dom/src/base/nsGlobalWindow.h
@@ -806,3 +806,4 @@
-class nsLocation : public nsIDOMLocation,
-                   public nsIDOMNSLocation
-{
+class nsLocation : public XPCOMGCFinalizedObject,
+                   public nsIDOMLocation,
+                   public nsIDOMNSLocation
+{
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGUtils.cpp
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGUtils.cpp
@@ -302,1 +302,1 @@
-class nsSVGMaskProperty : public nsSVGPropertyBase {
+class nsSVGMaskProperty : public XPCOMGCFinalizedObject, public nsSVGPropertyBase {
--- /builds/xpcomgc/src/xpcom/tests/TestHashtables.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestHashtables.cpp
@@ -223,2 +223,2 @@
-class IFoo : public nsISupports
-  {
+class IFoo : public XPCOMGCFinalizedObject, public nsISupports
+  {
--- /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
+++ /builds/xpcomgc/src/editor/libeditor/text/nsEditorEventListeners.h
@@ -62,1 +62,1 @@
-class nsTextEditorKeyListener : public nsIDOMKeyListener {
+class nsTextEditorKeyListener : public XPCOMGCFinalizedObject, public nsIDOMKeyListener {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -1897,3 +1897,4 @@
-class nsSVGPathSegCurvetoCubicSmoothAbs : public nsIDOMSVGPathSegCurvetoCubicSmoothAbs,
-                                          public nsSVGPathSeg
-{
+class nsSVGPathSegCurvetoCubicSmoothAbs : public XPCOMGCFinalizedObject,
+                                          public nsIDOMSVGPathSegCurvetoCubicSmoothAbs,
+                                          public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/browser/components/shell/src/nsGNOMEShellService.h
+++ /builds/xpcomgc/src/browser/components/shell/src/nsGNOMEShellService.h
@@ -42,2 +42,2 @@
-class nsGNOMEShellService : public nsIShellService
-{
+class nsGNOMEShellService : public XPCOMGCFinalizedObject, public nsIShellService
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsProxyInfo.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsProxyInfo.h
@@ -55,2 +55,2 @@
-class nsProxyInfo : public nsIProxyInfo
-{
+class nsProxyInfo : public XPCOMGCFinalizedObject, public nsIProxyInfo
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -1521,5 +1521,6 @@
-class nsXPCComponents_ID :
-  public nsIXPCComponents_ID,
-  public nsIXPCScriptable,
-  public nsIClassInfo
-{
+class nsXPCComponents_ID :
+  public XPCOMGCFinalizedObject,
+  public nsIXPCComponents_ID,
+  public nsIXPCScriptable,
+  public nsIClassInfo
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSComponent.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSComponent.h
@@ -192,8 +192,9 @@
-class nsNSSComponent : public nsISignatureVerifier,
-                       public nsIEntropyCollector,
-                       public nsINSSComponent,
-                       public nsIObserver,
-                       public nsSupportsWeakReference,
-                       public nsITimerCallback,
-                       public nsINSSErrorsService
-{
+class nsNSSComponent : public XPCOMGCFinalizedObject,
+                       public nsISignatureVerifier,
+                       public nsIEntropyCollector,
+                       public nsINSSComponent,
+                       public nsIObserver,
+                       public nsSupportsWeakReference,
+                       public nsITimerCallback,
+                       public nsINSSErrorsService
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_child.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_child.cpp
@@ -143,2 +143,2 @@
-class xpctestChild : public nsIXPCTestChild
-{
+class xpctestChild : public XPCOMGCFinalizedObject, public nsIXPCTestChild
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertificate.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertificate.h
@@ -61,8 +61,9 @@
-class nsNSSCertificate : public nsIX509Cert,
-                         public nsIX509Cert2,
-                         public nsIX509Cert3,
-                         public nsISMimeCert,
-                         public nsISerializable,
-                         public nsIClassInfo,
-                         public nsNSSShutDownObject
-{
+class nsNSSCertificate : public XPCOMGCFinalizedObject,
+                         public nsIX509Cert,
+                         public nsIX509Cert2,
+                         public nsIX509Cert3,
+                         public nsISMimeCert,
+                         public nsISerializable,
+                         public nsIClassInfo,
+                         public nsNSSShutDownObject
+{
--- /builds/xpcomgc/src/xpcom/components/nsCategoryManager.cpp
+++ /builds/xpcomgc/src/xpcom/components/nsCategoryManager.cpp
@@ -185,3 +185,3 @@
-class EntryEnumerator
-  : public BaseStringEnumerator
-{
+class EntryEnumerator
+  : public XPCOMGCFinalizedObject, public BaseStringEnumerator
+{
--- /builds/xpcomgc/src/netwerk/test/TestSocketTransport.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestSocketTransport.cpp
@@ -77,3 +77,4 @@
-class MyHandler : public nsIOutputStreamCallback
-                , public nsIInputStreamCallback
-{
+class MyHandler : public XPCOMGCFinalizedObject
+                , public nsIOutputStreamCallback
+                , public nsIInputStreamCallback
+{
--- /builds/xpcomgc/src/content/base/src/nsScriptLoader.h
+++ /builds/xpcomgc/src/content/base/src/nsScriptLoader.h
@@ -58,2 +58,2 @@
-class nsScriptLoader : public nsIStreamLoaderObserver
-{
+class nsScriptLoader : public XPCOMGCFinalizedObject, public nsIStreamLoaderObserver
+{
--- /builds/xpcomgc/src/xpcom/reflect/xptinfo/src/xptiprivate.h
+++ /builds/xpcomgc/src/xpcom/reflect/xptinfo/src/xptiprivate.h
@@ -784,2 +784,2 @@
-class xptiZipLoaderSink : public nsIXPTLoaderSink
-{
+class xptiZipLoaderSink : public XPCOMGCFinalizedObject, public nsIXPTLoaderSink
+{
--- /builds/xpcomgc/src/xpcom/tests/TestPipe.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestPipe.cpp
@@ -75,2 +75,2 @@
-class BackwardsAllocator : public nsIMemory
-{
+class BackwardsAllocator : public XPCOMGCFinalizedObject, public nsIMemory
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsPACMan.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsPACMan.h
@@ -72,4 +72,5 @@
-class nsPACMan : public nsIStreamLoaderObserver
-               , public nsIInterfaceRequestor
-               , public nsIChannelEventSink
-{
+class nsPACMan : public XPCOMGCFinalizedObject
+               , public nsIStreamLoaderObserver
+               , public nsIInterfaceRequestor
+               , public nsIChannelEventSink
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsNativeThemeGTK.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsNativeThemeGTK.h
@@ -47,3 +47,4 @@
-class nsNativeThemeGTK: private nsNativeTheme,
-                        public nsITheme,
-                        public nsIObserver {
+class nsNativeThemeGTK: public XPCOMGCFinalizedObject,
+                        private nsNativeTheme,
+                        public nsITheme,
+                        public nsIObserver {
--- /builds/xpcomgc/src/storage/src/mozStorageStatementWrapper.cpp
+++ /builds/xpcomgc/src/storage/src/mozStorageStatementWrapper.cpp
@@ -82,3 +82,4 @@
-class mozStorageStatementParams : public mozIStorageStatementParams,
-                                  public nsIXPCScriptable
-{
+class mozStorageStatementParams : public XPCOMGCFinalizedObject,
+                                  public mozIStorageStatementParams,
+                                  public nsIXPCScriptable
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsScreenManagerGtk.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsScreenManagerGtk.h
@@ -47,2 +47,2 @@
-class nsScreenManagerGtk : public nsIScreenManager
-{
+class nsScreenManagerGtk : public XPCOMGCFinalizedObject, public nsIScreenManager
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -325,2 +325,2 @@
-class nsZHTWStringPSMDetector : public nsXPCOMStringDetector
-{
+class nsZHTWStringPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMStringDetector
+{
--- /builds/xpcomgc/src/xpfe/appshell/src/nsChromeTreeOwner.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsChromeTreeOwner.h
@@ -55,6 +55,7 @@
-class nsChromeTreeOwner : public nsIDocShellTreeOwner_MOZILLA_1_8_BRANCH,
-                          public nsIBaseWindow, 
-                          public nsIInterfaceRequestor,
-                          public nsIWebProgressListener,
-                          public nsSupportsWeakReference
-{
+class nsChromeTreeOwner : public XPCOMGCFinalizedObject,
+                          public nsIDocShellTreeOwner_MOZILLA_1_8_BRANCH,
+                          public nsIBaseWindow, 
+                          public nsIInterfaceRequestor,
+                          public nsIWebProgressListener,
+                          public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/xtf/src/nsXTFElementWrapper.h
+++ /builds/xpcomgc/src/content/xtf/src/nsXTFElementWrapper.h
@@ -54,4 +54,5 @@
-class nsXTFElementWrapper : public nsXTFElementWrapperBase,
-                            public nsIXTFElementWrapper,
-                            public nsIClassInfo
-{
+class nsXTFElementWrapper : public XPCOMGCFinalizedObject,
+                            public nsXTFElementWrapperBase,
+                            public nsIXTFElementWrapper,
+                            public nsIClassInfo
+{
--- /builds/xpcomgc/src/editor/libeditor/base/EditAggregateTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/EditAggregateTxn.h
@@ -55,2 +55,2 @@
-class EditAggregateTxn : public EditTxn
-{
+class EditAggregateTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/intl/uconv/util/nsUCSupport.h
+++ /builds/xpcomgc/src/intl/uconv/util/nsUCSupport.h
@@ -217,2 +217,2 @@
-class nsMultiTableDecoderSupport : public nsBufferDecoderSupport
-{
+class nsMultiTableDecoderSupport : public XPCOMGCFinalizedObject, public nsBufferDecoderSupport
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsCacheSession.h
+++ /builds/xpcomgc/src/netwerk/cache/src/nsCacheSession.h
@@ -51,3 +51,4 @@
-class nsCacheSession : public nsICacheSession
-                     , public nsIOfflineCacheSession
-{
+class nsCacheSession : public XPCOMGCFinalizedObject
+                     , public nsICacheSession
+                     , public nsIOfflineCacheSession
+{
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsTXTToHTMLConv.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsTXTToHTMLConv.h
@@ -89,1 +89,1 @@
-class nsTXTToHTMLConv : public nsITXTToHTMLConv {
+class nsTXTToHTMLConv : public XPCOMGCFinalizedObject, public nsITXTToHTMLConv {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -2135,3 +2135,4 @@
-class nsSVGFEFuncRElement : public nsSVGComponentTransferFunctionElement,
-                            public nsIDOMSVGFEFuncRElement
-{
+class nsSVGFEFuncRElement : public XPCOMGCFinalizedObject,
+                            public nsSVGComponentTransferFunctionElement,
+                            public nsIDOMSVGFEFuncRElement
+{
--- /builds/xpcomgc/src/layout/inspector/src/inFlasher.h
+++ /builds/xpcomgc/src/layout/inspector/src/inFlasher.h
@@ -54,2 +54,2 @@
-class inFlasher : public inIFlasher
-{
+class inFlasher : public XPCOMGCFinalizedObject, public inIFlasher
+{
--- /builds/xpcomgc/src/layout/style/nsCSSRuleProcessor.h
+++ /builds/xpcomgc/src/layout/style/nsCSSRuleProcessor.h
@@ -63,1 +63,1 @@
-class nsCSSRuleProcessor: public nsIStyleRuleProcessor {
+class nsCSSRuleProcessor: public XPCOMGCFinalizedObject, public nsIStyleRuleProcessor {
--- /builds/xpcomgc/src/intl/uconv/src/nsCharsetAlias.h
+++ /builds/xpcomgc/src/intl/uconv/src/nsCharsetAlias.h
@@ -43,2 +43,2 @@
-class nsCharsetAlias2 : public nsICharsetAlias
-{
+class nsCharsetAlias2 : public XPCOMGCFinalizedObject, public nsICharsetAlias
+{
--- /builds/xpcomgc/src/content/xul/content/src/nsXULPopupListener.h
+++ /builds/xpcomgc/src/content/xul/content/src/nsXULPopupListener.h
@@ -58,3 +58,4 @@
-class nsXULPopupListener : public nsIDOMMouseListener,
-                           public nsIDOMContextMenuListener
-{
+class nsXULPopupListener : public XPCOMGCFinalizedObject,
+                           public nsIDOMMouseListener,
+                           public nsIDOMContextMenuListener
+{
--- /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpHandler.h
+++ /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpHandler.h
@@ -313,3 +313,4 @@
-class nsHttpsHandler : public nsIHttpProtocolHandler
-                     , public nsSupportsWeakReference
-{
+class nsHttpsHandler : public XPCOMGCFinalizedObject
+                     , public nsIHttpProtocolHandler
+                     , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/editor/txmgr/tests/TestTXMgr.cpp
+++ /builds/xpcomgc/src/editor/txmgr/tests/TestTXMgr.cpp
@@ -450,2 +450,2 @@
-class SimpleTransaction : public TestTransaction
-{
+class SimpleTransaction : public XPCOMGCFinalizedObject, public TestTransaction
+{
--- /builds/xpcomgc/src/intl/uconv/ucvko/nsUnicodeToJamoTTF.h
+++ /builds/xpcomgc/src/intl/uconv/ucvko/nsUnicodeToJamoTTF.h
@@ -48,2 +48,2 @@
-class nsUnicodeToJamoTTF : public nsIUnicodeEncoder, public nsICharRepresentable
-{
+class nsUnicodeToJamoTTF : public XPCOMGCFinalizedObject, public nsIUnicodeEncoder, public nsICharRepresentable
+{
--- /builds/xpcomgc/src/modules/libjar/zipwriter/src/nsZipDataStream.h
+++ /builds/xpcomgc/src/modules/libjar/zipwriter/src/nsZipDataStream.h
@@ -47,2 +47,2 @@
-class nsZipDataStream : public nsIStreamListener
-{
+class nsZipDataStream : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/xpcom/ds/nsUnicharBuffer.h
+++ /builds/xpcomgc/src/xpcom/ds/nsUnicharBuffer.h
@@ -42,1 +42,1 @@
-class UnicharBufferImpl : public nsIUnicharBuffer {
+class UnicharBufferImpl : public XPCOMGCFinalizedObject, public nsIUnicharBuffer {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGStyleElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGStyleElement.cpp
@@ -47,4 +47,5 @@
-class nsSVGStyleElement : public nsSVGStyleElementBase,
-                          public nsIDOMSVGStyleElement,
-                          public nsStyleLinkElement
-{
+class nsSVGStyleElement : public XPCOMGCFinalizedObject,
+                          public nsSVGStyleElementBase,
+                          public nsIDOMSVGStyleElement,
+                          public nsStyleLinkElement
+{
--- /builds/xpcomgc/src/embedding/components/commandhandler/src/nsCommandGroup.h
+++ /builds/xpcomgc/src/embedding/components/commandhandler/src/nsCommandGroup.h
@@ -55,2 +55,2 @@
-class nsControllerCommandGroup : public nsIControllerCommandGroup
-{
+class nsControllerCommandGroup : public XPCOMGCFinalizedObject, public nsIControllerCommandGroup
+{
--- /builds/xpcomgc/src/netwerk/test/TestUpload.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestUpload.cpp
@@ -64,2 +64,2 @@
-class InputTestConsumer : public nsIStreamListener
-{
+class InputTestConsumer : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/layout/xul/base/src/tree/src/nsTreeImageListener.h
+++ /builds/xpcomgc/src/layout/xul/base/src/tree/src/nsTreeImageListener.h
@@ -65,2 +65,2 @@
-class nsTreeImageListener : public nsStubImageDecoderObserver, public nsITreeImageListener
-{
+class nsTreeImageListener : public XPCOMGCFinalizedObject, public nsStubImageDecoderObserver, public nsITreeImageListener
+{
--- /builds/xpcomgc/src/extensions/spellcheck/src/mozPersonalDictionary.h
+++ /builds/xpcomgc/src/extensions/spellcheck/src/mozPersonalDictionary.h
@@ -88,4 +88,5 @@
-class mozPersonalDictionary : public mozIPersonalDictionary, 
-                              public nsIObserver,
-                              public nsSupportsWeakReference
-{
+class mozPersonalDictionary : public XPCOMGCFinalizedObject, 
+                              public mozIPersonalDictionary, 
+                              public nsIObserver,
+                              public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/browser/components/migration/src/nsPhoenixProfileMigrator.h
+++ /builds/xpcomgc/src/browser/components/migration/src/nsPhoenixProfileMigrator.h
@@ -52,3 +52,4 @@
-class nsPhoenixProfileMigrator : public nsNetscapeProfileMigratorBase, 
-                                 public nsIBrowserProfileMigrator
-{
+class nsPhoenixProfileMigrator : public XPCOMGCFinalizedObject, 
+                                 public nsNetscapeProfileMigratorBase, 
+                                 public nsIBrowserProfileMigrator
+{
--- /builds/xpcomgc/src/content/xslt/src/xpath/nsXPathResult.h
+++ /builds/xpcomgc/src/content/xslt/src/xpath/nsXPathResult.h
@@ -93,4 +93,5 @@
-class nsXPathResult : public nsIDOMXPathResult,
-                      public nsStubMutationObserver,
-                      public nsIXPathResult
-{
+class nsXPathResult : public XPCOMGCFinalizedObject,
+                      public nsIDOMXPathResult,
+                      public nsStubMutationObserver,
+                      public nsIXPathResult
+{
--- /builds/xpcomgc/src/content/base/src/nsFrameLoader.h
+++ /builds/xpcomgc/src/content/base/src/nsFrameLoader.h
@@ -53,2 +53,2 @@
-class nsFrameLoader : public nsIFrameLoader
-{
+class nsFrameLoader : public XPCOMGCFinalizedObject, public nsIFrameLoader
+{
--- /builds/xpcomgc/src/layout/style/nsCSSRules.cpp
+++ /builds/xpcomgc/src/layout/style/nsCSSRules.cpp
@@ -85,2 +85,2 @@
-class CSSGroupRuleRuleListImpl : public nsIDOMCSSRuleList
-{
+class CSSGroupRuleRuleListImpl : public XPCOMGCFinalizedObject, public nsIDOMCSSRuleList
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNTLMAuthModule.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNTLMAuthModule.h
@@ -43,2 +43,2 @@
-class nsNTLMAuthModule : public nsIAuthModule
-{
+class nsNTLMAuthModule : public XPCOMGCFinalizedObject, public nsIAuthModule
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -346,3 +346,4 @@
-class nsSVGPathSegMovetoRel : public nsIDOMSVGPathSegMovetoRel,
-                              public nsSVGPathSeg
-{
+class nsSVGPathSegMovetoRel : public XPCOMGCFinalizedObject,
+                              public nsIDOMSVGPathSegMovetoRel,
+                              public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/rdf/base/src/nsRDFContainer.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsRDFContainer.cpp
@@ -86,2 +86,2 @@
-class RDFContainerImpl : public nsIRDFContainer
-{
+class RDFContainerImpl : public XPCOMGCFinalizedObject, public nsIRDFContainer
+{
--- /builds/xpcomgc/src/docshell/shistory/src/nsSHTransaction.h
+++ /builds/xpcomgc/src/docshell/shistory/src/nsSHTransaction.h
@@ -49,2 +49,2 @@
-class nsSHTransaction: public nsISHTransaction
-{
+class nsSHTransaction: public XPCOMGCFinalizedObject, public nsISHTransaction
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -866,4 +866,5 @@
-class nsSVGFEBlendElement : public nsSVGFEBlendElementBase,
-                            public nsIDOMSVGFEBlendElement,
-                            public nsISVGFilter
-{
+class nsSVGFEBlendElement : public XPCOMGCFinalizedObject,
+                            public nsSVGFEBlendElementBase,
+                            public nsIDOMSVGFEBlendElement,
+                            public nsISVGFilter
+{
--- /builds/xpcomgc/src/extensions/cookie/nsPermissionManager.cpp
+++ /builds/xpcomgc/src/extensions/cookie/nsPermissionManager.cpp
@@ -86,2 +86,2 @@
-class nsPermissionEnumerator : public nsISimpleEnumerator
-{
+class nsPermissionEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/xpcom/io/nsBinaryStream.h
+++ /builds/xpcomgc/src/xpcom/io/nsBinaryStream.h
@@ -100,2 +100,2 @@
-class nsBinaryInputStream : public nsIObjectInputStream
-{
+class nsBinaryInputStream : public XPCOMGCFinalizedObject, public nsIObjectInputStream
+{
--- /builds/xpcomgc/src/docshell/base/nsDocShell.h
+++ /builds/xpcomgc/src/docshell/base/nsDocShell.h
@@ -144,3 +144,4 @@
-class nsClassifierCallback : public nsIURIClassifierCallback
-                           , public nsIRunnable
-{
+class nsClassifierCallback : public XPCOMGCFinalizedObject
+                           , public nsIURIClassifierCallback
+                           , public nsIRunnable
+{
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToUTF7.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToUTF7.h
@@ -97,2 +97,2 @@
-class nsUnicodeToUTF7 : public nsBasicUTF7Encoder
-{
+class nsUnicodeToUTF7 : public XPCOMGCFinalizedObject, public nsBasicUTF7Encoder
+{
--- /builds/xpcomgc/src/storage/src/mozStorageStatement.h
+++ /builds/xpcomgc/src/storage/src/mozStorageStatement.h
@@ -51,2 +51,2 @@
-class mozStorageStatement : public mozIStorageStatement
-{
+class mozStorageStatement : public XPCOMGCFinalizedObject, public mozIStorageStatement
+{
--- /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierUtils.h
+++ /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierUtils.h
@@ -42,2 +42,2 @@
-class nsUrlClassifierUtils : public nsIUrlClassifierUtils
-{
+class nsUrlClassifierUtils : public XPCOMGCFinalizedObject, public nsIUrlClassifierUtils
+{
--- /builds/xpcomgc/src/xpcom/threads/nsThreadPool.h
+++ /builds/xpcomgc/src/xpcom/threads/nsThreadPool.h
@@ -47,2 +47,2 @@
-class nsThreadPool : public nsIThreadPool, public nsIRunnable
-{
+class nsThreadPool : public XPCOMGCFinalizedObject, public nsIThreadPool, public nsIRunnable
+{
--- /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsWindowWatcher.h
+++ /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsWindowWatcher.h
@@ -66,6 +66,7 @@
-class nsWindowWatcher :
-      public nsIWindowWatcher,
-      public nsPIWindowWatcher,
-      public nsIPromptFactory,
-      public nsIAuthPromptAdapterFactory
-{
+class nsWindowWatcher :
+      public XPCOMGCFinalizedObject,
+      public nsIWindowWatcher,
+      public nsPIWindowWatcher,
+      public nsIPromptFactory,
+      public nsIAuthPromptAdapterFactory
+{
--- /builds/xpcomgc/src/uriloader/exthandler/unix/nsOSHelperAppService.h
+++ /builds/xpcomgc/src/uriloader/exthandler/unix/nsOSHelperAppService.h
@@ -53,2 +53,2 @@
-class nsOSHelperAppService : public nsExternalHelperAppService
-{
+class nsOSHelperAppService : public XPCOMGCFinalizedObject, public nsExternalHelperAppService
+{
--- /builds/xpcomgc/src/gfx/src/thebes/nsThebesRegion.h
+++ /builds/xpcomgc/src/gfx/src/thebes/nsThebesRegion.h
@@ -45,2 +45,2 @@
-class nsThebesRegion : public nsIRegion
-{
+class nsThebesRegion : public XPCOMGCFinalizedObject, public nsIRegion
+{
--- /builds/xpcomgc/src/xpcom/components/nsCategoryManager.cpp
+++ /builds/xpcomgc/src/xpcom/components/nsCategoryManager.cpp
@@ -437,3 +437,3 @@
-class CategoryEnumerator
-  : public BaseStringEnumerator
-{
+class CategoryEnumerator
+  : public XPCOMGCFinalizedObject, public BaseStringEnumerator
+{
--- /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsPromptService.h
+++ /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsPromptService.h
@@ -56,3 +56,4 @@
-class nsPromptService: public nsIPromptService2,
-                       public nsPIPromptService,
-                       public nsINonBlockingAlertService {
+class nsPromptService: public XPCOMGCFinalizedObject,
+                       public nsIPromptService2,
+                       public nsPIPromptService,
+                       public nsINonBlockingAlertService {
--- /builds/xpcomgc/src/dom/src/base/nsBarProps.h
+++ /builds/xpcomgc/src/dom/src/base/nsBarProps.h
@@ -104,2 +104,2 @@
-class nsPersonalbarProp : public nsBarProp
-{
+class nsPersonalbarProp : public XPCOMGCFinalizedObject, public nsBarProp
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCertPicker.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCertPicker.h
@@ -45,2 +45,2 @@
-class nsCertPicker : public nsIUserCertPicker
-{
+class nsCertPicker : public XPCOMGCFinalizedObject, public nsIUserCertPicker
+{
--- /builds/xpcomgc/src/xpcom/ds/nsINIParserImpl.cpp
+++ /builds/xpcomgc/src/xpcom/ds/nsINIParserImpl.cpp
@@ -45,3 +45,3 @@
-class nsINIParserImpl :
-  public nsIINIParser
-{
+class nsINIParserImpl :
+  public XPCOMGCFinalizedObject, public nsIINIParser
+{
--- /builds/xpcomgc/src/intl/uconv/ucvcn/nsISO2022CNToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvcn/nsISO2022CNToUnicode.h
@@ -53,2 +53,2 @@
-class nsISO2022CNToUnicode : public nsBasicDecoderSupport
-{
+class nsISO2022CNToUnicode : public XPCOMGCFinalizedObject, public nsBasicDecoderSupport
+{
--- /builds/xpcomgc/src/layout/generic/nsFrameSelection.h
+++ /builds/xpcomgc/src/layout/generic/nsFrameSelection.h
@@ -196,1 +196,1 @@
-class nsFrameSelection : public nsISupports {
+class nsFrameSelection : public XPCOMGCFinalizedObject, public nsISupports {
--- /builds/xpcomgc/src/editor/libeditor/text/nsAOLCiter.h
+++ /builds/xpcomgc/src/editor/libeditor/text/nsAOLCiter.h
@@ -46,2 +46,2 @@
-class nsAOLCiter  : public nsICiter
-{
+class nsAOLCiter  : public XPCOMGCFinalizedObject, public nsICiter
+{
--- /builds/xpcomgc/src/xpcom/ds/nsPersistentProperties.h
+++ /builds/xpcomgc/src/xpcom/ds/nsPersistentProperties.h
@@ -79,2 +79,2 @@
-class nsPropertyElement : public nsIPropertyElement 
-{
+class nsPropertyElement : public XPCOMGCFinalizedObject, public nsIPropertyElement 
+{
--- /builds/xpcomgc/src/content/base/src/nsDocument.cpp
+++ /builds/xpcomgc/src/content/base/src/nsDocument.cpp
@@ -606,3 +606,4 @@
-class nsDOMImplementation : public nsIDOMDOMImplementation,
-                            public nsIPrivateDOMImplementation
-{
+class nsDOMImplementation : public XPCOMGCFinalizedObject,
+                            public nsIDOMDOMImplementation,
+                            public nsIPrivateDOMImplementation
+{
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedDownloadMgr.cpp
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedDownloadMgr.cpp
@@ -77,2 +77,2 @@
-class ProgressListener : public nsIWebProgressListener2
-{
+class ProgressListener : public XPCOMGCFinalizedObject, public nsIWebProgressListener2
+{
--- /builds/xpcomgc/src/layout/style/nsCSSOMFactory.h
+++ /builds/xpcomgc/src/layout/style/nsCSSOMFactory.h
@@ -46,1 +46,1 @@
-class nsCSSOMFactory : public nsICSSOMFactory {
+class nsCSSOMFactory : public XPCOMGCFinalizedObject, public nsICSSOMFactory {
--- /builds/xpcomgc/src/content/events/src/nsDOMEventGroup.h
+++ /builds/xpcomgc/src/content/events/src/nsDOMEventGroup.h
@@ -43,2 +43,2 @@
-class nsDOMEventGroup : public nsIDOMEventGroup
-{
+class nsDOMEventGroup : public XPCOMGCFinalizedObject, public nsIDOMEventGroup
+{
--- /builds/xpcomgc/src/xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp
+++ /builds/xpcomgc/src/xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp
@@ -1957,2 +1957,2 @@
-class xptiAdditionalManagersEnumerator : public nsISimpleEnumerator 
-{
+class xptiAdditionalManagersEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator 
+{
--- /builds/xpcomgc/src/xpcom/io/nsStreamUtils.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsStreamUtils.cpp
@@ -127,3 +127,4 @@
-class nsOutputStreamReadyEvent : public nsIRunnable
-                               , public nsIOutputStreamCallback
-{
+class nsOutputStreamReadyEvent : public XPCOMGCFinalizedObject
+                               , public nsIRunnable
+                               , public nsIOutputStreamCallback
+{
--- /builds/xpcomgc/src/xpcom/tests/TestPipes.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestPipes.cpp
@@ -408,2 +408,2 @@
-class nsPump : public nsIRunnable
-{
+class nsPump : public XPCOMGCFinalizedObject, public nsIRunnable
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCRLInfo.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCRLInfo.h
@@ -54,2 +54,2 @@
-class nsCRLInfo : public nsICRLInfo
-{
+class nsCRLInfo : public XPCOMGCFinalizedObject, public nsICRLInfo
+{
--- /builds/xpcomgc/src/layout/inspector/src/inDOMView.h
+++ /builds/xpcomgc/src/layout/inspector/src/inDOMView.h
@@ -54,4 +54,5 @@
-class inDOMView : public inIDOMView,
-                  public nsITreeView,
-                  public nsStubMutationObserver
-{
+class inDOMView : public XPCOMGCFinalizedObject,
+                  public inIDOMView,
+                  public nsITreeView,
+                  public nsStubMutationObserver
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsLookAndFeel.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsLookAndFeel.h
@@ -45,1 +45,1 @@
-class nsLookAndFeel: public nsXPLookAndFeel {
+class nsLookAndFeel: public XPCOMGCFinalizedObject, public nsXPLookAndFeel {
--- /builds/xpcomgc/src/layout/style/nsCSSStyleSheet.h
+++ /builds/xpcomgc/src/layout/style/nsCSSStyleSheet.h
@@ -96,4 +96,5 @@
-class nsCSSStyleSheet : public nsICSSStyleSheet, 
-                        public nsIDOMCSSStyleSheet,
-                        public nsICSSLoaderObserver
-{
+class nsCSSStyleSheet : public XPCOMGCFinalizedObject, 
+                        public nsICSSStyleSheet, 
+                        public nsIDOMCSSStyleSheet,
+                        public nsICSSLoaderObserver
+{
--- /builds/xpcomgc/src/content/xml/content/src/nsXMLCDATASection.cpp
+++ /builds/xpcomgc/src/content/xml/content/src/nsXMLCDATASection.cpp
@@ -44,3 +44,4 @@
-class nsXMLCDATASection : public nsGenericDOMDataNode,
-                          public nsIDOMCDATASection
-{
+class nsXMLCDATASection : public XPCOMGCFinalizedObject,
+                          public nsGenericDOMDataNode,
+                          public nsIDOMCDATASection
+{
--- /builds/xpcomgc/src/content/base/src/mozSanitizingSerializer.h
+++ /builds/xpcomgc/src/content/base/src/mozSanitizingSerializer.h
@@ -60,4 +60,5 @@
-class mozSanitizingHTMLSerializer : public nsIContentSerializer,
-                                    public nsIHTMLContentSink,
-                                    public mozISanitizingHTMLSerializer
-{
+class mozSanitizingHTMLSerializer : public XPCOMGCFinalizedObject,
+                                    public nsIContentSerializer,
+                                    public nsIHTMLContentSink,
+                                    public mozISanitizingHTMLSerializer
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLButtonElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLButtonElement.cpp
@@ -66,4 +66,5 @@
-class nsHTMLButtonElement : public nsGenericHTMLFormElement,
-                            public nsIDOMHTMLButtonElement,
-                            public nsIDOMNSHTMLButtonElement
-{
+class nsHTMLButtonElement : public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLFormElement,
+                            public nsIDOMHTMLButtonElement,
+                            public nsIDOMNSHTMLButtonElement
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -339,2 +339,2 @@
-class nsZHCNStringPSMDetector : public nsXPCOMStringDetector
-{
+class nsZHCNStringPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMStringDetector
+{
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedContentListener.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedContentListener.h
@@ -47,3 +47,4 @@
-class EmbedContentListener : public nsIURIContentListener,
-                             public nsSupportsWeakReference
-{
+class EmbedContentListener : public XPCOMGCFinalizedObject,
+                             public nsIURIContentListener,
+                             public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/xpinstall/src/nsSoftwareUpdate.h
+++ /builds/xpcomgc/src/xpinstall/src/nsSoftwareUpdate.h
@@ -25,4 +25,5 @@
-class nsSoftwareUpdate: public nsISoftwareUpdate,
-                        public nsPIXPIStubHook,
-                        public nsIObserver
-{
+class nsSoftwareUpdate: public XPCOMGCFinalizedObject,
+                        public nsISoftwareUpdate,
+                        public nsPIXPIStubHook,
+                        public nsIObserver
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsStreamTransportService.cpp
+++ /builds/xpcomgc/src/netwerk/base/src/nsStreamTransportService.cpp
@@ -266,3 +266,4 @@
-class nsOutputStreamTransport : public nsITransport
-                              , public nsIOutputStream
-{
+class nsOutputStreamTransport : public XPCOMGCFinalizedObject
+                              , public nsITransport
+                              , public nsIOutputStream
+{
--- /builds/xpcomgc/src/docshell/shistory/src/nsSHistory.cpp
+++ /builds/xpcomgc/src/docshell/shistory/src/nsSHistory.cpp
@@ -90,2 +90,2 @@
-class nsSHistoryObserver : public nsIObserver
-{
+class nsSHistoryObserver : public XPCOMGCFinalizedObject, public nsIObserver
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsSocketTransportService2.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsSocketTransportService2.h
@@ -126,5 +126,6 @@
-class nsSocketTransportService : public nsPISocketTransportService
-                               , public nsIEventTarget
-                               , public nsIThreadObserver
-                               , public nsIRunnable
-{
+class nsSocketTransportService : public XPCOMGCFinalizedObject
+                               , public nsPISocketTransportService
+                               , public nsIEventTarget
+                               , public nsIThreadObserver
+                               , public nsIRunnable
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertificate.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertificate.h
@@ -101,2 +101,2 @@
-class nsNSSCertList: public nsIX509CertList
-{
+class nsNSSCertList: public XPCOMGCFinalizedObject, public nsIX509CertList
+{
--- /builds/xpcomgc/src/uriloader/exthandler/nsExternalProtocolHandler.cpp
+++ /builds/xpcomgc/src/uriloader/exthandler/nsExternalProtocolHandler.cpp
@@ -66,2 +66,2 @@
-class nsExtProtocolChannel : public nsIChannel
-{
+class nsExtProtocolChannel : public XPCOMGCFinalizedObject, public nsIChannel
+{
--- /builds/xpcomgc/src/netwerk/test/TestPageLoad.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestPageLoad.cpp
@@ -158,2 +158,2 @@
-class MyListener : public nsIStreamListener
-{
+class MyListener : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/toolkit/components/startup/src/nsAppStartup.h
+++ /builds/xpcomgc/src/toolkit/components/startup/src/nsAppStartup.h
@@ -57,5 +57,6 @@
-class nsAppStartup : public nsIAppStartup,
-                     public nsIWindowCreator2,
-                     public nsIObserver,
-                     public nsSupportsWeakReference
-{
+class nsAppStartup : public XPCOMGCFinalizedObject,
+                     public nsIAppStartup,
+                     public nsIWindowCreator2,
+                     public nsIObserver,
+                     public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/extensions/auth/nsAuthGSSAPI.h
+++ /builds/xpcomgc/src/extensions/auth/nsAuthGSSAPI.h
@@ -54,2 +54,2 @@
-class nsAuthGSSAPI : public nsIAuthModule
-{
+class nsAuthGSSAPI : public XPCOMGCFinalizedObject, public nsIAuthModule
+{
--- /builds/xpcomgc/src/xpinstall/src/nsInstallVersion.h
+++ /builds/xpcomgc/src/xpinstall/src/nsInstallVersion.h
@@ -14,2 +14,2 @@
-class nsInstallVersion: public nsIScriptObjectOwner, public nsIDOMInstallVersion
-{
+class nsInstallVersion: public XPCOMGCFinalizedObject, public nsIScriptObjectOwner, public nsIDOMInstallVersion
+{
--- /builds/xpcomgc/src/js/src/xpconnect/loader/mozJSSubScriptLoader.h
+++ /builds/xpcomgc/src/js/src/xpconnect/loader/mozJSSubScriptLoader.h
@@ -52,2 +52,2 @@
-class mozJSSubScriptLoader : public mozIJSSubScriptLoader
-{
+class mozJSSubScriptLoader : public XPCOMGCFinalizedObject, public mozIJSSubScriptLoader
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedRect.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedRect.cpp
@@ -47,4 +47,5 @@
-class nsSVGAnimatedRect : public nsIDOMSVGAnimatedRect,
-                          public nsSVGValue,
-                          public nsISVGValueObserver
-{  
+class nsSVGAnimatedRect : public XPCOMGCFinalizedObject,
+                          public nsIDOMSVGAnimatedRect,
+                          public nsSVGValue,
+                          public nsISVGValueObserver
+{  
--- /builds/xpcomgc/src/netwerk/test/TestCallbacks.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestCallbacks.cpp
@@ -76,1 +76,1 @@
-class ConsumerContext : public nsIEquals {
+class ConsumerContext : public XPCOMGCFinalizedObject, public nsIEquals {
--- /builds/xpcomgc/src/rdf/base/src/nsRDFXMLSerializer.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsRDFXMLSerializer.cpp
@@ -1043,1 +1043,1 @@
-class QNameCollector : public rdfITripleVisitor {
+class QNameCollector : public XPCOMGCFinalizedObject, public rdfITripleVisitor {
--- /builds/xpcomgc/src/docshell/base/nsDSURIContentListener.h
+++ /builds/xpcomgc/src/docshell/base/nsDSURIContentListener.h
@@ -50,5 +50,6 @@
-class nsDSURIContentListener :
-    public nsIURIContentListener,
-    public nsSupportsWeakReference
-
-{
+class nsDSURIContentListener :
+    public XPCOMGCFinalizedObject,
+    public nsIURIContentListener,
+    public nsSupportsWeakReference
+
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsDirectoryIndexStream.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsDirectoryIndexStream.h
@@ -47,2 +47,2 @@
-class nsDirectoryIndexStream : public nsIInputStream
-{
+class nsDirectoryIndexStream : public XPCOMGCFinalizedObject, public nsIInputStream
+{
--- /builds/xpcomgc/src/embedding/browser/webBrowser/nsContextMenuInfo.h
+++ /builds/xpcomgc/src/embedding/browser/webBrowser/nsContextMenuInfo.h
@@ -57,2 +57,2 @@
-class nsContextMenuInfo : public nsIContextMenuInfo
-{
+class nsContextMenuInfo : public XPCOMGCFinalizedObject, public nsIContextMenuInfo
+{
--- /builds/xpcomgc/src/xpcom/ds/nsByteBuffer.h
+++ /builds/xpcomgc/src/xpcom/ds/nsByteBuffer.h
@@ -42,1 +42,1 @@
-class ByteBufferImpl : public nsIByteBuffer {
+class ByteBufferImpl : public XPCOMGCFinalizedObject, public nsIByteBuffer {
--- /builds/xpcomgc/src/widget/src/gtk2/nsDeviceContextSpecG.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsDeviceContextSpecG.h
@@ -125,2 +125,2 @@
-class nsPrinterEnumeratorGTK : public nsIPrinterEnumerator
-{
+class nsPrinterEnumeratorGTK : public XPCOMGCFinalizedObject, public nsIPrinterEnumerator
+{
--- /builds/xpcomgc/src/view/src/nsViewManager.h
+++ /builds/xpcomgc/src/view/src/nsViewManager.h
@@ -103,1 +103,1 @@
-class nsViewManager : public nsIViewManager {
+class nsViewManager : public XPCOMGCFinalizedObject, public nsIViewManager {
--- /builds/xpcomgc/src/layout/style/nsCSSStyleRule.cpp
+++ /builds/xpcomgc/src/layout/style/nsCSSStyleRule.cpp
@@ -835,2 +835,2 @@
-class DOMCSSStyleRuleImpl : public nsICSSStyleRuleDOMWrapper
-{
+class DOMCSSStyleRuleImpl : public XPCOMGCFinalizedObject, public nsICSSStyleRuleDOMWrapper
+{
--- /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateResultXML.h
+++ /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateResultXML.h
@@ -47,2 +47,2 @@
-class nsXULTemplateResultXML : public nsIXULTemplateResult
-{
+class nsXULTemplateResultXML : public XPCOMGCFinalizedObject, public nsIXULTemplateResult
+{
--- /builds/xpcomgc/src/netwerk/protocol/about/src/nsAboutCache.h
+++ /builds/xpcomgc/src/netwerk/protocol/about/src/nsAboutCache.h
@@ -48,3 +48,4 @@
-class nsAboutCache : public nsIAboutModule 
-                   , public nsICacheVisitor
-{
+class nsAboutCache : public XPCOMGCFinalizedObject 
+                   , public nsIAboutModule 
+                   , public nsICacheVisitor
+{
--- /builds/xpcomgc/src/dom/src/base/nsBarProps.h
+++ /builds/xpcomgc/src/dom/src/base/nsBarProps.h
@@ -94,2 +94,2 @@
-class nsLocationbarProp : public nsBarProp
-{
+class nsLocationbarProp : public XPCOMGCFinalizedObject, public nsBarProp
+{
--- /builds/xpcomgc/src/layout/inspector/src/inDOMUtils.h
+++ /builds/xpcomgc/src/layout/inspector/src/inDOMUtils.h
@@ -46,2 +46,2 @@
-class inDOMUtils : public inIDOMUtils
-{
+class inDOMUtils : public XPCOMGCFinalizedObject, public inIDOMUtils
+{
--- /builds/xpcomgc/src/xpcom/ds/nsProperties.h
+++ /builds/xpcomgc/src/xpcom/ds/nsProperties.h
@@ -59,2 +59,3 @@
-class nsProperties : public nsIProperties,
-                     public nsProperties_HashBase {
+class nsProperties : public XPCOMGCFinalizedObject,
+                     public nsIProperties,
+                     public nsProperties_HashBase {
--- /builds/xpcomgc/src/intl/unicharutil/src/nsEntityConverter.h
+++ /builds/xpcomgc/src/intl/unicharutil/src/nsEntityConverter.h
@@ -56,2 +56,2 @@
-class nsEntityConverter: public nsIEntityConverter
-{
+class nsEntityConverter: public XPCOMGCFinalizedObject, public nsIEntityConverter
+{
--- /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpConnection.h
+++ /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpConnection.h
@@ -62,7 +62,8 @@
-class nsHttpConnection : public nsAHttpSegmentReader
-                       , public nsAHttpSegmentWriter
-                       , public nsIInputStreamCallback
-                       , public nsIOutputStreamCallback
-                       , public nsITransportEventSink
-                       , public nsIInterfaceRequestor
-{
+class nsHttpConnection : public XPCOMGCFinalizedObject
+                       , public nsAHttpSegmentReader
+                       , public nsAHttpSegmentWriter
+                       , public nsIInputStreamCallback
+                       , public nsIOutputStreamCallback
+                       , public nsITransportEventSink
+                       , public nsIInterfaceRequestor
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGLineElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGLineElement.cpp
@@ -47,3 +47,4 @@
-class nsSVGLineElement : public nsSVGLineElementBase,
-                         public nsIDOMSVGLineElement
-{
+class nsSVGLineElement : public XPCOMGCFinalizedObject,
+                         public nsSVGLineElementBase,
+                         public nsIDOMSVGLineElement
+{
--- /builds/xpcomgc/src/content/base/src/nsXMLHttpRequest.cpp
+++ /builds/xpcomgc/src/content/base/src/nsXMLHttpRequest.cpp
@@ -233,4 +233,5 @@
-class nsACProxyListener : public nsIStreamListener,
-                          public nsIInterfaceRequestor,
-                          public nsIChannelEventSink
-{
+class nsACProxyListener : public XPCOMGCFinalizedObject,
+                          public nsIStreamListener,
+                          public nsIInterfaceRequestor,
+                          public nsIChannelEventSink
+{
--- /builds/xpcomgc/src/xpfe/appshell/src/nsWindowMediator.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsWindowMediator.h
@@ -57,2 +57,2 @@
-class nsWindowMediator : public nsIWindowMediator
-{
+class nsWindowMediator : public XPCOMGCFinalizedObject, public nsIWindowMediator
+{
--- /builds/xpcomgc/src/toolkit/components/satchel/src/nsFormFillController.h
+++ /builds/xpcomgc/src/toolkit/components/satchel/src/nsFormFillController.h
@@ -64,11 +64,12 @@
-class nsFormFillController : public nsIFormFillController,
-                             public nsIAutoCompleteInput,
-                             public nsIAutoCompleteSearch,
-                             public nsIDOMFocusListener,
-                             public nsIDOMKeyListener,
-                             public nsIDOMCompositionListener,
-                             public nsIDOMFormListener,
-                             public nsIDOMMouseListener,
-                             public nsIDOMLoadListener,
-                             public nsIDOMContextMenuListener
-{
+class nsFormFillController : public XPCOMGCFinalizedObject,
+                             public nsIFormFillController,
+                             public nsIAutoCompleteInput,
+                             public nsIAutoCompleteSearch,
+                             public nsIDOMFocusListener,
+                             public nsIDOMKeyListener,
+                             public nsIDOMCompositionListener,
+                             public nsIDOMFormListener,
+                             public nsIDOMMouseListener,
+                             public nsIDOMLoadListener,
+                             public nsIDOMContextMenuListener
+{
--- /builds/xpcomgc/src/rdf/base/src/nsContainerEnumerator.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsContainerEnumerator.cpp
@@ -76,1 +76,1 @@
-class ContainerEnumeratorImpl : public nsISimpleEnumerator {
+class ContainerEnumeratorImpl : public XPCOMGCFinalizedObject, public nsISimpleEnumerator {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGMarkerElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGMarkerElement.h
@@ -47,4 +47,5 @@
-class nsSVGMarkerElement : public nsSVGMarkerElementBase,
-                           public nsIDOMSVGMarkerElement,
-                           public nsIDOMSVGFitToViewBox
-{
+class nsSVGMarkerElement : public XPCOMGCFinalizedObject,
+                           public nsSVGMarkerElementBase,
+                           public nsIDOMSVGMarkerElement,
+                           public nsIDOMSVGFitToViewBox
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsStreamTransportService.cpp
+++ /builds/xpcomgc/src/netwerk/base/src/nsStreamTransportService.cpp
@@ -64,3 +64,4 @@
-class nsInputStreamTransport : public nsITransport
-                             , public nsIInputStream
-{
+class nsInputStreamTransport : public XPCOMGCFinalizedObject
+                             , public nsITransport
+                             , public nsIInputStream
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsKeygenHandler.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsKeygenHandler.h
@@ -58,1 +58,1 @@
-class nsKeygenFormProcessor : public nsIFormProcessor { 
+class nsKeygenFormProcessor : public XPCOMGCFinalizedObject, public nsIFormProcessor { 
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -131,2 +131,2 @@
-class nsSupportsPRUint16Impl : public nsISupportsPRUint16
-{
+class nsSupportsPRUint16Impl : public XPCOMGCFinalizedObject, public nsISupportsPRUint16
+{
--- /builds/xpcomgc/src/xpfe/components/filepicker/src/nsFileView.cpp
+++ /builds/xpcomgc/src/xpfe/components/filepicker/src/nsFileView.cpp
@@ -220,3 +220,4 @@
-class nsFileView : public nsIFileView,
-                   public nsITreeView
-{
+class nsFileView : public XPCOMGCFinalizedObject,
+                   public nsIFileView,
+                   public nsITreeView
+{
--- /builds/xpcomgc/src/xpcom/ds/nsHashPropertyBag.h
+++ /builds/xpcomgc/src/xpcom/ds/nsHashPropertyBag.h
@@ -56,3 +56,4 @@
-class NS_COM nsHashPropertyBag : public nsIWritablePropertyBag
-                               , public nsIWritablePropertyBag2
-{
+class NS_COM nsHashPropertyBag : public XPCOMGCFinalizedObject
+                               , public nsIWritablePropertyBag
+                               , public nsIWritablePropertyBag2
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLLegendElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLLegendElement.cpp
@@ -52,3 +52,4 @@
-class nsHTMLLegendElement : public nsGenericHTMLFormElement,
-                            public nsIDOMHTMLLegendElement
-{
+class nsHTMLLegendElement : public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLFormElement,
+                            public nsIDOMHTMLLegendElement
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGTransformList.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGTransformList.h
@@ -47,4 +47,5 @@
-class nsSVGTransformList : public nsSVGValue,
-                           public nsIDOMSVGTransformList,
-                           public nsISVGValueObserver
-{
+class nsSVGTransformList : public XPCOMGCFinalizedObject,
+                           public nsSVGValue,
+                           public nsIDOMSVGTransformList,
+                           public nsISVGValueObserver
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -126,2 +126,2 @@
-class nsInsertTagCommand : public nsBaseComposerCommand
-{
+class nsInsertTagCommand : public XPCOMGCFinalizedObject, public nsBaseComposerCommand
+{
--- /builds/xpcomgc/src/modules/libpref/src/nsPref.cpp
+++ /builds/xpcomgc/src/modules/libpref/src/nsPref.cpp
@@ -83,7 +83,8 @@
-class nsPref : public nsIPref,
-               public nsIPrefService,
-               public nsIObserver,
-               public nsIPrefBranchInternal,
-               public nsISecurityPref,
-               public nsSupportsWeakReference
-{
+class nsPref : public XPCOMGCFinalizedObject,
+               public nsIPref,
+               public nsIPrefService,
+               public nsIObserver,
+               public nsIPrefBranchInternal,
+               public nsISecurityPref,
+               public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -192,2 +192,2 @@
-class nsParagraphStateCommand : public nsMultiStateCommand
-{
+class nsParagraphStateCommand : public XPCOMGCFinalizedObject, public nsMultiStateCommand
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGMatrix.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGMatrix.cpp
@@ -46,3 +46,4 @@
-class nsSVGMatrix : public nsIDOMSVGMatrix,
-                    public nsSVGValue
-{
+class nsSVGMatrix : public XPCOMGCFinalizedObject,
+                    public nsIDOMSVGMatrix,
+                    public nsSVGValue
+{
--- /builds/xpcomgc/src/intl/uconv/src/nsUTF8ConverterService.h
+++ /builds/xpcomgc/src/intl/uconv/src/nsUTF8ConverterService.h
@@ -43,1 +43,1 @@
-class nsUTF8ConverterService: public nsIUTF8ConverterService {
+class nsUTF8ConverterService: public XPCOMGCFinalizedObject, public nsIUTF8ConverterService {
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -353,2 +353,2 @@
-class nsZHStringPSMDetector : public nsXPCOMStringDetector
-{
+class nsZHStringPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMStringDetector
+{
--- /builds/xpcomgc/src/xpcom/proxy/src/nsProxyEventPrivate.h
+++ /builds/xpcomgc/src/xpcom/proxy/src/nsProxyEventPrivate.h
@@ -102,2 +102,2 @@
-class nsProxyObject : public nsISupports
-{
+class nsProxyObject : public XPCOMGCFinalizedObject, public nsISupports
+{
--- /builds/xpcomgc/src/xpcom/io/nsDirectoryService.h
+++ /builds/xpcomgc/src/xpcom/io/nsDirectoryService.h
@@ -51,4 +51,5 @@
-class nsDirectoryService : public nsIDirectoryService,
-                           public nsIProperties,
-                           public nsIDirectoryServiceProvider2
-{
+class nsDirectoryService : public XPCOMGCFinalizedObject,
+                           public nsIDirectoryService,
+                           public nsIProperties,
+                           public nsIDirectoryServiceProvider2
+{
--- /builds/xpcomgc/src/dom/src/events/nsJSEventListener.h
+++ /builds/xpcomgc/src/dom/src/events/nsJSEventListener.h
@@ -51,3 +51,4 @@
-class nsJSEventListener : public nsIDOMEventListener,
-                          public nsIJSEventListener
-{
+class nsJSEventListener : public XPCOMGCFinalizedObject,
+                          public nsIDOMEventListener,
+                          public nsIJSEventListener
+{
--- /builds/xpcomgc/src/content/xul/content/src/nsXULElement.cpp
+++ /builds/xpcomgc/src/content/xul/content/src/nsXULElement.cpp
@@ -176,2 +176,2 @@
-class nsScriptEventHandlerOwnerTearoff : public nsIScriptEventHandlerOwner
-{
+class nsScriptEventHandlerOwnerTearoff : public XPCOMGCFinalizedObject, public nsIScriptEventHandlerOwner
+{
--- /builds/xpcomgc/src/docshell/base/nsDefaultURIFixup.h
+++ /builds/xpcomgc/src/docshell/base/nsDefaultURIFixup.h
@@ -50,2 +50,2 @@
-class nsDefaultURIFixup : public nsIURIFixup
-{
+class nsDefaultURIFixup : public XPCOMGCFinalizedObject, public nsIURIFixup
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsSimpleURI.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsSimpleURI.h
@@ -55,5 +55,6 @@
-class nsSimpleURI : public nsIURI,
-                    public nsISerializable,
-                    public nsIClassInfo,
-                    public nsIMutable
-{
+class nsSimpleURI : public XPCOMGCFinalizedObject,
+                    public nsIURI,
+                    public nsISerializable,
+                    public nsIClassInfo,
+                    public nsIMutable
+{
--- /builds/xpcomgc/src/editor/txmgr/src/nsTransactionList.h
+++ /builds/xpcomgc/src/editor/txmgr/src/nsTransactionList.h
@@ -52,2 +52,2 @@
-class nsTransactionList : public nsITransactionList
-{
+class nsTransactionList : public XPCOMGCFinalizedObject, public nsITransactionList
+{
--- /builds/xpcomgc/src/js/jsd/jsd_xpc.cpp
+++ /builds/xpcomgc/src/js/jsd/jsd_xpc.cpp
@@ -3287,2 +3287,2 @@
-class jsdASObserver : public nsIObserver 
-{
+class jsdASObserver : public XPCOMGCFinalizedObject, public nsIObserver 
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsImageToPixbuf.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsImageToPixbuf.h
@@ -44,1 +44,1 @@
-class nsImageToPixbuf : public nsIImageToPixbuf {
+class nsImageToPixbuf : public XPCOMGCFinalizedObject, public nsIImageToPixbuf {
--- /builds/xpcomgc/src/rdf/base/src/nsRDFXMLDataSource.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsRDFXMLDataSource.cpp
@@ -142,7 +142,8 @@
-class RDFXMLDataSourceImpl : public nsIRDFDataSource,
-                             public nsIRDFRemoteDataSource,
-                             public nsIRDFXMLSink,
-                             public nsIRDFXMLSource,
-                             public nsIStreamListener,
-                             public rdfIDataSource
-{
+class RDFXMLDataSourceImpl : public XPCOMGCFinalizedObject,
+                             public nsIRDFDataSource,
+                             public nsIRDFRemoteDataSource,
+                             public nsIRDFXMLSink,
+                             public nsIRDFXMLSource,
+                             public nsIStreamListener,
+                             public rdfIDataSource
+{
--- /builds/xpcomgc/src/netwerk/socket/base/nsSocketProviderService.h
+++ /builds/xpcomgc/src/netwerk/socket/base/nsSocketProviderService.h
@@ -42,2 +42,2 @@
-class nsSocketProviderService : public nsISocketProviderService
-{
+class nsSocketProviderService : public XPCOMGCFinalizedObject, public nsISocketProviderService
+{
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedWindow.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedWindow.h
@@ -61,3 +61,4 @@
-class EmbedWindow : public nsIWebBrowserChrome,
-        public nsIWebBrowserChromeFocus,
-                    public nsIEmbeddingSiteWindow,
+class EmbedWindow : public XPCOMGCFinalizedObject,
+        public nsIWebBrowserChrome,
+        public nsIWebBrowserChromeFocus,
+                    public nsIEmbeddingSiteWindow,
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -63,2 +63,2 @@
-class nsSupportsCStringImpl : public nsISupportsCString
-{
+class nsSupportsCStringImpl : public XPCOMGCFinalizedObject, public nsISupportsCString
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGNumber.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGNumber.cpp
@@ -48,3 +48,4 @@
-class nsSVGNumber : public nsIDOMSVGNumber,
-                    public nsSVGValue
-{
+class nsSVGNumber : public XPCOMGCFinalizedObject,
+                    public nsIDOMSVGNumber,
+                    public nsSVGValue
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsURIChecker.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsURIChecker.h
@@ -52,5 +52,6 @@
-class nsURIChecker : public nsIURIChecker,
-                     public nsIStreamListener,
-                     public nsIChannelEventSink,
-                     public nsIInterfaceRequestor
-{
+class nsURIChecker : public XPCOMGCFinalizedObject,
+                     public nsIURIChecker,
+                     public nsIStreamListener,
+                     public nsIChannelEventSink,
+                     public nsIInterfaceRequestor
+{
--- /builds/xpcomgc/src/content/base/src/nsDOMDocumentType.h
+++ /builds/xpcomgc/src/content/base/src/nsDOMDocumentType.h
@@ -55,3 +55,4 @@
-class nsDOMDocumentType : public nsGenericDOMDataNode,
-                          public nsIDOMDocumentType
-{
+class nsDOMDocumentType : public XPCOMGCFinalizedObject,
+                          public nsGenericDOMDataNode,
+                          public nsIDOMDocumentType
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_multiple.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_multiple.cpp
@@ -176,1 +176,1 @@
-class xpcTestChild2 : public nsIXPCTestChild2, public nsIXPCTestParentOne, public nsIXPCTestParentTwo {
+class xpcTestChild2 : public XPCOMGCFinalizedObject, public nsIXPCTestChild2, public nsIXPCTestParentOne, public nsIXPCTestParentTwo {
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_multiple.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_multiple.cpp
@@ -298,1 +298,1 @@
-class xpcTestChild3 : public nsIXPCTestChild3 {
+class xpcTestChild3 : public XPCOMGCFinalizedObject, public nsIXPCTestChild3 {
--- /builds/xpcomgc/src/netwerk/test/TestPageLoad.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestPageLoad.cpp
@@ -223,3 +223,4 @@
-class MyNotifications : public nsIInterfaceRequestor
-                      , public nsIProgressEventSink
-{
+class MyNotifications : public XPCOMGCFinalizedObject
+                      , public nsIInterfaceRequestor
+                      , public nsIProgressEventSink
+{
--- /builds/xpcomgc/src/content/base/src/nsRange.h
+++ /builds/xpcomgc/src/content/base/src/nsRange.h
@@ -76,5 +76,6 @@
-class nsRange : public nsIRange,
-                public nsIDOMRange,
-                public nsIDOMNSRange,
-                public nsStubMutationObserver
-{
+class nsRange : public XPCOMGCFinalizedObject,
+                public nsIRange,
+                public nsIDOMRange,
+                public nsIDOMNSRange,
+                public nsStubMutationObserver
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsProtocolProxyService.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsProtocolProxyService.h
@@ -63,3 +63,4 @@
-class nsProtocolProxyService : public nsIProtocolProxyService2
-                             , public nsIObserver
-{
+class nsProtocolProxyService : public XPCOMGCFinalizedObject
+                             , public nsIProtocolProxyService2
+                             , public nsIObserver
+{
--- /builds/xpcomgc/src/netwerk/mime/src/nsMIMEHeaderParamImpl.h
+++ /builds/xpcomgc/src/netwerk/mime/src/nsMIMEHeaderParamImpl.h
@@ -41,2 +41,2 @@
-class nsMIMEHeaderParamImpl : public nsIMIMEHeaderParam
-{
+class nsMIMEHeaderParamImpl : public XPCOMGCFinalizedObject, public nsIMIMEHeaderParam
+{
--- /builds/xpcomgc/src/content/xtf/src/nsXTFWeakTearoff.cpp
+++ /builds/xpcomgc/src/content/xtf/src/nsXTFWeakTearoff.cpp
@@ -51,2 +51,2 @@
-class nsXTFWeakTearoff : protected nsAutoXPTCStub
-{
+class nsXTFWeakTearoff : public XPCOMGCFinalizedObject, protected nsAutoXPTCStub
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -250,2 +250,2 @@
-class nsAlignCommand : public nsMultiStateCommand
-{
+class nsAlignCommand : public XPCOMGCFinalizedObject, public nsMultiStateCommand
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSASN1Object.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSASN1Object.h
@@ -72,2 +72,2 @@
-class nsNSSASN1PrintableItem : public nsIASN1PrintableItem
-{
+class nsNSSASN1PrintableItem : public XPCOMGCFinalizedObject, public nsIASN1PrintableItem
+{
--- /builds/xpcomgc/src/toolkit/components/typeaheadfind/src/nsTypeAheadFind.h
+++ /builds/xpcomgc/src/toolkit/components/typeaheadfind/src/nsTypeAheadFind.h
@@ -60,4 +60,5 @@
-class nsTypeAheadFind : public nsITypeAheadFind,
-                        public nsIObserver,
-                        public nsSupportsWeakReference
-{
+class nsTypeAheadFind : public XPCOMGCFinalizedObject,
+                        public nsITypeAheadFind,
+                        public nsIObserver,
+                        public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/layout/generic/nsImageFrame.h
+++ /builds/xpcomgc/src/layout/generic/nsImageFrame.h
@@ -66,2 +66,2 @@
-class nsImageListener : public nsStubImageDecoderObserver
-{
+class nsImageListener : public XPCOMGCFinalizedObject, public nsStubImageDecoderObserver
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCRLManager.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCRLManager.h
@@ -41,2 +41,2 @@
-class nsCRLManager : public nsICRLManager
-{
+class nsCRLManager : public XPCOMGCFinalizedObject, public nsICRLManager
+{
--- /builds/xpcomgc/src/content/xul/document/src/nsXULControllers.h
+++ /builds/xpcomgc/src/content/xul/document/src/nsXULControllers.h
@@ -82,3 +82,4 @@
-class nsXULControllers : public nsIControllers,
-                         public nsISecurityCheckedComponent
-{
+class nsXULControllers : public XPCOMGCFinalizedObject,
+                         public nsIControllers,
+                         public nsISecurityCheckedComponent
+{
--- /builds/xpcomgc/src/content/html/document/src/nsPluginDocument.cpp
+++ /builds/xpcomgc/src/content/html/document/src/nsPluginDocument.cpp
@@ -81,2 +81,2 @@
-class nsPluginStreamListener : public nsMediaDocumentStreamListener
-{
+class nsPluginStreamListener : public XPCOMGCFinalizedObject, public nsMediaDocumentStreamListener
+{
--- /builds/xpcomgc/src/toolkit/components/satchel/src/nsStorageFormHistory.h
+++ /builds/xpcomgc/src/toolkit/components/satchel/src/nsStorageFormHistory.h
@@ -146,2 +146,2 @@
-class nsFormHistoryImporter : public nsIFormHistoryImporter
-{
+class nsFormHistoryImporter : public XPCOMGCFinalizedObject, public nsIFormHistoryImporter
+{
--- /builds/xpcomgc/src/content/base/public/nsDOMFile.h
+++ /builds/xpcomgc/src/content/base/public/nsDOMFile.h
@@ -53,3 +53,4 @@
-class nsDOMFile : public nsIDOMFile,
-                  public nsICharsetDetectionObserver
-{
+class nsDOMFile : public XPCOMGCFinalizedObject,
+                  public nsIDOMFile,
+                  public nsICharsetDetectionObserver
+{
--- /builds/xpcomgc/src/layout/base/nsPresContext.h
+++ /builds/xpcomgc/src/layout/base/nsPresContext.h
@@ -142,1 +142,1 @@
-class nsPresContext : public nsIObserver {
+class nsPresContext : public XPCOMGCFinalizedObject, public nsIObserver {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -535,3 +535,4 @@
-class nsSVGPathSegLinetoRel : public nsIDOMSVGPathSegLinetoRel,
-                              public nsSVGPathSeg
-{
+class nsSVGPathSegLinetoRel : public XPCOMGCFinalizedObject,
+                              public nsIDOMSVGPathSegLinetoRel,
+                              public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/content/xml/document/src/nsXMLDocument.h
+++ /builds/xpcomgc/src/content/xml/document/src/nsXMLDocument.h
@@ -54,4 +54,5 @@
-class nsXMLDocument : public nsDocument,
-                      public nsIInterfaceRequestor,
-                      public nsIChannelEventSink
-{
+class nsXMLDocument : public XPCOMGCFinalizedObject,
+                      public nsDocument,
+                      public nsIInterfaceRequestor,
+                      public nsIChannelEventSink
+{
--- /builds/xpcomgc/src/embedding/components/find/src/nsWebBrowserFind.h
+++ /builds/xpcomgc/src/embedding/components/find/src/nsWebBrowserFind.h
@@ -67,3 +67,4 @@
-class nsWebBrowserFind  : public nsIWebBrowserFind,
-                          public nsIWebBrowserFindInFrames
-{
+class nsWebBrowserFind  : public XPCOMGCFinalizedObject,
+                          public nsIWebBrowserFind,
+                          public nsIWebBrowserFindInFrames
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsPKCS11Slot.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsPKCS11Slot.h
@@ -89,3 +89,4 @@
-class nsPKCS11ModuleDB : public nsIPKCS11ModuleDB,
-                         public nsICryptoFIPSInfo
-{
+class nsPKCS11ModuleDB : public XPCOMGCFinalizedObject,
+                         public nsIPKCS11ModuleDB,
+                         public nsICryptoFIPSInfo
+{
--- /builds/xpcomgc/src/content/base/src/nsDOMAttributeMap.h
+++ /builds/xpcomgc/src/content/base/src/nsDOMAttributeMap.h
@@ -117,2 +117,2 @@
-class nsDOMAttributeMap : public nsIDOMNamedNodeMap
-{
+class nsDOMAttributeMap : public XPCOMGCFinalizedObject, public nsIDOMNamedNodeMap
+{
--- /builds/xpcomgc/src/dom/src/base/nsDOMException.h
+++ /builds/xpcomgc/src/dom/src/base/nsDOMException.h
@@ -43,3 +43,4 @@
-class nsBaseDOMException : public nsIException,
-                           public nsIBaseDOMException
-{
+class nsBaseDOMException : public XPCOMGCFinalizedObject,
+                           public nsIException,
+                           public nsIBaseDOMException
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsMIMEInputStream.cpp
+++ /builds/xpcomgc/src/netwerk/base/src/nsMIMEInputStream.cpp
@@ -51,3 +51,4 @@
-class nsMIMEInputStream : public nsIMIMEInputStream,
-                          public nsISeekableStream
-{
+class nsMIMEInputStream : public XPCOMGCFinalizedObject,
+                          public nsIMIMEInputStream,
+                          public nsISeekableStream
+{
--- /builds/xpcomgc/src/embedding/browser/gtk/src/GtkPromptService.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/GtkPromptService.h
@@ -55,3 +55,4 @@
-class GtkPromptService : public nsIPromptService,
-                         public nsICookiePromptService
-{
+class GtkPromptService : public XPCOMGCFinalizedObject,
+                         public nsIPromptService,
+                         public nsICookiePromptService
+{
--- /builds/xpcomgc/src/netwerk/dns/src/nsDNSService2.cpp
+++ /builds/xpcomgc/src/netwerk/dns/src/nsDNSService2.cpp
@@ -180,3 +180,4 @@
-class nsDNSAsyncRequest : public nsResolveHostCallback
-                        , public nsICancelable
-{
+class nsDNSAsyncRequest : public XPCOMGCFinalizedObject
+                        , public nsResolveHostCallback
+                        , public nsICancelable
+{
--- /builds/xpcomgc/src/intl/uconv/src/nsUnicodeToUTF8.h
+++ /builds/xpcomgc/src/intl/uconv/src/nsUnicodeToUTF8.h
@@ -59,2 +59,2 @@
-class nsUnicodeToUTF8 : public nsIUnicodeEncoder
-{
+class nsUnicodeToUTF8 : public XPCOMGCFinalizedObject, public nsIUnicodeEncoder
+{
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGOuterSVGFrame.h
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGOuterSVGFrame.h
@@ -51,3 +51,4 @@
-class nsSVGOuterSVGFrame : public nsSVGOuterSVGFrameBase,
-                           public nsISVGSVGFrame
-{
+class nsSVGOuterSVGFrame : public XPCOMGCFinalizedObject,
+                           public nsSVGOuterSVGFrameBase,
+                           public nsISVGSVGFrame
+{
--- /builds/xpcomgc/src/xpcom/ds/nsINIParserImpl.h
+++ /builds/xpcomgc/src/xpcom/ds/nsINIParserImpl.h
@@ -50,4 +50,5 @@
-class nsINIParserFactory :
-  public nsIINIParserFactory,
-  public nsIFactory
-{
+class nsINIParserFactory :
+  public XPCOMGCFinalizedObject,
+  public nsIINIParserFactory,
+  public nsIFactory
+{
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGInnerSVGFrame.cpp
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGInnerSVGFrame.cpp
@@ -49,4 +49,5 @@
-class nsSVGInnerSVGFrame : public nsSVGInnerSVGFrameBase,
-                           public nsISVGValueObserver,
-                           public nsISVGSVGFrame
-{
+class nsSVGInnerSVGFrame : public XPCOMGCFinalizedObject,
+                           public nsSVGInnerSVGFrameBase,
+                           public nsISVGValueObserver,
+                           public nsISVGSVGFrame
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -301,2 +301,2 @@
-class nsSupportsVoidImpl : public nsISupportsVoid
-{
+class nsSupportsVoidImpl : public XPCOMGCFinalizedObject, public nsISupportsVoid
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedLengthList.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedLengthList.cpp
@@ -47,4 +47,5 @@
-class nsSVGAnimatedLengthList : public nsIDOMSVGAnimatedLengthList,
-                                public nsSVGValue,
-                                public nsISVGValueObserver
-{  
+class nsSVGAnimatedLengthList : public XPCOMGCFinalizedObject,
+                                public nsIDOMSVGAnimatedLengthList,
+                                public nsSVGValue,
+                                public nsISVGValueObserver
+{  
--- /builds/xpcomgc/src/uriloader/base/nsURILoader.h
+++ /builds/xpcomgc/src/uriloader/base/nsURILoader.h
@@ -57,2 +57,2 @@
-class nsURILoader : public nsIURILoader
-{
+class nsURILoader : public XPCOMGCFinalizedObject, public nsIURILoader
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGSwitchElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGSwitchElement.cpp
@@ -41,3 +41,4 @@
-class nsSVGSwitchElement : public nsSVGSwitchElementBase,
-                           public nsIDOMSVGSwitchElement
-{
+class nsSVGSwitchElement : public XPCOMGCFinalizedObject,
+                           public nsSVGSwitchElementBase,
+                           public nsIDOMSVGSwitchElement
+{
--- /builds/xpcomgc/src/caps/include/nsScriptSecurityManager.h
+++ /builds/xpcomgc/src/caps/include/nsScriptSecurityManager.h
@@ -370,5 +370,6 @@
-class nsScriptSecurityManager : public nsIScriptSecurityManager,
-                                public nsIPrefSecurityCheck,
-                                public nsIChannelEventSink,
-                                public nsIObserver
-{
+class nsScriptSecurityManager : public XPCOMGCFinalizedObject,
+                                public nsIScriptSecurityManager,
+                                public nsIPrefSecurityCheck,
+                                public nsIChannelEventSink,
+                                public nsIObserver
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLFontElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLFontElement.cpp
@@ -49,3 +49,4 @@
-class nsHTMLFontElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLFontElement
-{
+class nsHTMLFontElement : public XPCOMGCFinalizedObject,
+                          public nsGenericHTMLElement,
+                          public nsIDOMHTMLFontElement
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsDeviceContextSpecG.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsDeviceContextSpecG.h
@@ -59,2 +59,2 @@
-class nsDeviceContextSpecGTK : public nsIDeviceContextSpec
-{
+class nsDeviceContextSpecGTK : public XPCOMGCFinalizedObject, public nsIDeviceContextSpec
+{
--- /builds/xpcomgc/src/xpinstall/src/nsSoftwareUpdate.h
+++ /builds/xpcomgc/src/xpinstall/src/nsSoftwareUpdate.h
@@ -96,2 +96,2 @@
-class nsSoftwareUpdateNameSet : public nsIScriptExternalNameSet
-{
+class nsSoftwareUpdateNameSet : public XPCOMGCFinalizedObject, public nsIScriptExternalNameSet
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -4496,3 +4496,4 @@
-class nsSVGFESpotLightElement : public nsSVGFESpotLightElementBase,
-                                public nsIDOMSVGFESpotLightElement
-{
+class nsSVGFESpotLightElement : public XPCOMGCFinalizedObject,
+                                public nsSVGFESpotLightElementBase,
+                                public nsIDOMSVGFESpotLightElement
+{
--- /builds/xpcomgc/src/netwerk/test/TestDNS.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestDNS.cpp
@@ -53,2 +53,2 @@
-class myDNSListener : public nsIDNSListener
-{
+class myDNSListener : public XPCOMGCFinalizedObject, public nsIDNSListener
+{
--- /builds/xpcomgc/src/layout/generic/nsImageMap.h
+++ /builds/xpcomgc/src/layout/generic/nsImageMap.h
@@ -58,3 +58,3 @@
-class nsImageMap : public nsStubMutationObserver, public nsIDOMFocusListener,
-                   public nsIImageMap
-{
+class nsImageMap : public XPCOMGCFinalizedObject, public nsStubMutationObserver, public nsIDOMFocusListener,
+                   public nsIImageMap
+{
--- /builds/xpcomgc/src/xpcom/tests/TestFactory.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestFactory.cpp
@@ -76,1 +76,1 @@
-class TestFactory: public nsIFactory {
+class TestFactory: public XPCOMGCFinalizedObject, public nsIFactory {
--- /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellService.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellService.h
@@ -52,3 +52,4 @@
-class nsAppShellService : public nsIAppShellService,
-                          public nsIObserver
-{
+class nsAppShellService : public XPCOMGCFinalizedObject,
+                          public nsIAppShellService,
+                          public nsIObserver
+{
--- /builds/xpcomgc/src/xpcom/threads/nsThread.h
+++ /builds/xpcomgc/src/xpcom/threads/nsThread.h
@@ -50,2 +50,2 @@
-class nsThread : public nsIThreadInternal, public nsISupportsPriority
-{
+class nsThread : public XPCOMGCFinalizedObject, public nsIThreadInternal, public nsISupportsPriority
+{
--- /builds/xpcomgc/src/rdf/base/src/nsRDFService.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsRDFService.cpp
@@ -563,1 +563,1 @@
-class DateImpl : public nsIRDFDate {
+class DateImpl : public XPCOMGCFinalizedObject, public nsIRDFDate {
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToLangBoxArabic8.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToLangBoxArabic8.h
@@ -42,2 +42,2 @@
-class nsUnicodeToLangBoxArabic8 : public nsBasicEncoder
-{
+class nsUnicodeToLangBoxArabic8 : public XPCOMGCFinalizedObject, public nsBasicEncoder
+{
--- /builds/xpcomgc/src/layout/base/nsStyleSheetService.h
+++ /builds/xpcomgc/src/layout/base/nsStyleSheetService.h
@@ -56,2 +56,2 @@
-class nsStyleSheetService : public nsIStyleSheetService
-{
+class nsStyleSheetService : public XPCOMGCFinalizedObject, public nsIStyleSheetService
+{
--- /builds/xpcomgc/src/content/base/src/nsXMLHttpRequest.h
+++ /builds/xpcomgc/src/content/base/src/nsXMLHttpRequest.h
@@ -67,10 +67,11 @@
-class nsXMLHttpRequest : public nsIXMLHttpRequest,
-                         public nsIJSXMLHttpRequest,
-                         public nsIDOMLoadListener,
-                         public nsIDOMEventTarget,
-                         public nsIStreamListener,
-                         public nsIChannelEventSink,
-                         public nsIProgressEventSink,
-                         public nsIInterfaceRequestor,
-                         public nsSupportsWeakReference
-{
+class nsXMLHttpRequest : public XPCOMGCFinalizedObject,
+                         public nsIXMLHttpRequest,
+                         public nsIJSXMLHttpRequest,
+                         public nsIDOMLoadListener,
+                         public nsIDOMEventTarget,
+                         public nsIStreamListener,
+                         public nsIChannelEventSink,
+                         public nsIProgressEventSink,
+                         public nsIInterfaceRequestor,
+                         public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/xpcom/sample/nsSample.h
+++ /builds/xpcomgc/src/xpcom/sample/nsSample.h
@@ -62,2 +62,2 @@
-class nsSampleImpl : public nsISample
-{
+class nsSampleImpl : public XPCOMGCFinalizedObject, public nsISample
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_attributes.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_attributes.cpp
@@ -48,1 +48,1 @@
-class xpcTestObjectReadOnly : public nsIXPCTestObjectReadOnly {
+class xpcTestObjectReadOnly : public XPCOMGCFinalizedObject, public nsIXPCTestObjectReadOnly {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGAngle.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGAngle.cpp
@@ -53,4 +53,5 @@
-class nsSVGAngle : public nsIDOMSVGAngle,
-                   public nsSVGValue,
-                   public nsISVGValueObserver
-{
+class nsSVGAngle : public XPCOMGCFinalizedObject,
+                   public nsIDOMSVGAngle,
+                   public nsSVGValue,
+                   public nsISVGValueObserver
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -2307,5 +2307,6 @@
-class nsXPCComponents_Constructor :
-  public nsIXPCComponents_Constructor,
-  public nsIXPCScriptable,
-  public nsIClassInfo
-{
+class nsXPCComponents_Constructor :
+  public XPCOMGCFinalizedObject,
+  public nsIXPCComponents_Constructor,
+  public nsIXPCScriptable,
+  public nsIClassInfo
+{
--- /builds/xpcomgc/src/intl/locale/src/nsScriptableDateFormat.cpp
+++ /builds/xpcomgc/src/intl/locale/src/nsScriptableDateFormat.cpp
@@ -52,1 +52,1 @@
-class nsScriptableDateFormat : public nsIScriptableDateFormat {
+class nsScriptableDateFormat : public XPCOMGCFinalizedObject, public nsIScriptableDateFormat {
--- /builds/xpcomgc/src/xpfe/components/directory/nsDirectoryViewer.h
+++ /builds/xpcomgc/src/xpfe/components/directory/nsDirectoryViewer.h
@@ -58,2 +58,2 @@
-class nsDirectoryViewerFactory : public nsIDocumentLoaderFactory
-{
+class nsDirectoryViewerFactory : public XPCOMGCFinalizedObject, public nsIDocumentLoaderFactory
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_attributes.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_attributes.cpp
@@ -145,1 +145,1 @@
-class xpcTestObjectReadWrite : public nsIXPCTestObjectReadWrite {
+class xpcTestObjectReadWrite : public XPCOMGCFinalizedObject, public nsIXPCTestObjectReadWrite {
--- /builds/xpcomgc/src/docshell/base/nsDocShellLoadInfo.h
+++ /builds/xpcomgc/src/docshell/base/nsDocShellLoadInfo.h
@@ -53,2 +53,2 @@
-class nsDocShellLoadInfo : public nsIDocShellLoadInfo
-{
+class nsDocShellLoadInfo : public XPCOMGCFinalizedObject, public nsIDocShellLoadInfo
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLInputElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLInputElement.cpp
@@ -2968,1 +2968,1 @@
-class nsRadioSetCheckedChangedVisitor : public nsRadioVisitor {
+class nsRadioSetCheckedChangedVisitor : public XPCOMGCFinalizedObject, public nsRadioVisitor {
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGImageFrame.cpp
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGImageFrame.cpp
@@ -53,2 +53,2 @@
-class nsSVGImageListener : public nsStubImageDecoderObserver
-{
+class nsSVGImageListener : public XPCOMGCFinalizedObject, public nsStubImageDecoderObserver
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -1570,3 +1570,4 @@
-class nsSVGPathSegLinetoHorizontalAbs : public nsIDOMSVGPathSegLinetoHorizontalAbs,
-                                        public nsSVGPathSeg
-{
+class nsSVGPathSegLinetoHorizontalAbs : public XPCOMGCFinalizedObject,
+                                        public nsIDOMSVGPathSegLinetoHorizontalAbs,
+                                        public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/content/html/content/src/nsTextRectangle.h
+++ /builds/xpcomgc/src/content/html/content/src/nsTextRectangle.h
@@ -62,2 +62,2 @@
-class nsTextRectangleList : public nsIDOMTextRectangleList
-{
+class nsTextRectangleList : public XPCOMGCFinalizedObject, public nsIDOMTextRectangleList
+{
--- /builds/xpcomgc/src/xpfe/components/windowds/nsWindowDataSource.h
+++ /builds/xpcomgc/src/xpfe/components/windowds/nsWindowDataSource.h
@@ -56,5 +56,6 @@
-class nsWindowDataSource : public nsIRDFDataSource,
-                           public nsIObserver,
-                           public nsIWindowMediatorListener,
-                           public nsIWindowDataSource
-{
+class nsWindowDataSource : public XPCOMGCFinalizedObject,
+                           public nsIRDFDataSource,
+                           public nsIObserver,
+                           public nsIWindowMediatorListener,
+                           public nsIWindowDataSource
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGImageElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGImageElement.cpp
@@ -60,5 +60,6 @@
-class nsSVGImageElement : public nsSVGImageElementBase,
-                          public nsIDOMSVGImageElement,
-                          public nsIDOMSVGURIReference,
-                          public nsImageLoadingContent
-{
+class nsSVGImageElement : public XPCOMGCFinalizedObject,
+                          public nsSVGImageElementBase,
+                          public nsIDOMSVGImageElement,
+                          public nsIDOMSVGURIReference,
+                          public nsImageLoadingContent
+{
--- /builds/xpcomgc/src/xpcom/glue/nsGenericFactory.h
+++ /builds/xpcomgc/src/xpcom/glue/nsGenericFactory.h
@@ -77,2 +77,2 @@
-class nsGenericModule : public nsIModule
-{
+class nsGenericModule : public XPCOMGCFinalizedObject, public nsIModule
+{
--- /builds/xpcomgc/src/modules/libpref/src/nsPrefService.h
+++ /builds/xpcomgc/src/modules/libpref/src/nsPrefService.h
@@ -50,5 +50,6 @@
-class nsPrefService : public nsIPrefService,
-                      public nsIObserver,
-                      public nsIPrefBranchInternal,
-                      public nsSupportsWeakReference
-{
+class nsPrefService : public XPCOMGCFinalizedObject,
+                      public nsIPrefService,
+                      public nsIObserver,
+                      public nsIPrefBranchInternal,
+                      public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/toolkit/profile/src/nsToolkitProfileService.cpp
+++ /builds/xpcomgc/src/toolkit/profile/src/nsToolkitProfileService.cpp
@@ -99,2 +99,2 @@
-class nsToolkitProfileLock : public nsIProfileLock
-{
+class nsToolkitProfileLock : public XPCOMGCFinalizedObject, public nsIProfileLock
+{
--- /builds/xpcomgc/src/content/xbl/src/nsXBLService.h
+++ /builds/xpcomgc/src/content/xbl/src/nsXBLService.h
@@ -60,4 +60,5 @@
-class nsXBLService : public nsIXBLService,
-                     public nsIObserver,
-                     public nsSupportsWeakReference
-{
+class nsXBLService : public XPCOMGCFinalizedObject,
+                     public nsIXBLService,
+                     public nsIObserver,
+                     public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/netwerk/protocol/viewsource/src/nsViewSourceChannel.h
+++ /builds/xpcomgc/src/netwerk/protocol/viewsource/src/nsViewSourceChannel.h
@@ -53,6 +53,7 @@
-class nsViewSourceChannel : public nsIViewSourceChannel,
-                            public nsIStreamListener,
-                            public nsIHttpChannel,
-                            public nsICachingChannel,
-                            public nsIUploadChannel
-{
+class nsViewSourceChannel : public XPCOMGCFinalizedObject,
+                            public nsIViewSourceChannel,
+                            public nsIStreamListener,
+                            public nsIHttpChannel,
+                            public nsICachingChannel,
+                            public nsIUploadChannel
+{
--- /builds/xpcomgc/src/content/xul/document/src/nsXULPrototypeCache.cpp
+++ /builds/xpcomgc/src/content/xul/document/src/nsXULPrototypeCache.cpp
@@ -608,2 +608,2 @@
-class nsXULFastLoadFileIO : public nsIFastLoadFileIO
-{
+class nsXULFastLoadFileIO : public XPCOMGCFinalizedObject, public nsIFastLoadFileIO
+{
--- /builds/xpcomgc/src/layout/style/nsHTMLStyleSheet.h
+++ /builds/xpcomgc/src/layout/style/nsHTMLStyleSheet.h
@@ -54,1 +54,1 @@
-class nsHTMLStyleSheet : public nsIStyleSheet, public nsIStyleRuleProcessor {
+class nsHTMLStyleSheet : public XPCOMGCFinalizedObject, public nsIStyleSheet, public nsIStyleRuleProcessor {
--- /builds/xpcomgc/src/layout/xul/base/src/nsMenuBarListener.h
+++ /builds/xpcomgc/src/layout/xul/base/src/nsMenuBarListener.h
@@ -52,2 +52,2 @@
-class nsMenuBarListener : public nsIDOMKeyListener, public nsIDOMFocusListener, public nsIDOMMouseListener
-{
+class nsMenuBarListener : public XPCOMGCFinalizedObject, public nsIDOMKeyListener, public nsIDOMFocusListener, public nsIDOMMouseListener
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsDetectionAdaptor.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsDetectionAdaptor.h
@@ -49,2 +49,2 @@
-class nsMyObserver : public nsICharsetDetectionObserver
-{
+class nsMyObserver : public XPCOMGCFinalizedObject, public nsICharsetDetectionObserver
+{
--- /builds/xpcomgc/src/xpcom/reflect/xptcall/src/xptcprivate.h
+++ /builds/xpcomgc/src/xpcom/reflect/xptcall/src/xptcprivate.h
@@ -72,2 +72,2 @@
-class nsXPTCStubBase : public nsIXPTCStubBase
-{
+class nsXPTCStubBase : public XPCOMGCFinalizedObject, public nsIXPTCStubBase
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsPACMan.cpp
+++ /builds/xpcomgc/src/netwerk/base/src/nsPACMan.cpp
@@ -76,2 +76,2 @@
-class PendingPACQuery : public PRCList, public nsIDNSListener
-{
+class PendingPACQuery : public XPCOMGCFinalizedObject, public PRCList, public nsIDNSListener
+{
--- /builds/xpcomgc/src/gfx/src/thebes/nsThebesImage.h
+++ /builds/xpcomgc/src/gfx/src/thebes/nsThebesImage.h
@@ -50,2 +50,2 @@
-class nsThebesImage : public nsIImage
-{
+class nsThebesImage : public XPCOMGCFinalizedObject, public nsIImage
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2765,2 +2765,2 @@
-class nsJSCID : public nsIJSCID, public nsIXPCScriptable
-{
+class nsJSCID : public XPCOMGCFinalizedObject, public nsIJSCID, public nsIXPCScriptable
+{
--- /builds/xpcomgc/src/content/base/src/nsContentSink.cpp
+++ /builds/xpcomgc/src/content/base/src/nsContentSink.cpp
@@ -99,2 +99,2 @@
-class nsScriptLoaderObserverProxy : public nsIScriptLoaderObserver
-{
+class nsScriptLoaderObserverProxy : public XPCOMGCFinalizedObject, public nsIScriptLoaderObserver
+{
--- /builds/xpcomgc/src/layout/style/nsIMediaList.h
+++ /builds/xpcomgc/src/layout/style/nsIMediaList.h
@@ -54,1 +54,1 @@
-class nsMediaList : public nsIDOMMediaList {
+class nsMediaList : public XPCOMGCFinalizedObject, public nsIDOMMediaList {
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -114,2 +114,2 @@
-class nsSupportsPRUint8Impl : public nsISupportsPRUint8
-{
+class nsSupportsPRUint8Impl : public XPCOMGCFinalizedObject, public nsISupportsPRUint8
+{
--- /builds/xpcomgc/src/content/base/src/nsDOMSerializer.h
+++ /builds/xpcomgc/src/content/base/src/nsDOMSerializer.h
@@ -42,2 +42,2 @@
-class nsDOMSerializer : public nsIDOMSerializer
-{
+class nsDOMSerializer : public XPCOMGCFinalizedObject, public nsIDOMSerializer
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLIFrameElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLIFrameElement.cpp
@@ -47,3 +47,4 @@
-class nsHTMLIFrameElement : public nsGenericHTMLFrameElement,
-                            public nsIDOMHTMLIFrameElement
-{
+class nsHTMLIFrameElement : public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLFrameElement,
+                            public nsIDOMHTMLIFrameElement
+{
--- /builds/xpcomgc/src/extensions/pref/autoconfig/src/nsReadConfig.h
+++ /builds/xpcomgc/src/extensions/pref/autoconfig/src/nsReadConfig.h
@@ -44,3 +44,4 @@
-class nsReadConfig : public nsIReadConfig,
-                     public nsIObserver
-{
+class nsReadConfig : public XPCOMGCFinalizedObject,
+                     public nsIReadConfig,
+                     public nsIObserver
+{
--- /builds/xpcomgc/src/content/base/src/nsNameSpaceManager.cpp
+++ /builds/xpcomgc/src/content/base/src/nsNameSpaceManager.cpp
@@ -115,1 +115,1 @@
-class NameSpaceManagerImpl : public nsINameSpaceManager {
+class NameSpaceManagerImpl : public XPCOMGCFinalizedObject, public nsINameSpaceManager {
--- /builds/xpcomgc/src/editor/composer/src/nsComposeTxtSrvFilter.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposeTxtSrvFilter.h
@@ -50,2 +50,2 @@
-class nsComposeTxtSrvFilter : public nsITextServicesFilter
-{
+class nsComposeTxtSrvFilter : public XPCOMGCFinalizedObject, public nsITextServicesFilter
+{
--- /builds/xpcomgc/src/uriloader/prefetch/nsOfflineCacheUpdate.h
+++ /builds/xpcomgc/src/uriloader/prefetch/nsOfflineCacheUpdate.h
@@ -105,2 +105,2 @@
-class nsOfflineCacheUpdate : public nsIOfflineCacheUpdate
-{
+class nsOfflineCacheUpdate : public XPCOMGCFinalizedObject, public nsIOfflineCacheUpdate
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsSmartCardEvent.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsSmartCardEvent.h
@@ -49,4 +49,5 @@
-class nsSmartCardEvent : public nsIDOMSmartCardEvent,
-                         public nsIDOMNSEvent,
-                         public nsIPrivateDOMEvent
-{
+class nsSmartCardEvent : public XPCOMGCFinalizedObject,
+                         public nsIDOMSmartCardEvent,
+                         public nsIDOMNSEvent,
+                         public nsIPrivateDOMEvent
+{
--- /builds/xpcomgc/src/content/xul/templates/src/nsXULTreeBuilder.cpp
+++ /builds/xpcomgc/src/content/xul/templates/src/nsXULTreeBuilder.cpp
@@ -73,4 +73,5 @@
-class nsXULTreeBuilder : public nsXULTemplateBuilder,
-                         public nsIXULTreeBuilder,
-                         public nsINativeTreeView
-{
+class nsXULTreeBuilder : public XPCOMGCFinalizedObject,
+                         public nsXULTemplateBuilder,
+                         public nsIXULTreeBuilder,
+                         public nsINativeTreeView
+{
--- /builds/xpcomgc/src/content/base/src/nsDOMParser.h
+++ /builds/xpcomgc/src/content/base/src/nsDOMParser.h
@@ -47,6 +47,7 @@
-class nsDOMParser : public nsIDOMParser,
-                    public nsIDOMParserJS,
-                    public nsIDOMLoadListener,
-                    public nsIJSNativeInitializer,
-                    public nsSupportsWeakReference
-{
+class nsDOMParser : public XPCOMGCFinalizedObject,
+                    public nsIDOMParser,
+                    public nsIDOMParserJS,
+                    public nsIDOMLoadListener,
+                    public nsIJSNativeInitializer,
+                    public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -346,2 +346,2 @@
-class nsZHPSMDetector : public nsXPCOMDetector
-{
+class nsZHPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMDetector
+{
--- /builds/xpcomgc/src/content/html/document/src/nsWyciwygProtocolHandler.h
+++ /builds/xpcomgc/src/content/html/document/src/nsWyciwygProtocolHandler.h
@@ -45,2 +45,2 @@
-class nsWyciwygProtocolHandler : public nsIProtocolHandler
-{
+class nsWyciwygProtocolHandler : public XPCOMGCFinalizedObject, public nsIProtocolHandler
+{
--- /builds/xpcomgc/src/intl/uconv/ucvja/nsUnicodeToISO2022JP.h
+++ /builds/xpcomgc/src/intl/uconv/ucvja/nsUnicodeToISO2022JP.h
@@ -51,2 +51,2 @@
-class nsUnicodeToISO2022JP : public nsEncoderSupport
-{
+class nsUnicodeToISO2022JP : public XPCOMGCFinalizedObject, public nsEncoderSupport
+{
--- /builds/xpcomgc/src/extensions/auth/nsHttpNegotiateAuth.h
+++ /builds/xpcomgc/src/extensions/auth/nsHttpNegotiateAuth.h
@@ -50,2 +50,2 @@
-class nsHttpNegotiateAuth : public nsIHttpAuthenticator
-{
+class nsHttpNegotiateAuth : public XPCOMGCFinalizedObject, public nsIHttpAuthenticator
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedBoolean.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedBoolean.cpp
@@ -46,3 +46,4 @@
-class nsSVGAnimatedBoolean : public nsIDOMSVGAnimatedBoolean,
-                             public nsSVGValue
-{
+class nsSVGAnimatedBoolean : public XPCOMGCFinalizedObject,
+                             public nsIDOMSVGAnimatedBoolean,
+                             public nsSVGValue
+{
--- /builds/xpcomgc/src/xpcom/io/nsScriptableOutputStream.h
+++ /builds/xpcomgc/src/xpcom/io/nsScriptableOutputStream.h
@@ -52,4 +52,5 @@
-class nsScriptableOutputStream : public nsIScriptableIOOutputStream,
-                                 public nsISeekableStream,
-                                 public nsIOutputStream
-{
+class nsScriptableOutputStream : public XPCOMGCFinalizedObject,
+                                 public nsIScriptableIOOutputStream,
+                                 public nsISeekableStream,
+                                 public nsIOutputStream
+{
--- /builds/xpcomgc/src/security/manager/boot/src/nsEntropyCollector.h
+++ /builds/xpcomgc/src/security/manager/boot/src/nsEntropyCollector.h
@@ -50,2 +50,2 @@
-class nsEntropyCollector : public nsIBufEntropyCollector
-{
+class nsEntropyCollector : public XPCOMGCFinalizedObject, public nsIBufEntropyCollector
+{
--- /builds/xpcomgc/src/netwerk/socket/base/nsUDPSocketProvider.h
+++ /builds/xpcomgc/src/netwerk/socket/base/nsUDPSocketProvider.h
@@ -41,2 +41,2 @@
-class nsUDPSocketProvider : public nsISocketProvider
-{
+class nsUDPSocketProvider : public XPCOMGCFinalizedObject, public nsISocketProvider
+{
--- /builds/xpcomgc/src/parser/htmlparser/robot/nsDebugRobot.cpp
+++ /builds/xpcomgc/src/parser/htmlparser/robot/nsDebugRobot.cpp
@@ -58,1 +58,1 @@
-class RobotSinkObserver : public nsIRobotSinkObserver {
+class RobotSinkObserver : public XPCOMGCFinalizedObject, public nsIRobotSinkObserver {
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_variant.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_variant.cpp
@@ -45,2 +45,2 @@
-class nsTestVariant : public nsITestVariant
-{
+class nsTestVariant : public XPCOMGCFinalizedObject, public nsITestVariant
+{
--- /builds/xpcomgc/src/xpcom/base/nsConsoleMessage.h
+++ /builds/xpcomgc/src/xpcom/base/nsConsoleMessage.h
@@ -43,1 +43,1 @@
-class nsConsoleMessage : public nsIConsoleMessage {
+class nsConsoleMessage : public XPCOMGCFinalizedObject, public nsIConsoleMessage {
--- /builds/xpcomgc/src/content/base/src/nsContentIterator.cpp
+++ /builds/xpcomgc/src/content/base/src/nsContentIterator.cpp
@@ -185,1 +185,1 @@
-class nsContentIterator : public nsIContentIterator
+class nsContentIterator : public XPCOMGCFinalizedObject, public nsIContentIterator
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -182,2 +182,2 @@
-class nsSupportsPRTimeImpl : public nsISupportsPRTime
-{
+class nsSupportsPRTimeImpl : public XPCOMGCFinalizedObject, public nsISupportsPRTime
+{
--- /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierDBService.cpp
+++ /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierDBService.cpp
@@ -2043,2 +2043,2 @@
-class nsUrlClassifierClassifyCallback : public nsIUrlClassifierCallback
-{
+class nsUrlClassifierClassifyCallback : public XPCOMGCFinalizedObject, public nsIUrlClassifierCallback
+{
--- /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierStreamUpdater.h
+++ /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierStreamUpdater.h
@@ -52,3 +52,4 @@
-class nsUrlClassifierStreamUpdater : public nsIUrlClassifierStreamUpdater,
-                                     public nsIObserver
-{
+class nsUrlClassifierStreamUpdater : public XPCOMGCFinalizedObject,
+                                     public nsIUrlClassifierStreamUpdater,
+                                     public nsIObserver
+{
--- /builds/xpcomgc/src/embedding/browser/webBrowser/nsWebBrowser.h
+++ /builds/xpcomgc/src/embedding/browser/webBrowser/nsWebBrowser.h
@@ -107,14 +107,15 @@
-class nsWebBrowser : public nsIWebBrowser,
-                     public nsIWebNavigation,
-                     public nsIWebBrowserSetup,
-                     public nsIDocShellTreeItem,
-                     public nsIBaseWindow,
-                     public nsIScrollable, 
-                     public nsITextScroll, 
-                     public nsIInterfaceRequestor,
-                     public nsIWebBrowserPersist,
-                     public nsIWebBrowserFocus,
-                     public nsIWebProgressListener,
-                     public nsIWebBrowserStream,
-                     public nsSupportsWeakReference
-{
+class nsWebBrowser : public XPCOMGCFinalizedObject,
+                     public nsIWebBrowser,
+                     public nsIWebNavigation,
+                     public nsIWebBrowserSetup,
+                     public nsIDocShellTreeItem,
+                     public nsIBaseWindow,
+                     public nsIScrollable, 
+                     public nsITextScroll, 
+                     public nsIInterfaceRequestor,
+                     public nsIWebBrowserPersist,
+                     public nsIWebBrowserFocus,
+                     public nsIWebProgressListener,
+                     public nsIWebBrowserStream,
+                     public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/dom/src/offline/nsDOMOfflineResourceList.h
+++ /builds/xpcomgc/src/dom/src/offline/nsDOMOfflineResourceList.h
@@ -49,2 +49,2 @@
-class nsDOMOfflineResourceList : public nsIDOMOfflineResourceList
-{
+class nsDOMOfflineResourceList : public XPCOMGCFinalizedObject, public nsIDOMOfflineResourceList
+{
--- /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsWindowWatcher.cpp
+++ /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsWindowWatcher.cpp
@@ -170,1 +170,1 @@
-class nsWatcherWindowEnumerator : public nsISimpleEnumerator {
+class nsWatcherWindowEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator {
--- /builds/xpcomgc/src/content/base/src/nsDocument.h
+++ /builds/xpcomgc/src/content/base/src/nsDocument.h
@@ -256,2 +256,2 @@
-class nsOnloadBlocker : public nsIRequest
-{
+class nsOnloadBlocker : public XPCOMGCFinalizedObject, public nsIRequest
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsGTKToolkit.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsGTKToolkit.h
@@ -52,2 +52,2 @@
-class nsGTKToolkit : public nsIToolkit
-{
+class nsGTKToolkit : public XPCOMGCFinalizedObject, public nsIToolkit
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
+++ /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
@@ -4248,1 +4248,1 @@
-class DOMMimeTypeImpl : public nsIDOMMimeType {
+class DOMMimeTypeImpl : public XPCOMGCFinalizedObject, public nsIDOMMimeType {
--- /builds/xpcomgc/src/netwerk/dns/src/nsEffectiveTLDService.h
+++ /builds/xpcomgc/src/netwerk/dns/src/nsEffectiveTLDService.h
@@ -103,2 +103,2 @@
-class nsEffectiveTLDService : public nsIEffectiveTLDService
-{
+class nsEffectiveTLDService : public XPCOMGCFinalizedObject, public nsIEffectiveTLDService
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGCircleElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGCircleElement.cpp
@@ -47,3 +47,4 @@
-class nsSVGCircleElement : public nsSVGCircleElementBase,
-                           public nsIDOMSVGCircleElement
-{
+class nsSVGCircleElement : public XPCOMGCFinalizedObject,
+                           public nsSVGCircleElementBase,
+                           public nsIDOMSVGCircleElement
+{
--- /builds/xpcomgc/src/content/xul/templates/src/nsXULSortService.h
+++ /builds/xpcomgc/src/content/xul/templates/src/nsXULSortService.h
@@ -114,2 +114,2 @@
-class XULSortServiceImpl : public nsIXULSortService
-{
+class XULSortServiceImpl : public XPCOMGCFinalizedObject, public nsIXULSortService
+{
--- /builds/xpcomgc/src/security/manager/pki/src/nsPKIParamBlock.h
+++ /builds/xpcomgc/src/security/manager/pki/src/nsPKIParamBlock.h
@@ -51,3 +51,4 @@
-class nsPKIParamBlock : public nsIPKIParamBlock,
-                        public nsIDialogParamBlock
-{
+class nsPKIParamBlock : public XPCOMGCFinalizedObject,
+                        public nsIPKIParamBlock,
+                        public nsIDialogParamBlock
+{
--- /builds/xpcomgc/src/docshell/base/nsWebNavigationInfo.h
+++ /builds/xpcomgc/src/docshell/base/nsWebNavigationInfo.h
@@ -50,2 +50,2 @@
-class nsWebNavigationInfo : public nsIWebNavigationInfo
-{
+class nsWebNavigationInfo : public XPCOMGCFinalizedObject, public nsIWebNavigationInfo
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_multiple.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_multiple.cpp
@@ -108,1 +108,1 @@
-class xpcTestParentTwo : public nsIXPCTestParentTwo {
+class xpcTestParentTwo : public XPCOMGCFinalizedObject, public nsIXPCTestParentTwo {
--- /builds/xpcomgc/src/docshell/base/nsDocShell.h
+++ /builds/xpcomgc/src/docshell/base/nsDocShell.h
@@ -124,2 +124,2 @@
-class nsRefreshTimer : public nsITimerCallback
-{
+class nsRefreshTimer : public XPCOMGCFinalizedObject, public nsITimerCallback
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -3144,4 +3144,5 @@
-class nsXPCComponents_Interfaces :
-            public nsIScriptableInterfaces,
-            public nsIXPCScriptable,
-            public nsIClassInfo
+class nsXPCComponents_Interfaces :
+            public XPCOMGCFinalizedObject,
+            public nsIScriptableInterfaces,
+            public nsIXPCScriptable,
+            public nsIClassInfo
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSIOLayer.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSIOLayer.h
@@ -124,8 +124,9 @@
-class nsNSSSocketInfo : public nsITransportSecurityInfo,
-                        public nsISSLSocketControl,
-                        public nsIInterfaceRequestor,
-                        public nsISSLStatusProvider,
-                        public nsIIdentityInfo,
-                        public nsNSSShutDownObject,
-                        public nsOnPK11LogoutCancelObject
-{
+class nsNSSSocketInfo : public XPCOMGCFinalizedObject,
+                        public nsITransportSecurityInfo,
+                        public nsISSLSocketControl,
+                        public nsIInterfaceRequestor,
+                        public nsISSLStatusProvider,
+                        public nsIIdentityInfo,
+                        public nsNSSShutDownObject,
+                        public nsOnPK11LogoutCancelObject
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcJSWeakReference.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcJSWeakReference.h
@@ -42,2 +42,2 @@
-class xpcJSWeakReference : public xpcIJSWeakReference
-{
+class xpcJSWeakReference : public XPCOMGCFinalizedObject, public xpcIJSWeakReference
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -318,2 +318,2 @@
-class nsZHTWPSMDetector : public nsXPCOMDetector
-{
+class nsZHTWPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMDetector
+{
--- /builds/xpcomgc/src/rdf/base/src/nsRDFXMLSerializer.h
+++ /builds/xpcomgc/src/rdf/base/src/nsRDFXMLSerializer.h
@@ -61,3 +61,4 @@
-class nsRDFXMLSerializer : public nsIRDFXMLSerializer,
-                           public nsIRDFXMLSource
-{
+class nsRDFXMLSerializer : public XPCOMGCFinalizedObject,
+                           public nsIRDFXMLSerializer,
+                           public nsIRDFXMLSource
+{
--- /builds/xpcomgc/src/intl/uconv/src/nsConverterOutputStream.h
+++ /builds/xpcomgc/src/intl/uconv/src/nsConverterOutputStream.h
@@ -52,1 +52,1 @@
-class nsConverterOutputStream : public nsIConverterOutputStream {
+class nsConverterOutputStream : public XPCOMGCFinalizedObject, public nsIConverterOutputStream {
--- /builds/xpcomgc/src/netwerk/cache/src/nsCacheEntry.h
+++ /builds/xpcomgc/src/netwerk/cache/src/nsCacheEntry.h
@@ -257,1 +257,1 @@
-class nsCacheEntryInfo : public nsICacheEntryInfo {
+class nsCacheEntryInfo : public XPCOMGCFinalizedObject, public nsICacheEntryInfo {
--- /builds/xpcomgc/src/xpcom/io/nsMultiplexInputStream.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsMultiplexInputStream.cpp
@@ -50,3 +50,4 @@
-class nsMultiplexInputStream : public nsIMultiplexInputStream,
-                               public nsISeekableStream
-{
+class nsMultiplexInputStream : public XPCOMGCFinalizedObject,
+                               public nsIMultiplexInputStream,
+                               public nsISeekableStream
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheDevice.cpp
+++ /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheDevice.cpp
@@ -160,1 +160,1 @@
-class nsDiskCacheDeviceInfo : public nsICacheDeviceInfo {
+class nsDiskCacheDeviceInfo : public XPCOMGCFinalizedObject, public nsICacheDeviceInfo {
--- /builds/xpcomgc/src/embedding/components/commandhandler/src/nsCommandGroup.cpp
+++ /builds/xpcomgc/src/embedding/components/commandhandler/src/nsCommandGroup.cpp
@@ -50,2 +50,2 @@
-class nsGroupsEnumerator : public nsISimpleEnumerator
-{
+class nsGroupsEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/xpinstall/src/nsXPIInstallInfo.h
+++ /builds/xpcomgc/src/xpinstall/src/nsXPIInstallInfo.h
@@ -44,2 +44,2 @@
-class nsXPIInstallInfo : public nsIXPIInstallInfo
-{
+class nsXPIInstallInfo : public XPCOMGCFinalizedObject, public nsIXPIInstallInfo
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsPK11TokenDB.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsPK11TokenDB.h
@@ -52,3 +52,4 @@
-class nsPK11Token : public nsIPK11Token,
-                    public nsNSSShutDownObject
-{
+class nsPK11Token : public XPCOMGCFinalizedObject,
+                    public nsIPK11Token,
+                    public nsNSSShutDownObject
+{
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedContextMenuInfo.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedContextMenuInfo.h
@@ -61,2 +61,2 @@
-class EmbedContextMenuInfo : public nsISupports
-{
+class EmbedContextMenuInfo : public XPCOMGCFinalizedObject, public nsISupports
+{
--- /builds/xpcomgc/src/content/xul/templates/src/nsRDFQuery.h
+++ /builds/xpcomgc/src/content/xul/templates/src/nsRDFQuery.h
@@ -69,2 +69,2 @@
-class nsRDFQuery : public nsITemplateRDFQuery
-{
+class nsRDFQuery : public XPCOMGCFinalizedObject, public nsITemplateRDFQuery
+{
--- /builds/xpcomgc/src/xpcom/proxy/tests/proxytests.cpp
+++ /builds/xpcomgc/src/xpcom/proxy/tests/proxytests.cpp
@@ -387,2 +387,2 @@
-class TestSyncProxyToSelf : public nsIRunnable
-{
+class TestSyncProxyToSelf : public XPCOMGCFinalizedObject, public nsIRunnable
+{
--- /builds/xpcomgc/src/content/xslt/src/xpath/txNodeSetAdaptor.h
+++ /builds/xpcomgc/src/content/xslt/src/xpath/txNodeSetAdaptor.h
@@ -49,2 +49,2 @@
-class txNodeSetAdaptor : public txINodeSet 
-{
+class txNodeSetAdaptor : public XPCOMGCFinalizedObject, public txINodeSet 
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -226,2 +226,2 @@
-class nsHighlightColorStateCommand : public nsMultiStateCommand
-{
+class nsHighlightColorStateCommand : public XPCOMGCFinalizedObject, public nsMultiStateCommand
+{
--- /builds/xpcomgc/src/content/html/content/src/nsFormSubmission.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsFormSubmission.cpp
@@ -249,2 +249,2 @@
-class nsFSURLEncoded : public nsFormSubmission
-{
+class nsFSURLEncoded : public XPCOMGCFinalizedObject, public nsFormSubmission
+{
--- /builds/xpcomgc/src/toolkit/components/downloads/src/nsDownloadManager.h
+++ /builds/xpcomgc/src/toolkit/components/downloads/src/nsDownloadManager.h
@@ -77,3 +77,4 @@
-class nsDownloadManager : public nsIDownloadManager,
-                          public nsIObserver
-{
+class nsDownloadManager : public XPCOMGCFinalizedObject,
+                          public nsIDownloadManager,
+                          public nsIObserver
+{
--- /builds/xpcomgc/src/layout/style/nsROCSSPrimitiveValue.h
+++ /builds/xpcomgc/src/layout/style/nsROCSSPrimitiveValue.h
@@ -56,2 +56,2 @@
-class nsROCSSPrimitiveValue : public nsIDOMCSSPrimitiveValue
-{
+class nsROCSSPrimitiveValue : public XPCOMGCFinalizedObject, public nsIDOMCSSPrimitiveValue
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -214,2 +214,2 @@
-class nsFontSizeStateCommand : public nsMultiStateCommand
-{
+class nsFontSizeStateCommand : public XPCOMGCFinalizedObject, public nsMultiStateCommand
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsMetaCharsetObserver.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsMetaCharsetObserver.h
@@ -51,5 +51,6 @@
-class nsMetaCharsetObserver: public nsIElementObserver, 
-                             public nsIObserver, 
-                             public nsObserverBase,
-                             public nsIMetaCharsetService,
-                             public nsSupportsWeakReference {
+class nsMetaCharsetObserver: public XPCOMGCFinalizedObject, 
+                             public nsIElementObserver, 
+                             public nsIObserver, 
+                             public nsObserverBase,
+                             public nsIMetaCharsetService,
+                             public nsSupportsWeakReference {
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGPatternFrame.h
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGPatternFrame.h
@@ -57,3 +57,4 @@
-class nsSVGPatternFrame : public nsSVGPatternFrameBase,
-                          public nsISVGValueObserver
-{
+class nsSVGPatternFrame : public XPCOMGCFinalizedObject,
+                          public nsSVGPatternFrameBase,
+                          public nsISVGValueObserver
+{
--- /builds/xpcomgc/src/content/xul/document/src/nsXULPrototypeDocument.h
+++ /builds/xpcomgc/src/content/xul/document/src/nsXULPrototypeDocument.h
@@ -68,3 +68,4 @@
-class nsXULPrototypeDocument : public nsIScriptGlobalObjectOwner,
-                               public nsISerializable
-{
+class nsXULPrototypeDocument : public XPCOMGCFinalizedObject,
+                               public nsIScriptGlobalObjectOwner,
+                               public nsISerializable
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsSyncStreamListener.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsSyncStreamListener.h
@@ -47,3 +47,4 @@
-class nsSyncStreamListener : public nsISyncStreamListener
-                           , public nsIInputStream
-{
+class nsSyncStreamListener : public XPCOMGCFinalizedObject
+                           , public nsISyncStreamListener
+                           , public nsIInputStream
+{
--- /builds/xpcomgc/src/extensions/cookie/nsCookiePromptService.h
+++ /builds/xpcomgc/src/extensions/cookie/nsCookiePromptService.h
@@ -41,1 +41,1 @@
-class nsCookiePromptService : public nsICookiePromptService {
+class nsCookiePromptService : public XPCOMGCFinalizedObject, public nsICookiePromptService {
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToMUTF7.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToMUTF7.h
@@ -51,2 +51,2 @@
-class nsUnicodeToMUTF7 : public nsBasicUTF7Encoder
-{
+class nsUnicodeToMUTF7 : public XPCOMGCFinalizedObject, public nsBasicUTF7Encoder
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSASN1Object.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSASN1Object.h
@@ -52,2 +52,2 @@
-class nsNSSASN1Sequence : public nsIASN1Sequence
-{
+class nsNSSASN1Sequence : public XPCOMGCFinalizedObject, public nsIASN1Sequence
+{
--- /builds/xpcomgc/src/content/events/src/nsEventStateManager.h
+++ /builds/xpcomgc/src/content/events/src/nsEventStateManager.h
@@ -72,4 +72,5 @@
-class nsEventStateManager : public nsSupportsWeakReference,
-                            public nsIEventStateManager,
-                            public nsIObserver
-{
+class nsEventStateManager : public XPCOMGCFinalizedObject,
+                            public nsSupportsWeakReference,
+                            public nsIEventStateManager,
+                            public nsIObserver
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -318,2 +318,2 @@
-class nsSupportsInterfacePointerImpl : public nsISupportsInterfacePointer
-{
+class nsSupportsInterfacePointerImpl : public XPCOMGCFinalizedObject, public nsISupportsInterfacePointer
+{
--- /builds/xpcomgc/src/toolkit/components/autocomplete/src/nsAutoCompleteSimpleResult.h
+++ /builds/xpcomgc/src/toolkit/components/autocomplete/src/nsAutoCompleteSimpleResult.h
@@ -48,2 +48,2 @@
-class nsAutoCompleteSimpleResult : public nsIAutoCompleteSimpleResult
-{
+class nsAutoCompleteSimpleResult : public XPCOMGCFinalizedObject, public nsIAutoCompleteSimpleResult
+{
--- /builds/xpcomgc/src/intl/locale/src/unix/nsPosixLocale.h
+++ /builds/xpcomgc/src/intl/locale/src/unix/nsPosixLocale.h
@@ -47,1 +47,1 @@
-class nsPosixLocale : public nsIPosixLocale {
+class nsPosixLocale : public XPCOMGCFinalizedObject, public nsIPosixLocale {
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -148,2 +148,2 @@
-class nsSupportsPRUint32Impl : public nsISupportsPRUint32
-{
+class nsSupportsPRUint32Impl : public XPCOMGCFinalizedObject, public nsISupportsPRUint32
+{
--- /builds/xpcomgc/src/dom/src/base/nsGlobalWindowCommands.cpp
+++ /builds/xpcomgc/src/dom/src/base/nsGlobalWindowCommands.cpp
@@ -131,2 +131,2 @@
-class nsSelectMoveScrollCommand : public nsSelectionCommandsBase
-{
+class nsSelectMoveScrollCommand : public XPCOMGCFinalizedObject, public nsSelectionCommandsBase
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -4979,3 +4979,4 @@
-class nsSVGFEDiffuseLightingElement : public nsSVGFEDiffuseLightingElementBase,
-                                      public nsIDOMSVGFEDiffuseLightingElement
-{
+class nsSVGFEDiffuseLightingElement : public XPCOMGCFinalizedObject,
+                                      public nsSVGFEDiffuseLightingElementBase,
+                                      public nsIDOMSVGFEDiffuseLightingElement
+{
--- /builds/xpcomgc/src/extensions/spellcheck/src/mozSpellChecker.h
+++ /builds/xpcomgc/src/extensions/spellcheck/src/mozSpellChecker.h
@@ -50,2 +50,2 @@
-class mozSpellChecker : public nsISpellChecker
-{
+class mozSpellChecker : public XPCOMGCFinalizedObject, public nsISpellChecker
+{
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUCS2BEToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUCS2BEToUnicode.h
@@ -82,2 +82,2 @@
-class nsUTF16ToUnicode : public nsUTF16ToUnicodeBase
-{
+class nsUTF16ToUnicode : public XPCOMGCFinalizedObject, public nsUTF16ToUnicodeBase
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -2651,3 +2651,4 @@
-class nsXPCComponents_utils_Sandbox : public nsIXPCComponents_utils_Sandbox,
-                                      public nsIXPCScriptable
-{
+class nsXPCComponents_utils_Sandbox : public XPCOMGCFinalizedObject,
+                                      public nsIXPCComponents_utils_Sandbox,
+                                      public nsIXPCScriptable
+{
--- /builds/xpcomgc/src/xpcom/tests/TestPipes.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestPipes.cpp
@@ -177,1 +177,1 @@
-class nsShortReader : public nsIRunnable {
+class nsShortReader : public XPCOMGCFinalizedObject, public nsIRunnable {
--- /builds/xpcomgc/src/netwerk/protocol/about/src/nsAboutCacheEntry.h
+++ /builds/xpcomgc/src/netwerk/protocol/about/src/nsAboutCacheEntry.h
@@ -55,3 +55,4 @@
-class nsAboutCacheEntry : public nsIAboutModule
-                        , public nsICacheMetaDataVisitor
-{
+class nsAboutCacheEntry : public XPCOMGCFinalizedObject
+                        , public nsIAboutModule
+                        , public nsICacheMetaDataVisitor
+{
--- /builds/xpcomgc/src/editor/libeditor/base/IMETextTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/IMETextTxn.h
@@ -60,2 +60,2 @@
-class IMETextTxn : public EditTxn
-{
+class IMETextTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsMultiMixedConv.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsMultiMixedConv.h
@@ -143,1 +143,1 @@
-class nsMultiMixedConv : public nsIStreamConverter {
+class nsMultiMixedConv : public XPCOMGCFinalizedObject, public nsIStreamConverter {
--- /builds/xpcomgc/src/editor/txmgr/src/nsTransactionManager.h
+++ /builds/xpcomgc/src/editor/txmgr/src/nsTransactionManager.h
@@ -54,3 +54,4 @@
-class nsTransactionManager : public nsITransactionManager
-                           , public nsSupportsWeakReference
-{
+class nsTransactionManager : public XPCOMGCFinalizedObject
+                           , public nsITransactionManager
+                           , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGTextPathElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGTextPathElement.cpp
@@ -50,4 +50,5 @@
-class nsSVGTextPathElement : public nsSVGTextPathElementBase,
-                             public nsIDOMSVGTextPathElement,
-                             public nsIDOMSVGURIReference
-{
+class nsSVGTextPathElement : public XPCOMGCFinalizedObject,
+                             public nsSVGTextPathElementBase,
+                             public nsIDOMSVGTextPathElement,
+                             public nsIDOMSVGURIReference
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLMapElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLMapElement.cpp
@@ -48,3 +48,4 @@
-class nsHTMLMapElement : public nsGenericHTMLElement,
-                         public nsIDOMHTMLMapElement
-{
+class nsHTMLMapElement : public XPCOMGCFinalizedObject,
+                         public nsGenericHTMLElement,
+                         public nsIDOMHTMLMapElement
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsXMLEncodingObserver.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsXMLEncodingObserver.h
@@ -47,5 +47,6 @@
-class nsXMLEncodingObserver: public nsIElementObserver, 
-                             public nsIObserver, 
-                             public nsObserverBase,
-                             public nsIXMLEncodingService,
-                             public nsSupportsWeakReference {
+class nsXMLEncodingObserver: public XPCOMGCFinalizedObject, 
+                             public nsIElementObserver, 
+                             public nsIObserver, 
+                             public nsObserverBase,
+                             public nsIXMLEncodingService,
+                             public nsSupportsWeakReference {
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertCache.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertCache.h
@@ -45,3 +45,4 @@
-class nsNSSCertCache : public nsINSSCertCache,
-                       public nsNSSShutDownObject
-{
+class nsNSSCertCache : public XPCOMGCFinalizedObject,
+                       public nsINSSCertCache,
+                       public nsNSSShutDownObject
+{
--- /builds/xpcomgc/src/layout/xul/base/src/nsSprocketLayout.h
+++ /builds/xpcomgc/src/layout/xul/base/src/nsSprocketLayout.h
@@ -106,1 +106,1 @@
-class nsSprocketLayout : public nsBoxLayout {
+class nsSprocketLayout : public XPCOMGCFinalizedObject, public nsBoxLayout {
--- /builds/xpcomgc/src/xpfe/appshell/src/nsContentTreeOwner.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsContentTreeOwner.h
@@ -57,6 +57,7 @@
-class nsContentTreeOwner : public nsIDocShellTreeOwner_MOZILLA_1_8_BRANCH,
-                           public nsIBaseWindow,
-                           public nsIInterfaceRequestor,
-                           public nsIWebBrowserChrome2,
-                           public nsIWindowProvider
-{
+class nsContentTreeOwner : public XPCOMGCFinalizedObject,
+                           public nsIDocShellTreeOwner_MOZILLA_1_8_BRANCH,
+                           public nsIBaseWindow,
+                           public nsIInterfaceRequestor,
+                           public nsIWebBrowserChrome2,
+                           public nsIWindowProvider
+{
--- /builds/xpcomgc/src/modules/libpr0n/src/imgContainer.h
+++ /builds/xpcomgc/src/modules/libpr0n/src/imgContainer.h
@@ -131,4 +131,5 @@
-class imgContainer : public imgIContainer, 
-                     public nsITimerCallback, 
-                     public nsIProperties
-{
+class imgContainer : public XPCOMGCFinalizedObject, 
+                     public imgIContainer, 
+                     public nsITimerCallback, 
+                     public nsIProperties
+{
--- /builds/xpcomgc/src/intl/uconv/src/nsTextToSubURI.h
+++ /builds/xpcomgc/src/intl/uconv/src/nsTextToSubURI.h
@@ -42,1 +42,1 @@
-class nsTextToSubURI: public nsITextToSubURI {
+class nsTextToSubURI: public XPCOMGCFinalizedObject, public nsITextToSubURI {
--- /builds/xpcomgc/src/extensions/spellcheck/src/mozInlineSpellChecker.h
+++ /builds/xpcomgc/src/extensions/spellcheck/src/mozInlineSpellChecker.h
@@ -140,3 +140,3 @@
-class mozInlineSpellChecker : public nsIInlineSpellChecker, nsIEditActionListener, nsIDOMMouseListener, nsIDOMKeyListener,
-                                     nsSupportsWeakReference
-{
+class mozInlineSpellChecker : public XPCOMGCFinalizedObject, public nsIInlineSpellChecker, nsIEditActionListener, nsIDOMMouseListener, nsIDOMKeyListener,
+                                     nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/xpinstall/src/CertReader.h
+++ /builds/xpcomgc/src/xpinstall/src/CertReader.h
@@ -45,2 +45,2 @@
-class CertReader : public nsIStreamListener
-{
+class CertReader : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPreserveAspectRatio.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPreserveAspectRatio.cpp
@@ -46,3 +46,4 @@
-class nsSVGPreserveAspectRatio : public nsIDOMSVGPreserveAspectRatio,
-                                 public nsSVGValue
-{
+class nsSVGPreserveAspectRatio : public XPCOMGCFinalizedObject,
+                                 public nsIDOMSVGPreserveAspectRatio,
+                                 public nsSVGValue
+{
--- /builds/xpcomgc/src/gfx/src/thebes/nsThebesDeviceContext.h
+++ /builds/xpcomgc/src/gfx/src/thebes/nsThebesDeviceContext.h
@@ -63,2 +63,2 @@
-class nsThebesDeviceContext : public DeviceContextImpl
-{
+class nsThebesDeviceContext : public XPCOMGCFinalizedObject, public DeviceContextImpl
+{
--- /builds/xpcomgc/src/editor/libeditor/text/nsInternetCiter.h
+++ /builds/xpcomgc/src/editor/libeditor/text/nsInternetCiter.h
@@ -46,2 +46,2 @@
-class nsInternetCiter  : public nsICiter
-{
+class nsInternetCiter  : public XPCOMGCFinalizedObject, public nsICiter
+{
--- /builds/xpcomgc/src/intl/uconv/src/nsScriptableUConv.h
+++ /builds/xpcomgc/src/intl/uconv/src/nsScriptableUConv.h
@@ -46,2 +46,2 @@
-class nsScriptableUnicodeConverter : public nsIScriptableUnicodeConverter
-{
+class nsScriptableUnicodeConverter : public XPCOMGCFinalizedObject, public nsIScriptableUnicodeConverter
+{
--- /builds/xpcomgc/src/js/jsd/jsd_xpc.h
+++ /builds/xpcomgc/src/js/jsd/jsd_xpc.h
@@ -273,2 +273,2 @@
-class jsdService : public jsdIDebuggerService
-{
+class jsdService : public XPCOMGCFinalizedObject, public jsdIDebuggerService
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsProtocolProxyService.cpp
+++ /builds/xpcomgc/src/netwerk/base/src/nsProtocolProxyService.cpp
@@ -88,4 +88,5 @@
-class nsAsyncResolveRequest : public nsIRunnable
-                            , public nsPACManCallback 
-                            , public nsICancelable
-{
+class nsAsyncResolveRequest : public XPCOMGCFinalizedObject
+                            , public nsIRunnable
+                            , public nsPACManCallback 
+                            , public nsICancelable
+{
--- /builds/xpcomgc/src/content/canvas/src/nsCanvasRenderingContext2D.cpp
+++ /builds/xpcomgc/src/content/canvas/src/nsCanvasRenderingContext2D.cpp
@@ -280,4 +280,5 @@
-class nsCanvasRenderingContext2D :
-    public nsIDOMCanvasRenderingContext2D,
-    public nsICanvasRenderingContextInternal
-{
+class nsCanvasRenderingContext2D :
+    public XPCOMGCFinalizedObject,
+    public nsIDOMCanvasRenderingContext2D,
+    public nsICanvasRenderingContextInternal
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLScriptElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLScriptElement.cpp
@@ -311,4 +311,5 @@
-class nsHTMLScriptElement : public nsGenericHTMLElement,
-                            public nsIDOMHTMLScriptElement,
-                            public nsScriptElement
-{
+class nsHTMLScriptElement : public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLElement,
+                            public nsIDOMHTMLScriptElement,
+                            public nsScriptElement
+{
--- /builds/xpcomgc/src/intl/uconv/ucvcn/nsUnicodeToHZ.h
+++ /builds/xpcomgc/src/intl/uconv/ucvcn/nsUnicodeToHZ.h
@@ -53,2 +53,2 @@
-class nsUnicodeToHZ: public nsEncoderSupport
-{
+class nsUnicodeToHZ: public XPCOMGCFinalizedObject, public nsEncoderSupport
+{
--- /builds/xpcomgc/src/docshell/base/nsWebShell.cpp
+++ /builds/xpcomgc/src/docshell/base/nsWebShell.cpp
@@ -321,4 +321,5 @@
-class nsPingListener : public nsIStreamListener
-                     , public nsIInterfaceRequestor
-                     , public nsIChannelEventSink
-{
+class nsPingListener : public XPCOMGCFinalizedObject
+                     , public nsIStreamListener
+                     , public nsIInterfaceRequestor
+                     , public nsIChannelEventSink
+{
--- /builds/xpcomgc/src/content/xslt/src/xslt/txMozillaXMLOutput.h
+++ /builds/xpcomgc/src/content/xslt/src/xslt/txMozillaXMLOutput.h
@@ -61,3 +61,4 @@
-class txTransformNotifier : public nsIScriptLoaderObserver,
-                            public nsICSSLoaderObserver
-{
+class txTransformNotifier : public XPCOMGCFinalizedObject,
+                            public nsIScriptLoaderObserver,
+                            public nsICSSLoaderObserver
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -46,2 +46,2 @@
-class nsSupportsIDImpl : public nsISupportsID
-{
+class nsSupportsIDImpl : public XPCOMGCFinalizedObject, public nsISupportsID
+{
--- /builds/xpcomgc/src/netwerk/test/TestStreamLoader.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestStreamLoader.cpp
@@ -14,2 +14,2 @@
-class MyStreamLoaderObserver : public nsIStreamLoaderObserver
-{
+class MyStreamLoaderObserver : public XPCOMGCFinalizedObject, public nsIStreamLoaderObserver
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -233,2 +233,2 @@
-class nsSupportsPRInt32Impl : public nsISupportsPRInt32
-{
+class nsSupportsPRInt32Impl : public XPCOMGCFinalizedObject, public nsISupportsPRInt32
+{
--- /builds/xpcomgc/src/intl/locale/src/nsLocale.h
+++ /builds/xpcomgc/src/intl/locale/src/nsLocale.h
@@ -60,1 +60,1 @@
-class nsLocale : public nsILocale {
+class nsLocale : public XPCOMGCFinalizedObject, public nsILocale {
--- /builds/xpcomgc/src/content/xml/content/src/nsXMLProcessingInstruction.h
+++ /builds/xpcomgc/src/content/xml/content/src/nsXMLProcessingInstruction.h
@@ -47,3 +47,4 @@
-class nsXMLProcessingInstruction : public nsGenericDOMDataNode,
-                                   public nsIDOMProcessingInstruction
-{
+class nsXMLProcessingInstruction : public XPCOMGCFinalizedObject,
+                                   public nsGenericDOMDataNode,
+                                   public nsIDOMProcessingInstruction
+{
--- /builds/xpcomgc/src/xpcom/io/nsInputStreamTee.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsInputStreamTee.cpp
@@ -43,2 +43,2 @@
-class nsInputStreamTee : public nsIInputStreamTee
-{
+class nsInputStreamTee : public XPCOMGCFinalizedObject, public nsIInputStreamTee
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsLoadGroup.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsLoadGroup.h
@@ -54,4 +54,5 @@
-class nsLoadGroup : public nsILoadGroup,
-                    public nsISupportsPriority,
-                    public nsSupportsWeakReference
-{
+class nsLoadGroup : public XPCOMGCFinalizedObject,
+                    public nsILoadGroup,
+                    public nsISupportsPriority,
+                    public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/intl/uconv/ucvcn/nsUnicodeToGB2312V2.h
+++ /builds/xpcomgc/src/intl/uconv/ucvcn/nsUnicodeToGB2312V2.h
@@ -52,2 +52,2 @@
-class nsUnicodeToGB2312V2 : public nsEncoderSupport
-{
+class nsUnicodeToGB2312V2 : public XPCOMGCFinalizedObject, public nsEncoderSupport
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGClipPathElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGClipPathElement.h
@@ -46,4 +46,5 @@
-class nsSVGClipPathElement : public nsSVGClipPathElementBase,
-                             public nsIDOMSVGClipPathElement,
-                             public nsIDOMSVGUnitTypes
-{
+class nsSVGClipPathElement : public XPCOMGCFinalizedObject,
+                             public nsSVGClipPathElementBase,
+                             public nsIDOMSVGClipPathElement,
+                             public nsIDOMSVGUnitTypes
+{
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsFTPDirListingConv.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsFTPDirListingConv.h
@@ -54,1 +54,1 @@
-class nsFTPDirListingConv : public nsIStreamConverter {
+class nsFTPDirListingConv : public XPCOMGCFinalizedObject, public nsIStreamConverter {
--- /builds/xpcomgc/src/intl/uconv/ucvcn/nsGBKToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvcn/nsGBKToUnicode.h
@@ -54,2 +54,2 @@
-class nsGBKToUnicode : public nsBufferDecoderSupport
-{
+class nsGBKToUnicode : public XPCOMGCFinalizedObject, public nsBufferDecoderSupport
+{
--- /builds/xpcomgc/src/layout/base/nsFrameTraversal.h
+++ /builds/xpcomgc/src/layout/base/nsFrameTraversal.h
@@ -53,2 +53,2 @@
-class nsFrameTraversal : public nsIFrameTraversal
-{
+class nsFrameTraversal : public XPCOMGCFinalizedObject, public nsIFrameTraversal
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsInputStreamPump.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsInputStreamPump.h
@@ -51,3 +51,4 @@
-class nsInputStreamPump : public nsIInputStreamPump
-                        , public nsIInputStreamCallback
-{
+class nsInputStreamPump : public XPCOMGCFinalizedObject
+                        , public nsIInputStreamPump
+                        , public nsIInputStreamCallback
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
+++ /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
@@ -4305,1 +4305,1 @@
-class DOMPluginImpl : public nsIDOMPlugin {
+class DOMPluginImpl : public XPCOMGCFinalizedObject, public nsIDOMPlugin {
--- /builds/xpcomgc/src/netwerk/protocol/about/src/nsAboutProtocolHandler.h
+++ /builds/xpcomgc/src/netwerk/protocol/about/src/nsAboutProtocolHandler.h
@@ -58,2 +58,2 @@
-class nsSafeAboutProtocolHandler : public nsIProtocolHandler
-{
+class nsSafeAboutProtocolHandler : public XPCOMGCFinalizedObject, public nsIProtocolHandler
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -2298,4 +2298,5 @@
-class nsSVGFEMergeElement : public nsSVGFEMergeElementBase,
-                            public nsIDOMSVGFEMergeElement,
-                            public nsISVGFilter
-{
+class nsSVGFEMergeElement : public XPCOMGCFinalizedObject,
+                            public nsSVGFEMergeElementBase,
+                            public nsIDOMSVGFEMergeElement,
+                            public nsISVGFilter
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLHeadElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLHeadElement.cpp
@@ -44,3 +44,4 @@
-class nsHTMLHeadElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLHeadElement
-{
+class nsHTMLHeadElement : public XPCOMGCFinalizedObject,
+                          public nsGenericHTMLElement,
+                          public nsIDOMHTMLHeadElement
+{
--- /builds/xpcomgc/src/layout/xul/base/src/nsImageBoxFrame.h
+++ /builds/xpcomgc/src/layout/xul/base/src/nsImageBoxFrame.h
@@ -48,2 +48,2 @@
-class nsImageBoxListener : public nsStubImageDecoderObserver
-{
+class nsImageBoxListener : public XPCOMGCFinalizedObject, public nsStubImageDecoderObserver
+{
--- /builds/xpcomgc/src/intl/unicharutil/src/nsHankakuToZenkaku.cpp
+++ /builds/xpcomgc/src/intl/unicharutil/src/nsHankakuToZenkaku.cpp
@@ -133,1 +133,1 @@
-class nsHankakuToZenkaku : public nsITextTransform {
+class nsHankakuToZenkaku : public XPCOMGCFinalizedObject, public nsITextTransform {
--- /builds/xpcomgc/src/netwerk/base/src/nsIncrementalDownload.cpp
+++ /builds/xpcomgc/src/netwerk/base/src/nsIncrementalDownload.cpp
@@ -120,7 +120,8 @@
-class nsIncrementalDownload : public nsIIncrementalDownload
-                            , public nsIStreamListener
-                            , public nsIObserver
-                            , public nsIInterfaceRequestor
-                            , public nsIChannelEventSink
-                            , public nsSupportsWeakReference
-{
+class nsIncrementalDownload : public XPCOMGCFinalizedObject
+                            , public nsIIncrementalDownload
+                            , public nsIStreamListener
+                            , public nsIObserver
+                            , public nsIInterfaceRequestor
+                            , public nsIChannelEventSink
+                            , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/layout/forms/nsTextControlFrame.cpp
+++ /builds/xpcomgc/src/layout/forms/nsTextControlFrame.cpp
@@ -182,6 +182,7 @@
-class nsTextInputListener : public nsISelectionListener,
-                            public nsIDOMFocusListener,
-                            public nsIDOMKeyListener,
-                            public nsIEditorObserver,
-                            public nsSupportsWeakReference
-{
+class nsTextInputListener : public XPCOMGCFinalizedObject,
+                            public nsISelectionListener,
+                            public nsIDOMFocusListener,
+                            public nsIDOMKeyListener,
+                            public nsIEditorObserver,
+                            public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/xul/document/src/nsXULPrototypeCache.h
+++ /builds/xpcomgc/src/content/xul/document/src/nsXULPrototypeCache.h
@@ -72,3 +72,4 @@
-class nsXULPrototypeCache : public nsIXULPrototypeCache,
-                                   nsIObserver
-{
+class nsXULPrototypeCache : public XPCOMGCFinalizedObject,
+                                   public nsIXULPrototypeCache,
+                                   nsIObserver
+{
--- /builds/xpcomgc/src/netwerk/test/TestServ.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestServ.cpp
@@ -55,2 +55,2 @@
-class MySocketListener : public nsIServerSocketListener
-{
+class MySocketListener : public XPCOMGCFinalizedObject, public nsIServerSocketListener
+{
--- /builds/xpcomgc/src/intl/uconv/util/nsUCSupport.h
+++ /builds/xpcomgc/src/intl/uconv/util/nsUCSupport.h
@@ -257,2 +257,2 @@
-class nsOneByteDecoderSupport : public nsBasicDecoderSupport
-{
+class nsOneByteDecoderSupport : public XPCOMGCFinalizedObject, public nsBasicDecoderSupport
+{
--- /builds/xpcomgc/src/rdf/base/src/nsCompositeDataSource.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsCompositeDataSource.cpp
@@ -100,3 +100,4 @@
-class CompositeDataSourceImpl : public nsIRDFCompositeDataSource,
-                                public nsIRDFObserver
-{
+class CompositeDataSourceImpl : public XPCOMGCFinalizedObject,
+                                public nsIRDFCompositeDataSource,
+                                public nsIRDFObserver
+{
--- /builds/xpcomgc/src/editor/libeditor/html/nsHTMLObjectResizer.h
+++ /builds/xpcomgc/src/editor/libeditor/html/nsHTMLObjectResizer.h
@@ -70,2 +70,2 @@
-class ResizerSelectionListener : public nsISelectionListener
-{
+class ResizerSelectionListener : public XPCOMGCFinalizedObject, public nsISelectionListener
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLBRElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLBRElement.cpp
@@ -45,3 +45,4 @@
-class nsHTMLBRElement : public nsGenericHTMLElement,
-                        public nsIDOMHTMLBRElement
-{
+class nsHTMLBRElement : public XPCOMGCFinalizedObject,
+                        public nsGenericHTMLElement,
+                        public nsIDOMHTMLBRElement
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGGradientElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGGradientElement.h
@@ -137,3 +137,4 @@
-class nsSVGRadialGradientElement : public nsSVGRadialGradientElementBase,
-                                   public nsIDOMSVGRadialGradientElement
-{
+class nsSVGRadialGradientElement : public XPCOMGCFinalizedObject,
+                                   public nsSVGRadialGradientElementBase,
+                                   public nsIDOMSVGRadialGradientElement
+{
--- /builds/xpcomgc/src/xpcom/proxy/tests/proxytests.cpp
+++ /builds/xpcomgc/src/xpcom/proxy/tests/proxytests.cpp
@@ -427,1 +427,1 @@
-class MainThreadOnly : public nsIRunnable {
+class MainThreadOnly : public XPCOMGCFinalizedObject, public nsIRunnable {
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedGlobalHistory.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedGlobalHistory.h
@@ -59,3 +59,4 @@
-class EmbedGlobalHistory: public nsIGlobalHistory2,
-                          public nsIObserver
-{
+class EmbedGlobalHistory: public XPCOMGCFinalizedObject,
+                          public nsIGlobalHistory2,
+                          public nsIObserver
+{
--- /builds/xpcomgc/src/xpcom/ds/nsHashPropertyBag.cpp
+++ /builds/xpcomgc/src/xpcom/ds/nsHashPropertyBag.cpp
@@ -148,1 +148,1 @@
-class nsSimpleProperty : public nsIProperty {
+class nsSimpleProperty : public XPCOMGCFinalizedObject, public nsIProperty {
--- /builds/xpcomgc/src/xpfe/components/intl/nsCharsetMenu.cpp
+++ /builds/xpcomgc/src/xpfe/components/intl/nsCharsetMenu.cpp
@@ -393,1 +393,1 @@
-class nsCharsetMenuObserver : public nsIObserver {
+class nsCharsetMenuObserver : public XPCOMGCFinalizedObject, public nsIObserver {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGStringProxyValue.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGStringProxyValue.cpp
@@ -58,3 +58,4 @@
-class nsSVGStringProxyValue : public nsSVGValue,
-                              public nsISVGValueObserver
-{
+class nsSVGStringProxyValue : public XPCOMGCFinalizedObject,
+                              public nsSVGValue,
+                              public nsISVGValueObserver
+{
--- /builds/xpcomgc/src/editor/libeditor/base/JoinElementTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/JoinElementTxn.h
@@ -59,2 +59,2 @@
-class JoinElementTxn : public EditTxn
-{
+class JoinElementTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/layout/generic/nsObjectFrame.cpp
+++ /builds/xpcomgc/src/layout/generic/nsObjectFrame.cpp
@@ -204,2 +204,3 @@
-class nsPluginInstanceOwner : public nsIPluginInstanceOwner,
-                              public nsIPluginTagInfo2,
+class nsPluginInstanceOwner : public XPCOMGCFinalizedObject,
+                              public nsIPluginInstanceOwner,
+                              public nsIPluginTagInfo2,
--- /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
+++ /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
@@ -1306,1 +1306,1 @@
-class nsPluginByteRangeStreamListener : public nsIStreamListener {
+class nsPluginByteRangeStreamListener : public XPCOMGCFinalizedObject, public nsIStreamListener {
--- /builds/xpcomgc/src/parser/xml/src/nsSAXLocator.h
+++ /builds/xpcomgc/src/parser/xml/src/nsSAXLocator.h
@@ -50,2 +50,2 @@
-class nsSAXLocator : public nsISAXLocator
-{
+class nsSAXLocator : public XPCOMGCFinalizedObject, public nsISAXLocator
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -4405,3 +4405,4 @@
-class nsSVGFEPointLightElement : public nsSVGFEPointLightElementBase,
-                                 public nsIDOMSVGFEPointLightElement
-{
+class nsSVGFEPointLightElement : public XPCOMGCFinalizedObject,
+                                 public nsSVGFEPointLightElementBase,
+                                 public nsIDOMSVGFEPointLightElement
+{
--- /builds/xpcomgc/src/dom/src/jsurl/nsJSProtocolHandler.cpp
+++ /builds/xpcomgc/src/dom/src/jsurl/nsJSProtocolHandler.cpp
@@ -78,2 +78,2 @@
-class nsJSThunk : public nsIInputStream
-{
+class nsJSThunk : public XPCOMGCFinalizedObject, public nsIInputStream
+{
--- /builds/xpcomgc/src/dom/src/offline/nsDOMOfflineLoadStatusList.cpp
+++ /builds/xpcomgc/src/dom/src/offline/nsDOMOfflineLoadStatusList.cpp
@@ -80,2 +80,2 @@
-class nsDOMOfflineLoadStatus : public nsIDOMLoadStatus
-{
+class nsDOMOfflineLoadStatus : public XPCOMGCFinalizedObject, public nsIDOMLoadStatus
+{
--- /builds/xpcomgc/src/layout/base/nsDocumentViewer.cpp
+++ /builds/xpcomgc/src/layout/base/nsDocumentViewer.cpp
@@ -295,6 +295,7 @@
-class DocumentViewerImpl : public nsIDocumentViewer,
-                           public nsIContentViewerEdit,
-                           public nsIContentViewerFile,
-                           public nsIMarkupDocumentViewer,
-                           public nsIDocumentViewerPrint
-
+class DocumentViewerImpl : public XPCOMGCFinalizedObject,
+                           public nsIDocumentViewer,
+                           public nsIContentViewerEdit,
+                           public nsIContentViewerFile,
+                           public nsIMarkupDocumentViewer,
+                           public nsIDocumentViewerPrint
+
--- /builds/xpcomgc/src/xpcom/tests/TestFactory.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestFactory.cpp
@@ -57,1 +57,1 @@
-class TestClassImpl: public ITestClass {
+class TestClassImpl: public XPCOMGCFinalizedObject, public ITestClass {
--- /builds/xpcomgc/src/toolkit/xre/nsXREDirProvider.cpp
+++ /builds/xpcomgc/src/toolkit/xre/nsXREDirProvider.cpp
@@ -793,2 +793,2 @@
-class ProfileChangeStatusImpl : public nsIProfileChangeStatus
-{
+class ProfileChangeStatusImpl : public XPCOMGCFinalizedObject, public nsIProfileChangeStatus
+{
--- /builds/xpcomgc/src/netwerk/test/TestProtocols.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestProtocols.cpp
@@ -159,2 +159,2 @@
-class HeaderVisitor : public nsIHttpHeaderVisitor
-{
+class HeaderVisitor : public XPCOMGCFinalizedObject, public nsIHttpHeaderVisitor
+{
--- /builds/xpcomgc/src/netwerk/dns/src/nsDNSService2.h
+++ /builds/xpcomgc/src/netwerk/dns/src/nsDNSService2.h
@@ -44,3 +44,4 @@
-class nsDNSService : public nsPIDNSService
-                   , public nsIObserver
-{
+class nsDNSService : public XPCOMGCFinalizedObject
+                   , public nsPIDNSService
+                   , public nsIObserver
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsCyrillicDetector.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsCyrillicDetector.h
@@ -163,2 +163,2 @@
-class nsRUStringProbDetector : public nsCyrXPCOMStringDetector
-{
+class nsRUStringProbDetector : public XPCOMGCFinalizedObject, public nsCyrXPCOMStringDetector
+{
--- /builds/xpcomgc/src/xpcom/reflect/xptinfo/src/xptiprivate.h
+++ /builds/xpcomgc/src/xpcom/reflect/xptinfo/src/xptiprivate.h
@@ -686,2 +686,2 @@
-class xptiInterfaceInfo : public nsIInterfaceInfo
-{
+class xptiInterfaceInfo : public XPCOMGCFinalizedObject, public nsIInterfaceInfo
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsStandardURL.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsStandardURL.h
@@ -66,5 +66,6 @@
-class nsStandardURL : public nsIFileURL
-                    , public nsIStandardURL
-                    , public nsISerializable
-                    , public nsIClassInfo
-{
+class nsStandardURL : public XPCOMGCFinalizedObject
+                    , public nsIFileURL
+                    , public nsIStandardURL
+                    , public nsISerializable
+                    , public nsIClassInfo
+{
--- /builds/xpcomgc/src/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp
+++ /builds/xpcomgc/src/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp
@@ -994,2 +994,2 @@
-class DefaultTooltipTextProvider : public nsITooltipTextProvider
-{
+class DefaultTooltipTextProvider : public XPCOMGCFinalizedObject, public nsITooltipTextProvider
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -203,2 +203,2 @@
-class nsFontFaceStateCommand : public nsMultiStateCommand
-{
+class nsFontFaceStateCommand : public XPCOMGCFinalizedObject, public nsMultiStateCommand
+{
--- /builds/xpcomgc/src/docshell/base/nsDocShellEnumerator.h
+++ /builds/xpcomgc/src/docshell/base/nsDocShellEnumerator.h
@@ -131,2 +131,2 @@
-class nsDocShellBackwardsEnumerator : public nsDocShellEnumerator
-{
+class nsDocShellBackwardsEnumerator : public XPCOMGCFinalizedObject, public nsDocShellEnumerator
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -2215,3 +2215,4 @@
-class nsSVGFEFuncBElement : public nsSVGComponentTransferFunctionElement,
-                            public nsIDOMSVGFEFuncBElement
-{
+class nsSVGFEFuncBElement : public XPCOMGCFinalizedObject,
+                            public nsSVGComponentTransferFunctionElement,
+                            public nsIDOMSVGFEFuncBElement
+{
--- /builds/xpcomgc/src/dom/src/base/nsBarProps.h
+++ /builds/xpcomgc/src/dom/src/base/nsBarProps.h
@@ -74,2 +74,2 @@
-class nsMenubarProp : public nsBarProp
-{
+class nsMenubarProp : public XPCOMGCFinalizedObject, public nsBarProp
+{
--- /builds/xpcomgc/src/intl/locale/src/nsLanguageAtomService.h
+++ /builds/xpcomgc/src/intl/locale/src/nsLanguageAtomService.h
@@ -49,2 +49,2 @@
-class nsLanguageAtomService : public nsILanguageAtomService
-{
+class nsLanguageAtomService : public XPCOMGCFinalizedObject, public nsILanguageAtomService
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsURLParsers.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsURLParsers.h
@@ -99,2 +99,2 @@
-class nsAuthURLParser : public nsBaseURLParser
-{
+class nsAuthURLParser : public XPCOMGCFinalizedObject, public nsBaseURLParser
+{
--- /builds/xpcomgc/src/embedding/components/commandhandler/src/nsCommandManager.h
+++ /builds/xpcomgc/src/embedding/components/commandhandler/src/nsCommandManager.h
@@ -54,2 +54,3 @@
-class nsCommandManager :  public nsICommandManager,
-                          public nsPICommandUpdater,
+class nsCommandManager :  public XPCOMGCFinalizedObject,
+                          public nsICommandManager,
+                          public nsPICommandUpdater,
--- /builds/xpcomgc/src/content/xbl/src/nsXBLService.cpp
+++ /builds/xpcomgc/src/content/xbl/src/nsXBLService.cpp
@@ -250,2 +250,2 @@
-class nsXBLStreamListener : public nsIStreamListener, public nsIDOMLoadListener
-{
+class nsXBLStreamListener : public XPCOMGCFinalizedObject, public nsIStreamListener, public nsIDOMLoadListener
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLImageElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLImageElement.cpp
@@ -81,6 +81,7 @@
-class nsHTMLImageElement : public nsGenericHTMLElement,
-                           public nsImageLoadingContent,
-                           public nsIDOMHTMLImageElement,
-                           public nsIDOMNSHTMLImageElement,
-                           public nsIJSNativeInitializer
-{
+class nsHTMLImageElement : public XPCOMGCFinalizedObject,
+                           public nsGenericHTMLElement,
+                           public nsImageLoadingContent,
+                           public nsIDOMHTMLImageElement,
+                           public nsIDOMNSHTMLImageElement,
+                           public nsIJSNativeInitializer
+{
--- /builds/xpcomgc/src/storage/src/mozStorageValueArray.h
+++ /builds/xpcomgc/src/storage/src/mozStorageValueArray.h
@@ -67,2 +67,2 @@
-class mozStorageArgvValueArray : public mozIStorageValueArray
-{
+class mozStorageArgvValueArray : public XPCOMGCFinalizedObject, public mozIStorageValueArray
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_inout.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_inout.cpp
@@ -44,1 +44,1 @@
-class xpcTestInOut : public nsIXPCTestInOut {
+class xpcTestInOut : public XPCOMGCFinalizedObject, public nsIXPCTestInOut {
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsBinHexDecoder.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsBinHexDecoder.h
@@ -93,2 +93,2 @@
-class nsBinHexDecoder : public nsIStreamConverter
-{
+class nsBinHexDecoder : public XPCOMGCFinalizedObject, public nsIStreamConverter
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsPKCS11Slot.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsPKCS11Slot.h
@@ -72,3 +72,4 @@
-class nsPKCS11Module : public nsIPKCS11Module,
-                       public nsNSSShutDownObject
-{
+class nsPKCS11Module : public XPCOMGCFinalizedObject,
+                       public nsIPKCS11Module,
+                       public nsNSSShutDownObject
+{
--- /builds/xpcomgc/src/layout/inspector/src/inDeepTreeWalker.h
+++ /builds/xpcomgc/src/layout/inspector/src/inDeepTreeWalker.h
@@ -48,2 +48,2 @@
-class inDeepTreeWalker : public inIDeepTreeWalker
-{
+class inDeepTreeWalker : public XPCOMGCFinalizedObject, public inIDeepTreeWalker
+{
--- /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsPrompt.h
+++ /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsPrompt.h
@@ -45,3 +45,4 @@
-class nsPrompt : public nsIPrompt,
-                 public nsIAuthPrompt,
-                 public nsIAuthPrompt2 {
+class nsPrompt : public XPCOMGCFinalizedObject,
+                 public nsIPrompt,
+                 public nsIAuthPrompt,
+                 public nsIAuthPrompt2 {
--- /builds/xpcomgc/src/intl/uconv/ucvcn/nsHZToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvcn/nsHZToUnicode.h
@@ -53,2 +53,2 @@
-class nsHZToUnicode : public nsBufferDecoderSupport
-{
+class nsHZToUnicode : public XPCOMGCFinalizedObject, public nsBufferDecoderSupport
+{
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsMUTF7ToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsMUTF7ToUnicode.h
@@ -51,2 +51,2 @@
-class nsMUTF7ToUnicode : public nsBasicUTF7Decoder 
-{
+class nsMUTF7ToUnicode : public XPCOMGCFinalizedObject, public nsBasicUTF7Decoder 
+{
--- /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateResultRDF.h
+++ /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateResultRDF.h
@@ -50,2 +50,2 @@
-class nsXULTemplateResultRDF : public nsIXULTemplateResult
-{
+class nsXULTemplateResultRDF : public XPCOMGCFinalizedObject, public nsIXULTemplateResult
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLFrameElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLFrameElement.cpp
@@ -45,3 +45,4 @@
-class nsHTMLFrameElement : public nsGenericHTMLFrameElement,
-                           public nsIDOMHTMLFrameElement
-{
+class nsHTMLFrameElement : public XPCOMGCFinalizedObject,
+                           public nsGenericHTMLFrameElement,
+                           public nsIDOMHTMLFrameElement
+{
--- /builds/xpcomgc/src/content/canvas/src/nsCanvasRenderingContext2D.cpp
+++ /builds/xpcomgc/src/content/canvas/src/nsCanvasRenderingContext2D.cpp
@@ -232,2 +232,2 @@
-class nsCanvasPattern : public nsIDOMCanvasPattern
-{
+class nsCanvasPattern : public XPCOMGCFinalizedObject, public nsIDOMCanvasPattern
+{
--- /builds/xpcomgc/src/parser/htmlparser/src/nsLoggingSink.h
+++ /builds/xpcomgc/src/parser/htmlparser/src/nsLoggingSink.h
@@ -43,1 +43,1 @@
-class nsLoggingSink : public nsILoggingSink {
+class nsLoggingSink : public XPCOMGCFinalizedObject, public nsILoggingSink {
--- /builds/xpcomgc/src/layout/generic/nsFrameUtil.cpp
+++ /builds/xpcomgc/src/layout/generic/nsFrameUtil.cpp
@@ -48,1 +48,1 @@
-class nsFrameUtil : public nsIFrameUtil {
+class nsFrameUtil : public XPCOMGCFinalizedObject, public nsIFrameUtil {
--- /builds/xpcomgc/src/modules/libjar/nsJARProtocolHandler.h
+++ /builds/xpcomgc/src/modules/libjar/nsJARProtocolHandler.h
@@ -48,3 +48,4 @@
-class nsJARProtocolHandler : public nsIJARProtocolHandler
-                           , public nsSupportsWeakReference
-{
+class nsJARProtocolHandler : public XPCOMGCFinalizedObject
+                           , public nsIJARProtocolHandler
+                           , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLTableElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLTableElement.cpp
@@ -60,3 +60,4 @@
-class nsHTMLTableElement :  public nsGenericHTMLElement,
-                            public nsIDOMHTMLTableElement
-{
+class nsHTMLTableElement :  public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLElement,
+                            public nsIDOMHTMLTableElement
+{
--- /builds/xpcomgc/src/layout/printing/nsPrintEngine.h
+++ /builds/xpcomgc/src/layout/printing/nsPrintEngine.h
@@ -62,2 +62,2 @@
-class nsPrintEngine : public nsIObserver
-{
+class nsPrintEngine : public XPCOMGCFinalizedObject, public nsIObserver
+{
--- /builds/xpcomgc/src/xpcom/tests/services/MyService.cpp
+++ /builds/xpcomgc/src/xpcom/tests/services/MyService.cpp
@@ -45,1 +45,1 @@
-class MyService : public IMyService {
+class MyService : public XPCOMGCFinalizedObject, public IMyService {
--- /builds/xpcomgc/src/content/xbl/src/nsXBLResourceLoader.h
+++ /builds/xpcomgc/src/content/xbl/src/nsXBLResourceLoader.h
@@ -72,2 +72,2 @@
-class nsXBLResourceLoader : public nsICSSLoaderObserver
-{
+class nsXBLResourceLoader : public XPCOMGCFinalizedObject, public nsICSSLoaderObserver
+{
--- /builds/xpcomgc/src/intl/uconv/ucvja/nsJapaneseToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvja/nsJapaneseToUnicode.h
@@ -116,2 +116,2 @@
-class nsISO2022JPToUnicodeV2 : public nsJapaneseToUnicode
-{
+class nsISO2022JPToUnicodeV2 : public XPCOMGCFinalizedObject, public nsJapaneseToUnicode
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGTitleElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGTitleElement.cpp
@@ -43,3 +43,4 @@
-class nsSVGTitleElement : public nsSVGTitleElementBase,
-                          public nsIDOMSVGTitleElement
-{
+class nsSVGTitleElement : public XPCOMGCFinalizedObject,
+                          public nsSVGTitleElementBase,
+                          public nsIDOMSVGTitleElement
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2196,2 +2196,2 @@
-class nsXPCWrappedJSClass : public nsIXPCWrappedJSClass
-{
+class nsXPCWrappedJSClass : public XPCOMGCFinalizedObject, public nsIXPCWrappedJSClass
+{
--- /builds/xpcomgc/src/dom/src/base/nsGlobalWindow.cpp
+++ /builds/xpcomgc/src/dom/src/base/nsGlobalWindow.cpp
@@ -383,1 +383,1 @@
-class nsGlobalWindowObserver : public nsIObserver {
+class nsGlobalWindowObserver : public XPCOMGCFinalizedObject, public nsIObserver {
--- /builds/xpcomgc/src/modules/libjar/zipwriter/src/nsDeflateConverter.h
+++ /builds/xpcomgc/src/modules/libjar/zipwriter/src/nsDeflateConverter.h
@@ -55,2 +55,2 @@
-class nsDeflateConverter : public nsIStreamConverter
-{
+class nsDeflateConverter : public XPCOMGCFinalizedObject, public nsIStreamConverter
+{
--- /builds/xpcomgc/src/security/manager/boot/src/nsSecurityWarningDialogs.h
+++ /builds/xpcomgc/src/security/manager/boot/src/nsSecurityWarningDialogs.h
@@ -47,2 +47,2 @@
-class nsSecurityWarningDialogs : public nsISecurityWarningDialogs
-{
+class nsSecurityWarningDialogs : public XPCOMGCFinalizedObject, public nsISecurityWarningDialogs
+{
--- /builds/xpcomgc/src/rdf/base/src/nsInMemoryDataSource.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsInMemoryDataSource.cpp
@@ -294,6 +294,7 @@
-class InMemoryDataSource : public nsIRDFDataSource,
-                           public nsIRDFInMemoryDataSource,
-                           public nsIRDFPropagatableDataSource,
-                           public nsIRDFPurgeableDataSource,
-                           public rdfIDataSource
-{
+class InMemoryDataSource : public XPCOMGCFinalizedObject,
+                           public nsIRDFDataSource,
+                           public nsIRDFInMemoryDataSource,
+                           public nsIRDFPropagatableDataSource,
+                           public nsIRDFPurgeableDataSource,
+                           public rdfIDataSource
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGSymbolElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGSymbolElement.cpp
@@ -49,4 +49,5 @@
-class nsSVGSymbolElement : public nsSVGSymbolElementBase,
-                           public nsIDOMSVGFitToViewBox,
-                           public nsIDOMSVGSymbolElement
-{
+class nsSVGSymbolElement : public XPCOMGCFinalizedObject,
+                           public nsSVGSymbolElementBase,
+                           public nsIDOMSVGFitToViewBox,
+                           public nsIDOMSVGSymbolElement
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -1208,3 +1208,4 @@
-class nsSVGPathSegArcAbs : public nsIDOMSVGPathSegArcAbs,
-                           public nsSVGPathSeg
-{
+class nsSVGPathSegArcAbs : public XPCOMGCFinalizedObject,
+                           public nsIDOMSVGPathSegArcAbs,
+                           public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
@@ -122,1 +122,1 @@
-class nsASDOMWindowEarlyToLateEnumerator : public nsASDOMWindowEnumerator {
+class nsASDOMWindowEarlyToLateEnumerator : public XPCOMGCFinalizedObject, public nsASDOMWindowEnumerator {
--- /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
+++ /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.cpp
@@ -1583,2 +1583,2 @@
-class nsPluginCacheListener : public nsIStreamListener
-{
+class nsPluginCacheListener : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/layout/build/nsLayoutModule.cpp
+++ /builds/xpcomgc/src/layout/build/nsLayoutModule.cpp
@@ -294,2 +294,2 @@
-class LayoutShutdownObserver : public nsIObserver
-{
+class LayoutShutdownObserver : public XPCOMGCFinalizedObject, public nsIObserver
+{
--- /builds/xpcomgc/src/layout/style/nsDOMCSSRGBColor.h
+++ /builds/xpcomgc/src/layout/style/nsDOMCSSRGBColor.h
@@ -49,1 +49,1 @@
-class nsDOMCSSRGBColor : public nsIDOMNSRGBAColor {
+class nsDOMCSSRGBColor : public XPCOMGCFinalizedObject, public nsIDOMNSRGBAColor {
--- /builds/xpcomgc/src/gfx/src/thebes/nsThebesFontMetrics.h
+++ /builds/xpcomgc/src/gfx/src/thebes/nsThebesFontMetrics.h
@@ -50,2 +50,2 @@
-class nsThebesFontMetrics : public nsIThebesFontMetrics
-{
+class nsThebesFontMetrics : public XPCOMGCFinalizedObject, public nsIThebesFontMetrics
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsAppShell.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsAppShell.h
@@ -45,1 +45,1 @@
-class nsAppShell : public nsBaseAppShell {
+class nsAppShell : public XPCOMGCFinalizedObject, public nsBaseAppShell {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGForeignObjectElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGForeignObjectElement.h
@@ -47,3 +47,4 @@
-class nsSVGForeignObjectElement : public nsSVGForeignObjectElementBase,
-                                  public nsIDOMSVGForeignObjectElement
-{
+class nsSVGForeignObjectElement : public XPCOMGCFinalizedObject,
+                                  public nsSVGForeignObjectElementBase,
+                                  public nsIDOMSVGForeignObjectElement
+{
--- /builds/xpcomgc/src/extensions/permissions/nsContentBlocker.h
+++ /builds/xpcomgc/src/extensions/permissions/nsContentBlocker.h
@@ -51,4 +51,5 @@
-class nsContentBlocker : public nsIContentPolicy,
-                         public nsIObserver,
-                         public nsSupportsWeakReference
-{
+class nsContentBlocker : public XPCOMGCFinalizedObject,
+                         public nsIContentPolicy,
+                         public nsIObserver,
+                         public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/xpcom/ds/nsArray.h
+++ /builds/xpcomgc/src/xpcom/ds/nsArray.h
@@ -58,2 +58,2 @@
-class nsArray : public nsIMutableArray
-{
+class nsArray : public XPCOMGCFinalizedObject, public nsIMutableArray
+{
--- /builds/xpcomgc/src/chrome/src/nsChromeProtocolHandler.cpp
+++ /builds/xpcomgc/src/chrome/src/nsChromeProtocolHandler.cpp
@@ -102,2 +102,2 @@
-class nsCachedChromeChannel : public nsIChannel
-{
+class nsCachedChromeChannel : public XPCOMGCFinalizedObject, public nsIChannel
+{
--- /builds/xpcomgc/src/parser/htmlparser/src/CNavDTD.h
+++ /builds/xpcomgc/src/parser/htmlparser/src/CNavDTD.h
@@ -129,2 +129,2 @@
-class CNavDTD : public nsIDTD
-{
+class CNavDTD : public XPCOMGCFinalizedObject, public nsIDTD
+{
--- /builds/xpcomgc/src/netwerk/test/TestProtocols.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestProtocols.cpp
@@ -557,1 +557,1 @@
-class NotificationCallbacks : public nsIInterfaceRequestor {
+class NotificationCallbacks : public XPCOMGCFinalizedObject, public nsIInterfaceRequestor {
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_const.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_const.cpp
@@ -44,1 +44,1 @@
-class xpcTestConst : public nsIXPCTestConst {
+class xpcTestConst : public XPCOMGCFinalizedObject, public nsIXPCTestConst {
--- /builds/xpcomgc/src/gfx/src/thebes/nsThebesFontEnumerator.h
+++ /builds/xpcomgc/src/gfx/src/thebes/nsThebesFontEnumerator.h
@@ -43,2 +43,2 @@
-class nsThebesFontEnumerator : public nsIFontEnumerator
-{
+class nsThebesFontEnumerator : public XPCOMGCFinalizedObject, public nsIFontEnumerator
+{
--- /builds/xpcomgc/src/embedding/browser/webBrowser/nsWebBrowserContentPolicy.h
+++ /builds/xpcomgc/src/embedding/browser/webBrowser/nsWebBrowserContentPolicy.h
@@ -46,2 +46,2 @@
-class nsWebBrowserContentPolicy : public nsIContentPolicy
-{
+class nsWebBrowserContentPolicy : public XPCOMGCFinalizedObject, public nsIContentPolicy
+{
--- /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
+++ /builds/xpcomgc/src/xpfe/appshell/src/nsAppShellWindowEnumerator.h
@@ -174,1 +174,1 @@
-class nsASDOMWindowBackToFrontEnumerator : public nsASDOMWindowEnumerator {
+class nsASDOMWindowBackToFrontEnumerator : public XPCOMGCFinalizedObject, public nsASDOMWindowEnumerator {
--- /builds/xpcomgc/src/embedding/components/find/src/nsFind.h
+++ /builds/xpcomgc/src/embedding/components/find/src/nsFind.h
@@ -60,2 +60,2 @@
-class nsFind : public nsIFind
-{
+class nsFind : public XPCOMGCFinalizedObject, public nsIFind
+{
--- /builds/xpcomgc/src/content/base/src/nsDocument.cpp
+++ /builds/xpcomgc/src/content/base/src/nsDocument.cpp
@@ -501,3 +501,3 @@
-class nsDOMStyleSheetSetList : public nsIDOMDOMStringList
-                          
-{
+class nsDOMStyleSheetSetList : public XPCOMGCFinalizedObject, public nsIDOMDOMStringList
+                          
+{
--- /builds/xpcomgc/src/content/base/public/nsDOMFile.h
+++ /builds/xpcomgc/src/content/base/public/nsDOMFile.h
@@ -79,2 +79,2 @@
-class nsDOMFileList : public nsIDOMFileList
-{
+class nsDOMFileList : public XPCOMGCFinalizedObject, public nsIDOMFileList
+{
--- /builds/xpcomgc/src/toolkit/components/satchel/src/nsStorageFormHistory.cpp
+++ /builds/xpcomgc/src/toolkit/components/satchel/src/nsStorageFormHistory.cpp
@@ -76,2 +76,2 @@
-class nsFormHistoryResult : public nsIAutoCompleteSimpleResult
-{
+class nsFormHistoryResult : public XPCOMGCFinalizedObject, public nsIAutoCompleteSimpleResult
+{
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToTSCII.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToTSCII.h
@@ -51,2 +51,2 @@
-class nsUnicodeToTSCII : public nsIUnicodeEncoder, public nsICharRepresentable
-{
+class nsUnicodeToTSCII : public XPCOMGCFinalizedObject, public nsIUnicodeEncoder, public nsICharRepresentable
+{
--- /builds/xpcomgc/src/security/manager/pki/src/nsASN1Tree.h
+++ /builds/xpcomgc/src/security/manager/pki/src/nsASN1Tree.h
@@ -58,2 +58,2 @@
-class nsNSSASN1Tree : public nsIASN1Tree
-{
+class nsNSSASN1Tree : public XPCOMGCFinalizedObject, public nsIASN1Tree
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.h
+++ /builds/xpcomgc/src/modules/plugin/base/src/nsPluginHostImpl.h
@@ -206,8 +206,9 @@
-class nsPluginHostImpl : public nsIPluginManager2,
-                         public nsIPluginHost,
-                         public nsIFileUtilities,
-                         public nsICookieStorage,
-                         public nsIObserver,
-                         public nsPIPluginHost,
-                         public nsSupportsWeakReference
-{
+class nsPluginHostImpl : public XPCOMGCFinalizedObject,
+                         public nsIPluginManager2,
+                         public nsIPluginHost,
+                         public nsIFileUtilities,
+                         public nsICookieStorage,
+                         public nsIObserver,
+                         public nsPIPluginHost,
+                         public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/uriloader/base/nsURILoader.cpp
+++ /builds/xpcomgc/src/uriloader/base/nsURILoader.cpp
@@ -96,2 +96,2 @@
-class nsDocumentOpenInfo : public nsIStreamListener
-{
+class nsDocumentOpenInfo : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/extensions/auth/nsAuthSambaNTLM.h
+++ /builds/xpcomgc/src/extensions/auth/nsAuthSambaNTLM.h
@@ -56,2 +56,2 @@
-class nsAuthSambaNTLM : public nsIAuthModule
-{
+class nsAuthSambaNTLM : public XPCOMGCFinalizedObject, public nsIAuthModule
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLOptGroupElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLOptGroupElement.cpp
@@ -55,3 +55,4 @@
-class nsHTMLOptGroupElement : public nsGenericHTMLElement,
-                              public nsIDOMHTMLOptGroupElement
-{
+class nsHTMLOptGroupElement : public XPCOMGCFinalizedObject,
+                              public nsGenericHTMLElement,
+                              public nsIDOMHTMLOptGroupElement
+{
--- /builds/xpcomgc/src/dom/src/base/nsJSEnvironment.h
+++ /builds/xpcomgc/src/dom/src/base/nsJSEnvironment.h
@@ -277,2 +277,2 @@
-class nsJSRuntime : public nsIScriptRuntime
-{
+class nsJSRuntime : public XPCOMGCFinalizedObject, public nsIScriptRuntime
+{
--- /builds/xpcomgc/src/intl/lwbrk/src/nsJISx4501LineBreaker.h
+++ /builds/xpcomgc/src/intl/lwbrk/src/nsJISx4501LineBreaker.h
@@ -42,2 +42,2 @@
-class nsJISx4051LineBreaker : public nsILineBreaker
-{
+class nsJISx4051LineBreaker : public XPCOMGCFinalizedObject, public nsILineBreaker
+{
--- /builds/xpcomgc/src/xpcom/ds/nsAtomService.h
+++ /builds/xpcomgc/src/xpcom/ds/nsAtomService.h
@@ -43,2 +43,2 @@
-class nsAtomService : public nsIAtomService
-{
+class nsAtomService : public XPCOMGCFinalizedObject, public nsIAtomService
+{
--- /builds/xpcomgc/src/layout/forms/nsListControlFrame.cpp
+++ /builds/xpcomgc/src/layout/forms/nsListControlFrame.cpp
@@ -115,4 +115,5 @@
-class nsListEventListener : public nsIDOMKeyListener,
-                            public nsIDOMMouseListener,
-                            public nsIDOMMouseMotionListener
-{
+class nsListEventListener : public XPCOMGCFinalizedObject,
+                            public nsIDOMKeyListener,
+                            public nsIDOMMouseListener,
+                            public nsIDOMMouseMotionListener
+{
--- /builds/xpcomgc/src/dom/src/base/nsJSTimeoutHandler.cpp
+++ /builds/xpcomgc/src/dom/src/base/nsJSTimeoutHandler.cpp
@@ -56,2 +56,2 @@
-class nsJSScriptTimeoutHandler: public nsIScriptTimeoutHandler
-{
+class nsJSScriptTimeoutHandler: public XPCOMGCFinalizedObject, public nsIScriptTimeoutHandler
+{
--- /builds/xpcomgc/src/js/src/xpconnect/loader/mozJSComponentLoader.h
+++ /builds/xpcomgc/src/js/src/xpconnect/loader/mozJSComponentLoader.h
@@ -70,2 +70,2 @@
-class nsXPCFastLoadIO : public nsIFastLoadFileIO
-{
+class nsXPCFastLoadIO : public XPCOMGCFinalizedObject, public nsIFastLoadFileIO
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsBidiKeyboard.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsBidiKeyboard.h
@@ -42,2 +42,2 @@
-class nsBidiKeyboard : public nsIBidiKeyboard
-{
+class nsBidiKeyboard : public XPCOMGCFinalizedObject, public nsIBidiKeyboard
+{
--- /builds/xpcomgc/src/dom/src/base/nsBarProps.h
+++ /builds/xpcomgc/src/dom/src/base/nsBarProps.h
@@ -84,2 +84,2 @@
-class nsToolbarProp : public nsBarProp
-{
+class nsToolbarProp : public XPCOMGCFinalizedObject, public nsBarProp
+{
--- /builds/xpcomgc/src/xpcom/glue/nsGenericFactory.h
+++ /builds/xpcomgc/src/xpcom/glue/nsGenericFactory.h
@@ -48,1 +48,1 @@
-class nsGenericFactory : public nsIGenericFactory, public nsIClassInfo {
+class nsGenericFactory : public XPCOMGCFinalizedObject, public nsIGenericFactory, public nsIClassInfo {
--- /builds/xpcomgc/src/editor/txtsvc/src/nsFilteredContentIterator.h
+++ /builds/xpcomgc/src/editor/txtsvc/src/nsFilteredContentIterator.h
@@ -50,2 +50,2 @@
-class nsFilteredContentIterator : public nsIContentIterator
-{
+class nsFilteredContentIterator : public XPCOMGCFinalizedObject, public nsIContentIterator
+{
--- /builds/xpcomgc/src/dom/src/base/nsPluginArray.h
+++ /builds/xpcomgc/src/dom/src/base/nsPluginArray.h
@@ -81,2 +81,2 @@
-class nsPluginElement : public nsIDOMPlugin
-{
+class nsPluginElement : public XPCOMGCFinalizedObject, public nsIDOMPlugin
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGNumberList.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGNumberList.cpp
@@ -53,4 +53,5 @@
-class nsSVGNumberList : public nsIDOMSVGNumberList,
-                        public nsSVGValue,
-                        public nsISVGValueObserver
-{  
+class nsSVGNumberList : public XPCOMGCFinalizedObject,
+                        public nsIDOMSVGNumberList,
+                        public nsSVGValue,
+                        public nsISVGValueObserver
+{  
--- /builds/xpcomgc/src/xpcom/glue/nsArrayEnumerator.cpp
+++ /builds/xpcomgc/src/xpcom/glue/nsArrayEnumerator.cpp
@@ -128,2 +128,2 @@
-class nsCOMArrayEnumerator : public nsISimpleEnumerator
-{
+class nsCOMArrayEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateResultSetRDF.h
+++ /builds/xpcomgc/src/content/xul/templates/src/nsXULTemplateResultSetRDF.h
@@ -51,2 +51,2 @@
-class nsXULTemplateResultSetRDF : public nsISimpleEnumerator
-{
+class nsXULTemplateResultSetRDF : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpBasicAuth.h
+++ /builds/xpcomgc/src/netwerk/protocol/http/src/nsHttpBasicAuth.h
@@ -51,2 +51,2 @@
-class nsHttpBasicAuth : public nsIHttpAuthenticator
-{
+class nsHttpBasicAuth : public XPCOMGCFinalizedObject, public nsIHttpAuthenticator
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGTSpanElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGTSpanElement.cpp
@@ -51,2 +51,3 @@
-class nsSVGTSpanElement : public nsSVGTSpanElementBase
-                        , public nsIDOMSVGTSpanElement
+class nsSVGTSpanElement : public XPCOMGCFinalizedObject
+                        , public nsSVGTSpanElementBase
+                        , public nsIDOMSVGTSpanElement
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLParagraphElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLParagraphElement.cpp
@@ -48,3 +48,4 @@
-class nsHTMLParagraphElement : public nsGenericHTMLElement,
-                               public nsIDOMHTMLParagraphElement
-{
+class nsHTMLParagraphElement : public XPCOMGCFinalizedObject,
+                               public nsGenericHTMLElement,
+                               public nsIDOMHTMLParagraphElement
+{
--- /builds/xpcomgc/src/extensions/cookie/nsCookiePermission.h
+++ /builds/xpcomgc/src/extensions/cookie/nsCookiePermission.h
@@ -48,3 +48,4 @@
-class nsCookiePermission : public nsICookiePermission
-                         , public nsIObserver
-{
+class nsCookiePermission : public XPCOMGCFinalizedObject
+                         , public nsICookiePermission
+                         , public nsIObserver
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -767,5 +767,6 @@
-class nsXPCComponents_Classes : 
-  public nsIXPCComponents_Classes,
-  public nsIXPCScriptable,
-  public nsIClassInfo
-{
+class nsXPCComponents_Classes : 
+  public XPCOMGCFinalizedObject,
+  public nsIXPCComponents_Classes,
+  public nsIXPCScriptable,
+  public nsIClassInfo
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -2980,4 +2980,5 @@
-class nsSVGFETurbulenceElement : public nsSVGFETurbulenceElementBase,
-                                 public nsIDOMSVGFETurbulenceElement,
-                                 public nsISVGFilter
-{
+class nsSVGFETurbulenceElement : public XPCOMGCFinalizedObject,
+                                 public nsSVGFETurbulenceElementBase,
+                                 public nsIDOMSVGFETurbulenceElement,
+                                 public nsISVGFilter
+{
--- /builds/xpcomgc/src/netwerk/test/TestIncrementalDownload.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestIncrementalDownload.cpp
@@ -51,3 +51,4 @@
-class FetchObserver : public nsIRequestObserver
-                    , public nsIProgressEventSink
-{
+class FetchObserver : public XPCOMGCFinalizedObject
+                    , public nsIRequestObserver
+                    , public nsIProgressEventSink
+{
--- /builds/xpcomgc/src/rdf/base/src/nsInMemoryDataSource.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsInMemoryDataSource.cpp
@@ -600,2 +600,2 @@
-class InMemoryArcsEnumeratorImpl : public nsISimpleEnumerator
-{
+class InMemoryArcsEnumeratorImpl : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/dom/src/jsurl/nsJSProtocolHandler.cpp
+++ /builds/xpcomgc/src/dom/src/jsurl/nsJSProtocolHandler.cpp
@@ -382,4 +382,5 @@
-class nsJSChannel : public nsIChannel,
-                    public nsIStreamListener,
-                    public nsIScriptChannel
-{
+class nsJSChannel : public XPCOMGCFinalizedObject,
+                    public nsIChannel,
+                    public nsIStreamListener,
+                    public nsIScriptChannel
+{
--- /builds/xpcomgc/src/content/xtf/src/nsXTFInterfaceAggregator.cpp
+++ /builds/xpcomgc/src/content/xtf/src/nsXTFInterfaceAggregator.cpp
@@ -51,2 +51,2 @@
-class nsXTFInterfaceAggregator : protected nsAutoXPTCStub
-{
+class nsXTFInterfaceAggregator : public XPCOMGCFinalizedObject, protected nsAutoXPTCStub
+{
--- /builds/xpcomgc/src/browser/components/migration/src/nsOperaProfileMigrator.h
+++ /builds/xpcomgc/src/browser/components/migration/src/nsOperaProfileMigrator.h
@@ -58,3 +58,4 @@
-class nsOperaProfileMigrator : public nsIBrowserProfileMigrator,
-                               public nsINavHistoryBatchCallback
-{
+class nsOperaProfileMigrator : public XPCOMGCFinalizedObject,
+                               public nsIBrowserProfileMigrator,
+                               public nsINavHistoryBatchCallback
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -1077,3 +1077,4 @@
-class nsSVGPathSegCurvetoQuadraticRel : public nsIDOMSVGPathSegCurvetoQuadraticRel,
-                                        public nsSVGPathSeg
-{
+class nsSVGPathSegCurvetoQuadraticRel : public XPCOMGCFinalizedObject,
+                                        public nsIDOMSVGPathSegCurvetoQuadraticRel,
+                                        public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsStreamLoader.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsStreamLoader.h
@@ -45,2 +45,2 @@
-class nsStreamLoader : public nsIStreamLoader
-{
+class nsStreamLoader : public XPCOMGCFinalizedObject, public nsIStreamLoader
+{
--- /builds/xpcomgc/src/content/base/src/nsSyncLoadService.h
+++ /builds/xpcomgc/src/content/base/src/nsSyncLoadService.h
@@ -52,2 +52,2 @@
-class nsSyncLoadService : public nsISyncLoadDOMService
-{
+class nsSyncLoadService : public XPCOMGCFinalizedObject, public nsISyncLoadDOMService
+{
--- /builds/xpcomgc/src/content/xul/templates/src/nsXULContentBuilder.cpp
+++ /builds/xpcomgc/src/content/xul/templates/src/nsXULContentBuilder.cpp
@@ -126,2 +126,2 @@
-class nsXULContentBuilder : public nsXULTemplateBuilder
-{
+class nsXULContentBuilder : public XPCOMGCFinalizedObject, public nsXULTemplateBuilder
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSComponent.cpp
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSComponent.cpp
@@ -243,1 +243,1 @@
-class nsTokenEventRunnable : public nsIRunnable {
+class nsTokenEventRunnable : public XPCOMGCFinalizedObject, public nsIRunnable {
--- /builds/xpcomgc/src/xpcom/ds/nsPersistentProperties.h
+++ /builds/xpcomgc/src/xpcom/ds/nsPersistentProperties.h
@@ -48,2 +48,2 @@
-class nsPersistentProperties : public nsIPersistentProperties
-{
+class nsPersistentProperties : public XPCOMGCFinalizedObject, public nsIPersistentProperties
+{
--- /builds/xpcomgc/src/layout/xul/base/src/nsListBoxBodyFrame.cpp
+++ /builds/xpcomgc/src/layout/xul/base/src/nsListBoxBodyFrame.cpp
@@ -101,2 +101,2 @@
-class nsListScrollSmoother : public nsITimerCallback
-{
+class nsListScrollSmoother : public XPCOMGCFinalizedObject, public nsITimerCallback
+{
--- /builds/xpcomgc/src/storage/src/mozStorageStatementWrapper.h
+++ /builds/xpcomgc/src/storage/src/mozStorageStatementWrapper.h
@@ -53,3 +53,4 @@
-class mozStorageStatementWrapper : public mozIStorageStatementWrapper,
-                                   public nsIXPCScriptable
-{
+class mozStorageStatementWrapper : public XPCOMGCFinalizedObject,
+                                   public mozIStorageStatementWrapper,
+                                   public nsIXPCScriptable
+{
--- /builds/xpcomgc/src/netwerk/protocol/file/src/nsFileChannel.cpp
+++ /builds/xpcomgc/src/netwerk/protocol/file/src/nsFileChannel.cpp
@@ -190,1 +190,1 @@
-class nsFileUploadContentStream : public nsBaseContentStream {
+class nsFileUploadContentStream : public XPCOMGCFinalizedObject, public nsBaseContentStream {
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUTF7ToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUTF7ToUnicode.h
@@ -92,2 +92,2 @@
-class nsUTF7ToUnicode : public nsBasicUTF7Decoder 
-{
+class nsUTF7ToUnicode : public XPCOMGCFinalizedObject, public nsBasicUTF7Decoder 
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -3670,2 +3670,2 @@
-class PrincipalHolder : public nsIScriptObjectPrincipal
-{
+class PrincipalHolder : public XPCOMGCFinalizedObject, public nsIScriptObjectPrincipal
+{
--- /builds/xpcomgc/src/editor/txtsvc/src/nsTextServicesDocument.h
+++ /builds/xpcomgc/src/editor/txtsvc/src/nsTextServicesDocument.h
@@ -60,2 +60,2 @@
-class nsTextServicesDocument : public nsITextServicesDocument
-{
+class nsTextServicesDocument : public XPCOMGCFinalizedObject, public nsITextServicesDocument
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGAElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGAElement.cpp
@@ -47,5 +47,6 @@
-class nsSVGAElement : public nsSVGAElementBase,
-                      public nsIDOMSVGAElement,
-                      public nsIDOMSVGURIReference,
-                      public nsILink
-{
+class nsSVGAElement : public XPCOMGCFinalizedObject,
+                      public nsSVGAElementBase,
+                      public nsIDOMSVGAElement,
+                      public nsIDOMSVGURIReference,
+                      public nsILink
+{
--- /builds/xpcomgc/src/content/events/src/nsPrivateTextRange.h
+++ /builds/xpcomgc/src/content/events/src/nsPrivateTextRange.h
@@ -68,2 +68,2 @@
-class nsPrivateTextRangeList: public nsIPrivateTextRangeList 
-{
+class nsPrivateTextRangeList: public XPCOMGCFinalizedObject, public nsIPrivateTextRangeList 
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -199,2 +199,2 @@
-class nsSupportsCharImpl : public nsISupportsChar
-{
+class nsSupportsCharImpl : public XPCOMGCFinalizedObject, public nsISupportsChar
+{
--- /builds/xpcomgc/src/content/events/src/nsXMLEventsManager.h
+++ /builds/xpcomgc/src/content/events/src/nsXMLEventsManager.h
@@ -91,1 +91,1 @@
-class nsXMLEventsManager : public nsIDocumentObserver {
+class nsXMLEventsManager : public XPCOMGCFinalizedObject, public nsIDocumentObserver {
--- /builds/xpcomgc/src/intl/uconv/ucvko/nsUnicodeToX11Johab.h
+++ /builds/xpcomgc/src/intl/uconv/ucvko/nsUnicodeToX11Johab.h
@@ -47,2 +47,2 @@
-class nsUnicodeToX11Johab : public nsIUnicodeEncoder, public nsICharRepresentable
-{
+class nsUnicodeToX11Johab : public XPCOMGCFinalizedObject, public nsIUnicodeEncoder, public nsICharRepresentable
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGTextElement.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGTextElement.cpp
@@ -51,2 +51,3 @@
-class nsSVGTextElement : public nsSVGTextElementBase
-                       , public nsIDOMSVGTextElement
+class nsSVGTextElement : public XPCOMGCFinalizedObject
+                       , public nsSVGTextElementBase
+                       , public nsIDOMSVGTextElement
--- /builds/xpcomgc/src/docshell/shistory/src/nsSHistory.h
+++ /builds/xpcomgc/src/docshell/shistory/src/nsSHistory.h
@@ -126,2 +126,2 @@
-class nsSHEnumerator : public nsISimpleEnumerator
-{
+class nsSHEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/xpcom/io/nsBinaryStream.h
+++ /builds/xpcomgc/src/xpcom/io/nsBinaryStream.h
@@ -60,2 +60,2 @@
-class nsBinaryOutputStream : public nsIObjectOutputStream
-{
+class nsBinaryOutputStream : public XPCOMGCFinalizedObject, public nsIObjectOutputStream
+{
--- /builds/xpcomgc/src/xpcom/tests/TestThreadPool.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestThreadPool.cpp
@@ -47,2 +47,2 @@
-class Task : public nsIRunnable
-{
+class Task : public XPCOMGCFinalizedObject, public nsIRunnable
+{
--- /builds/xpcomgc/src/content/base/src/nsCommentNode.cpp
+++ /builds/xpcomgc/src/content/base/src/nsCommentNode.cpp
@@ -46,3 +46,4 @@
-class nsCommentNode : public nsGenericDOMDataNode,
-                      public nsIDOMComment
-{
+class nsCommentNode : public XPCOMGCFinalizedObject,
+                      public nsGenericDOMDataNode,
+                      public nsIDOMComment
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsStreamCipher.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsStreamCipher.h
@@ -49,2 +49,2 @@
-class nsStreamCipher : public nsIStreamCipher
-{
+class nsStreamCipher : public XPCOMGCFinalizedObject, public nsIStreamCipher
+{
--- /builds/xpcomgc/src/xpcom/base/nsVersionComparatorImpl.h
+++ /builds/xpcomgc/src/xpcom/base/nsVersionComparatorImpl.h
@@ -39,2 +39,2 @@
-class nsVersionComparatorImpl : public nsIVersionComparator
-{
+class nsVersionComparatorImpl : public XPCOMGCFinalizedObject, public nsIVersionComparator
+{
--- /builds/xpcomgc/src/docshell/base/nsGlobalHistory2Adapter.h
+++ /builds/xpcomgc/src/docshell/base/nsGlobalHistory2Adapter.h
@@ -51,2 +51,2 @@
-class nsGlobalHistory2Adapter : public nsIGlobalHistory
-{
+class nsGlobalHistory2Adapter : public XPCOMGCFinalizedObject, public nsIGlobalHistory
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLHtmlElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLHtmlElement.cpp
@@ -45,3 +45,4 @@
-class nsHTMLHtmlElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLHtmlElement
-{
+class nsHTMLHtmlElement : public XPCOMGCFinalizedObject,
+                          public nsGenericHTMLElement,
+                          public nsIDOMHTMLHtmlElement
+{
--- /builds/xpcomgc/src/netwerk/protocol/ftp/src/nsFtpProtocolHandler.h
+++ /builds/xpcomgc/src/netwerk/protocol/ftp/src/nsFtpProtocolHandler.h
@@ -58,4 +58,5 @@
-class nsFtpProtocolHandler : public nsIProxiedProtocolHandler
-                           , public nsIObserver
-                           , public nsSupportsWeakReference
-{
+class nsFtpProtocolHandler : public XPCOMGCFinalizedObject
+                           , public nsIProxiedProtocolHandler
+                           , public nsIObserver
+                           , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/extensions/universalchardet/src/xpcom/nsUdetXPCOMWrapper.h
+++ /builds/xpcomgc/src/extensions/universalchardet/src/xpcom/nsUdetXPCOMWrapper.h
@@ -57,4 +57,5 @@
-class nsUniversalXPCOMDetector :  
-      public nsUniversalDetector,
-      public nsICharsetDetector
-{
+class nsUniversalXPCOMDetector :  
+      public XPCOMGCFinalizedObject,
+      public nsUniversalDetector,
+      public nsICharsetDetector
+{
--- /builds/xpcomgc/src/xpcom/proxy/src/nsProxyEventPrivate.h
+++ /builds/xpcomgc/src/xpcom/proxy/src/nsProxyEventPrivate.h
@@ -155,2 +155,2 @@
-class nsProxyEventObject : protected nsAutoXPTCStub
-{
+class nsProxyEventObject : public XPCOMGCFinalizedObject, protected nsAutoXPTCStub
+{
--- /builds/xpcomgc/src/layout/mathml/base/src/nsMathMLChar.cpp
+++ /builds/xpcomgc/src/layout/mathml/base/src/nsMathMLChar.cpp
@@ -650,2 +650,2 @@
-class nsGlyphTableList : public nsIObserver
-{
+class nsGlyphTableList : public XPCOMGCFinalizedObject, public nsIObserver
+{
--- /builds/xpcomgc/src/parser/htmlparser/src/nsParserService.h
+++ /builds/xpcomgc/src/parser/htmlparser/src/nsParserService.h
@@ -49,1 +49,1 @@
-class nsParserService : public nsIParserService {
+class nsParserService : public XPCOMGCFinalizedObject, public nsIParserService {
--- /builds/xpcomgc/src/intl/chardet/src/nsDetectionAdaptor.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsDetectionAdaptor.h
@@ -97,4 +97,5 @@
-class nsDetectionAdaptor : 
-                           public nsIParserFilter,
-                           public nsICharsetDetectionAdaptor
-{
+class nsDetectionAdaptor : 
+                           public XPCOMGCFinalizedObject,
+                           public nsIParserFilter,
+                           public nsICharsetDetectionAdaptor
+{
--- /builds/xpcomgc/src/xpinstall/src/nsXPInstallManager.h
+++ /builds/xpcomgc/src/xpinstall/src/nsXPInstallManager.h
@@ -80,12 +80,13 @@
-class nsXPInstallManager : public nsIXPIListener,
-                           public nsIXPIDialogService,
-                           public nsIXPInstallManager,
-                           public nsIObserver,
-                           public nsIStreamListener,
-                           public nsIProgressEventSink,
-                           public nsIInterfaceRequestor,
-                           public nsPICertNotification,
-                           public nsIBadCertListener,
-                           public nsIChannelEventSink,
-                           public nsSupportsWeakReference
-{
+class nsXPInstallManager : public XPCOMGCFinalizedObject,
+                           public nsIXPIListener,
+                           public nsIXPIDialogService,
+                           public nsIXPInstallManager,
+                           public nsIObserver,
+                           public nsIStreamListener,
+                           public nsIProgressEventSink,
+                           public nsIInterfaceRequestor,
+                           public nsPICertNotification,
+                           public nsIBadCertListener,
+                           public nsIChannelEventSink,
+                           public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/browser/components/feeds/src/nsFeedSniffer.h
+++ /builds/xpcomgc/src/browser/components/feeds/src/nsFeedSniffer.h
@@ -43,2 +43,2 @@
-class nsFeedSniffer : public nsIContentSniffer, nsIStreamListener
-{
+class nsFeedSniffer : public XPCOMGCFinalizedObject, public nsIContentSniffer, nsIStreamListener
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCipherInfo.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCipherInfo.h
@@ -51,2 +51,2 @@
-class nsCipherInfo : public nsICipherInfo
-{
+class nsCipherInfo : public XPCOMGCFinalizedObject, public nsICipherInfo
+{
--- /builds/xpcomgc/src/intl/strres/src/nsStringBundle.h
+++ /builds/xpcomgc/src/intl/strres/src/nsStringBundle.h
@@ -47,2 +47,2 @@
-class nsStringBundle : public nsIStringBundle
-{
+class nsStringBundle : public XPCOMGCFinalizedObject, public nsIStringBundle
+{
--- /builds/xpcomgc/src/docshell/base/nsAboutRedirector.h
+++ /builds/xpcomgc/src/docshell/base/nsAboutRedirector.h
@@ -43,2 +43,2 @@
-class nsAboutRedirector : public nsIAboutModule
-{
+class nsAboutRedirector : public XPCOMGCFinalizedObject, public nsIAboutModule
+{
--- /builds/xpcomgc/src/layout/printing/nsPagePrintTimer.h
+++ /builds/xpcomgc/src/layout/printing/nsPagePrintTimer.h
@@ -51,2 +51,2 @@
-class nsPagePrintTimer : public nsITimerCallback
-{
+class nsPagePrintTimer : public XPCOMGCFinalizedObject, public nsITimerCallback
+{
--- /builds/xpcomgc/src/modules/libpr0n/src/imgCache.h
+++ /builds/xpcomgc/src/modules/libpr0n/src/imgCache.h
@@ -57,4 +57,5 @@
-class imgCache : public imgICache, 
-                 public nsIObserver,
-                 public nsSupportsWeakReference
-{
+class imgCache : public XPCOMGCFinalizedObject, 
+                 public imgICache, 
+                 public nsIObserver,
+                 public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/xpcom/io/nsPipe3.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsPipe3.cpp
@@ -221,2 +221,2 @@
-class nsPipe : public nsIPipe
-{
+class nsPipe : public XPCOMGCFinalizedObject, public nsIPipe
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLLIElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLLIElement.cpp
@@ -45,3 +45,4 @@
-class nsHTMLLIElement : public nsGenericHTMLElement,
-                        public nsIDOMHTMLLIElement
-{
+class nsHTMLLIElement : public XPCOMGCFinalizedObject,
+                        public nsGenericHTMLElement,
+                        public nsIDOMHTMLLIElement
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsKeyModule.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsKeyModule.h
@@ -55,2 +55,2 @@
-class nsKeyObject : public nsIKeyObject
-{
+class nsKeyObject : public XPCOMGCFinalizedObject, public nsIKeyObject
+{
--- /builds/xpcomgc/src/rdf/base/src/nsRDFContainerUtils.cpp
+++ /builds/xpcomgc/src/rdf/base/src/nsRDFContainerUtils.cpp
@@ -61,2 +61,2 @@
-class RDFContainerUtilsImpl : public nsIRDFContainerUtils
-{
+class RDFContainerUtilsImpl : public XPCOMGCFinalizedObject, public nsIRDFContainerUtils
+{
--- /builds/xpcomgc/src/xpcom/ds/nsRecyclingAllocator.h
+++ /builds/xpcomgc/src/xpcom/ds/nsRecyclingAllocator.h
@@ -155,1 +155,1 @@
-class nsRecyclingAllocatorImpl : public nsRecyclingAllocator, public nsIRecyclingAllocator {
+class nsRecyclingAllocatorImpl : public XPCOMGCFinalizedObject, public nsRecyclingAllocator, public nsIRecyclingAllocator {
--- /builds/xpcomgc/src/modules/libpr0n/src/imgLoader.h
+++ /builds/xpcomgc/src/modules/libpr0n/src/imgLoader.h
@@ -88,2 +88,2 @@
-class ProxyListener : public nsIStreamListener
-{
+class ProxyListener : public XPCOMGCFinalizedObject, public nsIStreamListener
+{
--- /builds/xpcomgc/src/storage/src/mozStorageAsyncIO.cpp
+++ /builds/xpcomgc/src/storage/src/mozStorageAsyncIO.cpp
@@ -459,2 +459,2 @@
-class AsyncWriteThread : public nsIRunnable
-{
+class AsyncWriteThread : public XPCOMGCFinalizedObject, public nsIRunnable
+{
--- /builds/xpcomgc/src/js/jsd/jsd_xpc.h
+++ /builds/xpcomgc/src/js/jsd/jsd_xpc.h
@@ -189,2 +189,2 @@
-class jsdContext : public jsdIContext
-{
+class jsdContext : public XPCOMGCFinalizedObject, public jsdIContext
+{
--- /builds/xpcomgc/src/widget/src/xpwidgets/nsHTMLFormatConverter.h
+++ /builds/xpcomgc/src/widget/src/xpwidgets/nsHTMLFormatConverter.h
@@ -43,2 +43,2 @@
-class nsHTMLFormatConverter : public nsIFormatConverter
-{
+class nsHTMLFormatConverter : public XPCOMGCFinalizedObject, public nsIFormatConverter
+{
--- /builds/xpcomgc/src/dom/src/storage/nsDOMStorage.h
+++ /builds/xpcomgc/src/dom/src/storage/nsDOMStorage.h
@@ -106,3 +106,4 @@
-class nsDOMStorage : public nsIDOMStorage,
-                     public nsPIDOMStorage
-{
+class nsDOMStorage : public XPCOMGCFinalizedObject,
+                     public nsIDOMStorage,
+                     public nsPIDOMStorage
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2642,3 +2642,3 @@
-class nsXPCException :
-            public nsIXPCException
-{
+class nsXPCException :
+            public XPCOMGCFinalizedObject, public nsIXPCException
+{
--- /builds/xpcomgc/src/layout/base/nsLayoutHistoryState.cpp
+++ /builds/xpcomgc/src/layout/base/nsLayoutHistoryState.cpp
@@ -48,3 +48,4 @@
-class nsLayoutHistoryState : public nsILayoutHistoryState,
-                             public nsSupportsWeakReference
-{
+class nsLayoutHistoryState : public XPCOMGCFinalizedObject,
+                             public nsILayoutHistoryState,
+                             public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/chrome/src/nsChromeRegistry.h
+++ /builds/xpcomgc/src/chrome/src/nsChromeRegistry.h
@@ -74,1 +74,2 @@
-class nsChromeRegistry : public nsIToolkitChromeRegistry,
+class nsChromeRegistry : public XPCOMGCFinalizedObject,
+public nsIToolkitChromeRegistry,
--- /builds/xpcomgc/src/widget/src/xpwidgets/nsPrintSession.h
+++ /builds/xpcomgc/src/widget/src/xpwidgets/nsPrintSession.h
@@ -52,3 +52,4 @@
-class nsPrintSession : public nsIPrintSession,
-                       public nsSupportsWeakReference
-{
+class nsPrintSession : public XPCOMGCFinalizedObject,
+                       public nsIPrintSession,
+                       public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGGradientElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGGradientElement.h
@@ -95,3 +95,4 @@
-class nsSVGLinearGradientElement : public nsSVGLinearGradientElementBase,
-                                   public nsIDOMSVGLinearGradientElement
-{
+class nsSVGLinearGradientElement : public XPCOMGCFinalizedObject,
+                                   public nsSVGLinearGradientElementBase,
+                                   public nsIDOMSVGLinearGradientElement
+{
--- /builds/xpcomgc/src/embedding/browser/webBrowser/nsDocShellTreeOwner.h
+++ /builds/xpcomgc/src/embedding/browser/webBrowser/nsDocShellTreeOwner.h
@@ -94,7 +94,8 @@
-class nsDocShellTreeOwner : public nsIDocShellTreeOwner,
-                            public nsIBaseWindow,
-                            public nsIInterfaceRequestor,
-                            public nsIWebProgressListener,
-                            public nsICDocShellTreeOwner,
-                            public nsSupportsWeakReference
-{
+class nsDocShellTreeOwner : public XPCOMGCFinalizedObject,
+                            public nsIDocShellTreeOwner,
+                            public nsIBaseWindow,
+                            public nsIInterfaceRequestor,
+                            public nsIWebProgressListener,
+                            public nsICDocShellTreeOwner,
+                            public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/layout/build/nsContentDLF.h
+++ /builds/xpcomgc/src/layout/build/nsContentDLF.h
@@ -55,2 +55,2 @@
-class nsContentDLF : public nsIDocumentLoaderFactory
-{
+class nsContentDLF : public XPCOMGCFinalizedObject, public nsIDocumentLoaderFactory
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsRequestObserverProxy.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsRequestObserverProxy.h
@@ -49,2 +49,2 @@
-class nsRequestObserverProxy : public nsIRequestObserverProxy
-{
+class nsRequestObserverProxy : public XPCOMGCFinalizedObject, public nsIRequestObserverProxy
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpcprivate.h
@@ -2700,2 +2700,2 @@
-class nsJSID : public nsIJSID
-{
+class nsJSID : public XPCOMGCFinalizedObject, public nsIJSID
+{
--- /builds/xpcomgc/src/netwerk/socket/base/nsSOCKSIOLayer.cpp
+++ /builds/xpcomgc/src/netwerk/socket/base/nsSOCKSIOLayer.cpp
@@ -68,2 +68,2 @@
-class nsSOCKSSocketInfo : public nsISOCKSSocketInfo
-{
+class nsSOCKSSocketInfo : public XPCOMGCFinalizedObject, public nsISOCKSSocketInfo
+{
--- /builds/xpcomgc/src/layout/generic/nsObjectFrame.cpp
+++ /builds/xpcomgc/src/layout/generic/nsObjectFrame.cpp
@@ -179,3 +179,4 @@
-class nsPluginDOMContextMenuListener : public nsIDOMContextMenuListener,
-                                       public nsIEventListener
-{
+class nsPluginDOMContextMenuListener : public XPCOMGCFinalizedObject,
+                                       public nsIDOMContextMenuListener,
+                                       public nsIEventListener
+{
--- /builds/xpcomgc/src/layout/xul/base/src/nsStackLayout.h
+++ /builds/xpcomgc/src/layout/xul/base/src/nsStackLayout.h
@@ -54,2 +54,2 @@
-class nsStackLayout : public nsBoxLayout
-{
+class nsStackLayout : public XPCOMGCFinalizedObject, public nsBoxLayout
+{
--- /builds/xpcomgc/src/toolkit/components/autocomplete/src/nsAutoCompleteController.h
+++ /builds/xpcomgc/src/toolkit/components/autocomplete/src/nsAutoCompleteController.h
@@ -56,6 +56,7 @@
-class nsAutoCompleteController : public nsIAutoCompleteController,
-                                 public nsIAutoCompleteObserver,
-                                 public nsIRollupListener,
-                                 public nsITimerCallback,
-                                 public nsITreeView
-{
+class nsAutoCompleteController : public XPCOMGCFinalizedObject,
+                                 public nsIAutoCompleteController,
+                                 public nsIAutoCompleteObserver,
+                                 public nsIRollupListener,
+                                 public nsITimerCallback,
+                                 public nsITreeView
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -2255,3 +2255,4 @@
-class nsSVGFEFuncAElement : public nsSVGComponentTransferFunctionElement,
-                            public nsIDOMSVGFEFuncAElement
-{
+class nsSVGFEFuncAElement : public XPCOMGCFinalizedObject,
+                            public nsSVGComponentTransferFunctionElement,
+                            public nsIDOMSVGFEFuncAElement
+{
--- /builds/xpcomgc/src/xpcom/components/nsCategoryManager.cpp
+++ /builds/xpcomgc/src/xpcom/components/nsCategoryManager.cpp
@@ -788,2 +788,2 @@
-class nsCategoryManagerFactory : public nsIFactory
-   {
+class nsCategoryManagerFactory : public XPCOMGCFinalizedObject, public nsIFactory
+   {
--- /builds/xpcomgc/src/dom/src/storage/nsDOMStorage.h
+++ /builds/xpcomgc/src/dom/src/storage/nsDOMStorage.h
@@ -195,2 +195,2 @@
-class nsDOMStorageList : public nsIDOMStorageList
-{
+class nsDOMStorageList : public XPCOMGCFinalizedObject, public nsIDOMStorageList
+{
--- /builds/xpcomgc/src/parser/htmlparser/tests/grabpage/grabpage.cpp
+++ /builds/xpcomgc/src/parser/htmlparser/tests/grabpage/grabpage.cpp
@@ -68,1 +68,1 @@
-class StreamToFile : public nsIStreamListener {
+class StreamToFile : public XPCOMGCFinalizedObject, public nsIStreamListener {
--- /builds/xpcomgc/src/layout/style/nsHTMLCSSStyleSheet.cpp
+++ /builds/xpcomgc/src/layout/style/nsHTMLCSSStyleSheet.cpp
@@ -330,2 +330,3 @@
-class HTMLCSSStyleSheetImpl : public nsIHTMLCSSStyleSheet,
-                              public nsIStyleRuleProcessor {
+class HTMLCSSStyleSheetImpl : public XPCOMGCFinalizedObject,
+                              public nsIHTMLCSSStyleSheet,
+                              public nsIStyleRuleProcessor {
--- /builds/xpcomgc/src/xpcom/base/nsExceptionService.cpp
+++ /builds/xpcomgc/src/xpcom/base/nsExceptionService.cpp
@@ -68,2 +68,2 @@
-class nsExceptionManager : public nsIExceptionManager
-{
+class nsExceptionManager : public XPCOMGCFinalizedObject, public nsIExceptionManager
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsKeygenThread.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsKeygenThread.h
@@ -49,2 +49,2 @@
-class nsKeygenThread : public nsIKeygenThread
-{
+class nsKeygenThread : public XPCOMGCFinalizedObject, public nsIKeygenThread
+{
--- /builds/xpcomgc/src/dom/src/base/nsGlobalWindow.h
+++ /builds/xpcomgc/src/dom/src/base/nsGlobalWindow.h
@@ -219,14 +219,15 @@
-class nsGlobalWindow : public nsPIDOMWindow,
-                       public nsIScriptGlobalObject,
-                       public nsIDOMJSWindow,
-                       public nsIScriptObjectPrincipal,
-                       public nsIDOMEventTarget,
-                       public nsPIDOMEventTarget,
-                       public nsIDOM3EventTarget,
-                       public nsIDOMNSEventTarget,
-                       public nsIDOMViewCSS,
-                       public nsIDOMStorageWindow,
-                       public nsSupportsWeakReference,
-                       public nsIInterfaceRequestor,
-                       public PRCListStr
-{
+class nsGlobalWindow : public XPCOMGCFinalizedObject,
+                       public nsPIDOMWindow,
+                       public nsIScriptGlobalObject,
+                       public nsIDOMJSWindow,
+                       public nsIScriptObjectPrincipal,
+                       public nsIDOMEventTarget,
+                       public nsPIDOMEventTarget,
+                       public nsIDOM3EventTarget,
+                       public nsIDOMNSEventTarget,
+                       public nsIDOMViewCSS,
+                       public nsIDOMStorageWindow,
+                       public nsSupportsWeakReference,
+                       public nsIInterfaceRequestor,
+                       public PRCListStr
+{
--- /builds/xpcomgc/src/modules/libjar/nsJARInputStream.h
+++ /builds/xpcomgc/src/modules/libjar/nsJARInputStream.h
@@ -50,2 +50,2 @@
-class nsJARInputStream : public nsIInputStream
-{
+class nsJARInputStream : public XPCOMGCFinalizedObject, public nsIInputStream
+{
--- /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_echo.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/tests/components/xpctest_echo.cpp
@@ -48,1 +48,1 @@
-class xpctestEcho : public nsIEcho
+class xpctestEcho : public XPCOMGCFinalizedObject, public nsIEcho
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToUCS2BE.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUnicodeToUCS2BE.h
@@ -42,2 +42,2 @@
-class nsUnicodeToUTF16BE: public nsBasicEncoder
-{
+class nsUnicodeToUTF16BE: public XPCOMGCFinalizedObject, public nsBasicEncoder
+{
--- /builds/xpcomgc/src/content/html/content/src/nsFormSubmission.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsFormSubmission.cpp
@@ -598,2 +598,2 @@
-class nsFSMultipartFormData : public nsFormSubmission
-{
+class nsFSMultipartFormData : public XPCOMGCFinalizedObject, public nsFormSubmission
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLAnchorElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLAnchorElement.cpp
@@ -68,5 +68,6 @@
-class nsHTMLAnchorElement : public nsGenericHTMLElement,
-                            public nsIDOMHTMLAnchorElement,
-                            public nsIDOMNSHTMLAnchorElement2,
-                            public nsILink
-{
+class nsHTMLAnchorElement : public XPCOMGCFinalizedObject,
+                            public nsGenericHTMLElement,
+                            public nsIDOMHTMLAnchorElement,
+                            public nsIDOMNSHTMLAnchorElement2,
+                            public nsILink
+{
--- /builds/xpcomgc/src/layout/printing/nsPrintPreviewListener.h
+++ /builds/xpcomgc/src/layout/printing/nsPrintPreviewListener.h
@@ -55,3 +55,3 @@
-class nsPrintPreviewListener : public nsIDOMEventListener
-
-{
+class nsPrintPreviewListener : public XPCOMGCFinalizedObject, public nsIDOMEventListener
+
+{
--- /builds/xpcomgc/src/xpcom/reflect/xptcall/tests/TestXPTCInvoke.cpp
+++ /builds/xpcomgc/src/xpcom/reflect/xptcall/tests/TestXPTCInvoke.cpp
@@ -108,2 +108,2 @@
-class InvokeTestTarget : public InvokeTestTargetInterface
-{
+class InvokeTestTarget : public XPCOMGCFinalizedObject, public InvokeTestTargetInterface
+{
--- /builds/xpcomgc/src/content/xul/content/src/nsXULElement.h
+++ /builds/xpcomgc/src/content/xul/content/src/nsXULElement.h
@@ -428,2 +428,2 @@
-class nsXULElement : public nsGenericElement, public nsIDOMXULElement
-{
+class nsXULElement : public XPCOMGCFinalizedObject, public nsGenericElement, public nsIDOMXULElement
+{
--- /builds/xpcomgc/src/xpcom/tests/TestPipes.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestPipes.cpp
@@ -76,1 +76,1 @@
-class nsReceiver : public nsIRunnable {
+class nsReceiver : public XPCOMGCFinalizedObject, public nsIRunnable {
--- /builds/xpcomgc/src/rdf/tests/rdfpoll/rdfpoll.cpp
+++ /builds/xpcomgc/src/rdf/tests/rdfpoll/rdfpoll.cpp
@@ -87,2 +87,2 @@
-class Observer : public nsIRDFObserver
-{
+class Observer : public XPCOMGCFinalizedObject, public nsIRDFObserver
+{
--- /builds/xpcomgc/src/caps/include/nsSystemPrincipal.h
+++ /builds/xpcomgc/src/caps/include/nsSystemPrincipal.h
@@ -52,2 +52,2 @@
-class nsSystemPrincipal : public nsIPrincipal
-{
+class nsSystemPrincipal : public XPCOMGCFinalizedObject, public nsIPrincipal
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLBodyElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLBodyElement.cpp
@@ -66,1 +66,1 @@
-class BodyRule: public nsIStyleRule {
+class BodyRule: public XPCOMGCFinalizedObject, public nsIStyleRule {
--- /builds/xpcomgc/src/dom/src/base/nsMimeTypeArray.h
+++ /builds/xpcomgc/src/dom/src/base/nsMimeTypeArray.h
@@ -68,2 +68,2 @@
-class nsMimeType : public nsIDOMMimeType
-{
+class nsMimeType : public XPCOMGCFinalizedObject, public nsIDOMMimeType
+{
--- /builds/xpcomgc/src/xpcom/io/nsLocalFileUnix.cpp
+++ /builds/xpcomgc/src/xpcom/io/nsLocalFileUnix.cpp
@@ -114,4 +114,5 @@
-class NS_COM
-nsDirEnumeratorUnix : public nsISimpleEnumerator,
-                      public nsIDirectoryEnumerator
-{
+class NS_COM
+nsDirEnumeratorUnix : public XPCOMGCFinalizedObject,
+                      public nsISimpleEnumerator,
+                      public nsIDirectoryEnumerator
+{
--- /builds/xpcomgc/src/editor/libeditor/text/nsPlaintextEditor.h
+++ /builds/xpcomgc/src/editor/libeditor/text/nsPlaintextEditor.h
@@ -59,4 +59,5 @@
-class nsPlaintextEditor : public nsEditor,
-                          public nsIPlaintextEditor,
-                          public nsIEditorMailSupport
-{
+class nsPlaintextEditor : public XPCOMGCFinalizedObject,
+                          public nsEditor,
+                          public nsIPlaintextEditor,
+                          public nsIEditorMailSupport
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLInputElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLInputElement.cpp
@@ -2991,1 +2991,1 @@
-class nsRadioGetCheckedChangedVisitor : public nsRadioVisitor {
+class nsRadioGetCheckedChangedVisitor : public XPCOMGCFinalizedObject, public nsRadioVisitor {
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGUtils.cpp
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGUtils.cpp
@@ -165,1 +165,1 @@
-class nsSVGFilterProperty : public nsSVGPropertyBase {
+class nsSVGFilterProperty : public XPCOMGCFinalizedObject, public nsSVGPropertyBase {
--- /builds/xpcomgc/src/netwerk/base/src/nsIOService.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsIOService.h
@@ -76,5 +76,6 @@
-class nsIOService : public nsIIOService2
-                  , public nsIObserver
-                  , public nsINetUtil
-                  , public nsSupportsWeakReference
-{
+class nsIOService : public XPCOMGCFinalizedObject
+                  , public nsIIOService2
+                  , public nsIObserver
+                  , public nsINetUtil
+                  , public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/intl/lwbrk/src/nsSampleWordBreaker.h
+++ /builds/xpcomgc/src/intl/lwbrk/src/nsSampleWordBreaker.h
@@ -53,2 +53,2 @@
-class nsSampleWordBreaker : public nsIWordBreaker
-{
+class nsSampleWordBreaker : public XPCOMGCFinalizedObject, public nsIWordBreaker
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsNativeKeyBindings.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsNativeKeyBindings.h
@@ -72,2 +72,2 @@
-class nsNativeKeyBindings : public nsINativeKeyBindings
-{
+class nsNativeKeyBindings : public XPCOMGCFinalizedObject, public nsINativeKeyBindings
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPatternElement.h
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPatternElement.h
@@ -54,7 +54,8 @@
-class nsSVGPatternElement : public nsSVGPatternElementBase,
-                            public nsIDOMSVGURIReference,
-                            public nsIDOMSVGFitToViewBox,
-                            public nsIDOMSVGPatternElement,
-                            public nsIDOMSVGUnitTypes,
-                            public nsStubMutationObserver
-{
+class nsSVGPatternElement : public XPCOMGCFinalizedObject,
+                            public nsSVGPatternElementBase,
+                            public nsIDOMSVGURIReference,
+                            public nsIDOMSVGFitToViewBox,
+                            public nsIDOMSVGPatternElement,
+                            public nsIDOMSVGUnitTypes,
+                            public nsStubMutationObserver
+{
--- /builds/xpcomgc/src/storage/src/mozStorageService.h
+++ /builds/xpcomgc/src/storage/src/mozStorageService.h
@@ -53,3 +53,4 @@
-class mozStorageService : public mozIStorageService,
-                          public nsIObserver
-{
+class mozStorageService : public XPCOMGCFinalizedObject,
+                          public mozIStorageService,
+                          public nsIObserver
+{
--- /builds/xpcomgc/src/netwerk/base/src/nsStreamTransportService.h
+++ /builds/xpcomgc/src/netwerk/base/src/nsStreamTransportService.h
@@ -43,4 +43,5 @@
-class nsStreamTransportService : public nsIStreamTransportService
-                               , public nsIEventTarget 
-                               , public nsIObserver
-{
+class nsStreamTransportService : public XPCOMGCFinalizedObject
+                               , public nsIStreamTransportService
+                               , public nsIEventTarget 
+                               , public nsIObserver
+{
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -3343,2 +3343,2 @@
-class ContextHolder : public nsISupports
-{
+class ContextHolder : public XPCOMGCFinalizedObject, public nsISupports
+{
--- /builds/xpcomgc/src/js/jsd/jsd_xpc.h
+++ /builds/xpcomgc/src/js/jsd/jsd_xpc.h
@@ -217,2 +217,2 @@
-class jsdStackFrame : public jsdIStackFrame
-{
+class jsdStackFrame : public XPCOMGCFinalizedObject, public jsdIStackFrame
+{
--- /builds/xpcomgc/src/editor/libeditor/base/ChangeCSSInlineStyleTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/ChangeCSSInlineStyleTxn.h
@@ -55,2 +55,2 @@
-class ChangeCSSInlineStyleTxn : public EditTxn
-{
+class ChangeCSSInlineStyleTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/gfx/src/nsFontList.cpp
+++ /builds/xpcomgc/src/gfx/src/nsFontList.cpp
@@ -68,3 +68,3 @@
-class
-nsFontListEnumerator : public nsISimpleEnumerator
-{
+class
+nsFontListEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/xpcom/glue/nsWeakReference.cpp
+++ /builds/xpcomgc/src/xpcom/glue/nsWeakReference.cpp
@@ -45,2 +45,2 @@
-class nsWeakReference : public nsIWeakReference
-  {
+class nsWeakReference : public XPCOMGCFinalizedObject, public nsIWeakReference
+  {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -3797,4 +3797,5 @@
-class nsSVGFEConvolveMatrixElement : public nsSVGFEConvolveMatrixElementBase,
-                                     public nsIDOMSVGFEConvolveMatrixElement,
-                                     public nsISVGFilter
-{
+class nsSVGFEConvolveMatrixElement : public XPCOMGCFinalizedObject,
+                                     public nsSVGFEConvolveMatrixElementBase,
+                                     public nsIDOMSVGFEConvolveMatrixElement,
+                                     public nsISVGFilter
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLInputElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLInputElement.cpp
@@ -145,10 +145,11 @@
-class nsHTMLInputElement : public nsGenericHTMLFormElement,
-                           public nsImageLoadingContent,
-                           public nsIDOMHTMLInputElement,
-                           public nsIDOMNSHTMLInputElement,
-                           public nsITextControlElement,
-                           public nsIRadioControlElement,
-                           public nsIPhonetic,
-                           public nsIDOMNSEditableElement,
-                           public nsIFileControlElement
-{
+class nsHTMLInputElement : public XPCOMGCFinalizedObject,
+                           public nsGenericHTMLFormElement,
+                           public nsImageLoadingContent,
+                           public nsIDOMHTMLInputElement,
+                           public nsIDOMNSHTMLInputElement,
+                           public nsITextControlElement,
+                           public nsIRadioControlElement,
+                           public nsIPhonetic,
+                           public nsIDOMNSEditableElement,
+                           public nsIFileControlElement
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -109,2 +109,2 @@
-class nsStyleUpdatingCommand : public nsBaseStateUpdatingCommand
-{
+class nsStyleUpdatingCommand : public XPCOMGCFinalizedObject, public nsBaseStateUpdatingCommand
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLFrameSetElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLFrameSetElement.cpp
@@ -46,4 +46,5 @@
-class nsHTMLFrameSetElement : public nsGenericHTMLElement,
-                              public nsIDOMHTMLFrameSetElement,
-                              public nsIFrameSetElement
-{
+class nsHTMLFrameSetElement : public XPCOMGCFinalizedObject,
+                              public nsGenericHTMLElement,
+                              public nsIDOMHTMLFrameSetElement,
+                              public nsIFrameSetElement
+{
--- /builds/xpcomgc/src/content/xslt/src/xslt/txMozillaStylesheetCompiler.cpp
+++ /builds/xpcomgc/src/content/xslt/src/xslt/txMozillaStylesheetCompiler.cpp
@@ -92,6 +92,7 @@
-class txStylesheetSink : public nsIXMLContentSink,
-                         public nsIExpatSink,
-                         public nsIStreamListener,
-                         public nsIChannelEventSink,
-                         public nsIInterfaceRequestor
-{
+class txStylesheetSink : public XPCOMGCFinalizedObject,
+                         public nsIXMLContentSink,
+                         public nsIExpatSink,
+                         public nsIStreamListener,
+                         public nsIChannelEventSink,
+                         public nsIInterfaceRequestor
+{
--- /builds/xpcomgc/src/xpcom/base/nsExceptionService.h
+++ /builds/xpcomgc/src/xpcom/base/nsExceptionService.h
@@ -51,2 +51,2 @@
-class nsExceptionService : public nsIExceptionService, public nsIObserver
-{
+class nsExceptionService : public XPCOMGCFinalizedObject, public nsIExceptionService, public nsIObserver
+{
--- /builds/xpcomgc/src/security/manager/boot/src/nsSecureBrowserUIImpl.h
+++ /builds/xpcomgc/src/security/manager/boot/src/nsSecureBrowserUIImpl.h
@@ -70,7 +70,8 @@
-class nsSecureBrowserUIImpl : public nsISecureBrowserUI,
-                              public nsIWebProgressListener,
-                              public nsIFormSubmitObserver,
-                              public nsIObserver,
-                              public nsSupportsWeakReference,
-                              public nsISSLStatusProvider
-{
+class nsSecureBrowserUIImpl : public XPCOMGCFinalizedObject,
+                              public nsISecureBrowserUI,
+                              public nsIWebProgressListener,
+                              public nsIFormSubmitObserver,
+                              public nsIObserver,
+                              public nsSupportsWeakReference,
+                              public nsISSLStatusProvider
+{
--- /builds/xpcomgc/src/layout/xul/base/src/nsSplitterFrame.cpp
+++ /builds/xpcomgc/src/layout/xul/base/src/nsSplitterFrame.cpp
@@ -95,1 +95,1 @@
-class nsSplitterFrameInner : public nsIDOMMouseListener, public nsIDOMMouseMotionListener {
+class nsSplitterFrameInner : public XPCOMGCFinalizedObject, public nsIDOMMouseListener, public nsIDOMMouseMotionListener {
--- /builds/xpcomgc/src/parser/htmlparser/src/nsHTMLTokenizer.h
+++ /builds/xpcomgc/src/parser/htmlparser/src/nsHTMLTokenizer.h
@@ -64,1 +64,1 @@
-class nsHTMLTokenizer : public nsITokenizer {
+class nsHTMLTokenizer : public XPCOMGCFinalizedObject, public nsITokenizer {
--- /builds/xpcomgc/src/extensions/auth/nsAuthSASL.h
+++ /builds/xpcomgc/src/extensions/auth/nsAuthSASL.h
@@ -44,2 +44,2 @@
-class nsAuthSASL : public nsIAuthModule
-{
+class nsAuthSASL : public XPCOMGCFinalizedObject, public nsIAuthModule
+{
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsPrimitives.h
@@ -267,2 +267,2 @@
-class nsSupportsFloatImpl : public nsISupportsFloat
-{
+class nsSupportsFloatImpl : public XPCOMGCFinalizedObject, public nsISupportsFloat
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLLinkElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLLinkElement.cpp
@@ -61,5 +61,6 @@
-class nsHTMLLinkElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLLinkElement,
-                          public nsILink,
-                          public nsStyleLinkElement
-{
+class nsHTMLLinkElement : public XPCOMGCFinalizedObject,
+                          public nsGenericHTMLElement,
+                          public nsIDOMHTMLLinkElement,
+                          public nsILink,
+                          public nsStyleLinkElement
+{
--- /builds/xpcomgc/src/parser/htmlparser/src/nsParser.h
+++ /builds/xpcomgc/src/parser/htmlparser/src/nsParser.h
@@ -100,2 +100,3 @@
-class nsParser : public nsIParser,
-                 public nsIStreamListener{
+class nsParser : public XPCOMGCFinalizedObject,
+                 public nsIParser,
+                 public nsIStreamListener{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -1419,4 +1419,5 @@
-class nsSVGFECompositeElement : public nsSVGFECompositeElementBase,
-                                public nsIDOMSVGFECompositeElement,
-                                public nsISVGFilter
-{
+class nsSVGFECompositeElement : public XPCOMGCFinalizedObject,
+                                public nsSVGFECompositeElementBase,
+                                public nsIDOMSVGFECompositeElement,
+                                public nsISVGFilter
+{
--- /builds/xpcomgc/src/dom/src/base/nsDOMScriptObjectFactory.h
+++ /builds/xpcomgc/src/dom/src/base/nsDOMScriptObjectFactory.h
@@ -58,4 +58,5 @@
-class nsDOMScriptObjectFactory : public nsIDOMScriptObjectFactory,
-                                 public nsIObserver,
-                                 public nsIExceptionProvider
-{
+class nsDOMScriptObjectFactory : public XPCOMGCFinalizedObject,
+                                 public nsIDOMScriptObjectFactory,
+                                 public nsIObserver,
+                                 public nsIExceptionProvider
+{
--- /builds/xpcomgc/src/layout/xul/base/public/nsXULPopupManager.h
+++ /builds/xpcomgc/src/layout/xul/base/public/nsXULPopupManager.h
@@ -312,5 +312,6 @@
-class nsXULPopupManager : public nsIDOMKeyListener,
-                          public nsIMenuRollup,
-                          public nsIRollupListener,
-                          public nsITimerCallback
-{
+class nsXULPopupManager : public XPCOMGCFinalizedObject,
+                          public nsIDOMKeyListener,
+                          public nsIMenuRollup,
+                          public nsIRollupListener,
+                          public nsITimerCallback
+{
--- /builds/xpcomgc/src/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.h
+++ /builds/xpcomgc/src/modules/libpr0n/decoders/jpeg/nsJPEGDecoder.h
@@ -84,2 +84,2 @@
-class nsJPEGDecoder : public imgIDecoder
-{
+class nsJPEGDecoder : public XPCOMGCFinalizedObject, public imgIDecoder
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -261,2 +261,2 @@
-class nsBackgroundColorStateCommand : public nsMultiStateCommand
-{
+class nsBackgroundColorStateCommand : public XPCOMGCFinalizedObject, public nsMultiStateCommand
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsCMS.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsCMS.h
@@ -121,3 +121,4 @@
-class nsCMSEncoder : public nsICMSEncoder,
-                     public nsNSSShutDownObject
-{
+class nsCMSEncoder : public XPCOMGCFinalizedObject,
+                     public nsICMSEncoder,
+                     public nsNSSShutDownObject
+{
--- /builds/xpcomgc/src/layout/xul/base/src/tree/src/nsTreeColumns.h
+++ /builds/xpcomgc/src/layout/xul/base/src/tree/src/nsTreeColumns.h
@@ -138,1 +138,1 @@
-class nsTreeColumns : public nsITreeColumns {
+class nsTreeColumns : public XPCOMGCFinalizedObject, public nsITreeColumns {
--- /builds/xpcomgc/src/intl/chardet/src/nsCyrillicDetector.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsCyrillicDetector.h
@@ -156,2 +156,2 @@
-class nsRUProbDetector : public nsCyrXPCOMDetector
-{
+class nsRUProbDetector : public XPCOMGCFinalizedObject, public nsCyrXPCOMDetector
+{
--- /builds/xpcomgc/src/xpcom/glue/nsThreadUtils.h
+++ /builds/xpcomgc/src/xpcom/glue/nsThreadUtils.h
@@ -225,2 +225,2 @@
-class NS_COM_GLUE nsRunnable : public nsIRunnable
-{
+class NS_COM_GLUE nsRunnable : public XPCOMGCFinalizedObject, public nsIRunnable
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLAreaElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLAreaElement.cpp
@@ -52,5 +52,6 @@
-class nsHTMLAreaElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLAreaElement,
-                          public nsIDOMNSHTMLAreaElement2,
-                          public nsILink
-{
+class nsHTMLAreaElement : public XPCOMGCFinalizedObject,
+                          public nsGenericHTMLElement,
+                          public nsIDOMHTMLAreaElement,
+                          public nsIDOMNSHTMLAreaElement2,
+                          public nsILink
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsKeyModule.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsKeyModule.h
@@ -82,2 +82,2 @@
-class nsKeyObjectFactory : public nsIKeyObjectFactory
-{
+class nsKeyObjectFactory : public XPCOMGCFinalizedObject, public nsIKeyObjectFactory
+{
--- /builds/xpcomgc/src/content/base/src/nsLoadListenerProxy.h
+++ /builds/xpcomgc/src/content/base/src/nsLoadListenerProxy.h
@@ -55,1 +55,1 @@
-class nsLoadListenerProxy : public nsIDOMLoadListener {
+class nsLoadListenerProxy : public XPCOMGCFinalizedObject, public nsIDOMLoadListener {
--- /builds/xpcomgc/src/netwerk/test/TestProtocols.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestProtocols.cpp
@@ -252,2 +252,2 @@
-class TestAuthPrompt : public nsIAuthPrompt
-{
+class TestAuthPrompt : public XPCOMGCFinalizedObject, public nsIAuthPrompt
+{
--- /builds/xpcomgc/src/modules/plugin/base/src/ns4xPluginInstance.h
+++ /builds/xpcomgc/src/modules/plugin/base/src/ns4xPluginInstance.h
@@ -83,4 +83,5 @@
-class ns4xPluginInstance : public nsIPluginInstance,
-                           public nsIScriptablePlugin,
-                           public nsIPluginInstanceInternal
-{
+class ns4xPluginInstance : public XPCOMGCFinalizedObject,
+                           public nsIPluginInstance,
+                           public nsIScriptablePlugin,
+                           public nsIPluginInstanceInternal
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsCacheService.h
+++ /builds/xpcomgc/src/netwerk/cache/src/nsCacheService.h
@@ -70,2 +70,2 @@
-class nsCacheService : public nsICacheService
-{
+class nsCacheService : public XPCOMGCFinalizedObject, public nsICacheService
+{
--- /builds/xpcomgc/src/layout/xul/base/src/nsRepeatService.h
+++ /builds/xpcomgc/src/layout/xul/base/src/nsRepeatService.h
@@ -48,2 +48,2 @@
-class nsRepeatService : public nsITimerCallback
-{
+class nsRepeatService : public XPCOMGCFinalizedObject, public nsITimerCallback
+{
--- /builds/xpcomgc/src/layout/generic/nsBulletFrame.cpp
+++ /builds/xpcomgc/src/layout/generic/nsBulletFrame.cpp
@@ -67,2 +67,2 @@
-class nsBulletListener : public nsStubImageDecoderObserver
-{
+class nsBulletListener : public XPCOMGCFinalizedObject, public nsStubImageDecoderObserver
+{
--- /builds/xpcomgc/src/embedding/browser/webBrowser/nsDocShellTreeOwner.h
+++ /builds/xpcomgc/src/embedding/browser/webBrowser/nsDocShellTreeOwner.h
@@ -182,4 +182,5 @@
-class ChromeTooltipListener : public nsIDOMMouseListener,
-                                public nsIDOMKeyListener,
-                                public nsIDOMMouseMotionListener
-{
+class ChromeTooltipListener : public XPCOMGCFinalizedObject,
+                                public nsIDOMMouseListener,
+                                public nsIDOMKeyListener,
+                                public nsIDOMMouseMotionListener
+{
--- /builds/xpcomgc/src/dom/src/base/nsFocusController.h
+++ /builds/xpcomgc/src/dom/src/base/nsFocusController.h
@@ -57,4 +57,5 @@
-class nsFocusController : public nsIFocusController, 
-                          public nsIDOMFocusListener,
-                          public nsSupportsWeakReference
-{
+class nsFocusController : public XPCOMGCFinalizedObject, 
+                          public nsIFocusController, 
+                          public nsIDOMFocusListener,
+                          public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheDeviceSQL.cpp
+++ /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheDeviceSQL.cpp
@@ -467,2 +467,2 @@
-class nsOfflineCacheEntryInfo : public nsICacheEntryInfo
-{
+class nsOfflineCacheEntryInfo : public XPCOMGCFinalizedObject, public nsICacheEntryInfo
+{
--- /builds/xpcomgc/src/intl/uconv/ucvcn/nsUnicodeToGB2312GL.h
+++ /builds/xpcomgc/src/intl/uconv/ucvcn/nsUnicodeToGB2312GL.h
@@ -55,2 +55,2 @@
-class nsUnicodeToGB2312GL : public nsEncoderSupport
-{
+class nsUnicodeToGB2312GL : public XPCOMGCFinalizedObject, public nsEncoderSupport
+{
--- /builds/xpcomgc/src/xpcom/ds/nsObserverList.h
+++ /builds/xpcomgc/src/xpcom/ds/nsObserverList.h
@@ -97,2 +97,2 @@
-class nsObserverEnumerator : public nsISimpleEnumerator
-{
+class nsObserverEnumerator : public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/browser/components/migration/src/nsDogbertProfileMigrator.h
+++ /builds/xpcomgc/src/browser/components/migration/src/nsDogbertProfileMigrator.h
@@ -54,3 +54,4 @@
-class nsDogbertProfileMigrator : public nsNetscapeProfileMigratorBase, 
-                                 public nsIBrowserProfileMigrator
-{
+class nsDogbertProfileMigrator : public XPCOMGCFinalizedObject, 
+                                 public nsNetscapeProfileMigratorBase, 
+                                 public nsIBrowserProfileMigrator
+{
--- /builds/xpcomgc/src/embedding/components/appstartup/src/nsAppStartupNotifier.h
+++ /builds/xpcomgc/src/embedding/components/appstartup/src/nsAppStartupNotifier.h
@@ -46,2 +46,2 @@
-class nsAppStartupNotifier : public nsIObserver
-{
+class nsAppStartupNotifier : public XPCOMGCFinalizedObject, public nsIObserver
+{
--- /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
+++ /builds/xpcomgc/src/editor/composer/src/nsComposerCommands.h
@@ -272,2 +272,2 @@
-class nsAbsolutePositioningCommand : public nsBaseStateUpdatingCommand
-{
+class nsAbsolutePositioningCommand : public XPCOMGCFinalizedObject, public nsBaseStateUpdatingCommand
+{
--- /builds/xpcomgc/src/content/xtf/src/nsXMLContentBuilder.cpp
+++ /builds/xpcomgc/src/content/xtf/src/nsXMLContentBuilder.cpp
@@ -59,2 +59,2 @@
-class nsXMLContentBuilder : public nsIXMLContentBuilder
-{
+class nsXMLContentBuilder : public XPCOMGCFinalizedObject, public nsIXMLContentBuilder
+{
--- /builds/xpcomgc/src/netwerk/streamconv/converters/nsGopherDirListingConv.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/nsGopherDirListingConv.h
@@ -65,1 +65,1 @@
-class nsGopherDirListingConv : public nsIStreamConverter {
+class nsGopherDirListingConv : public XPCOMGCFinalizedObject, public nsIStreamConverter {
--- /builds/xpcomgc/src/netwerk/protocol/gopher/src/nsGopherChannel.cpp
+++ /builds/xpcomgc/src/netwerk/protocol/gopher/src/nsGopherChannel.cpp
@@ -69,4 +69,5 @@
-class nsGopherContentStream : public nsBaseContentStream
-                            , public nsIInputStreamCallback
-                            , public nsIOutputStreamCallback
-{
+class nsGopherContentStream : public XPCOMGCFinalizedObject
+                            , public nsBaseContentStream
+                            , public nsIInputStreamCallback
+                            , public nsIOutputStreamCallback
+{
--- /builds/xpcomgc/src/content/base/src/nsContentPolicy.h
+++ /builds/xpcomgc/src/content/base/src/nsContentPolicy.h
@@ -49,2 +49,2 @@
-class nsContentPolicy : public nsIContentPolicy
-{
+class nsContentPolicy : public XPCOMGCFinalizedObject, public nsIContentPolicy
+{
--- /home/pork/xpcomgc-ffpork/dist/include/xpcom/../../../xpcom/ds/_xpidlgen/nsIAtom.h
+++ /home/pork/xpcomgc-ffpork/dist/include/xpcom/../../../xpcom/ds/_xpidlgen/nsIAtom.h
@@ -26,1 +26,1 @@
-class nsIAtom : public nsISupports {
+class nsIAtom : public XPCOMGCFinalizedObject, public nsISupports {
--- /builds/xpcomgc/src/editor/libeditor/base/InsertElementTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/InsertElementTxn.h
@@ -53,2 +53,2 @@
-class InsertElementTxn : public EditTxn
-{
+class InsertElementTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/content/base/src/nsSyncLoadService.cpp
+++ /builds/xpcomgc/src/content/base/src/nsSyncLoadService.cpp
@@ -66,5 +66,6 @@
-class nsSyncLoader : public nsIDOMLoadListener,
-                     public nsIChannelEventSink,
-                     public nsIInterfaceRequestor,
-                     public nsSupportsWeakReference
-{
+class nsSyncLoader : public XPCOMGCFinalizedObject,
+                     public nsIDOMLoadListener,
+                     public nsIChannelEventSink,
+                     public nsIInterfaceRequestor,
+                     public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -290,2 +290,2 @@
-class nsJAPSMDetector : public nsXPCOMDetector
-{
+class nsJAPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMDetector
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGTransform.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGTransform.cpp
@@ -54,4 +54,5 @@
-class nsSVGTransform : public nsIDOMSVGTransform,
-                       public nsSVGValue,
-                       public nsISVGValueObserver
-{
+class nsSVGTransform : public XPCOMGCFinalizedObject,
+                       public nsIDOMSVGTransform,
+                       public nsSVGValue,
+                       public nsISVGValueObserver
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLTableCellElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLTableCellElement.cpp
@@ -48,3 +48,4 @@
-class nsHTMLTableCellElement : public nsGenericHTMLElement,
-                               public nsIDOMHTMLTableCellElement
-{
+class nsHTMLTableCellElement : public XPCOMGCFinalizedObject,
+                               public nsGenericHTMLElement,
+                               public nsIDOMHTMLTableCellElement
+{
--- /builds/xpcomgc/src/storage/src/mozStorageStatementWrapper.cpp
+++ /builds/xpcomgc/src/storage/src/mozStorageStatementWrapper.cpp
@@ -53,3 +53,4 @@
-class mozStorageStatementRow : public mozIStorageStatementRow,
-                               public nsIXPCScriptable
-{
+class mozStorageStatementRow : public XPCOMGCFinalizedObject,
+                               public mozIStorageStatementRow,
+                               public nsIXPCScriptable
+{
--- /builds/xpcomgc/src/modules/libjar/nsJAR.h
+++ /builds/xpcomgc/src/modules/libjar/nsJAR.h
@@ -199,2 +199,2 @@
-class nsJAREnumerator : public nsIUTF8StringEnumerator
-{
+class nsJAREnumerator : public XPCOMGCFinalizedObject, public nsIUTF8StringEnumerator
+{
--- /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUTF32ToUnicode.h
+++ /builds/xpcomgc/src/intl/uconv/ucvlatin/nsUTF32ToUnicode.h
@@ -90,2 +90,2 @@
-class nsUTF32BEToUnicode : public nsUTF32ToUnicode
-{
+class nsUTF32BEToUnicode : public XPCOMGCFinalizedObject, public nsUTF32ToUnicode
+{
--- /builds/xpcomgc/src/xpfe/components/filepicker/src/nsFileView.cpp
+++ /builds/xpcomgc/src/xpfe/components/filepicker/src/nsFileView.cpp
@@ -67,2 +67,2 @@
-class nsFileResult : public nsIAutoCompleteResult
-{
+class nsFileResult : public XPCOMGCFinalizedObject, public nsIAutoCompleteResult
+{
--- /builds/xpcomgc/src/chrome/src/nsChromeProtocolHandler.h
+++ /builds/xpcomgc/src/chrome/src/nsChromeProtocolHandler.h
@@ -51,2 +51,2 @@
-class nsChromeProtocolHandler : public nsIProtocolHandler, public nsSupportsWeakReference
-{
+class nsChromeProtocolHandler : public XPCOMGCFinalizedObject, public nsIProtocolHandler, public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/netwerk/streamconv/converters/mozTXTToHTMLConv.h
+++ /builds/xpcomgc/src/netwerk/streamconv/converters/mozTXTToHTMLConv.h
@@ -63,2 +63,2 @@
-class mozTXTToHTMLConv : public mozITXTToHTMLConv
-{
+class mozTXTToHTMLConv : public XPCOMGCFinalizedObject, public mozITXTToHTMLConv
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheBinding.h
+++ /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheBinding.h
@@ -64,1 +64,1 @@
-class nsDiskCacheBinding : public nsISupports, public PRCList {
+class nsDiskCacheBinding : public XPCOMGCFinalizedObject, public nsISupports, public PRCList {
--- /builds/xpcomgc/src/xpcom/ds/nsVariant.h
+++ /builds/xpcomgc/src/xpcom/ds/nsVariant.h
@@ -113,2 +113,2 @@
-class NS_COM nsVariant : public nsIWritableVariant
-{
+class NS_COM nsVariant : public XPCOMGCFinalizedObject, public nsIWritableVariant
+{
--- /builds/xpcomgc/src/dom/src/base/nsDOMWindowList.h
+++ /builds/xpcomgc/src/dom/src/base/nsDOMWindowList.h
@@ -48,2 +48,2 @@
-class nsDOMWindowList : public nsIDOMWindowCollection
-{
+class nsDOMWindowList : public XPCOMGCFinalizedObject, public nsIDOMWindowCollection
+{
--- /builds/xpcomgc/src/editor/libeditor/base/DeleteTextTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/DeleteTextTxn.h
@@ -55,2 +55,2 @@
-class DeleteTextTxn : public EditTxn
-{
+class DeleteTextTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/editor/libeditor/base/DeleteElementTxn.h
+++ /builds/xpcomgc/src/editor/libeditor/base/DeleteElementTxn.h
@@ -56,2 +56,2 @@
-class DeleteElementTxn : public EditTxn
-{
+class DeleteElementTxn : public XPCOMGCFinalizedObject, public EditTxn
+{
--- /builds/xpcomgc/src/extensions/universalchardet/src/xpcom/nsUdetXPCOMWrapper.h
+++ /builds/xpcomgc/src/extensions/universalchardet/src/xpcom/nsUdetXPCOMWrapper.h
@@ -76,4 +76,5 @@
-class nsUniversalXPCOMStringDetector :  
-      public nsUniversalDetector,
-      public nsIStringCharsetDetector
-{
+class nsUniversalXPCOMStringDetector :  
+      public XPCOMGCFinalizedObject,
+      public nsUniversalDetector,
+      public nsIStringCharsetDetector
+{
--- /builds/xpcomgc/src/xpcom/reflect/xptcall/tests/TestXPTCInvoke.cpp
+++ /builds/xpcomgc/src/xpcom/reflect/xptcall/tests/TestXPTCInvoke.cpp
@@ -1033,2 +1033,2 @@
-class FooBarImpl : public FooImpl, public BarImpl
-{
+class FooBarImpl : public XPCOMGCFinalizedObject, public FooImpl, public BarImpl
+{
--- /builds/xpcomgc/src/widget/src/gtk2/nsSound.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsSound.h
@@ -48,3 +48,4 @@
-class nsSound : public nsISound, 
-                public nsIStreamLoaderObserver
-{ 
+class nsSound : public XPCOMGCFinalizedObject, 
+                public nsISound, 
+                public nsIStreamLoaderObserver
+{ 
--- /builds/xpcomgc/src/xpcom/ds/nsSupportsArray.h
+++ /builds/xpcomgc/src/xpcom/ds/nsSupportsArray.h
@@ -51,1 +51,1 @@
-class NS_COM nsSupportsArray : public nsISupportsArray {
+class NS_COM nsSupportsArray : public XPCOMGCFinalizedObject, public nsISupportsArray {
--- /builds/xpcomgc/src/widget/src/gtk2/nsPrintOptionsGTK.h
+++ /builds/xpcomgc/src/widget/src/gtk2/nsPrintOptionsGTK.h
@@ -48,2 +48,2 @@
-class nsPrintOptionsGTK : public nsPrintOptions
-{
+class nsPrintOptionsGTK : public XPCOMGCFinalizedObject, public nsPrintOptions
+{
--- /builds/xpcomgc/src/xpinstall/src/nsXPIProxy.h
+++ /builds/xpcomgc/src/xpinstall/src/nsXPIProxy.h
@@ -45,2 +45,2 @@
-class nsXPIProxy : public nsPIXPIProxy
-{
+class nsXPIProxy : public XPCOMGCFinalizedObject, public nsPIXPIProxy
+{
--- /builds/xpcomgc/src/content/xbl/src/nsXBLService.cpp
+++ /builds/xpcomgc/src/content/xbl/src/nsXBLService.cpp
@@ -1094,3 +1094,4 @@
-class nsSameOriginChecker : public nsIChannelEventSink,
-                            public nsIInterfaceRequestor
-{
+class nsSameOriginChecker : public XPCOMGCFinalizedObject,
+                            public nsIChannelEventSink,
+                            public nsIInterfaceRequestor
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGPathSeg.cpp
@@ -1733,3 +1733,4 @@
-class nsSVGPathSegLinetoVerticalAbs : public nsIDOMSVGPathSegLinetoVerticalAbs,
-                                      public nsSVGPathSeg
-{
+class nsSVGPathSegLinetoVerticalAbs : public XPCOMGCFinalizedObject,
+                                      public nsIDOMSVGPathSegLinetoVerticalAbs,
+                                      public nsSVGPathSeg
+{
--- /builds/xpcomgc/src/toolkit/components/commandlines/src/nsCommandLine.cpp
+++ /builds/xpcomgc/src/toolkit/components/commandlines/src/nsCommandLine.cpp
@@ -77,2 +77,2 @@
-class nsCommandLine : public nsICommandLineRunner
-{
+class nsCommandLine : public XPCOMGCFinalizedObject, public nsICommandLineRunner
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLSpanElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLSpanElement.cpp
@@ -45,3 +45,4 @@
-class nsHTMLSpanElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLElement
-{
+class nsHTMLSpanElement : public XPCOMGCFinalizedObject,
+                          public nsGenericHTMLElement,
+                          public nsIDOMHTMLElement
+{
--- /builds/xpcomgc/src/editor/composer/src/nsEditingSession.h
+++ /builds/xpcomgc/src/editor/composer/src/nsEditingSession.h
@@ -71,4 +71,5 @@
-class nsEditingSession : public nsIEditingSession,
-                         public nsIWebProgressListener,
-                         public nsSupportsWeakReference
-{
+class nsEditingSession : public XPCOMGCFinalizedObject,
+                         public nsIEditingSession,
+                         public nsIWebProgressListener,
+                         public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/intl/unicharutil/src/nsUnicodeNormalizer.h
+++ /builds/xpcomgc/src/intl/unicharutil/src/nsUnicodeNormalizer.h
@@ -48,1 +48,1 @@
-class nsUnicodeNormalizer : public nsIUnicodeNormalizer {
+class nsUnicodeNormalizer : public XPCOMGCFinalizedObject, public nsIUnicodeNormalizer {
--- /builds/xpcomgc/src/netwerk/cache/src/nsCacheEntryDescriptor.h
+++ /builds/xpcomgc/src/netwerk/cache/src/nsCacheEntryDescriptor.h
@@ -52,4 +52,5 @@
-class nsCacheEntryDescriptor :
-    public PRCList,
-    public nsICacheEntryDescriptor
-{
+class nsCacheEntryDescriptor :
+    public XPCOMGCFinalizedObject,
+    public PRCList,
+    public nsICacheEntryDescriptor
+{
--- /builds/xpcomgc/src/parser/htmlparser/src/nsDTDUtils.h
+++ /builds/xpcomgc/src/parser/htmlparser/src/nsDTDUtils.h
@@ -429,1 +429,1 @@
-class nsObserverEntry : public nsIObserverEntry {
+class nsObserverEntry : public XPCOMGCFinalizedObject, public nsIObserverEntry {
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGLengthList.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGLengthList.cpp
@@ -53,4 +53,5 @@
-class nsSVGLengthList : public nsIDOMSVGLengthList,
-                        public nsSVGValue,
-                        public nsISVGValueObserver
-{  
+class nsSVGLengthList : public XPCOMGCFinalizedObject,
+                        public nsIDOMSVGLengthList,
+                        public nsSVGValue,
+                        public nsISVGValueObserver
+{  
--- /builds/xpcomgc/src/caps/include/nsNullPrincipal.h
+++ /builds/xpcomgc/src/caps/include/nsNullPrincipal.h
@@ -61,2 +61,2 @@
-class nsNullPrincipal : public nsIPrincipal
-{
+class nsNullPrincipal : public XPCOMGCFinalizedObject, public nsIPrincipal
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -5257,4 +5257,5 @@
-class nsSVGFEUnimplementedMOZElement : public nsSVGFEUnimplementedMOZElementBase,
-                                       public nsIDOMSVGFEUnimplementedMOZElement,
-                                       public nsISVGFilter
-{
+class nsSVGFEUnimplementedMOZElement : public XPCOMGCFinalizedObject,
+                                       public nsSVGFEUnimplementedMOZElementBase,
+                                       public nsIDOMSVGFEUnimplementedMOZElement,
+                                       public nsISVGFilter
+{
--- /builds/xpcomgc/src/xpcom/ds/nsStringEnumerator.cpp
+++ /builds/xpcomgc/src/xpcom/ds/nsStringEnumerator.cpp
@@ -51,4 +51,5 @@
-class nsStringEnumerator : public nsIStringEnumerator,
-                           public nsIUTF8StringEnumerator,
-                           public nsISimpleEnumerator
-{
+class nsStringEnumerator : public XPCOMGCFinalizedObject,
+                           public nsIStringEnumerator,
+                           public nsIUTF8StringEnumerator,
+                           public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsPrompt.h
+++ /builds/xpcomgc/src/embedding/components/windowwatcher/src/nsPrompt.h
@@ -85,2 +85,2 @@
-class AuthPromptWrapper : public nsIAuthPrompt2
-{
+class AuthPromptWrapper : public XPCOMGCFinalizedObject, public nsIAuthPrompt2
+{
--- /builds/xpcomgc/src/layout/style/nsCSSStyleSheet.cpp
+++ /builds/xpcomgc/src/layout/style/nsCSSStyleSheet.cpp
@@ -80,2 +80,2 @@
-class CSSRuleListImpl : public nsIDOMCSSRuleList
-{
+class CSSRuleListImpl : public XPCOMGCFinalizedObject, public nsIDOMCSSRuleList
+{
--- /builds/xpcomgc/src/xpfe/components/find/src/nsFindService.h
+++ /builds/xpcomgc/src/xpfe/components/find/src/nsFindService.h
@@ -58,2 +58,2 @@
-class nsFindService : public nsIFindService
-{
+class nsFindService : public XPCOMGCFinalizedObject, public nsIFindService
+{
--- /builds/xpcomgc/src/xpcom/proxy/tests/proxytests.cpp
+++ /builds/xpcomgc/src/xpcom/proxy/tests/proxytests.cpp
@@ -360,2 +360,2 @@
-class ProxyTest : public nsIRunnable
-{
+class ProxyTest : public XPCOMGCFinalizedObject, public nsIRunnable
+{
--- /builds/xpcomgc/src/rdf/base/src/nsRDFService.h
+++ /builds/xpcomgc/src/rdf/base/src/nsRDFService.h
@@ -68,3 +68,4 @@
-class RDFServiceImpl : public nsIRDFService,
-                       public nsSupportsWeakReference
-{
+class RDFServiceImpl : public XPCOMGCFinalizedObject,
+                       public nsIRDFService,
+                       public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierDBService.h
+++ /builds/xpcomgc/src/toolkit/components/url-classifier/src/nsUrlClassifierDBService.h
@@ -53,4 +53,5 @@
-class nsUrlClassifierDBService : public nsIUrlClassifierDBService,
-                                 public nsIURIClassifier,
-                                 public nsIObserver
-{
+class nsUrlClassifierDBService : public XPCOMGCFinalizedObject,
+                                 public nsIUrlClassifierDBService,
+                                 public nsIURIClassifier,
+                                 public nsIObserver
+{
--- /builds/xpcomgc/src/modules/libjar/nsXPTZipLoader.h
+++ /builds/xpcomgc/src/modules/libjar/nsXPTZipLoader.h
@@ -50,2 +50,2 @@
-class nsXPTZipLoader : public nsIXPTLoader
-{
+class nsXPTZipLoader : public XPCOMGCFinalizedObject, public nsIXPTLoader
+{
--- /builds/xpcomgc/src/content/base/src/nsDocumentEncoder.cpp
+++ /builds/xpcomgc/src/content/base/src/nsDocumentEncoder.cpp
@@ -87,2 +87,2 @@
-class nsDocumentEncoder : public nsIDocumentEncoder
-{
+class nsDocumentEncoder : public XPCOMGCFinalizedObject, public nsIDocumentEncoder
+{
--- /builds/xpcomgc/src/uriloader/exthandler/unix/nsMIMEInfoUnix.h
+++ /builds/xpcomgc/src/uriloader/exthandler/unix/nsMIMEInfoUnix.h
@@ -44,2 +44,2 @@
-class nsMIMEInfoUnix : public nsMIMEInfoImpl
-{
+class nsMIMEInfoUnix : public XPCOMGCFinalizedObject, public nsMIMEInfoImpl
+{
--- /builds/xpcomgc/src/xpcom/io/nsStorageStream.h
+++ /builds/xpcomgc/src/xpcom/io/nsStorageStream.h
@@ -66,3 +66,4 @@
-class nsStorageStream : public nsIStorageStream,
-                        public nsIOutputStream
-{
+class nsStorageStream : public XPCOMGCFinalizedObject,
+                        public nsIStorageStream,
+                        public nsIOutputStream
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsVerificationJob.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsVerificationJob.h
@@ -65,2 +65,2 @@
-class nsCertVerificationResult : public nsICertVerificationResult
-{
+class nsCertVerificationResult : public XPCOMGCFinalizedObject, public nsICertVerificationResult
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGFilters.cpp
@@ -4319,3 +4319,4 @@
-class nsSVGFEDistantLightElement : public nsSVGFEDistantLightElementBase,
-                                   public nsIDOMSVGFEDistantLightElement
-{
+class nsSVGFEDistantLightElement : public XPCOMGCFinalizedObject,
+                                   public nsSVGFEDistantLightElementBase,
+                                   public nsIDOMSVGFEDistantLightElement
+{
--- /builds/xpcomgc/src/editor/libeditor/html/nsHTMLObjectResizer.h
+++ /builds/xpcomgc/src/editor/libeditor/html/nsHTMLObjectResizer.h
@@ -116,2 +116,2 @@
-class DocumentResizeEventListener: public nsIDOMEventListener
-{
+class DocumentResizeEventListener: public XPCOMGCFinalizedObject, public nsIDOMEventListener
+{
--- /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheStreams.cpp
+++ /builds/xpcomgc/src/netwerk/cache/src/nsDiskCacheStreams.cpp
@@ -61,1 +61,1 @@
-class nsDiskCacheInputStream : public nsIInputStream {
+class nsDiskCacheInputStream : public XPCOMGCFinalizedObject, public nsIInputStream {
--- /builds/xpcomgc/src/rdf/datasource/src/nsLocalStore.cpp
+++ /builds/xpcomgc/src/rdf/datasource/src/nsLocalStore.cpp
@@ -71,6 +71,7 @@
-class LocalStoreImpl : public nsILocalStore,
-                       public nsIRDFDataSource,
-                       public nsIRDFRemoteDataSource,
-                       public nsIObserver,
-                       public nsSupportsWeakReference
-{
+class LocalStoreImpl : public XPCOMGCFinalizedObject,
+                       public nsILocalStore,
+                       public nsIRDFDataSource,
+                       public nsIRDFRemoteDataSource,
+                       public nsIObserver,
+                       public nsSupportsWeakReference
+{
--- /builds/xpcomgc/src/security/manager/pki/src/nsNSSDialogs.h
+++ /builds/xpcomgc/src/security/manager/pki/src/nsNSSDialogs.h
@@ -58,10 +58,11 @@
-class nsNSSDialogs
-: public nsITokenPasswordDialogs,
-  public nsIBadCertListener,
-  public nsICertificateDialogs,
-  public nsIClientAuthDialogs,
-  public nsICertPickDialogs,
-  public nsITokenDialogs,
-  public nsIDOMCryptoDialogs,
-  public nsIGeneratingKeypairInfoDialogs
-{
+class nsNSSDialogs
+: public XPCOMGCFinalizedObject,
+  public nsITokenPasswordDialogs,
+  public nsIBadCertListener,
+  public nsICertificateDialogs,
+  public nsIClientAuthDialogs,
+  public nsICertPickDialogs,
+  public nsITokenDialogs,
+  public nsIDOMCryptoDialogs,
+  public nsIGeneratingKeypairInfoDialogs
+{
--- /builds/xpcomgc/src/modules/libpr0n/decoders/xbm/nsXBMDecoder.h
+++ /builds/xpcomgc/src/modules/libpr0n/decoders/xbm/nsXBMDecoder.h
@@ -56,2 +56,2 @@
-class nsXBMDecoder : public imgIDecoder
-{
+class nsXBMDecoder : public XPCOMGCFinalizedObject, public imgIDecoder
+{
--- /builds/xpcomgc/src/netwerk/test/TestProtocols.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestProtocols.cpp
@@ -183,2 +183,2 @@
-class URLLoadInfo : public nsISupports
-{
+class URLLoadInfo : public XPCOMGCFinalizedObject, public nsISupports
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLFormElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLFormElement.cpp
@@ -129,7 +129,8 @@
-class nsHTMLFormElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLFormElement,
-                          public nsIDOMNSHTMLFormElement,
-                          public nsIWebProgressListener,
-                          public nsIForm,
-                          public nsIRadioGroupContainer
-{
+class nsHTMLFormElement : public XPCOMGCFinalizedObject,
+                          public nsGenericHTMLElement,
+                          public nsIDOMHTMLFormElement,
+                          public nsIDOMNSHTMLFormElement,
+                          public nsIWebProgressListener,
+                          public nsIForm,
+                          public nsIRadioGroupContainer
+{
--- /builds/xpcomgc/src/rdf/datasource/src/nsFileSystemDataSource.h
+++ /builds/xpcomgc/src/rdf/datasource/src/nsFileSystemDataSource.h
@@ -53,2 +53,2 @@
-class FileSystemDataSource : public nsIRDFDataSource
-{
+class FileSystemDataSource : public XPCOMGCFinalizedObject, public nsIRDFDataSource
+{
--- /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
+++ /builds/xpcomgc/src/intl/chardet/src/nsPSMDetectors.h
@@ -367,2 +367,2 @@
-class nsCJKStringPSMDetector : public nsXPCOMStringDetector
-{
+class nsCJKStringPSMDetector : public XPCOMGCFinalizedObject, public nsXPCOMStringDetector
+{
--- /builds/xpcomgc/src/intl/uconv/util/nsUCSupport.h
+++ /builds/xpcomgc/src/intl/uconv/util/nsUCSupport.h
@@ -451,2 +451,2 @@
-class nsMultiTableEncoderSupport : public nsEncoderSupport
-{
+class nsMultiTableEncoderSupport : public XPCOMGCFinalizedObject, public nsEncoderSupport
+{
--- /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedNumberList.cpp
+++ /builds/xpcomgc/src/content/svg/content/src/nsSVGAnimatedNumberList.cpp
@@ -47,4 +47,5 @@
-class nsSVGAnimatedNumberList : public nsIDOMSVGAnimatedNumberList,
-                                public nsSVGValue,
-                                public nsISVGValueObserver
-{  
+class nsSVGAnimatedNumberList : public XPCOMGCFinalizedObject,
+                                public nsIDOMSVGAnimatedNumberList,
+                                public nsSVGValue,
+                                public nsISVGValueObserver
+{  
--- /builds/xpcomgc/src/intl/strres/src/nsStringBundle.h
+++ /builds/xpcomgc/src/intl/strres/src/nsStringBundle.h
@@ -87,2 +87,2 @@
-class nsExtensibleStringBundle : public nsIStringBundle
-{
+class nsExtensibleStringBundle : public XPCOMGCFinalizedObject, public nsIStringBundle
+{
--- /builds/xpcomgc/src/xpcom/io/nsLocalFileUnix.h
+++ /builds/xpcomgc/src/xpcom/io/nsLocalFileUnix.h
@@ -84,4 +84,5 @@
-class NS_COM nsLocalFile : public nsILocalFile,
-                           public nsIHashable,
-                           public nsIClassInfo
-{
+class NS_COM nsLocalFile : public XPCOMGCFinalizedObject,
+                           public nsILocalFile,
+                           public nsIHashable,
+                           public nsIClassInfo
+{
--- /builds/xpcomgc/src/storage/test/storage1.cpp
+++ /builds/xpcomgc/src/storage/test/storage1.cpp
@@ -65,1 +65,1 @@
-class TestAggregateFunc : public mozIStorageAggregateFunction {
+class TestAggregateFunc : public XPCOMGCFinalizedObject, public mozIStorageAggregateFunction {
--- /builds/xpcomgc/src/content/xbl/src/nsXBLEventHandler.h
+++ /builds/xpcomgc/src/content/xbl/src/nsXBLEventHandler.h
@@ -51,2 +51,2 @@
-class nsXBLEventHandler : public nsIDOMEventListener
-{
+class nsXBLEventHandler : public XPCOMGCFinalizedObject, public nsIDOMEventListener
+{
--- /builds/xpcomgc/src/content/base/src/nsTextNode.cpp
+++ /builds/xpcomgc/src/content/base/src/nsTextNode.cpp
@@ -54,3 +54,4 @@
-class nsTextNode : public nsGenericDOMDataNode,
-                   public nsIDOMText
-{
+class nsTextNode : public XPCOMGCFinalizedObject,
+                   public nsGenericDOMDataNode,
+                   public nsIDOMText
+{
--- /builds/xpcomgc/src/content/xul/document/src/nsXULPrototypeDocument.cpp
+++ /builds/xpcomgc/src/content/xul/document/src/nsXULPrototypeDocument.cpp
@@ -71,3 +71,4 @@
-class nsXULPDGlobalObject : public nsIScriptGlobalObject,
-                            public nsIScriptObjectPrincipal
-{
+class nsXULPDGlobalObject : public XPCOMGCFinalizedObject,
+                            public nsIScriptGlobalObject,
+                            public nsIScriptObjectPrincipal
+{
--- /builds/xpcomgc/src/xpcom/tests/TestObserverService.cpp
+++ /builds/xpcomgc/src/xpcom/tests/TestObserverService.cpp
@@ -64,1 +64,1 @@
-class TestObserver : public nsIObserver, public nsSupportsWeakReference {
+class TestObserver : public XPCOMGCFinalizedObject, public nsIObserver, public nsSupportsWeakReference {
--- /builds/xpcomgc/src/modules/libpref/src/nsPrefBranch.h
+++ /builds/xpcomgc/src/modules/libpref/src/nsPrefBranch.h
@@ -91,3 +91,4 @@
-class nsPrefLocalizedString : public nsIPrefLocalizedString,
-                              public nsISupportsString
-{
+class nsPrefLocalizedString : public XPCOMGCFinalizedObject,
+                              public nsIPrefLocalizedString,
+                              public nsISupportsString
+{
--- /builds/xpcomgc/src/netwerk/test/TestCallbacks.cpp
+++ /builds/xpcomgc/src/netwerk/test/TestCallbacks.cpp
@@ -91,1 +91,1 @@
-class Consumer : public nsIStreamListener {
+class Consumer : public XPCOMGCFinalizedObject, public nsIStreamListener {
--- /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedWindowCreator.h
+++ /builds/xpcomgc/src/embedding/browser/gtk/src/EmbedWindowCreator.h
@@ -44,2 +44,2 @@
-class EmbedWindowCreator : public nsIWindowCreator
-{
+class EmbedWindowCreator : public XPCOMGCFinalizedObject, public nsIWindowCreator
+{
--- /builds/xpcomgc/src/editor/libeditor/text/nsTextEditRules.h
+++ /builds/xpcomgc/src/editor/libeditor/text/nsTextEditRules.h
@@ -58,2 +58,2 @@
-class nsTextEditRules : public nsIEditRules
-{
+class nsTextEditRules : public XPCOMGCFinalizedObject, public nsIEditRules
+{
--- /builds/xpcomgc/src/dom/src/base/nsMimeTypeArray.h
+++ /builds/xpcomgc/src/dom/src/base/nsMimeTypeArray.h
@@ -47,2 +47,2 @@
-class nsMimeTypeArray : public nsIDOMMimeTypeArray
-{
+class nsMimeTypeArray : public XPCOMGCFinalizedObject, public nsIDOMMimeTypeArray
+{
--- /builds/xpcomgc/src/extensions/pref/autoconfig/src/nsAutoConfig.h
+++ /builds/xpcomgc/src/extensions/pref/autoconfig/src/nsAutoConfig.h
@@ -47,7 +47,8 @@
-class nsAutoConfig : public nsIAutoConfig,
-                     public nsITimerCallback,
-                     public nsIStreamListener,
-                     public nsIObserver,
-                     public nsSupportsWeakReference
-
-{
+class nsAutoConfig : public XPCOMGCFinalizedObject,
+                     public nsIAutoConfig,
+                     public nsITimerCallback,
+                     public nsIStreamListener,
+                     public nsIObserver,
+                     public nsSupportsWeakReference
+
+{
--- /builds/xpcomgc/src/netwerk/protocol/ftp/src/nsFtpConnectionThread.h
+++ /builds/xpcomgc/src/netwerk/protocol/ftp/src/nsFtpConnectionThread.h
@@ -119,6 +119,7 @@
-class nsFtpState : public nsBaseContentStream,
-                   public nsIInputStreamCallback,
-                   public nsITransportEventSink,
-                   public nsICacheListener,
-                   public nsIRequestObserver,
-                   public nsFtpControlConnectionListener {
+class nsFtpState : public XPCOMGCFinalizedObject,
+                   public nsBaseContentStream,
+                   public nsIInputStreamCallback,
+                   public nsITransportEventSink,
+                   public nsICacheListener,
+                   public nsIRequestObserver,
+                   public nsFtpControlConnectionListener {
--- /builds/xpcomgc/src/xpcom/proxy/src/nsProxyEventPrivate.h
+++ /builds/xpcomgc/src/xpcom/proxy/src/nsProxyEventPrivate.h
@@ -265,2 +265,2 @@
-class nsProxyObjectManager: public nsIProxyObjectManager
-{
+class nsProxyObjectManager: public XPCOMGCFinalizedObject, public nsIProxyObjectManager
+{
--- /builds/xpcomgc/src/xpcom/reflect/xptinfo/src/xptiprivate.h
+++ /builds/xpcomgc/src/xpcom/reflect/xptinfo/src/xptiprivate.h
@@ -860,3 +860,3 @@
-class xptiInterfaceInfoManager 
-    : public nsIInterfaceInfoSuperManager
-{
+class xptiInterfaceInfoManager 
+    : public XPCOMGCFinalizedObject, public nsIInterfaceInfoSuperManager
+{
--- /builds/xpcomgc/src/layout/svg/base/src/nsSVGTextPathFrame.h
+++ /builds/xpcomgc/src/layout/svg/base/src/nsSVGTextPathFrame.h
@@ -48,1 +48,1 @@
-class nsSVGPathListener : public nsStubMutationObserver {
+class nsSVGPathListener : public XPCOMGCFinalizedObject, public nsStubMutationObserver {
--- /builds/xpcomgc/src/layout/style/nsCSSStyleRule.cpp
+++ /builds/xpcomgc/src/layout/style/nsCSSStyleRule.cpp
@@ -737,1 +737,1 @@
-class CSSImportantRule : public nsIStyleRule {
+class CSSImportantRule : public XPCOMGCFinalizedObject, public nsIStyleRule {
--- /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
+++ /builds/xpcomgc/src/js/src/xpconnect/src/xpccomponents.cpp
@@ -1296,5 +1296,6 @@
-class nsXPCComponents_Results :
-  public nsIXPCComponents_Results,
-  public nsIXPCScriptable,
-  public nsIClassInfo
-{
+class nsXPCComponents_Results :
+  public XPCOMGCFinalizedObject,
+  public nsIXPCComponents_Results,
+  public nsIXPCScriptable,
+  public nsIClassInfo
+{
--- /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertificate.h
+++ /builds/xpcomgc/src/security/manager/ssl/src/nsNSSCertificate.h
@@ -115,2 +115,2 @@
-class nsNSSCertListEnumerator: public nsISimpleEnumerator
-{
+class nsNSSCertListEnumerator: public XPCOMGCFinalizedObject, public nsISimpleEnumerator
+{
--- /builds/xpcomgc/src/content/html/content/src/nsHTMLDivElement.cpp
+++ /builds/xpcomgc/src/content/html/content/src/nsHTMLDivElement.cpp
@@ -44,3 +44,4 @@
-class nsHTMLDivElement : public nsGenericHTMLElement,
-                         public nsIDOMHTMLDivElement
-{
+class nsHTMLDivElement : public XPCOMGCFinalizedObject,
+                         public nsGenericHTMLElement,
+                         public nsIDOMHTMLDivElement
+{
