summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/scheduling-apis.idl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/interfaces/scheduling-apis.idl')
-rw-r--r--testing/web-platform/tests/interfaces/scheduling-apis.idl63
1 files changed, 63 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/scheduling-apis.idl b/testing/web-platform/tests/interfaces/scheduling-apis.idl
new file mode 100644
index 0000000000..1e84e79cd1
--- /dev/null
+++ b/testing/web-platform/tests/interfaces/scheduling-apis.idl
@@ -0,0 +1,63 @@
+// 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 = {});
+};
+
+[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;
+};