#include "third_party/blink/renderer/core/animation/document_timeline.h"
#include "cc/animation/animation_id_provider.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_document_timeline_options.h"
#include "third_party/blink/renderer/core/animation/animation.h"
#include "third_party/blink/renderer/core/animation/animation_clock.h"
#include "third_party/blink/renderer/core/animation/animation_effect.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/loader/document_loader.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
namespace blink {
namespace {
base::TimeTicks CurrentAnimationTime(Document* document) { … }
}
const double DocumentTimeline::kMinimumDelay = …;
DocumentTimeline* DocumentTimeline::Create(
ExecutionContext* execution_context,
const DocumentTimelineOptions* options) { … }
DocumentTimeline::DocumentTimeline(Document* document,
base::TimeDelta origin_time,
PlatformTiming* timing)
: … { … }
bool DocumentTimeline::IsActive() const { … }
std::optional<base::TimeDelta>
DocumentTimeline::InitialStartTimeForAnimations() { … }
void DocumentTimeline::ScheduleNextService() { … }
void DocumentTimeline::DocumentTimelineTiming::WakeAfter(
base::TimeDelta duration) { … }
void DocumentTimeline::DocumentTimelineTiming::Trace(Visitor* visitor) const { … }
base::TimeTicks DocumentTimeline::CalculateZeroTime() { … }
void DocumentTimeline::ResetForTesting() { … }
void DocumentTimeline::SetTimingForTesting(PlatformTiming* timing) { … }
AnimationTimeline::PhaseAndTime DocumentTimeline::CurrentPhaseAndTime() { … }
void DocumentTimeline::PauseAnimationsForTesting(
AnimationTimeDelta pause_time) { … }
void DocumentTimeline::SetPlaybackRate(double playback_rate) { … }
double DocumentTimeline::PlaybackRate() const { … }
void DocumentTimeline::InvalidateKeyframeEffects(
const TreeScope& tree_scope,
const StyleChangeReasonForTracing& reason) { … }
cc::AnimationTimeline* DocumentTimeline::EnsureCompositorTimeline() { … }
void DocumentTimeline::Trace(Visitor* visitor) const { … }
}