#ifndef SVGAnimateElement_h
#define SVGAnimateElement_h
-#include "SVGNames.h"
+#include "core/SVGNames.h"
#include "core/svg/SVGAnimatedTypeAnimator.h"
#include "core/svg/SVGAnimationElement.h"
#include "wtf/OwnPtr.h"
-namespace WebCore {
+namespace blink {
class SVGAnimatedTypeAnimator;
class SVGAnimateElement : public SVGAnimationElement {
+ DEFINE_WRAPPERTYPEINFO();
public:
- static PassRefPtr<SVGAnimateElement> create(Document&);
+ static PassRefPtrWillBeRawPtr<SVGAnimateElement> create(Document&);
virtual ~SVGAnimateElement();
+ virtual void trace(Visitor*) override;
+
+ AnimatedPropertyType animatedPropertyType();
+ bool animatedPropertyTypeSupportsAddition();
+
protected:
SVGAnimateElement(const QualifiedName&, Document&);
- virtual void resetAnimatedType() OVERRIDE FINAL;
- virtual void clearAnimatedType(SVGElement* targetElement) OVERRIDE FINAL;
-
- virtual bool calculateToAtEndOfDurationValue(const String& toAtEndOfDurationString) OVERRIDE FINAL;
- virtual bool calculateFromAndToValues(const String& fromString, const String& toString) OVERRIDE FINAL;
- virtual bool calculateFromAndByValues(const String& fromString, const String& byString) OVERRIDE FINAL;
- virtual void calculateAnimatedValue(float percentage, unsigned repeatCount, SVGSMILElement* resultElement) OVERRIDE FINAL;
- virtual void applyResultsToTarget() OVERRIDE FINAL;
- virtual float calculateDistance(const String& fromString, const String& toString) OVERRIDE FINAL;
- virtual bool isAdditive() const OVERRIDE FINAL;
+ virtual void resetAnimatedType() override final;
+ virtual void clearAnimatedType(SVGElement* targetElement) override final;
- virtual void setTargetElement(SVGElement*) OVERRIDE FINAL;
- virtual void setAttributeName(const QualifiedName&) OVERRIDE FINAL;
+ virtual bool calculateToAtEndOfDurationValue(const String& toAtEndOfDurationString) override final;
+ virtual bool calculateFromAndToValues(const String& fromString, const String& toString) override final;
+ virtual bool calculateFromAndByValues(const String& fromString, const String& byString) override final;
+ virtual void calculateAnimatedValue(float percentage, unsigned repeatCount, SVGSMILElement* resultElement) override final;
+ virtual void applyResultsToTarget() override final;
+ virtual float calculateDistance(const String& fromString, const String& toString) override final;
+ virtual bool isAdditive() override final;
- AnimatedPropertyType m_animatedPropertyType;
+ virtual void setTargetElement(SVGElement*) override final;
+ virtual void setAttributeName(const QualifiedName&) override final;
private:
void resetAnimatedPropertyType();
SVGAnimatedTypeAnimator* ensureAnimator();
- bool animatedPropertyTypeSupportsAddition() const;
- virtual bool hasValidAttributeType() OVERRIDE;
+ virtual bool hasValidAttributeType() override;
RefPtr<SVGPropertyBase> m_fromProperty;
RefPtr<SVGPropertyBase> m_toProperty;
RefPtr<SVGPropertyBase> m_toAtEndOfDurationProperty;
RefPtr<SVGPropertyBase> m_animatedProperty;
- Vector<SVGElement*> m_animatedElements;
- OwnPtr<SVGAnimatedTypeAnimator> m_animator;
+ OwnPtrWillBeMember<SVGAnimatedTypeAnimator> m_animator;
};
-inline bool isSVGAnimateElement(const Node& node)
+inline bool isSVGAnimateElement(const SVGElement& element)
{
- return node.hasTagName(SVGNames::animateTag)
- || node.hasTagName(SVGNames::animateTransformTag)
- || node.hasTagName(SVGNames::setTag);
+ return element.hasTagName(SVGNames::animateTag)
+ || element.hasTagName(SVGNames::animateTransformTag)
+ || element.hasTagName(SVGNames::setTag);
}
-DEFINE_ELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGAnimateElement);
+DEFINE_SVGELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGAnimateElement);
-} // namespace WebCore
+} // namespace blink
#endif // SVGAnimateElement_h