#include "third_party/blink/renderer/core/scheduler/dom_task_signal.h"
#include <utility>
#include "base/functional/callback.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_task_priority_change_event_init.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_task_signal_any_init.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_taskpriority_tasksignal.h"
#include "third_party/blink/renderer/core/dom/abort_signal_composition_manager.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/event_type_names.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/scheduler/task_priority_change_event.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/wtf/casting.h"
namespace blink {
namespace {
class RepeatingCallbackAlgorithm final : public DOMTaskSignal::Algorithm { … };
}
DOMTaskSignal* DOMTaskSignal::CreateFixedPriorityTaskSignal(
ScriptState* script_state,
const AtomicString& priority) { … }
DOMTaskSignal::DOMTaskSignal(ExecutionContext* context,
const AtomicString& priority,
SignalType signal_type)
: … { … }
DOMTaskSignal::DOMTaskSignal(
ScriptState* script_state,
const AtomicString& priority,
DOMTaskSignal* priority_source_signal,
const HeapVector<Member<AbortSignal>>& abort_source_signals)
: … { … }
DOMTaskSignal::~DOMTaskSignal() = default;
DOMTaskSignal* DOMTaskSignal::any(ScriptState* script_state,
HeapVector<Member<AbortSignal>> signals,
TaskSignalAnyInit* init) { … }
AtomicString DOMTaskSignal::priority() { … }
DOMTaskSignal::AlgorithmHandle* DOMTaskSignal::AddPriorityChangeAlgorithm(
base::RepeatingClosure algorithm) { … }
void DOMTaskSignal::SignalPriorityChange(const AtomicString& priority,
ExceptionState& exception_state) { … }
void DOMTaskSignal::Trace(Visitor* visitor) const { … }
bool DOMTaskSignal::HasFixedPriority() const { … }
void DOMTaskSignal::DetachFromController() { … }
AbortSignalCompositionManager* DOMTaskSignal::GetCompositionManager(
AbortSignalCompositionType composition_type) { … }
void DOMTaskSignal::OnSignalSettled(
AbortSignalCompositionType composition_type) { … }
bool DOMTaskSignal::IsSettledFor(
AbortSignalCompositionType composition_type) const { … }
}