From 573a670bb88d4b3076c8e5acfdb039ce02c69c50 Mon Sep 17 00:00:00 2001 From: David Zbarsky Date: Sat, 2 Feb 2013 15:23:14 -0500 Subject: [PATCH] Bug 833446: Remove nsIDOMSVGDefsElement r=peterv --- content/svg/content/src/SVGDefsElement.cpp | 14 +++-------- content/svg/content/src/SVGDefsElement.h | 6 +---- dom/base/nsDOMClassInfo.cpp | 8 ------ dom/base/nsDOMClassInfoClasses.h | 1 - dom/interfaces/svg/Makefile.in | 1 - dom/interfaces/svg/nsIDOMSVGDefsElement.idl | 28 --------------------- 6 files changed, 4 insertions(+), 54 deletions(-) delete mode 100644 dom/interfaces/svg/nsIDOMSVGDefsElement.idl diff --git a/content/svg/content/src/SVGDefsElement.cpp b/content/svg/content/src/SVGDefsElement.cpp index 6d8226ae0a2a..91813e5984c1 100644 --- a/content/svg/content/src/SVGDefsElement.cpp +++ b/content/svg/content/src/SVGDefsElement.cpp @@ -6,8 +6,6 @@ #include "mozilla/dom/SVGDefsElement.h" #include "mozilla/dom/SVGDefsElementBinding.h" -DOMCI_NODE_DATA(SVGDefsElement, mozilla::dom::SVGDefsElement) - NS_IMPL_NS_NEW_NAMESPACED_SVG_ELEMENT(Defs) namespace mozilla { @@ -22,15 +20,9 @@ SVGDefsElement::WrapNode(JSContext *aCx, JSObject *aScope, bool *aTriedToWrap) //---------------------------------------------------------------------- // nsISupports methods -NS_IMPL_ADDREF_INHERITED(SVGDefsElement, SVGGraphicsElement) -NS_IMPL_RELEASE_INHERITED(SVGDefsElement, SVGGraphicsElement) - -NS_INTERFACE_TABLE_HEAD(SVGDefsElement) - NS_NODE_INTERFACE_TABLE4(SVGDefsElement, nsIDOMNode, nsIDOMElement, - nsIDOMSVGElement, - nsIDOMSVGDefsElement) - NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(SVGDefsElement) -NS_INTERFACE_MAP_END_INHERITING(SVGGraphicsElement) +NS_IMPL_ISUPPORTS_INHERITED3(SVGDefsElement, SVGGraphicsElement, + nsIDOMNode, nsIDOMElement, + nsIDOMSVGElement) //---------------------------------------------------------------------- // Implementation diff --git a/content/svg/content/src/SVGDefsElement.h b/content/svg/content/src/SVGDefsElement.h index b373431d603a..34e646b71a4d 100644 --- a/content/svg/content/src/SVGDefsElement.h +++ b/content/svg/content/src/SVGDefsElement.h @@ -8,7 +8,6 @@ #include "mozilla/Util.h" #include "SVGGraphicsElement.h" -#include "nsIDOMSVGDefsElement.h" nsresult NS_NewSVGDefsElement(nsIContent **aResult, already_AddRefed aNodeInfo); @@ -17,7 +16,7 @@ namespace mozilla { namespace dom { class SVGDefsElement MOZ_FINAL : public SVGGraphicsElement, - public nsIDOMSVGDefsElement + public nsIDOMSVGElement { protected: friend nsresult (::NS_NewSVGDefsElement(nsIContent **aResult, @@ -29,7 +28,6 @@ public: // interfaces: NS_DECL_ISUPPORTS_INHERITED - NS_DECL_NSIDOMSVGDEFSELEMENT // xxx I wish we could use virtual inheritance NS_FORWARD_NSIDOMNODE_TO_NSINODE @@ -41,8 +39,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const; - virtual nsXPCClassInfo* GetClassInfo(); - virtual nsIDOMNode* AsDOMNode() { return this; } }; diff --git a/dom/base/nsDOMClassInfo.cpp b/dom/base/nsDOMClassInfo.cpp index 2b1984b68858..738a7f0599eb 100644 --- a/dom/base/nsDOMClassInfo.cpp +++ b/dom/base/nsDOMClassInfo.cpp @@ -319,7 +319,6 @@ #include "nsIDOMSVGMpathElement.h" #include "nsIDOMTimeEvent.h" #include "nsIDOMSVGClipPathElement.h" -#include "nsIDOMSVGDefsElement.h" #include "nsIDOMSVGDescElement.h" #include "nsIDOMSVGDocument.h" #include "nsIDOMSVGElement.h" @@ -1071,8 +1070,6 @@ static nsDOMClassInfoData sClassInfoData[] = { DOM_DEFAULT_SCRIPTABLE_FLAGS) NS_DEFINE_CLASSINFO_DATA(SVGClipPathElement, nsElementSH, ELEMENT_SCRIPTABLE_FLAGS) - NS_DEFINE_CLASSINFO_DATA(SVGDefsElement, nsElementSH, - ELEMENT_SCRIPTABLE_FLAGS) NS_DEFINE_CLASSINFO_DATA(SVGDescElement, nsElementSH, ELEMENT_SCRIPTABLE_FLAGS) NS_DEFINE_CLASSINFO_DATA(SVGEllipseElement, nsElementSH, @@ -3011,11 +3008,6 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_SVG_GRAPHIC_ELEMENT_MAP_ENTRIES DOM_CLASSINFO_MAP_END - DOM_CLASSINFO_MAP_BEGIN(SVGDefsElement, nsIDOMSVGDefsElement) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGDefsElement) - DOM_CLASSINFO_SVG_GRAPHIC_ELEMENT_MAP_ENTRIES - DOM_CLASSINFO_MAP_END - DOM_CLASSINFO_MAP_BEGIN(SVGDescElement, nsIDOMSVGDescElement) DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGDescElement) DOM_CLASSINFO_SVG_ELEMENT_MAP_ENTRIES diff --git a/dom/base/nsDOMClassInfoClasses.h b/dom/base/nsDOMClassInfoClasses.h index 4ed0389c8d67..e2cd026a3f45 100644 --- a/dom/base/nsDOMClassInfoClasses.h +++ b/dom/base/nsDOMClassInfoClasses.h @@ -195,7 +195,6 @@ DOMCI_CLASS(SVGAElement) DOMCI_CLASS(SVGMpathElement) DOMCI_CLASS(TimeEvent) DOMCI_CLASS(SVGClipPathElement) -DOMCI_CLASS(SVGDefsElement) DOMCI_CLASS(SVGDescElement) DOMCI_CLASS(SVGEllipseElement) DOMCI_CLASS(SVGFEBlendElement) diff --git a/dom/interfaces/svg/Makefile.in b/dom/interfaces/svg/Makefile.in index fef2ec0dd0e9..2da755e2c457 100644 --- a/dom/interfaces/svg/Makefile.in +++ b/dom/interfaces/svg/Makefile.in @@ -25,7 +25,6 @@ XPIDLSRCS = \ nsIDOMSVGAnimatedRect.idl \ nsIDOMSVGAnimatedString.idl \ nsIDOMSVGClipPathElement.idl \ - nsIDOMSVGDefsElement.idl \ nsIDOMSVGDescElement.idl \ nsIDOMSVGDocument.idl \ nsIDOMSVGElement.idl \ diff --git a/dom/interfaces/svg/nsIDOMSVGDefsElement.idl b/dom/interfaces/svg/nsIDOMSVGDefsElement.idl deleted file mode 100644 index b5a7a67e6a99..000000000000 --- a/dom/interfaces/svg/nsIDOMSVGDefsElement.idl +++ /dev/null @@ -1,28 +0,0 @@ -/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "nsIDOMSVGElement.idl" - -[scriptable, uuid(3F8D6B9C-CF03-45A6-B8A5-57ECBB7655DA)] -interface nsIDOMSVGDefsElement - : nsIDOMSVGElement -/* - The SVG DOM makes use of multiple interface inheritance. - Since XPCOM only supports single interface inheritance, - the best thing that we can do is to promise that whenever - an object implements _this_ interface it will also - implement the following interfaces. (We then have to QI to - hop between them.) - - nsIDOMSVGTests, - nsIDOMSVGLangSpace, - nsIDOMSVGExternalResourcesRequired, - nsIDOMSVGStylable, - nsIDOMSVGTransformable, - events::nsIDOMEventTarget -*/ -{ - -};