tor-browser

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

no-raf-while-render-blocked.html (1293B)


      1 <!DOCTYPE html>
      2 <meta name="timeout" content="long">
      3 <html>
      4 <title>View transitions: rAF is not issued while render-blocked</title>
      5 <link rel="help" href="https://drafts.csswg.org/css-view-transitions-1/">
      6 <link rel="author" href="mailto:khushalsagar@chromium.org">
      7 
      8 <script src="/dom/events/scrolling/scroll_support.js"></script>
      9 <script src="/resources/testharness.js"></script>
     10 <script src="/resources/testharnessreport.js"></script>
     11 
     12 <style>
     13 div {
     14  width: 100px;
     15  height: 100px;
     16  background: blue;
     17  contain: paint;
     18  view-transition-name: target;
     19 }
     20 </style>
     21 
     22 <div id=target></div>
     23 
     24 <script>
     25 let renderBlocked = true;
     26 
     27 promise_test(async () => {
     28  assert_implements(document.startViewTransition, "Missing document.startViewTransition");
     29  await waitForCompositorReady();
     30  return new Promise(async (resolve, reject) => {
     31    requestAnimationFrame(() => {
     32      document.startViewTransition(() => {
     33        return new Promise(async (inner_resolve) => {
     34          step_timeout(() => {
     35            renderBlocked = false;
     36            inner_resolve();
     37          }, 1000);
     38        });
     39      });
     40 
     41      requestAnimationFrame(() => {
     42        if (renderBlocked)
     43          reject();
     44        else
     45          resolve();
     46      });
     47    });
     48  });
     49 }, "rAF is blocked until prepare callback");
     50 </script>