Index: third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp |
diff --git a/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp |
index ca6e4b9bfdb4971d08e8e17fffdf151aeb2a5952..e745c4b54579813143f1a635e8f7f184ef7a8faf 100644 |
--- a/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp |
+++ b/third_party/WebKit/Source/core/inspector/InspectorAnimationAgent.cpp |
@@ -10,8 +10,8 @@ |
#include "core/animation/ComputedTimingProperties.h" |
#include "core/animation/EffectModel.h" |
#include "core/animation/ElementAnimation.h" |
-#include "core/animation/KeyframeEffect.h" |
#include "core/animation/KeyframeEffectModel.h" |
+#include "core/animation/KeyframeEffectReadOnly.h" |
#include "core/animation/StringKeyframe.h" |
#include "core/css/CSSKeyframeRule.h" |
#include "core/css/CSSKeyframesRule.h" |
@@ -92,7 +92,8 @@ void InspectorAnimationAgent::didCommitLoadForLocalFrame(LocalFrame* frame) { |
} |
static std::unique_ptr<protocol::Animation::AnimationEffect> |
-buildObjectForAnimationEffect(KeyframeEffect* effect, bool isTransition) { |
+buildObjectForAnimationEffect(KeyframeEffectReadOnly* effect, |
+ bool isTransition) { |
ComputedTimingProperties computedTiming = effect->getComputedTiming(); |
double delay = computedTiming.delay(); |
double duration = computedTiming.duration().getAsUnrestrictedDouble(); |
@@ -145,7 +146,7 @@ buildObjectForStringKeyframe(const StringKeyframe* keyframe) { |
} |
static std::unique_ptr<protocol::Animation::KeyframesRule> |
-buildObjectForAnimationKeyframes(const KeyframeEffect* effect) { |
+buildObjectForAnimationKeyframes(const KeyframeEffectReadOnly* effect) { |
if (!effect || !effect->model() || !effect->model()->isKeyframeEffectModel()) |
return nullptr; |
const KeyframeEffectModelBase* model = |
@@ -170,7 +171,8 @@ buildObjectForAnimationKeyframes(const KeyframeEffect* effect) { |
std::unique_ptr<protocol::Animation::Animation> |
InspectorAnimationAgent::buildObjectForAnimation(blink::Animation& animation) { |
- const Element* element = toKeyframeEffect(animation.effect())->target(); |
+ const Element* element = |
+ toKeyframeEffectReadOnly(animation.effect())->target(); |
CSSAnimations& cssAnimations = element->elementAnimations()->cssAnimations(); |
std::unique_ptr<protocol::Animation::KeyframesRule> keyframeRule = nullptr; |
String animationType; |
@@ -180,8 +182,8 @@ InspectorAnimationAgent::buildObjectForAnimation(blink::Animation& animation) { |
animationType = AnimationType::CSSTransition; |
} else { |
// Keyframe based animations |
- keyframeRule = |
- buildObjectForAnimationKeyframes(toKeyframeEffect(animation.effect())); |
+ keyframeRule = buildObjectForAnimationKeyframes( |
+ toKeyframeEffectReadOnly(animation.effect())); |
animationType = cssAnimations.isAnimationForInspector(animation) |
? AnimationType::CSSAnimation |
: AnimationType::WebAnimation; |
@@ -193,7 +195,7 @@ InspectorAnimationAgent::buildObjectForAnimation(blink::Animation& animation) { |
std::unique_ptr<protocol::Animation::AnimationEffect> animationEffectObject = |
buildObjectForAnimationEffect( |
- toKeyframeEffect(animation.effect()), |
+ toKeyframeEffectReadOnly(animation.effect()), |
animationType == AnimationType::CSSTransition); |
animationEffectObject->setKeyframesRule(std::move(keyframeRule)); |
@@ -275,7 +277,8 @@ blink::Animation* InspectorAnimationAgent::animationClone( |
blink::Animation* animation) { |
const String id = String::number(animation->sequenceNumber()); |
if (!m_idToAnimationClone.get(id)) { |
- KeyframeEffect* oldEffect = toKeyframeEffect(animation->effect()); |
+ KeyframeEffectReadOnly* oldEffect = |
+ toKeyframeEffectReadOnly(animation->effect()); |
ASSERT(oldEffect->model()->isKeyframeEffectModel()); |
KeyframeEffectModelBase* oldModel = |
toKeyframeEffectModelBase(oldEffect->model()); |
@@ -408,7 +411,8 @@ void InspectorAnimationAgent::resolveAnimation( |
return; |
if (m_idToAnimationClone.get(animationId)) |
animation = m_idToAnimationClone.get(animationId); |
- const Element* element = toKeyframeEffect(animation->effect())->target(); |
+ const Element* element = |
+ toKeyframeEffectReadOnly(animation->effect())->target(); |
Document* document = element->ownerDocument(); |
LocalFrame* frame = document ? document->frame() : nullptr; |
ScriptState* scriptState = frame ? ScriptState::forMainWorld(frame) : nullptr; |
@@ -452,7 +456,7 @@ String InspectorAnimationAgent::createCSSId(blink::Animation& animation) { |
m_idToAnimationType.get(String::number(animation.sequenceNumber())); |
ASSERT(type != AnimationType::WebAnimation); |
- KeyframeEffect* effect = toKeyframeEffect(animation.effect()); |
+ KeyframeEffectReadOnly* effect = toKeyframeEffectReadOnly(animation.effect()); |
Vector<CSSPropertyID> cssProperties; |
if (type == AnimationType::CSSAnimation) { |
for (CSSPropertyID property : animationProperties) |