#include "third_party/blink/renderer/core/workers/dedicated_worker_object_proxy.h"
#include <memory>
#include <utility>
#include "base/memory/ptr_util.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/events/message_event.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/user_activation.h"
#include "third_party/blink/renderer/core/inspector/console_message.h"
#include "third_party/blink/renderer/core/messaging/blink_transferable_message.h"
#include "third_party/blink/renderer/core/workers/custom_event_message.h"
#include "third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.h"
#include "third_party/blink/renderer/core/workers/parent_execution_context_task_runners.h"
#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
#include "third_party/blink/renderer/core/workers/worker_thread.h"
#include "third_party/blink/renderer/platform/bindings/source_location.h"
#include "third_party/blink/renderer/platform/scheduler/public/post_cross_thread_task.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_copier_std.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink {
DedicatedWorkerObjectProxy::~DedicatedWorkerObjectProxy() = default;
void DedicatedWorkerObjectProxy::PostMessageToWorkerObject(
BlinkTransferableMessage message) { … }
void DedicatedWorkerObjectProxy::ProcessMessageFromWorkerObject(
BlinkTransferableMessage message,
WorkerThread* worker_thread) { … }
void DedicatedWorkerObjectProxy::ProcessCustomEventFromWorkerObject(
CustomEventMessage message,
WorkerThread* worker_thread,
CrossThreadFunction<Event*(ScriptState*, CustomEventMessage)>
event_factory_callback,
CrossThreadFunction<Event*(ScriptState*)> event_factory_error_callback) { … }
void DedicatedWorkerObjectProxy::ProcessUnhandledException(
int exception_id,
WorkerThread* worker_thread) { … }
void DedicatedWorkerObjectProxy::ReportException(
const String& error_message,
std::unique_ptr<SourceLocation> location,
int exception_id) { … }
void DedicatedWorkerObjectProxy::DidFailToFetchClassicScript() { … }
void DedicatedWorkerObjectProxy::DidFailToFetchModuleScript() { … }
void DedicatedWorkerObjectProxy::DidEvaluateTopLevelScript(bool success) { … }
DedicatedWorkerObjectProxy::DedicatedWorkerObjectProxy(
DedicatedWorkerMessagingProxy* messaging_proxy_weak_ptr,
ParentExecutionContextTaskRunners* parent_execution_context_task_runners,
const DedicatedWorkerToken& token)
: … { … }
CrossThreadWeakPersistent<ThreadedMessagingProxyBase>
DedicatedWorkerObjectProxy::MessagingProxyWeakPtr() { … }
}