}
class AnimationNode : public RefCountedWillBeGarbageCollectedFinalized<AnimationNode>, public ScriptWrappable {
+ DEFINE_WRAPPERTYPEINFO();
friend class AnimationPlayer; // Calls attach/detach, updateInheritedTime.
public:
// Note that logic in CSSAnimations depends on the order of these values.
double localTime(bool& isNull) const { isNull = !m_player; return ensureCalculated().localTime * 1000; }
double currentIteration(bool& isNull) const { isNull = !ensureCalculated().isInEffect; return ensureCalculated().currentIteration; }
+ void setName(const String& name) { m_name = name; }
+ const String& name() const { return m_name; }
+
virtual void trace(Visitor*);
protected:
} m_calculated;
mutable bool m_needsUpdate;
mutable double m_lastUpdateTime;
+ String m_name;
const CalculatedTiming& ensureCalculated() const;
};