Bug 833446: Remove nsIDOMSVGDefsElement r=peterv

This commit is contained in:
David Zbarsky 2013-02-02 15:23:14 -05:00
parent 1a76b6259b
commit 573a670bb8
6 changed files with 4 additions and 54 deletions

View File

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

View File

@ -8,7 +8,6 @@
#include "mozilla/Util.h"
#include "SVGGraphicsElement.h"
#include "nsIDOMSVGDefsElement.h"
nsresult NS_NewSVGDefsElement(nsIContent **aResult,
already_AddRefed<nsINodeInfo> 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; }
};

View File

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

View File

@ -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)

View File

@ -25,7 +25,6 @@ XPIDLSRCS = \
nsIDOMSVGAnimatedRect.idl \
nsIDOMSVGAnimatedString.idl \
nsIDOMSVGClipPathElement.idl \
nsIDOMSVGDefsElement.idl \
nsIDOMSVGDescElement.idl \
nsIDOMSVGDocument.idl \
nsIDOMSVGElement.idl \

View File

@ -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
*/
{
};