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)
|
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
|
// SVGTests methods
|
||||||
|
|
||||||
@ -89,21 +51,5 @@ SVGSymbolElement::IsInChromeDoc() const
|
|||||||
return nsContentUtils::IsChromeDoc(OwnerDoc());
|
return nsContentUtils::IsChromeDoc(OwnerDoc());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
// nsSVGElement methods
|
|
||||||
|
|
||||||
nsSVGViewBox *
|
|
||||||
SVGSymbolElement::GetViewBox()
|
|
||||||
{
|
|
||||||
return &mViewBox;
|
|
||||||
}
|
|
||||||
|
|
||||||
SVGAnimatedPreserveAspectRatio *
|
|
||||||
SVGSymbolElement::GetPreserveAspectRatio()
|
|
||||||
{
|
|
||||||
return &mPreserveAspectRatio;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace dom
|
} // namespace dom
|
||||||
} // namespace mozilla
|
} // namespace mozilla
|
||||||
|
@ -7,10 +7,7 @@
|
|||||||
#ifndef mozilla_dom_SVGSymbolElement_h
|
#ifndef mozilla_dom_SVGSymbolElement_h
|
||||||
#define mozilla_dom_SVGSymbolElement_h
|
#define mozilla_dom_SVGSymbolElement_h
|
||||||
|
|
||||||
#include "mozilla/dom/SVGTests.h"
|
#include "SVGViewportElement.h"
|
||||||
#include "nsSVGElement.h"
|
|
||||||
#include "nsSVGViewBox.h"
|
|
||||||
#include "SVGAnimatedPreserveAspectRatio.h"
|
|
||||||
|
|
||||||
nsresult NS_NewSVGSymbolElement(nsIContent **aResult,
|
nsresult NS_NewSVGSymbolElement(nsIContent **aResult,
|
||||||
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo);
|
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo);
|
||||||
@ -18,10 +15,9 @@ nsresult NS_NewSVGSymbolElement(nsIContent **aResult,
|
|||||||
namespace mozilla {
|
namespace mozilla {
|
||||||
namespace dom {
|
namespace dom {
|
||||||
|
|
||||||
typedef nsSVGElement SVGSymbolElementBase;
|
typedef SVGViewportElement SVGSymbolElementBase;
|
||||||
|
|
||||||
class SVGSymbolElement final : public SVGSymbolElementBase,
|
class SVGSymbolElement final : public SVGSymbolElementBase
|
||||||
public SVGTests
|
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
friend nsresult (::NS_NewSVGSymbolElement(nsIContent **aResult,
|
friend nsresult (::NS_NewSVGSymbolElement(nsIContent **aResult,
|
||||||
@ -32,31 +28,16 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// interfaces:
|
// interfaces:
|
||||||
|
|
||||||
NS_DECL_ISUPPORTS_INHERITED
|
NS_DECL_ISUPPORTS_INHERITED
|
||||||
|
|
||||||
// nsIContent interface
|
|
||||||
NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* name) const override;
|
|
||||||
|
|
||||||
virtual nsresult Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult,
|
virtual nsresult Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult,
|
||||||
bool aPreallocateChildren) const override;
|
bool aPreallocateChildren) const override;
|
||||||
|
|
||||||
// WebIDL
|
|
||||||
already_AddRefed<SVGAnimatedRect> ViewBox();
|
|
||||||
already_AddRefed<DOMSVGAnimatedPreserveAspectRatio> PreserveAspectRatio();
|
|
||||||
|
|
||||||
// SVGTests
|
// SVGTests
|
||||||
bool IsInChromeDoc() const override;
|
bool IsInChromeDoc() const override;
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual nsSVGViewBox *GetViewBox() override;
|
|
||||||
virtual SVGAnimatedPreserveAspectRatio *GetPreserveAspectRatio() override;
|
|
||||||
|
|
||||||
nsSVGViewBox mViewBox;
|
|
||||||
SVGAnimatedPreserveAspectRatio mPreserveAspectRatio;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace dom
|
} // namespace dom
|
||||||
} // namespace mozilla
|
} // namespace mozilla
|
||||||
|
|
||||||
#endif // mozilla_dom_SVGSymbolElement_h
|
#endif // mozilla_dom_SVGSymbolElement_h
|
||||||
|
Loading…
Reference in New Issue
Block a user