mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 11:55:49 +00:00
Bug 265894 - Part 4. Let SVGSymbolElement inherit from SVGViewportElementBase. r=heycam
MozReview-Commit-ID: CnNTuXTFWC6 --HG-- extra : rebase_source : 516c9d81a8e4e9fd9cc7bcacf04472a4820198c2
This commit is contained in:
parent
e6c91df011
commit
08937e7d33
@ -42,44 +42,6 @@ SVGSymbolElement::~SVGSymbolElement()
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGSymbolElement)
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
already_AddRefed<SVGAnimatedRect>
|
||||
SVGSymbolElement::ViewBox()
|
||||
{
|
||||
return mViewBox.ToSVGAnimatedRect(this);
|
||||
}
|
||||
|
||||
already_AddRefed<DOMSVGAnimatedPreserveAspectRatio>
|
||||
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
|
@ -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<mozilla::dom::NodeInfo>&& 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,28 +28,13 @@ 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<SVGAnimatedRect> ViewBox();
|
||||
already_AddRefed<DOMSVGAnimatedPreserveAspectRatio> PreserveAspectRatio();
|
||||
|
||||
// SVGTests
|
||||
bool IsInChromeDoc() const override;
|
||||
|
||||
protected:
|
||||
virtual nsSVGViewBox *GetViewBox() override;
|
||||
virtual SVGAnimatedPreserveAspectRatio *GetPreserveAspectRatio() override;
|
||||
|
||||
nsSVGViewBox mViewBox;
|
||||
SVGAnimatedPreserveAspectRatio mPreserveAspectRatio;
|
||||
};
|
||||
|
||||
} // namespace dom
|
||||
|
Loading…
Reference in New Issue
Block a user