#include "third_party/blink/renderer/core/animation/worklet_animation_controller.h"
#include "base/task/single_thread_task_runner.h"
#include "third_party/blink/renderer/core/animation/document_timeline.h"
#include "third_party/blink/renderer/core/animation/scroll_timeline.h"
#include "third_party/blink/renderer/core/animation/worklet_animation_base.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/platform/graphics/animation_worklet_mutator_dispatcher_impl.h"
#include "third_party/blink/renderer/platform/graphics/main_thread_mutator_client.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
namespace blink {
namespace {
int GetId(const WorkletAnimationBase& animation) { … }
}
WorkletAnimationController::WorkletAnimationController(Document* document)
: … { … }
WorkletAnimationController::~WorkletAnimationController() = default;
void WorkletAnimationController::AttachAnimation(
WorkletAnimationBase& animation) { … }
void WorkletAnimationController::DetachAnimation(
WorkletAnimationBase& animation) { … }
void WorkletAnimationController::InvalidateAnimation(
WorkletAnimationBase& animation) { … }
void WorkletAnimationController::UpdateAnimationStates() { … }
void WorkletAnimationController::UpdateAnimationTimings(
TimingUpdateReason reason) { … }
base::WeakPtr<AnimationWorkletMutatorDispatcherImpl>
WorkletAnimationController::EnsureMainThreadMutatorDispatcher(
scoped_refptr<base::SingleThreadTaskRunner> mutator_task_runner) { … }
void WorkletAnimationController::SynchronizeAnimatorName(
const String& animator_name) { … }
bool WorkletAnimationController::IsAnimatorRegistered(
const String& animator_name) const { … }
void WorkletAnimationController::SetMutationUpdate(
std::unique_ptr<AnimationWorkletOutput> output_state) { … }
void WorkletAnimationController::MutateAnimations() { … }
std::unique_ptr<AnimationWorkletDispatcherInput>
WorkletAnimationController::CollectAnimationStates() { … }
void WorkletAnimationController::ApplyAnimationTimings(
TimingUpdateReason reason) { … }
void WorkletAnimationController::Trace(Visitor* visitor) const { … }
}