#include "cc/animation/timeline_trigger.h"
#include "cc/animation/animation_host.h"
#include "cc/animation/animation_timeline.h"
#include "cc/animation/scroll_timeline.h"
#include "cc/trees/property_tree.h"
namespace cc {
TimelineTrigger::TimelineTrigger(int id,
scoped_refptr<AnimationTimeline> timeline)
: AnimationTrigger(id), timeline_(timeline) {}
TimelineTrigger::~TimelineTrigger() = default;
scoped_refptr<TimelineTrigger> TimelineTrigger::Create(
int id,
scoped_refptr<AnimationTimeline> timeline) {
return base::WrapRefCounted(new TimelineTrigger(id, timeline));
}
scoped_refptr<AnimationTrigger> TimelineTrigger::CreateImplInstance(
AnimationHost& host_impl) const {
scoped_refptr<AnimationTimeline> timeline_impl =
host_impl.GetScopedRefTimelineById(timeline_.Read(*this)->id());
CHECK(timeline_impl);
scoped_refptr<TimelineTrigger> impl_instance =
TimelineTrigger::Create(id(), timeline_impl);
return impl_instance;
}
bool TimelineTrigger::IsTimelineTrigger() const {
return true;
}
}