// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: Prioritized Task Scheduling (https://wicg.github.io/scheduling-apis/)
enum TaskPriority {
"user-blocking",
"user-visible",
"background"
};
dictionary SchedulerPostTaskOptions {
AbortSignal signal;
TaskPriority priority;
[EnforceRange] unsigned long long delay = 0;
};
callback SchedulerPostTaskCallback = any ();
[Exposed=(Window, Worker)]
interface Scheduler {
Promise<any> postTask(SchedulerPostTaskCallback callback,
optional SchedulerPostTaskOptions options = {});
Promise<undefined> yield();
};
[Exposed=(Window, Worker)]
interface TaskPriorityChangeEvent : Event {
constructor(DOMString type, TaskPriorityChangeEventInit priorityChangeEventInitDict);
readonly attribute TaskPriority previousPriority;
};
dictionary TaskPriorityChangeEventInit : EventInit {
required TaskPriority previousPriority;
};
dictionary TaskControllerInit {
TaskPriority priority = "user-visible";
};
[Exposed=(Window,Worker)]
interface TaskController : AbortController {
constructor(optional TaskControllerInit init = {});
undefined setPriority(TaskPriority priority);
};
dictionary TaskSignalAnyInit {
(TaskPriority or TaskSignal) priority = "user-visible";
};
[Exposed=(Window, Worker)]
interface TaskSignal : AbortSignal {
[NewObject] static TaskSignal _any(sequence<AbortSignal> signals, optional TaskSignalAnyInit init = {});
readonly attribute TaskPriority priority;
attribute EventHandler onprioritychange;
};
partial interface mixin WindowOrWorkerGlobalScope {
[Replaceable] readonly attribute Scheduler scheduler;
};