Index: Source/core/animation/SampledEffect.cpp |
diff --git a/Source/core/animation/SampledEffect.cpp b/Source/core/animation/SampledEffect.cpp |
index 328d237226d79cefe5a9d08079635c9a7085e0af..c24fb3b4f70149e211ed65651894ac41465f18ba 100644 |
--- a/Source/core/animation/SampledEffect.cpp |
+++ b/Source/core/animation/SampledEffect.cpp |
@@ -8,10 +8,12 @@ |
namespace WebCore { |
SampledEffect::SampledEffect(Animation* animation, PassOwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> > > interpolations) |
- : m_player(animation->player()) |
- , m_animation(animation) |
+ : m_animation(animation) |
+#if !ENABLE(OILPAN) |
+ , m_player(animation->player()) |
+#endif |
, m_interpolations(interpolations) |
- , m_playerSortInfo(m_player->sortInfo()) |
+ , m_playerSortInfo(animation->player()->sortInfo()) |
, m_priority(animation->priority()) |
{ |
ASSERT(m_interpolations && !m_interpolations->isEmpty()); |
@@ -19,16 +21,22 @@ SampledEffect::SampledEffect(Animation* animation, PassOwnPtrWillBeRawPtr<WillBe |
bool SampledEffect::canChange() const |
{ |
+#if ENABLE(OILPAN) |
+ return m_animation; |
+#else |
if (!m_animation) |
return false; |
// FIXME: This check won't be needed when Animation and AnimationPlayer are moved to Oilpan. |
return !m_player->canFree(); |
+#endif |
} |
void SampledEffect::clear() |
{ |
- m_player.clear(); |
- m_animation = 0; |
+#if !ENABLE(OILPAN) |
+ m_player = nullptr; |
+#endif |
+ m_animation = nullptr; |
m_interpolations->clear(); |
} |
@@ -45,4 +53,12 @@ void SampledEffect::removeReplacedInterpolationsIfNeeded(const BitArray<numCSSPr |
m_interpolations->shrink(dest); |
} |
+void SampledEffect::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_animation); |
+#if ENABLE(OILPAN) |
+ visitor->trace(m_interpolations); |
+#endif |
+} |
+ |
} // namespace WebCore |