Bug 1867925 - Mark some storage-access-api tests as intermittent after wpt-sync....
[gecko.git] / layout / svg / crashtests / blob-merging-and-retained-display-list.html
blob56ca743dc91ed6a0c514af7466d8ef631ce2ece8
1 <!doctype html>
2 <html class="reftest-wait">
3 <script>
4 var r = 40;
5 var xmlns = "http://www.w3.org/2000/svg";
6 const raf = f => requestAnimationFrame(f);
7 function rect(x, y) {
8 var r = document.createElementNS (xmlns, "rect");
9 r.setAttribute("x", x);
10 r.setAttribute("y", y);
11 r.setAttribute("width", "100");
12 r.setAttribute("height", "100");
13 r.setAttribute("fill", "blue");
14 return r;
16 function f1() {
17 svg = document.getElementById("cnvs");
18 svg.appendChild(rect(0, 0));
19 svg.appendChild(rect(600, 0));
20 svg.appendChild(rect(600, 400));
21 svg.appendChild(rect(0, 400));
22 let a = rect(110, 110);
23 let b = rect(120, 120);
24 let c = rect(130, 130);
25 let d = rect(140, 140);
26 let a2 = rect(310, 140);
27 let b2 = rect(320, 130);
28 let c2 = rect(330, 120);
29 let d2 = rect(340, 110);
30 raf(() => {
31 svg.appendChild(a);
32 svg.appendChild(b);
33 svg.appendChild(c);
34 svg.appendChild(d);
35 raf(() => {
36 // the display list partial update will end up with these items before x,y,w,z
37 svg.appendChild(d2);
38 svg.appendChild(c2);
39 svg.appendChild(b2);
40 svg.appendChild(a2);
41 raf(() => {
42 // this forces all the items to be ordered and makes the new display list
43 // contain reorded items outside of the invalid area
44 let mix = rect(220, 220);
45 svg.insertBefore(mix, d2);
46 raf(() => { document.documentElement.className = "" });
52 function f() {
53 requestAnimationFrame(f1);
56 onload = f;
57 </script>
59 <body>
60 <svg width="700" height="600" id=cnvs>
62 </svg>