From 08937e7d3348af7fa6cd21353e906275c3375335 Mon Sep 17 00:00:00 2001 From: cku Date: Tue, 20 Jun 2017 15:18:25 +0800 Subject: [PATCH] Bug 265894 - Part 4. Let SVGSymbolElement inherit from SVGViewportElementBase. r=heycam MozReview-Commit-ID: CnNTuXTFWC6 --HG-- extra : rebase_source : 516c9d81a8e4e9fd9cc7bcacf04472a4820198c2 --- dom/svg/SVGSymbolElement.cpp | 56 +----------------------------------- dom/svg/SVGSymbolElement.h | 27 +++-------------- 2 files changed, 5 insertions(+), 78 deletions(-) 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