| Index: Source/core/animation/Animation.h
|
| diff --git a/Source/core/animation/Animation.h b/Source/core/animation/Animation.h
|
| index 58a0dc4ceccf5aefe6d58b95303f2548a59b025d..aa677ce0d2af5da7406d7202f5a00ab670ba7a22 100644
|
| --- a/Source/core/animation/Animation.h
|
| +++ b/Source/core/animation/Animation.h
|
| @@ -51,16 +51,15 @@ class Element;
|
| class ExceptionState;
|
| class WebCompositorAnimationPlayer;
|
|
|
| -class CORE_EXPORT Animation final
|
| - : public EventTargetWithInlineData
|
| - , public RefCountedWillBeNoBase<Animation>
|
| - , public ActiveDOMObject
|
| - , public WebCompositorAnimationDelegate
|
| - , public WebCompositorAnimationPlayerClient {
|
| +class CORE_EXPORT Animation final : public RefCountedGarbageCollectedEventTargetWithInlineData<Animation>, public ActiveDOMObject, public WebCompositorAnimationDelegate, public WebCompositorAnimationPlayerClient {
|
| DEFINE_WRAPPERTYPEINFO();
|
| - REFCOUNTED_EVENT_TARGET(Animation);
|
| + REFCOUNTED_GARBAGE_COLLECTED_EVENT_TARGET(Animation);
|
| WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(Animation);
|
| - WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(Animation);
|
| +#if ENABLE(LAZY_SWEEPING)
|
| + EAGERLY_FINALIZE();
|
| +#else
|
| + USING_PRE_FINALIZER(Animation, disposeAnimation);
|
| +#endif
|
| public:
|
| enum AnimationPlayState {
|
| Idle,
|
| @@ -71,7 +70,8 @@ public:
|
| };
|
|
|
| ~Animation();
|
| - static PassRefPtrWillBeRawPtr<Animation> create(AnimationEffect*, AnimationTimeline*);
|
| + void disposeAnimation();
|
| + static Animation* create(AnimationEffect*, AnimationTimeline*);
|
|
|
| // Returns whether the animation is finished.
|
| bool update(TimingUpdateReason);
|
| @@ -138,8 +138,8 @@ public:
|
| void setStartClip(double t) { setStartClipInternal(t / 1000); }
|
| void setEndClip(double t) { setEndClipInternal(t / 1000); }
|
|
|
| - const AnimationEffect* effect() const { return m_content.get(); }
|
| - AnimationEffect* effect() { return m_content.get(); }
|
| + const AnimationEffect* effect() const { return m_content; }
|
| + AnimationEffect* effect() { return m_content; }
|
| void setEffect(AnimationEffect*);
|
|
|
| // Pausing via this method is not reflected in the value returned by
|
| @@ -230,12 +230,12 @@ private:
|
|
|
| unsigned m_sequenceNumber;
|
|
|
| - typedef ScriptPromiseProperty<RawPtrWillBeMember<Animation>, RawPtrWillBeMember<Animation>, Member<DOMException>> AnimationPromise;
|
| - PersistentWillBeMember<AnimationPromise> m_finishedPromise;
|
| - PersistentWillBeMember<AnimationPromise> m_readyPromise;
|
| + typedef ScriptPromiseProperty<Member<Animation>, Member<Animation>, Member<DOMException>> AnimationPromise;
|
| + Member<AnimationPromise> m_finishedPromise;
|
| + Member<AnimationPromise> m_readyPromise;
|
|
|
| - RefPtrWillBeMember<AnimationEffect> m_content;
|
| - RawPtrWillBeMember<AnimationTimeline> m_timeline;
|
| + Member<AnimationEffect> m_content;
|
| + Member<AnimationTimeline> m_timeline;
|
| // Reflects all pausing, including via pauseForTesting().
|
| bool m_paused;
|
| bool m_held;
|
| @@ -289,7 +289,7 @@ private:
|
| PlayStateUpdateScope(Animation&, TimingUpdateReason, CompositorPendingChange = SetCompositorPending);
|
| ~PlayStateUpdateScope();
|
| private:
|
| - RawPtrWillBeMember<Animation> m_animation;
|
| + Member<Animation> m_animation;
|
| AnimationPlayState m_initialPlayState;
|
| CompositorPendingChange m_compositorPendingChange;
|
| };
|
|
|