#include "third_party/blink/renderer/core/animation/keyframe.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_object_builder.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_timeline_range_offset.h"
#include "third_party/blink/renderer/core/animation/effect_model.h"
#include "third_party/blink/renderer/core/animation/invalidatable_interpolation.h"
#include "third_party/blink/renderer/core/animation/timeline_range.h"
#include "third_party/blink/renderer/core/css/cssom/css_unit_value.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
namespace blink {
const double Keyframe::kNullComputedOffset = …;
Keyframe::PropertySpecificKeyframe::PropertySpecificKeyframe(
double offset,
scoped_refptr<TimingFunction> easing,
EffectModel::CompositeOperation composite)
: … { … }
Interpolation* Keyframe::PropertySpecificKeyframe::CreateInterpolation(
const PropertyHandle& property_handle,
const Keyframe::PropertySpecificKeyframe& end) const { … }
void Keyframe::AddKeyframePropertiesToV8Object(V8ObjectBuilder& object_builder,
Element* element) const { … }
bool Keyframe::ResolveTimelineOffset(const TimelineRange& timeline_range,
double range_start,
double range_end) { … }
bool Keyframe::LessThan(const Member<Keyframe>& a, const Member<Keyframe>& b) { … }
}