tor-browser

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

web-animations-no-infinite-refresh.html (894B)


      1 <!doctype html>
      2 <script src=/resources/testharness.js></script>
      3 <script src=/resources/testharnessreport.js></script>
      4 <title>Test that a pending animation doesn't keep vsync running forever</title>
      5 <body>
      6 <script>
      7 function ensureVsyncDisabled() {
      8  let wu = SpecialPowers.wrap(window).windowUtils;
      9  return new Promise(resolve => {
     10    function check() {
     11      if (wu.refreshDriverHasPendingTick) {
     12        requestIdleCallback(check, {timeout:300});
     13      } else {
     14        resolve();
     15      }
     16    }
     17    check();
     18  })
     19 }
     20 
     21 promise_test(async function() {
     22  await ensureVsyncDisabled();
     23  let doc = new DOMParser().parseFromString("<div>", "text/html");
     24  let anim = doc.querySelector("div").animate(null);
     25  assert_true(anim.pending, "Animation should be pending");
     26  anim.timeline = document.timeline;
     27 
     28  await ensureVsyncDisabled();
     29  assert_true(true, "Vsync should be disabled");
     30 });
     31 </script>