Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: Source/core/svg/properties/SVGAnimatedPropertyTearOff.h

Issue 15492007: Make SVG objects ScriptWrappable. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix indent Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/svg/SVGViewSpec.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 2 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details. 12 * Library General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU Library General Public License 14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to 15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA. 17 * Boston, MA 02110-1301, USA.
18 */ 18 */
19 19
20 #ifndef SVGAnimatedPropertyTearOff_h 20 #ifndef SVGAnimatedPropertyTearOff_h
21 #define SVGAnimatedPropertyTearOff_h 21 #define SVGAnimatedPropertyTearOff_h
22 22
23 #include "bindings/v8/ScriptWrappable.h"
23 #include "core/svg/properties/SVGAnimatedProperty.h" 24 #include "core/svg/properties/SVGAnimatedProperty.h"
24 #include "core/svg/properties/SVGPropertyTearOff.h" 25 #include "core/svg/properties/SVGPropertyTearOff.h"
25 26
26 namespace WebCore { 27 namespace WebCore {
27 28
28 template<typename PropertyType> 29 template<typename PropertyType>
29 class SVGAnimatedPropertyTearOff : public SVGAnimatedProperty { 30 class SVGAnimatedPropertyTearOff : public SVGAnimatedProperty, public ScriptWrap pable {
30 public: 31 public:
31 typedef SVGPropertyTearOff<PropertyType> PropertyTearOff; 32 typedef SVGPropertyTearOff<PropertyType> PropertyTearOff;
32 typedef PropertyType ContentType; 33 typedef PropertyType ContentType;
33 34
34 virtual ~SVGAnimatedPropertyTearOff() 35 virtual ~SVGAnimatedPropertyTearOff()
35 { 36 {
36 if (m_baseVal) { 37 if (m_baseVal) {
37 ASSERT(m_baseVal->animatedProperty() == this); 38 ASSERT(m_baseVal->animatedProperty() == this);
38 m_baseVal->setAnimatedProperty(0); 39 m_baseVal->setAnimatedProperty(0);
39 } 40 }
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 // no-op for non list types. 104 // no-op for non list types.
104 ASSERT(m_isAnimating); 105 ASSERT(m_isAnimating);
105 ASSERT(m_animVal); 106 ASSERT(m_animVal);
106 } 107 }
107 108
108 private: 109 private:
109 SVGAnimatedPropertyTearOff(SVGElement* contextElement, const QualifiedName& attributeName, AnimatedPropertyType animatedPropertyType, PropertyType& property ) 110 SVGAnimatedPropertyTearOff(SVGElement* contextElement, const QualifiedName& attributeName, AnimatedPropertyType animatedPropertyType, PropertyType& property )
110 : SVGAnimatedProperty(contextElement, attributeName, animatedPropertyTyp e) 111 : SVGAnimatedProperty(contextElement, attributeName, animatedPropertyTyp e)
111 , m_property(property) 112 , m_property(property)
112 { 113 {
114 ScriptWrappable::init(this);
113 } 115 }
114 116
115 PropertyType& m_property; 117 PropertyType& m_property;
116 RefPtr<PropertyTearOff> m_baseVal; 118 RefPtr<PropertyTearOff> m_baseVal;
117 RefPtr<PropertyTearOff> m_animVal; 119 RefPtr<PropertyTearOff> m_animVal;
118 }; 120 };
119 121
120 } 122 }
121 123
122 #endif // SVGAnimatedPropertyTearOff_h 124 #endif // SVGAnimatedPropertyTearOff_h
OLDNEW
« no previous file with comments | « Source/core/svg/SVGViewSpec.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698