task-controller-setPriority2.any.js (706B)
1 // META: title=Scheduler: TaskController.setPriority and Task Order 2 // META: global=window,worker 3 'use strict'; 4 5 promise_test(async t => { 6 const tasks = []; 7 const runOrder = []; 8 const taskControllers = []; 9 10 for (let i = 0; i < 5; i++) { 11 taskControllers.push(new TaskController({priority: 'background'})); 12 const signal = taskControllers[i].signal; 13 tasks.push(scheduler.postTask(() => { runOrder.push(i); }, {signal})); 14 } 15 16 taskControllers[2].setPriority('user-blocking'); 17 assert_equals(taskControllers[2].signal.priority, 'user-blocking'); 18 19 await Promise.all(tasks); 20 21 assert_equals(runOrder.toString(), '2,0,1,3,4'); 22 }, 'Test TaskController.setPriority() affects task order.');