tor-browser

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

partial-prerender-expansion-with-resolution-1.html (1787B)


      1 <!DOCTYPE html>
      2 <html class="reftest-wait reftest-no-flush" reftest-resolution="0.5">
      3 <meta name="viewport" content="width=device-width,minimum-scale=0.5,initial-scale=1">
      4 <!--
      5  A test for a partial pre-rendered transform animation with <1.0 resolution.
      6  -->
      7 <style>
      8 html {
      9  scrollbar-width: none;
     10 }
     11 body {
     12  margin: 0px;
     13  padding: 0px;
     14 }
     15 @keyframes anim {
     16  /* The reftest window size is (800x1000) and it's scaled by 0.5             */
     17  /* (= 1600x2000), which means the partial pre-render size is (2250x2250) so */
     18  /* move to a position inside the pre-render area and away from the          */
     19  /* pre-render right edge, translateX(-650px), so that we can avoid blurry   */
     20  /* edges in comparison with the reference.                                  */
     21  to { transform: translateX(-400px); }
     22 }
     23 #target {
     24  width: 4000px;
     25  height: 4000px;
     26  position: absolute;
     27  transform: translateX(0px);
     28 }
     29 </style>
     30 <div id="target">
     31  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4000 4000">
     32    <rect fill="green" x="0"    width="1600" height="4000"></rect>
     33    <rect fill="blue"  x="1600" width="650"  height="4000"></rect>
     34    <rect fill="red"   x="2250" width="1750" height="4000"></rect>
     35  </svg>
     36 </div>
     37 <script>
     38 document.addEventListener("MozReftestInvalidate", () => {
     39  target.style.animation = "anim 100s 1s step-start";
     40  target.addEventListener("animationstart", () => {
     41    // animationstart event is fired just before requestAnimationFrame callbacks,
     42    // so we need to wait two rAF to make sure the initial animation value is
     43    // composited on the compositor.
     44    requestAnimationFrame(() => {
     45      requestAnimationFrame(() => {
     46        document.documentElement.classList.remove("reftest-wait");
     47      });
     48    });
     49  });
     50 }, { once: true });
     51 </script>
     52 </html>