#include "third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.h"
#include "base/memory/ptr_util.h"
#include "base/synchronization/waitable_event.h"
#include "third_party/blink/renderer/core/workers/global_scope_creation_params.h"
#include "third_party/blink/renderer/core/workers/worker_backing_thread.h"
#include "third_party/blink/renderer/core/workers/worklet_thread_holder.h"
#include "third_party/blink/renderer/modules/animationworklet/animation_worklet_global_scope.h"
#include "third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope.h"
#include "third_party/blink/renderer/platform/heap/thread_state.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
#include "third_party/blink/renderer/platform/scheduler/public/post_cross_thread_task.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
namespace blink {
namespace {
unsigned s_ref_count = …;
}
std::unique_ptr<AnimationAndPaintWorkletThread>
AnimationAndPaintWorkletThread::CreateForAnimationWorklet(
WorkerReportingProxy& worker_reporting_proxy) { … }
std::unique_ptr<AnimationAndPaintWorkletThread>
AnimationAndPaintWorkletThread::CreateForPaintWorklet(
WorkerReportingProxy& worker_reporting_proxy) { … }
template class WorkletThreadHolder<AnimationAndPaintWorkletThread>;
AnimationAndPaintWorkletThread::AnimationAndPaintWorkletThread(
WorkletType worklet_type,
WorkerReportingProxy& worker_reporting_proxy)
: … { … }
AnimationAndPaintWorkletThread::~AnimationAndPaintWorkletThread() { … }
WorkerBackingThread& AnimationAndPaintWorkletThread::GetWorkerBackingThread() { … }
static void CollectAllGarbageOnThreadForTesting(
base::WaitableEvent* done_event) { … }
void AnimationAndPaintWorkletThread::CollectAllGarbageForTesting() { … }
WorkerOrWorkletGlobalScope*
AnimationAndPaintWorkletThread::CreateWorkerGlobalScope(
std::unique_ptr<GlobalScopeCreationParams> creation_params) { … }
void AnimationAndPaintWorkletThread::EnsureSharedBackingThread() { … }
void AnimationAndPaintWorkletThread::ClearSharedBackingThread() { … }
WorkletThreadHolder<AnimationAndPaintWorkletThread>*
AnimationAndPaintWorkletThread::GetWorkletThreadHolderForTesting() { … }
}