#include "third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_thread.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/mojom/shared_storage/shared_storage_worklet_service.mojom-blink.h"
#include "third_party/blink/renderer/core/workers/global_scope_creation_params.h"
#include "third_party/blink/renderer/core/workers/worklet_thread_holder.h"
#include "third_party/blink/renderer/modules/shared_storage/shared_storage_worklet_global_scope.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
namespace blink {
namespace {
class SharedStorageWorkletThreadSharedBackingThreadImpl;
}
template class WorkletThreadHolder<
SharedStorageWorkletThreadSharedBackingThreadImpl>;
namespace {
int ref_count = …;
class SharedStorageWorkletThreadOwningBackingThreadImpl final
: public SharedStorageWorkletThread { … };
class SharedStorageWorkletThreadSharedBackingThreadImpl final
: public SharedStorageWorkletThread { … };
}
std::unique_ptr<SharedStorageWorkletThread> SharedStorageWorkletThread::Create(
WorkerReportingProxy& worker_reporting_proxy) { … }
SharedStorageWorkletThread::~SharedStorageWorkletThread() = default;
void SharedStorageWorkletThread::InitializeSharedStorageWorkletService(
mojo::PendingReceiver<mojom::blink::SharedStorageWorkletService> receiver,
base::OnceClosure disconnect_handler) { … }
std::optional<WorkerBackingThreadStartupData>
SharedStorageWorkletThread::CreateThreadStartupData() { … }
SharedStorageWorkletThread::SharedStorageWorkletThread(
WorkerReportingProxy& worker_reporting_proxy)
: … { … }
WorkerOrWorkletGlobalScope* SharedStorageWorkletThread::CreateWorkerGlobalScope(
std::unique_ptr<GlobalScopeCreationParams> creation_params) { … }
}