Index: Source/WebCore/svg/animation/SMILTimeContainer.h |
=================================================================== |
--- Source/WebCore/svg/animation/SMILTimeContainer.h (revision 132107) |
+++ Source/WebCore/svg/animation/SMILTimeContainer.h (working copy) |
@@ -46,17 +46,19 @@ |
class SMILTimeContainer : public RefCounted<SMILTimeContainer> { |
public: |
- static PassRefPtr<SMILTimeContainer> create(SVGSVGElement* owner) { return adoptRef(new SMILTimeContainer(owner)); } |
+ static PassRefPtr<SMILTimeContainer> create(SVGSVGElement* owner) { return adoptRef(new SMILTimeContainer(owner)); } |
+ ~SMILTimeContainer(); |
- void schedule(SVGSMILElement*); |
- void unschedule(SVGSMILElement*); |
- |
+ void schedule(SVGSMILElement*, SVGElement*, const QualifiedName&); |
+ void unschedule(SVGSMILElement*, SVGElement*, const QualifiedName&); |
+ void notifyIntervalsChanged(); |
+ |
SMILTime elapsed() const; |
bool isActive() const; |
bool isPaused() const; |
bool isStarted() const; |
- |
+ |
void begin(); |
void pause(); |
void resume(); |
@@ -66,14 +68,14 @@ |
private: |
SMILTimeContainer(SVGSVGElement* owner); |
- |
+ |
void timerFired(Timer<SMILTimeContainer>*); |
void startTimer(SMILTime fireTime, SMILTime minimumDelay = 0); |
void updateAnimations(SMILTime elapsed, bool seekToTime = false); |
void updateDocumentOrderIndexes(); |
void sortByPriority(Vector<SVGSMILElement*>& smilElements, SMILTime elapsed); |
- |
+ |
double m_beginTime; |
double m_pauseTime; |
double m_accumulatedPauseTime; |
@@ -83,10 +85,16 @@ |
Timer<SMILTimeContainer> m_timer; |
- typedef HashSet<SVGSMILElement*> TimingElementSet; |
- TimingElementSet m_scheduledAnimations; |
+ typedef pair<SVGElement*, QualifiedName> ElementAttributePair; |
+ typedef Vector<SVGSMILElement*> AnimationsVector; |
+ typedef HashMap<ElementAttributePair, AnimationsVector* > GroupedAnimationsMap; |
+ GroupedAnimationsMap m_scheduledAnimations; |
SVGSVGElement* m_ownerSVGElement; |
+ |
+#ifndef NDEBUG |
+ bool m_preventScheduledAnimationsChanges; |
+#endif |
}; |
} |