diff --git a/dom/svg/SVGSymbolElement.cpp b/dom/svg/SVGSymbolElement.cpp index b0025d2f28e4..71ba2199e008 100644 --- a/dom/svg/SVGSymbolElement.cpp +++ b/dom/svg/SVGSymbolElement.cpp @@ -42,44 +42,6 @@ SVGSymbolElement::~SVGSymbolElement() NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGSymbolElement) -//---------------------------------------------------------------------- - -already_AddRefed -SVGSymbolElement::ViewBox() -{ - return mViewBox.ToSVGAnimatedRect(this); -} - -already_AddRefed -SVGSymbolElement::PreserveAspectRatio() -{ - return mPreserveAspectRatio.ToDOMAnimatedPreserveAspectRatio(this); -} - -//---------------------------------------------------------------------- -// nsIContent methods - -NS_IMETHODIMP_(bool) -SVGSymbolElement::IsAttributeMapped(const nsIAtom* name) const -{ - static const MappedAttributeEntry* const map[] = { - sColorMap, - sFEFloodMap, - sFillStrokeMap, - sFiltersMap, - sFontSpecificationMap, - sGradientStopMap, - sGraphicsMap, - sLightingEffectsMap, - sMarkersMap, - sTextContentElementsMap, - sViewportsMap - }; - - return FindAttributeDependence(name, map) || - SVGSymbolElementBase::IsAttributeMapped(name); -} - //---------------------------------------------------------------------- // SVGTests methods @@ -89,21 +51,5 @@ SVGSymbolElement::IsInChromeDoc() const return nsContentUtils::IsChromeDoc(OwnerDoc()); } - -//---------------------------------------------------------------------- -// nsSVGElement methods - -nsSVGViewBox * -SVGSymbolElement::GetViewBox() -{ - return &mViewBox; -} - -SVGAnimatedPreserveAspectRatio * -SVGSymbolElement::GetPreserveAspectRatio() -{ - return &mPreserveAspectRatio; -} - } // namespace dom -} // namespace mozilla \ No newline at end of file +} // namespace mozilla diff --git a/dom/svg/SVGSymbolElement.h b/dom/svg/SVGSymbolElement.h index 9c7bd809f216..cfc21e9d0da4 100644 --- a/dom/svg/SVGSymbolElement.h +++ b/dom/svg/SVGSymbolElement.h @@ -7,10 +7,7 @@ #ifndef mozilla_dom_SVGSymbolElement_h #define mozilla_dom_SVGSymbolElement_h -#include "mozilla/dom/SVGTests.h" -#include "nsSVGElement.h" -#include "nsSVGViewBox.h" -#include "SVGAnimatedPreserveAspectRatio.h" +#include "SVGViewportElement.h" nsresult NS_NewSVGSymbolElement(nsIContent **aResult, already_AddRefed&& aNodeInfo); @@ -18,10 +15,9 @@ nsresult NS_NewSVGSymbolElement(nsIContent **aResult, namespace mozilla { namespace dom { -typedef nsSVGElement SVGSymbolElementBase; +typedef SVGViewportElement SVGSymbolElementBase; -class SVGSymbolElement final : public SVGSymbolElementBase, - public SVGTests +class SVGSymbolElement final : public SVGSymbolElementBase { protected: friend nsresult (::NS_NewSVGSymbolElement(nsIContent **aResult, @@ -32,31 +28,16 @@ protected: public: // interfaces: - NS_DECL_ISUPPORTS_INHERITED - // nsIContent interface - NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* name) const override; - virtual nsresult Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult, bool aPreallocateChildren) const override; - // WebIDL - already_AddRefed ViewBox(); - already_AddRefed PreserveAspectRatio(); - // SVGTests bool IsInChromeDoc() const override; - -protected: - virtual nsSVGViewBox *GetViewBox() override; - virtual SVGAnimatedPreserveAspectRatio *GetPreserveAspectRatio() override; - - nsSVGViewBox mViewBox; - SVGAnimatedPreserveAspectRatio mPreserveAspectRatio; }; } // namespace dom } // namespace mozilla -#endif // mozilla_dom_SVGSymbolElement_h \ No newline at end of file +#endif // mozilla_dom_SVGSymbolElement_h