// META: title=Scheduler: postTask with a signal and abort the signal when running the callback // META: global=window,worker 'use strict'; promise_test(t => { const controller = new TaskController(); const signal = controller.signal; return promise_rejects_dom(t, 'AbortError', scheduler.postTask(() => { controller.abort(); }, { signal })); }, 'Posting a task with a signal and abort the signal when running the sync callback'); promise_test(t => { const controller = new TaskController(); const signal = controller.signal; return scheduler.postTask(async () => { await new Promise(resolve => t.step_timeout(resolve, 0)); controller.abort(); }, { signal }); }, 'Posting a task with a signal and abort the signal when running the async callback');