Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / svg / SVGAnimateElement.h
index 40375c3..e558f53 100644 (file)
 #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