virtual void synchronizeSystemLanguage() { }
#ifndef NDEBUG
- bool isAnimatableAttribute(const QualifiedName&) const;
+ virtual bool isAnimatableAttribute(const QualifiedName&) const;
#endif
MutableStylePropertySet* animatedSMILStyleProperties() const;
bool isContextElement() const { return m_isContextElement; }
void setContextElement() { m_isContextElement = true; }
- virtual bool childShouldCreateRenderer(const Node& child) const { return true; }
+ void addToPropertyMap(PassRefPtr<NewSVGAnimatedPropertyBase>);
+
+ SVGAnimatedString* className() { return m_className.get(); }
protected:
SVGElement(const QualifiedName&, Document&, ConstructionType = CreateSVGElement);
SVGElement* m_owner;
};
- void addToPropertyMap(PassRefPtr<NewSVGAnimatedPropertyBase>);
-
private:
friend class SVGElementInstance;
typedef HashMap<QualifiedName, RefPtr<NewSVGAnimatedPropertyBase> > AttributeToPropertyMap;
AttributeToPropertyMap m_newAttributeToPropertyMap;
- BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGElement)
- DECLARE_ANIMATED_STRING(ClassName, className)
- END_DECLARE_ANIMATED_PROPERTIES
#if !ASSERT_DISABLED
bool m_inRelativeLengthClientsInvalidation;
unsigned m_animatedPropertiesDestructed : 1;
unsigned m_isContextElement : 1;
unsigned m_hasSVGRareData : 1;
+
+ RefPtr<SVGAnimatedString> m_className;
+ BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGElement)
+ END_DECLARE_ANIMATED_PROPERTIES
};
struct SVGAttributeHashTranslator {