Remove nsCSSOMFactory/nsICSSOMFactory. (Bug 376111) r+sr=bzbarsky
authorL. David Baron <dbaron@dbaron.org>
Wed, 08 Apr 2009 13:52:37 -0700
changeset 27107 228855cf8aaeb7581947de3a3c0133003235dbd2
parent 27106 e5b1ab03542642f3de010c3eb31c3e4484f32e3c
child 27108 ad109d30c05e46a1022bb04c590d0d5a0b114e40
push id6390
push userdbaron@mozilla.com
push dateWed, 08 Apr 2009 20:53:53 +0000
treeherdermozilla-central@228855cf8aae [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs376111
milestone1.9.2a1pre
Remove nsCSSOMFactory/nsICSSOMFactory. (Bug 376111) r+sr=bzbarsky
content/base/src/nsStyledElement.cpp
content/base/src/nsStyledElement.h
content/html/content/src/nsGenericHTMLElement.cpp
content/xul/content/src/nsXULElement.cpp
content/xul/content/src/nsXULElement.h
layout/build/nsLayoutModule.cpp
layout/build/nsLayoutStatics.cpp
layout/style/Makefile.in
layout/style/nsCSSOMFactory.cpp
layout/style/nsCSSOMFactory.h
layout/style/nsICSSOMFactory.h
--- a/content/base/src/nsStyledElement.cpp
+++ b/content/base/src/nsStyledElement.cpp
@@ -39,17 +39,17 @@
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsStyledElement.h"
 #include "nsGkAtoms.h"
 #include "nsAttrValue.h"
 #include "nsGenericElement.h"
 #include "nsMutationEvent.h"
 #include "nsDOMCSSDeclaration.h"
-#include "nsICSSOMFactory.h"
+#include "nsDOMCSSAttrDeclaration.h"
 #include "nsServiceManagerUtils.h"
 #include "nsIDocument.h"
 #include "nsICSSStyleRule.h"
 #include "nsICSSParser.h"
 #include "nsICSSLoader.h"
 
 #ifdef MOZ_SVG
 #include "nsIDOMSVGStylable.h"
@@ -162,38 +162,28 @@ nsStyledElement::BindToTree(nsIDocument*
   ReparseStyleAttribute(PR_FALSE);
 
   return rv;
 }
 
 // ---------------------------------------------------------------
 // Others and helpers
 
-static nsICSSOMFactory* gCSSOMFactory = nsnull;
-static NS_DEFINE_CID(kCSSOMFactoryCID, NS_CSSOMFACTORY_CID);
-
 nsresult
 nsStyledElement::GetStyle(nsIDOMCSSStyleDeclaration** aStyle)
 {
   nsGenericElement::nsDOMSlots *slots = GetDOMSlots();
   NS_ENSURE_TRUE(slots, NS_ERROR_OUT_OF_MEMORY);
 
   if (!slots->mStyle) {
     // Just in case...
     ReparseStyleAttribute(PR_TRUE);
 
-    nsresult rv;
-    if (!gCSSOMFactory) {
-      rv = CallGetService(kCSSOMFactoryCID, &gCSSOMFactory);
-      NS_ENSURE_SUCCESS(rv, rv);
-    }
-
-    rv = gCSSOMFactory->CreateDOMCSSAttributeDeclaration(this,
-                                                 getter_AddRefs(slots->mStyle));
-    NS_ENSURE_SUCCESS(rv, rv);
+    slots->mStyle = new nsDOMCSSAttributeDeclaration(this);
+    NS_ENSURE_TRUE(slots->mStyle, NS_ERROR_OUT_OF_MEMORY);
     SetFlags(NODE_MAY_HAVE_STYLE);
   }
 
   // Why bother with QI?
   NS_ADDREF(*aStyle = slots->mStyle);
   return NS_OK;
 }
 
@@ -260,15 +250,8 @@ nsStyledElement::ParseStyleAttribute(nsI
           return;
         }
       }
     }
   }
 
   aResult.SetTo(aValue);
 }
-
-
-/* static */ void
-nsStyledElement::Shutdown()
-{
-  NS_IF_RELEASE(gCSSOMFactory);
-}
--- a/content/base/src/nsStyledElement.h
+++ b/content/base/src/nsStyledElement.h
@@ -84,18 +84,16 @@ public:
    * @param aValue the value to parse
    * @param aResult the resulting HTMLValue [OUT]
    */
   static void ParseStyleAttribute(nsIContent* aContent,
                                   const nsAString& aValue,
                                   nsAttrValue& aResult,
                                   PRBool aForceInDataDoc);
 
-  static void Shutdown();
-  
 protected:
 
   virtual PRBool ParseAttribute(PRInt32 aNamespaceID, nsIAtom* aAttribute,
                                 const nsAString& aValue, nsAttrValue& aResult);
 
   nsresult GetStyle(nsIDOMCSSStyleDeclaration** aStyle);
 
   /**
--- a/content/html/content/src/nsGenericHTMLElement.cpp
+++ b/content/html/content/src/nsGenericHTMLElement.cpp
@@ -88,17 +88,16 @@
 #include "nsContentUtils.h"
 #include "nsString.h"
 #include "nsUnicharUtils.h"
 #include "nsGkAtoms.h"
 #include "nsIEventStateManager.h"
 #include "nsIDOMEvent.h"
 #include "nsIDOMNSEvent.h"
 #include "nsDOMCSSDeclaration.h"
-#include "nsICSSOMFactory.h"
 #include "nsITextControlFrame.h"
 #include "nsIForm.h"
 #include "nsIFormControl.h"
 #include "nsIDOMHTMLFormElement.h"
 
 #include "nsMutationEvent.h"
 
 #include "nsContentCID.h"
--- a/content/xul/content/src/nsXULElement.cpp
+++ b/content/xul/content/src/nsXULElement.cpp
@@ -98,16 +98,17 @@
 #include "nsIRDFService.h"
 #include "nsIScriptContext.h"
 #include "nsIScriptRuntime.h"
 #include "nsIScriptGlobalObject.h"
 #include "nsIScriptGlobalObjectOwner.h"
 #include "nsIServiceManager.h"
 #include "nsICSSStyleRule.h"
 #include "nsIStyleSheet.h"
+#include "nsDOMCSSAttrDeclaration.h"
 #include "nsIURL.h"
 #include "nsIViewManager.h"
 #include "nsIWidget.h"
 #include "nsIXULDocument.h"
 #include "nsIXULTemplateBuilder.h"
 #include "nsIXBLService.h"
 #include "nsLayoutCID.h"
 #include "nsContentCID.h"
@@ -154,17 +155,16 @@
 #include "mozAutoDocUpdate.h"
 #include "nsIDOMXULCommandEvent.h"
 #include "nsIDOMNSEvent.h"
 #include "nsCCUncollectableMarker.h"
 
 // Global object maintenance
 nsICSSParser* nsXULPrototypeElement::sCSSParser = nsnull;
 nsIXBLService * nsXULElement::gXBLService = nsnull;
-nsICSSOMFactory* nsXULElement::gCSSOMFactory = nsnull;
 
 /**
  * A tearoff class for nsXULElement to implement nsIScriptEventHandlerOwner.
  */
 class nsScriptEventHandlerOwnerTearoff : public nsIScriptEventHandlerOwner
 {
 public:
     nsScriptEventHandlerOwnerTearoff(nsXULElement* aElement)
@@ -186,17 +186,16 @@ public:
 
 private:
     nsRefPtr<nsXULElement> mElement;
 };
 
 //----------------------------------------------------------------------
 
 static NS_DEFINE_CID(kXULPopupListenerCID,        NS_XULPOPUPLISTENER_CID);
-static NS_DEFINE_CID(kCSSOMFactoryCID,            NS_CSSOMFACTORY_CID);
 
 //----------------------------------------------------------------------
 
 #ifdef XUL_PROTOTYPE_ATTRIBUTE_METERING
 PRUint32             nsXULPrototypeAttribute::gNumElements;
 PRUint32             nsXULPrototypeAttribute::gNumAttributes;
 PRUint32             nsXULPrototypeAttribute::gNumEventHandlers;
 PRUint32             nsXULPrototypeAttribute::gNumCacheTests;
@@ -1924,24 +1923,18 @@ nsXULElement::GetStyle(nsIDOMCSSStyleDec
             NS_ENSURE_SUCCESS(rv, rv);
         }
     }
 
     nsDOMSlots* slots = GetDOMSlots();
     NS_ENSURE_TRUE(slots, NS_ERROR_OUT_OF_MEMORY);
 
     if (!slots->mStyle) {
-        if (!gCSSOMFactory) {
-            rv = CallGetService(kCSSOMFactoryCID, &gCSSOMFactory);
-            NS_ENSURE_SUCCESS(rv, rv);
-        }
-
-        rv = gCSSOMFactory->CreateDOMCSSAttributeDeclaration(this,
-                getter_AddRefs(slots->mStyle));
-        NS_ENSURE_SUCCESS(rv, rv);
+        slots->mStyle = new nsDOMCSSAttributeDeclaration(this);
+        NS_ENSURE_TRUE(slots->mStyle, NS_ERROR_OUT_OF_MEMORY);
         SetFlags(NODE_MAY_HAVE_STYLE);
     }
 
     NS_IF_ADDREF(*aStyle = slots->mStyle);
 
     return NS_OK;
 }
 
--- a/content/xul/content/src/nsXULElement.h
+++ b/content/xul/content/src/nsXULElement.h
@@ -65,17 +65,16 @@
 #include "nsIRDFCompositeDataSource.h"
 #include "nsIRDFResource.h"
 #include "nsIScriptObjectOwner.h"
 #include "nsBindingManager.h"
 #include "nsIURI.h"
 #include "nsIXULTemplateBuilder.h"
 #include "nsIBoxObject.h"
 #include "nsIXBLService.h"
-#include "nsICSSOMFactory.h"
 #include "nsLayoutCID.h"
 #include "nsAttrAndChildArray.h"
 #include "nsGkAtoms.h"
 #include "nsAutoPtr.h"
 #include "nsGenericElement.h"
 #include "nsDOMScriptObjectHolder.h"
 #include "nsIFrameLoader.h"
 
@@ -485,23 +484,21 @@ public:
 public:
     static nsIXBLService* GetXBLService() {
         if (!gXBLService)
             CallGetService("@mozilla.org/xbl;1", &gXBLService);
         return gXBLService;
     }
     static void ReleaseGlobals() {
         NS_IF_RELEASE(gXBLService);
-        NS_IF_RELEASE(gCSSOMFactory);
     }
 
 protected:
     // pseudo-constants
     static nsIXBLService*       gXBLService;
-    static nsICSSOMFactory*     gCSSOMFactory;
 
 public:
     static nsresult
     Create(nsXULPrototypeElement* aPrototype, nsIDocument* aDocument,
            PRBool aIsScriptable, nsIContent** aResult);
 
     // nsISupports
     NS_DECL_ISUPPORTS_INHERITED
--- a/layout/build/nsLayoutModule.cpp
+++ b/layout/build/nsLayoutModule.cpp
@@ -38,17 +38,16 @@
 
 #include "nsLayoutStatics.h"
 #include "nsContentCID.h"
 #include "nsContentDLF.h"
 #include "nsContentPolicyUtils.h"
 #include "nsDataDocumentContentPolicy.h"
 #include "nsNoDataProtocolContentPolicy.h"
 #include "nsDOMCID.h"
-#include "nsCSSOMFactory.h"
 #include "nsInspectorCSSUtils.h"
 #include "nsHTMLContentSerializer.h"
 #include "nsHTMLParts.h"
 #include "nsGenericHTMLElement.h"
 #include "nsICSSLoader.h"
 #include "nsICSSParser.h"
 #include "nsICSSStyleSheet.h"
 #include "nsICategoryManager.h"
@@ -517,17 +516,16 @@ MAKE_CTOR(CreateXULDocument,            
 // NS_NewXULPrototypeCache
 MAKE_CTOR(CreateXULPopupManager,      nsISupports,      NS_NewXULPopupManager)
 #endif
 #ifdef MOZ_XTF
 MAKE_CTOR(CreateXTFService,               nsIXTFService,               NS_NewXTFService)
 MAKE_CTOR(CreateXMLContentBuilder,        nsIXMLContentBuilder,        NS_NewXMLContentBuilder)
 #endif
 MAKE_CTOR(CreateContentDLF,               nsIDocumentLoaderFactory,    NS_NewContentDocumentLoaderFactory)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsCSSOMFactory)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsInspectorCSSUtils)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsWyciwygProtocolHandler)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsContentAreaDragDrop)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsDataDocumentContentPolicy)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsNoDataProtocolContentPolicy)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSyncLoadService)
 MAKE_CTOR(CreatePluginDocument,           nsIDocument,                 NS_NewPluginDocument)
 #ifdef MOZ_MEDIA
@@ -990,21 +988,16 @@ static const nsModuleComponentInfo gComp
     "@mozilla.org/content/pre-content-iterator;1",
     CreatePreContentIterator },
 
   { "Subtree iterator",
     NS_SUBTREEITERATOR_CID,
     "@mozilla.org/content/subtree-content-iterator;1",
     CreateSubtreeIterator },
 
-  { "CSS Object Model Factory",
-    NS_CSSOMFACTORY_CID,
-    nsnull,
-    nsCSSOMFactoryConstructor },
-
   { "Inspector CSS Utils",
     NS_INSPECTORCSSUTILS_CID,
     nsnull,
     nsInspectorCSSUtilsConstructor },
 
   // Needed to support "new Option;" and "new Image;" in JavaScript
   { "HTML img element",
     NS_HTMLIMAGEELEMENT_CID,
--- a/layout/build/nsLayoutStatics.cpp
+++ b/layout/build/nsLayoutStatics.cpp
@@ -54,17 +54,16 @@
 #include "nsCSSRendering.h"
 #include "nsCSSScanner.h"
 #include "nsICSSStyleSheet.h"
 #include "nsDOMAttribute.h"
 #include "nsDOMClassInfo.h"
 #include "nsEventListenerManager.h"
 #include "nsFrame.h"
 #include "nsGenericElement.h"  // for nsDOMEventRTTearoff
-#include "nsStyledElement.h"
 #include "nsGlobalWindow.h"
 #include "nsGkAtoms.h"
 #include "nsImageFrame.h"
 #include "nsLayoutStylesheetCache.h"
 #include "nsNodeInfo.h"
 #include "nsRange.h"
 #include "nsRepeatService.h"
 #include "nsFloatManager.h"
@@ -316,17 +315,16 @@ nsLayoutStatics::Shutdown()
 
   nsCSSFrameConstructor::ReleaseGlobals();
   nsFloatManager::Shutdown();
   nsImageFrame::ReleaseGlobals();
 
   nsCSSScanner::ReleaseGlobals();
 
   NS_IF_RELEASE(nsRuleNode::gLangService);
-  nsStyledElement::Shutdown();
 
   nsTextFragment::Shutdown();
 
   nsAttrValue::Shutdown();
   nsContentUtils::Shutdown();
   nsNodeInfo::ClearCache();
   nsLayoutStylesheetCache::Shutdown();
   NS_NameSpaceManagerShutdown();
--- a/layout/style/Makefile.in
+++ b/layout/style/Makefile.in
@@ -86,24 +86,24 @@ EXPORTS		= \
 		nsCSSPseudoClassList.h \
 		nsCSSPseudoClasses.h \
 		nsCSSPseudoElementList.h \
 		nsCSSPseudoElements.h \
 		nsCSSRuleProcessor.h \
 		nsCSSStyleSheet.h \
 		nsCSSStruct.h \
 		nsCSSValue.h \
+		nsDOMCSSAttrDeclaration.h \
 		nsDOMCSSDeclaration.h \
 		nsICSSDeclaration.h \
 		nsICSSGroupRule.h \
 		nsICSSImportRule.h \
 		nsICSSLoader.h \
 		nsICSSLoaderObserver.h \
 		nsICSSNameSpaceRule.h \
-		nsICSSOMFactory.h \
 		nsICSSParser.h \
 		nsICSSPseudoComparator.h \
 		nsICSSRule.h \
 		nsICSSRuleList.h \
 		nsICSSStyleRule.h \
 		nsICSSStyleRuleDOMWrapper.h \
 		nsICSSStyleSheet.h \
 		nsIComputedDOMStyle.h \
@@ -128,17 +128,16 @@ EXPORTS		= \
 		$(NULL)
 
 CPPSRCS		= \
 		nsCSSAnonBoxes.cpp \
 		nsCSSDataBlock.cpp \
 		nsCSSDeclaration.cpp \
 		nsCSSKeywords.cpp \
 		nsCSSLoader.cpp \
-		nsCSSOMFactory.cpp \
 		nsCSSParser.cpp \
 		nsCSSProps.cpp \
 		nsCSSPseudoClasses.cpp \
 		nsCSSPseudoElements.cpp \
 		nsCSSRule.cpp \
 		nsCSSRuleProcessor.cpp \
 		nsCSSRules.cpp \
 		nsCSSScanner.cpp \
deleted file mode 100644
--- a/layout/style/nsCSSOMFactory.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-// vim:cindent:ts=8:et:sw=4:
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2001
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   L. David Baron <dbaron@dbaron.org> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/* an XPCOM service for cross-module creation of DOM .style objects */
-
-#include "nsCSSOMFactory.h"
-#include "nsDOMCSSAttrDeclaration.h"
-
-nsCSSOMFactory::nsCSSOMFactory()
-{
-}
-
-nsCSSOMFactory::~nsCSSOMFactory()
-{
-}
-
-NS_IMPL_ISUPPORTS1(nsCSSOMFactory, nsICSSOMFactory)
-
-NS_IMETHODIMP
-nsCSSOMFactory::CreateDOMCSSAttributeDeclaration(nsIContent *aContent,
-                                                 nsDOMCSSDeclaration **aResult)
-{
-    nsDOMCSSDeclaration *result = new nsDOMCSSAttributeDeclaration(aContent);
-    if (!result) {
-        *aResult = 0;
-        return NS_ERROR_OUT_OF_MEMORY;
-    }
-    NS_ADDREF(result);
-    *aResult = result;
-    return NS_OK;
-}
deleted file mode 100644
--- a/layout/style/nsCSSOMFactory.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-// vim:cindent:ts=8:et:sw=4:
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2001
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   L. David Baron <dbaron@dbaron.org> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/* an XPCOM service for cross-module creation of DOM .style objects */
-
-#ifndef nsCSSOMFactory_h___
-#define nsCSSOMFactory_h___
-
-#include "nsICSSOMFactory.h"
-
-class nsCSSOMFactory : public nsICSSOMFactory {
-
-public:
-
-    nsCSSOMFactory();
-    virtual ~nsCSSOMFactory();
-
-    NS_DECL_ISUPPORTS
-
-    NS_IMETHOD CreateDOMCSSAttributeDeclaration(nsIContent *aContent,
-                                                nsDOMCSSDeclaration **aResult);
-
-};
-
-#endif /* nsCSSOMFactory_h___ */
deleted file mode 100644
--- a/layout/style/nsICSSOMFactory.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-// vim:cindent:ts=8:et:sw=4:
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2001
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   L. David Baron <dbaron@dbaron.org> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/* an XPCOM service for cross-module creation of DOM .style objects */
-
-#ifndef nsICSSOMFactory_h___
-#define nsICSSOMFactory_h___
-
-#include "nsISupports.h"
-class nsDOMCSSDeclaration;
-class nsIContent;
-
-// f2fb43bf-81a1-4b0d-907a-893fe6727dbb
-#define NS_ICSSOMFACTORY_IID \
-  { 0xf2fb43bf, 0x81a1, 0x4b0d, \
-    { 0x90, 0x7a, 0x89, 0x3f, 0xe6, 0x72, 0x7d, 0xbb } }
-
-// 5fcaa2c1-7ca4-4f73-a357-93e79d709376
-#define NS_CSSOMFACTORY_CID \
-  { 0x5fcaa2c1, 0x7ca4, 0x4f73, \
-    {0xa3, 0x57, 0x93, 0xe7, 0x9d, 0x70, 0x93, 0x76 } }
-
-class nsICSSOMFactory : public nsISupports {
-public:
-    NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICSSOMFACTORY_IID)
-
-    NS_IMETHOD CreateDOMCSSAttributeDeclaration(nsIContent *aContent,
-                                                nsDOMCSSDeclaration **aResult) = 0;
-};
-
-NS_DEFINE_STATIC_IID_ACCESSOR(nsICSSOMFactory, NS_ICSSOMFACTORY_IID)
-
-#endif /* nsICSSOMFactory_h___ */