Remove nsCSSOMFactory/nsICSSOMFactory. (Bug 376111) r+sr=bzbarsky

This commit is contained in:
L. David Baron 2009-04-08 13:52:37 -07:00
parent 0000423887
commit 437c4c67f4
11 changed files with 7 additions and 244 deletions

View File

@ -44,7 +44,7 @@
#include "nsGenericElement.h"
#include "nsMutationEvent.h"
#include "nsDOMCSSDeclaration.h"
#include "nsICSSOMFactory.h"
#include "nsDOMCSSAttrDeclaration.h"
#include "nsServiceManagerUtils.h"
#include "nsIDocument.h"
#include "nsICSSStyleRule.h"
@ -167,9 +167,6 @@ nsStyledElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent,
// ---------------------------------------------------------------
// Others and helpers
static nsICSSOMFactory* gCSSOMFactory = nsnull;
static NS_DEFINE_CID(kCSSOMFactoryCID, NS_CSSOMFACTORY_CID);
nsresult
nsStyledElement::GetStyle(nsIDOMCSSStyleDeclaration** aStyle)
{
@ -180,15 +177,8 @@ nsStyledElement::GetStyle(nsIDOMCSSStyleDeclaration** aStyle)
// 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);
}
@ -265,10 +255,3 @@ nsStyledElement::ParseStyleAttribute(nsIContent* aContent,
aResult.SetTo(aValue);
}
/* static */ void
nsStyledElement::Shutdown()
{
NS_IF_RELEASE(gCSSOMFactory);
}

View File

@ -89,8 +89,6 @@ public:
nsAttrValue& aResult,
PRBool aForceInDataDoc);
static void Shutdown();
protected:
virtual PRBool ParseAttribute(PRInt32 aNamespaceID, nsIAtom* aAttribute,

View File

@ -93,7 +93,6 @@
#include "nsIDOMEvent.h"
#include "nsIDOMNSEvent.h"
#include "nsDOMCSSDeclaration.h"
#include "nsICSSOMFactory.h"
#include "nsITextControlFrame.h"
#include "nsIForm.h"
#include "nsIFormControl.h"

View File

@ -103,6 +103,7 @@
#include "nsIServiceManager.h"
#include "nsICSSStyleRule.h"
#include "nsIStyleSheet.h"
#include "nsDOMCSSAttrDeclaration.h"
#include "nsIURL.h"
#include "nsIViewManager.h"
#include "nsIWidget.h"
@ -159,7 +160,6 @@
// Global object maintenance
nsICSSParser* nsXULPrototypeElement::sCSSParser = nsnull;
nsIXBLService * nsXULElement::gXBLService = nsnull;
nsICSSOMFactory* nsXULElement::gCSSOMFactory = nsnull;
/**
* A tearoff class for nsXULElement to implement nsIScriptEventHandlerOwner.
@ -191,7 +191,6 @@ private:
//----------------------------------------------------------------------
static NS_DEFINE_CID(kXULPopupListenerCID, NS_XULPOPUPLISTENER_CID);
static NS_DEFINE_CID(kCSSOMFactoryCID, NS_CSSOMFACTORY_CID);
//----------------------------------------------------------------------
@ -1929,14 +1928,8 @@ nsXULElement::GetStyle(nsIDOMCSSStyleDeclaration** aStyle)
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);
}

View File

@ -70,7 +70,6 @@
#include "nsIXULTemplateBuilder.h"
#include "nsIBoxObject.h"
#include "nsIXBLService.h"
#include "nsICSSOMFactory.h"
#include "nsLayoutCID.h"
#include "nsAttrAndChildArray.h"
#include "nsGkAtoms.h"
@ -490,13 +489,11 @@ public:
}
static void ReleaseGlobals() {
NS_IF_RELEASE(gXBLService);
NS_IF_RELEASE(gCSSOMFactory);
}
protected:
// pseudo-constants
static nsIXBLService* gXBLService;
static nsICSSOMFactory* gCSSOMFactory;
public:
static nsresult

View File

@ -43,7 +43,6 @@
#include "nsDataDocumentContentPolicy.h"
#include "nsNoDataProtocolContentPolicy.h"
#include "nsDOMCID.h"
#include "nsCSSOMFactory.h"
#include "nsInspectorCSSUtils.h"
#include "nsHTMLContentSerializer.h"
#include "nsHTMLParts.h"
@ -522,7 +521,6 @@ MAKE_CTOR(CreateXTFService, nsIXTFService, NS_NewXTF
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)
@ -995,11 +993,6 @@ static const nsModuleComponentInfo gComponents[] = {
"@mozilla.org/content/subtree-content-iterator;1",
CreateSubtreeIterator },
{ "CSS Object Model Factory",
NS_CSSOMFACTORY_CID,
nsnull,
nsCSSOMFactoryConstructor },
{ "Inspector CSS Utils",
NS_INSPECTORCSSUTILS_CID,
nsnull,

View File

@ -59,7 +59,6 @@
#include "nsEventListenerManager.h"
#include "nsFrame.h"
#include "nsGenericElement.h" // for nsDOMEventRTTearoff
#include "nsStyledElement.h"
#include "nsGlobalWindow.h"
#include "nsGkAtoms.h"
#include "nsImageFrame.h"
@ -321,7 +320,6 @@ nsLayoutStatics::Shutdown()
nsCSSScanner::ReleaseGlobals();
NS_IF_RELEASE(nsRuleNode::gLangService);
nsStyledElement::Shutdown();
nsTextFragment::Shutdown();

View File

@ -91,6 +91,7 @@ EXPORTS = \
nsCSSStyleSheet.h \
nsCSSStruct.h \
nsCSSValue.h \
nsDOMCSSAttrDeclaration.h \
nsDOMCSSDeclaration.h \
nsICSSDeclaration.h \
nsICSSGroupRule.h \
@ -98,7 +99,6 @@ EXPORTS = \
nsICSSLoader.h \
nsICSSLoaderObserver.h \
nsICSSNameSpaceRule.h \
nsICSSOMFactory.h \
nsICSSParser.h \
nsICSSPseudoComparator.h \
nsICSSRule.h \
@ -133,7 +133,6 @@ CPPSRCS = \
nsCSSDeclaration.cpp \
nsCSSKeywords.cpp \
nsCSSLoader.cpp \
nsCSSOMFactory.cpp \
nsCSSParser.cpp \
nsCSSProps.cpp \
nsCSSPseudoClasses.cpp \

View File

@ -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;
}

View File

@ -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___ */

View File

@ -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___ */