| Index: Source/core/animation/KeyframeEffectModel.cpp
|
| diff --git a/Source/core/animation/KeyframeEffectModel.cpp b/Source/core/animation/KeyframeEffectModel.cpp
|
| index 595c0d1af287597077ffe04aa573eb678e58ce29..ae1252f313d7ff899e337aba1f33cd08b5046384 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)
|
| {
|
| @@ -191,7 +196,7 @@ void KeyframeEffectModel::ensureKeyframeGroups() const
|
| if (m_keyframeGroups)
|
| return;
|
|
|
| - m_keyframeGroups = adoptPtr(new KeyframeGroupMap);
|
| + m_keyframeGroups = adoptPtrWillBeNoop(new KeyframeGroupMap);
|
| const KeyframeVector keyframes = normalizedKeyframes(getFrames());
|
| for (KeyframeVector::const_iterator keyframeIter = keyframes.begin(); keyframeIter != keyframes.end(); ++keyframeIter) {
|
| const Keyframe* keyframe = keyframeIter->get();
|
| @@ -201,12 +206,12 @@ void KeyframeEffectModel::ensureKeyframeGroups() const
|
| KeyframeGroupMap::iterator groupIter = m_keyframeGroups->find(property);
|
| PropertySpecificKeyframeGroup* group;
|
| if (groupIter == m_keyframeGroups->end())
|
| - group = m_keyframeGroups->add(property, adoptPtr(new PropertySpecificKeyframeGroup)).storedValue->value.get();
|
| + group = m_keyframeGroups->add(property, adoptPtrWillBeNoop(new PropertySpecificKeyframeGroup)).storedValue->value.get();
|
| else
|
| 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())));
|
| }
|
| }
|
| @@ -259,6 +264,14 @@ bool KeyframeEffectModel::isReplaceOnly()
|
| return true;
|
| }
|
|
|
| +void KeyframeEffectModel::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_keyframes);
|
| +#if ENABLE_OILPAN
|
| + visitor->trace(m_keyframeGroups);
|
| +#endif
|
| +}
|
| +
|
| KeyframeEffectModel::PropertySpecificKeyframe::PropertySpecificKeyframe(double offset, PassRefPtr<TimingFunction> easing, const AnimatableValue* value, CompositeOperation composite)
|
| : m_offset(offset)
|
| , m_easing(easing)
|
| @@ -267,7 +280,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 +289,17 @@ 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::PropertySpecificKeyframe::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_value);
|
| +}
|
|
|
| -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,14 +328,16 @@ 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)
|
| +void KeyframeEffectModel::PropertySpecificKeyframeGroup::trace(Visitor* visitor)
|
| {
|
| +#if ENABLE_OILPAN
|
| visitor->trace(m_keyframes);
|
| +#endif
|
| }
|
|
|
| } // namespace
|
|
|