Index: Source/core/animation/ElementAnimations.h |
diff --git a/Source/core/animation/ElementAnimations.h b/Source/core/animation/ElementAnimations.h |
index bc2607d976ea029077e9f7f4ff7bc863ce302002..ad23910b4660368fedecd2d88044ceba8e14e043 100644 |
--- a/Source/core/animation/ElementAnimations.h |
+++ b/Source/core/animation/ElementAnimations.h |
@@ -44,11 +44,13 @@ class CSSAnimations; |
using AnimationCountedSet = WillBeHeapHashCountedSet<RawPtrWillBeWeakMember<Animation>>; |
-class ElementAnimations : public NoBaseWillBeGarbageCollectedFinalized<ElementAnimations> { |
+class ElementAnimations : public GarbageCollectedFinalized<ElementAnimations> { |
WTF_MAKE_NONCOPYABLE(ElementAnimations); |
+ USING_PRE_FINALIZER(ElementAnimations, dispose); |
public: |
ElementAnimations(); |
~ElementAnimations(); |
+ void dispose(); |
// Animations that are currently active for this element, their effects will be applied |
// during a style recalc. CSS Transitions are included in this stack. |
@@ -93,7 +95,7 @@ private: |
#if !ENABLE(OILPAN) |
// FIXME: Oilpan: This is to avoid a reference cycle that keeps Elements alive |
// and won't be needed once the Node hierarchy becomes traceable. |
- Vector<KeyframeEffect*> m_effects; |
+ HeapVector<Member<KeyframeEffect>> m_effects; |
#endif |
// CSSAnimations and DeferredLegacyStyleInterpolation checks if a style change is due to animation. |