scheduling-apis.idl (1725B)
1 // GENERATED CONTENT - DO NOT EDIT 2 // Content was automatically extracted by Reffy into webref 3 // (https://github.com/w3c/webref) 4 // Source: Prioritized Task Scheduling (https://wicg.github.io/scheduling-apis/) 5 6 enum TaskPriority { 7 "user-blocking", 8 "user-visible", 9 "background" 10 }; 11 12 dictionary SchedulerPostTaskOptions { 13 AbortSignal signal; 14 TaskPriority priority; 15 [EnforceRange] unsigned long long delay = 0; 16 }; 17 18 callback SchedulerPostTaskCallback = any (); 19 20 [Exposed=(Window, Worker)] 21 interface Scheduler { 22 Promise<any> postTask(SchedulerPostTaskCallback callback, 23 optional SchedulerPostTaskOptions options = {}); 24 Promise<undefined> yield(); 25 }; 26 27 [Exposed=(Window, Worker)] 28 interface TaskPriorityChangeEvent : Event { 29 constructor(DOMString type, TaskPriorityChangeEventInit priorityChangeEventInitDict); 30 31 readonly attribute TaskPriority previousPriority; 32 }; 33 34 dictionary TaskPriorityChangeEventInit : EventInit { 35 required TaskPriority previousPriority; 36 }; 37 38 dictionary TaskControllerInit { 39 TaskPriority priority = "user-visible"; 40 }; 41 42 [Exposed=(Window,Worker)] 43 interface TaskController : AbortController { 44 constructor(optional TaskControllerInit init = {}); 45 46 undefined setPriority(TaskPriority priority); 47 }; 48 49 dictionary TaskSignalAnyInit { 50 (TaskPriority or TaskSignal) priority = "user-visible"; 51 }; 52 53 [Exposed=(Window, Worker)] 54 interface TaskSignal : AbortSignal { 55 [NewObject] static TaskSignal _any(sequence<AbortSignal> signals, optional TaskSignalAnyInit init = {}); 56 57 readonly attribute TaskPriority priority; 58 59 attribute EventHandler onprioritychange; 60 }; 61 62 partial interface mixin WindowOrWorkerGlobalScope { 63 [Replaceable] readonly attribute Scheduler scheduler; 64 };