summaryrefslogtreecommitdiffstats
path: root/layout/reftests/transform/partial-prerender-expansion-with-resolution-2.html
blob: 9822296102cc854842de5165e7491fb56cb35d18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<!DOCTYPE html>
<html class="reftest-wait reftest-no-flush" reftest-resolution="0.5">
<meta name="viewport" content="width=device-width,minimum-scale=0.5,initial-scale=1">
<!--
  A variant of partial-prerender-expansion-with-resolution-2.html, a partial
  pre-rendered transform animation in an iframe with <1.0 resolution.
  -->
<style>
html {
  scrollbar-width: none;
}
body {
  margin: 0px;
  padding: 0px;
}
</style>
<iframe style="width:1600px; height:2000px; border: 0"
        srcdoc="<!DOCTYPE HTML>
                <html>
                <style>
                html {
                  scrollbar-width: none;
                }
                html, body {
                  margin: 0;
                  padding: 0;
                }

                @keyframes anim {
                  /* The reftest window size is (800x1000) and it's scaled by */
                  /* 0.5 (= 1600x2000), which means the partial pre-render    */
                  /* size is (2250x2250) so move to a position inside the     */
                  /* pre-render area and away from the pre-render right edge, */
                  /* translateX(-650px), so that we can avoid blurry edges in */
                  /* comparison with the reference.                           */
                  to { transform: translateX(-400px); }
                }
                #target {
                  width: 4000px;
                  height: 4000px;
                  position: absolute;
                  transform: translateX(0px);
                }
                </style>
                <div id='target'>
                  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4000 4000'>
                    <rect fill='green' x='0'    width='1600' height='4000'></rect>
                    <rect fill='blue'  x='1600' width='650'  height='4000'></rect>
                    <rect fill='red'   x='2250' width='1750' height='4000'></rect>
                  </svg>
                </div>
                <script>
                window.addEventListener('message', () => {
                  if (event.data == 'start') {
                    target.style.animation = 'anim 100s 1s step-start';
                    target.addEventListener('animationstart', () => {
                      parent.postMessage('animationstart', '*');
                    });
                  }
                });
                </script></html>">
</iframe>
<script>
document.addEventListener("MozReftestInvalidate", () => {
  document.querySelector("iframe").contentWindow.postMessage("start", "*");
}, { once: true });

window.addEventListener("message", event => {
  if (event.data == "animationstart") {
    document.documentElement.classList.remove('reftest-wait');
  }
});
</script>
</html>