OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2008 Apple Inc. All rights reserved. | 4 * Copyright (C) 2008 Apple Inc. All rights reserved. |
5 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 5 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
11 * | 11 * |
12 * This library is distributed in the hope that it will be useful, | 12 * This library is distributed in the hope that it will be useful, |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 * Library General Public License for more details. | 15 * Library General Public License for more details. |
16 * | 16 * |
17 * You should have received a copy of the GNU Library General Public License | 17 * You should have received a copy of the GNU Library General Public License |
18 * along with this library; see the file COPYING.LIB. If not, write to | 18 * along with this library; see the file COPYING.LIB. If not, write to |
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
20 * Boston, MA 02110-1301, USA. | 20 * Boston, MA 02110-1301, USA. |
21 */ | 21 */ |
22 | 22 |
23 #ifndef SVGAnimateElement_h | 23 #ifndef SVGAnimateElement_h |
24 #define SVGAnimateElement_h | 24 #define SVGAnimateElement_h |
25 | 25 |
26 #include "core/SVGNames.h" | 26 #include "core/SVGNames.h" |
27 #include "core/svg/SVGAnimatedTypeAnimator.h" | 27 #include "core/svg/SVGAnimatedTypeAnimator.h" |
28 #include "core/svg/SVGAnimationElement.h" | 28 #include "core/svg/SVGAnimationElement.h" |
| 29 #include "platform/heap/Handle.h" |
29 #include "wtf/OwnPtr.h" | 30 #include "wtf/OwnPtr.h" |
30 | 31 |
31 namespace blink { | 32 namespace blink { |
32 | 33 |
33 class SVGAnimatedTypeAnimator; | 34 class SVGAnimatedTypeAnimator; |
34 | 35 |
35 class SVGAnimateElement : public SVGAnimationElement { | 36 class SVGAnimateElement : public SVGAnimationElement { |
36 DEFINE_WRAPPERTYPEINFO(); | 37 DEFINE_WRAPPERTYPEINFO(); |
37 public: | 38 public: |
38 static PassRefPtrWillBeRawPtr<SVGAnimateElement> create(Document&); | 39 static PassRefPtrWillBeRawPtr<SVGAnimateElement> create(Document&); |
(...skipping 20 matching lines...) Expand all Loading... |
59 | 60 |
60 virtual void setTargetElement(SVGElement*) override final; | 61 virtual void setTargetElement(SVGElement*) override final; |
61 virtual void setAttributeName(const QualifiedName&) override final; | 62 virtual void setAttributeName(const QualifiedName&) override final; |
62 | 63 |
63 private: | 64 private: |
64 void resetAnimatedPropertyType(); | 65 void resetAnimatedPropertyType(); |
65 SVGAnimatedTypeAnimator* ensureAnimator(); | 66 SVGAnimatedTypeAnimator* ensureAnimator(); |
66 | 67 |
67 virtual bool hasValidAttributeType() override; | 68 virtual bool hasValidAttributeType() override; |
68 | 69 |
69 RefPtr<SVGPropertyBase> m_fromProperty; | 70 RefPtrWillBeMember<SVGPropertyBase> m_fromProperty; |
70 RefPtr<SVGPropertyBase> m_toProperty; | 71 RefPtrWillBeMember<SVGPropertyBase> m_toProperty; |
71 RefPtr<SVGPropertyBase> m_toAtEndOfDurationProperty; | 72 RefPtrWillBeMember<SVGPropertyBase> m_toAtEndOfDurationProperty; |
72 RefPtr<SVGPropertyBase> m_animatedProperty; | 73 RefPtrWillBeMember<SVGPropertyBase> m_animatedProperty; |
73 | 74 |
74 OwnPtrWillBeMember<SVGAnimatedTypeAnimator> m_animator; | 75 OwnPtrWillBeMember<SVGAnimatedTypeAnimator> m_animator; |
75 }; | 76 }; |
76 | 77 |
77 inline bool isSVGAnimateElement(const SVGElement& element) | 78 inline bool isSVGAnimateElement(const SVGElement& element) |
78 { | 79 { |
79 return element.hasTagName(SVGNames::animateTag) | 80 return element.hasTagName(SVGNames::animateTag) |
80 || element.hasTagName(SVGNames::animateTransformTag) | 81 || element.hasTagName(SVGNames::animateTransformTag) |
81 || element.hasTagName(SVGNames::setTag); | 82 || element.hasTagName(SVGNames::setTag); |
82 } | 83 } |
83 | 84 |
84 DEFINE_SVGELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGAnimateElement); | 85 DEFINE_SVGELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGAnimateElement); |
85 | 86 |
86 } // namespace blink | 87 } // namespace blink |
87 | 88 |
88 #endif // SVGAnimateElement_h | 89 #endif // SVGAnimateElement_h |
OLD | NEW |