| Index: Source/core/svg/animation/SMILTimeContainer.h
|
| diff --git a/Source/core/svg/animation/SMILTimeContainer.h b/Source/core/svg/animation/SMILTimeContainer.h
|
| index bff4ae935b6faaa287b39e1d2914ee0559c475e8..98e9e11a4c6660a303feb8e218498549769a7c25 100644
|
| --- a/Source/core/svg/animation/SMILTimeContainer.h
|
| +++ b/Source/core/svg/animation/SMILTimeContainer.h
|
| @@ -38,6 +38,8 @@
|
|
|
| namespace WebCore {
|
|
|
| +class AnimationClock;
|
| +class Document;
|
| class SVGElement;
|
| class SVGSMILElement;
|
| class SVGSVGElement;
|
| @@ -61,6 +63,9 @@ public:
|
| void resume();
|
| void setElapsed(SMILTime);
|
|
|
| + void serviceAnimations(double monotonicAnimationStartTime);
|
| + bool hasAnimations() const;
|
| +
|
| void setDocumentOrderIndexesDirty() { m_documentOrderIndexesDirty = true; }
|
|
|
| private:
|
| @@ -70,12 +75,15 @@ private:
|
| void scheduleAnimationFrame(SMILTime fireTime);
|
| void scheduleAnimationFrame();
|
| void cancelAnimationFrame();
|
| - void timerFired(Timer<SMILTimeContainer>*);
|
| + void wakeupTimerFired(Timer<SMILTimeContainer>*);
|
| void updateAnimations(SMILTime elapsed, bool seekToTime = false);
|
| + void serviceOnNextFrame();
|
|
|
| void updateDocumentOrderIndexes();
|
| double lastResumeTime() const { return m_resumeTime ? m_resumeTime : m_beginTime; }
|
|
|
| + Document& document() const;
|
| +
|
| double m_beginTime;
|
| double m_pauseTime;
|
| double m_resumeTime;
|
| @@ -83,8 +91,10 @@ private:
|
| double m_presetStartTime;
|
|
|
| bool m_documentOrderIndexesDirty;
|
| + bool m_framePending;
|
|
|
| - Timer<SMILTimeContainer> m_timer;
|
| + OwnPtr<AnimationClock> m_animationClock;
|
| + Timer<SMILTimeContainer> m_wakeupTimer;
|
|
|
| typedef pair<SVGElement*, QualifiedName> ElementAttributePair;
|
| typedef Vector<SVGSMILElement*> AnimationsVector;
|
|
|