Index: Source/core/animation/KeyframeEffectModel.cpp |
diff --git a/Source/core/animation/KeyframeEffectModel.cpp b/Source/core/animation/KeyframeEffectModel.cpp |
index 595c0d1af287597077ffe04aa573eb678e58ce29..8329bcea81bccb105ac390c4511ef1a6ab027601 100644 |
--- a/Source/core/animation/KeyframeEffectModel.cpp |
+++ b/Source/core/animation/KeyframeEffectModel.cpp |
@@ -91,6 +91,11 @@ PassRefPtrWillBeRawPtr<Keyframe> Keyframe::cloneWithOffset(double offset) const |
return theClone.release(); |
} |
+void Keyframe::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_propertyValues); |
+} |
+ |
KeyframeEffectModel::KeyframeEffectModel(const KeyframeVector& keyframes) |
: m_keyframes(keyframes) |
{ |
@@ -206,7 +211,7 @@ void KeyframeEffectModel::ensureKeyframeGroups() const |
group = groupIter->value.get(); |
ASSERT(keyframe->composite() == AnimationEffect::CompositeReplace); |
- group->appendKeyframe(adoptPtr( |
+ group->appendKeyframe(adoptPtrWillBeNoop( |
new PropertySpecificKeyframe(keyframe->offset(), keyframe->easing(), keyframe->propertyValue(property), keyframe->composite()))); |
} |
} |
@@ -267,7 +272,7 @@ KeyframeEffectModel::PropertySpecificKeyframe::PropertySpecificKeyframe(double o |
m_value = AnimatableValue::takeConstRef(value); |
} |
-KeyframeEffectModel::PropertySpecificKeyframe::PropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> easing, PassRefPtr<AnimatableValue> value, CompositeOperation composite) |
+KeyframeEffectModel::PropertySpecificKeyframe::PropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> easing, PassRefPtrWillBeRawPtr<AnimatableValue> value, CompositeOperation composite) |
: m_offset(offset) |
, m_easing(easing) |
, m_value(value) |
@@ -276,13 +281,13 @@ KeyframeEffectModel::PropertySpecificKeyframe::PropertySpecificKeyframe(double o |
ASSERT(!isNull(m_offset)); |
} |
-PassOwnPtr<KeyframeEffectModel::PropertySpecificKeyframe> KeyframeEffectModel::PropertySpecificKeyframe::cloneWithOffset(double offset) const |
+PassOwnPtrWillBeRawPtr<KeyframeEffectModel::PropertySpecificKeyframe> KeyframeEffectModel::PropertySpecificKeyframe::cloneWithOffset(double offset) const |
{ |
- return adoptPtr(new PropertySpecificKeyframe(offset, m_easing, m_value, m_composite)); |
+ return adoptPtrWillBeNoop(new PropertySpecificKeyframe(offset, m_easing, m_value.get(), m_composite)); |
} |
-void KeyframeEffectModel::PropertySpecificKeyframeGroup::appendKeyframe(PassOwnPtr<PropertySpecificKeyframe> keyframe) |
+void KeyframeEffectModel::PropertySpecificKeyframeGroup::appendKeyframe(PassOwnPtrWillBeRawPtr<PropertySpecificKeyframe> keyframe) |
{ |
ASSERT(m_keyframes.isEmpty() || m_keyframes.last()->offset() <= keyframe->offset()); |
m_keyframes.append(keyframe); |
@@ -311,9 +316,9 @@ void KeyframeEffectModel::PropertySpecificKeyframeGroup::addSyntheticKeyframeIfR |
{ |
ASSERT(!m_keyframes.isEmpty()); |
if (m_keyframes.first()->offset() != 0.0) |
- m_keyframes.insert(0, adoptPtr(new PropertySpecificKeyframe(0, nullptr, AnimatableValue::neutralValue(), CompositeAdd))); |
+ m_keyframes.insert(0, adoptPtrWillBeNoop(new PropertySpecificKeyframe(0, nullptr, AnimatableValue::neutralValue(), CompositeAdd))); |
if (m_keyframes.last()->offset() != 1.0) |
- appendKeyframe(adoptPtr(new PropertySpecificKeyframe(1, nullptr, AnimatableValue::neutralValue(), CompositeAdd))); |
+ appendKeyframe(adoptPtrWillBeNoop(new PropertySpecificKeyframe(1, nullptr, AnimatableValue::neutralValue(), CompositeAdd))); |
} |
void KeyframeEffectModel::trace(Visitor* visitor) |