tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

task-controller-setPriority-delayed-task.any.js (955B)


      1 // META: title=Scheduler: Change Delayed Task Priority
      2 // META: global=window,worker
      3 'use strict';
      4 
      5 promise_test(t => {
      6  let taskCount = 0;
      7  const start = performance.now();
      8  const controller = new TaskController({priority: 'background'});
      9 
     10  const task1 = scheduler.postTask(() => {
     11    assert_equals(++taskCount, 1);
     12    controller.setPriority('user-blocking');
     13  }, {priority: 'user-blocking', delay: 10});
     14 
     15  const task2 = scheduler.postTask(() => {
     16    assert_equals(++taskCount, 2);
     17 
     18    const elapsed = performance.now() - start;
     19 
     20    if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){
     21      // Firefox returns the timings with different precision,
     22      // so we put 19 here.
     23      assert_greater_than_equal(elapsed, 19);
     24    } else {
     25      assert_greater_than_equal(elapsed, 20);
     26    }
     27  }, {signal: controller.signal, delay: 20});
     28 
     29  return Promise.all([task1, task2]);
     30 
     31 }, "Tests delay when changing a delayed task's priority");