#include "third_party/blink/renderer/core/animation/timing_input.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_effect_timing.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_keyframe_animation_options.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_keyframe_effect_options.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_optional_effect_timing.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_timeline_range.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_timeline_range_offset.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_cssnumericvalue_string_unrestricteddouble.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_keyframeanimationoptions_unrestricteddouble.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_keyframeeffectoptions_unrestricteddouble.h"
#include "third_party/blink/renderer/core/animation/animation_effect.h"
#include "third_party/blink/renderer/core/animation/animation_input_helpers.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/css/css_value_list.h"
#include "third_party/blink/renderer/core/css/cssom/css_unit_values.h"
#include "third_party/blink/renderer/core/css/properties/css_property.h"
#include "third_party/blink/renderer/core/execution_context/security_context.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/geometry/calculation_value.h"
namespace blink {
namespace {
Timing::PlaybackDirection ConvertPlaybackDirection(const String& direction) { … }
std::optional<AnimationTimeDelta> ConvertIterationDuration(
const V8UnionCSSNumericValueOrStringOrUnrestrictedDouble* duration) { … }
Timing::Delay ConvertDelay(const Timing::V8Delay* delay,
double default_percent,
ExceptionState& exception_state) { … }
Timing ConvertEffectTiming(const EffectTiming* timing_input,
Document* document,
ExceptionState& exception_state) { … }
template <class V>
bool UpdateValueIfChanged(V& lhs, const V& rhs) { … }
}
Timing TimingInput::Convert(
const V8UnionKeyframeEffectOptionsOrUnrestrictedDouble* options,
Document* document,
ExceptionState& exception_state) { … }
Timing TimingInput::Convert(
const V8UnionKeyframeAnimationOptionsOrUnrestrictedDouble* options,
Document* document,
ExceptionState& exception_state) { … }
template <class InputTiming>
bool TimingInput::Update(Timing& timing,
const InputTiming* input,
Document* document,
ExceptionState& exception_state) { … }
template CORE_EXPORT bool TimingInput::Update(Timing&,
const OptionalEffectTiming*,
Document*,
ExceptionState&);
}