| Index: Source/core/animation/ActiveAnimations.h | 
| diff --git a/Source/core/animation/ActiveAnimations.h b/Source/core/animation/ActiveAnimations.h | 
| index 966f73c12ead068bfb845eff5c9a09464cfb6f54..ad5ba4b68913f437c6a62129c13848a83b480260 100644 | 
| --- a/Source/core/animation/ActiveAnimations.h | 
| +++ b/Source/core/animation/ActiveAnimations.h | 
| @@ -63,21 +63,27 @@ public: | 
| CSSAnimations& cssAnimations() { return m_cssAnimations; } | 
| const CSSAnimations& cssAnimations() const { return m_cssAnimations; } | 
|  | 
| -    typedef HashMap<AnimationPlayer*, int> AnimationPlayerCountedSet; | 
| +    typedef WillBeHeapHashMap<RawPtrWillBeWeakMember<AnimationPlayer>, int> AnimationPlayerCountedSet; | 
| // AnimationPlayers which have animations targeting this element. | 
| const AnimationPlayerCountedSet& players() const { return m_players; } | 
| void addPlayer(AnimationPlayer*); | 
| void removePlayer(AnimationPlayer*); | 
|  | 
| +#if ENABLE(OILPAN) | 
| +    bool isEmpty() const { return m_defaultStack.isEmpty() && m_cssAnimations.isEmpty(); } | 
| +#else | 
| bool isEmpty() const { return m_defaultStack.isEmpty() && m_cssAnimations.isEmpty() && m_animations.isEmpty(); } | 
| +#endif | 
|  | 
| void cancelAnimationOnCompositor(); | 
|  | 
| void updateAnimationFlags(RenderStyle&); | 
| void setAnimationStyleChange(bool animationStyleChange) { m_animationStyleChange = animationStyleChange; } | 
|  | 
| +#if !ENABLE(OILPAN) | 
| void addAnimation(Animation* animation) { m_animations.append(animation); } | 
| void notifyAnimationDestroyed(Animation* animation) { m_animations.remove(m_animations.find(animation)); } | 
| +#endif | 
|  | 
| void trace(Visitor*); | 
|  | 
| @@ -89,18 +95,10 @@ private: | 
| AnimationPlayerCountedSet m_players; | 
| bool m_animationStyleChange; | 
|  | 
| -    // This is to avoid a reference cycle that keeps Elements alive and | 
| -    // won't be needed once Element and Animation are moved to Oilpan. | 
| +#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<Animation*> m_animations; | 
| - | 
| -#if ENABLE(OILPAN) | 
| -    // Keep a back reference to the target Element, so that this object | 
| -    // will be finalized during the same GC sweep as the target (as the | 
| -    // Element keeps a reference in the other direction via its | 
| -    // rare data.) This is done so that we can accurately notify the | 
| -    // the Element as destroyed to the above vector of Animations in | 
| -    // the ActiveAnimations finalizer. | 
| -    Member<Element> m_target; | 
| #endif | 
|  | 
| // CSSAnimations checks if a style change is due to animation. | 
|  |