Bug 1935611 - Fix libyuv/libpng link failed for loongarch64. r=glandium,tnikkel,ng
[gecko.git] / dom / canvas / test / test_drawSnapshot_fixed.html
blob968fe0e4e0f05eb2cde6a7283a231ba239ad32e8
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>Test for drawSnapshot</title>
6 <script src="/tests/SimpleTest/SimpleTest.js"></script>
7 <script src="/tests/SimpleTest/WindowSnapshot.js"></script>
8 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
9 <style>
10 html {
11 height: 2000px;
12 overflow: hidden;
14 header {
15 position: fixed;
16 background: red;
17 display: block;
18 left: 0;
19 right: 0;
20 top: 0;
21 height: 200px;
23 </style>
24 <script type="application/javascript">
25 function make_canvas() {
26 var canvas = document.createElement("canvas");
27 canvas.setAttribute("height", 2000);
28 canvas.setAttribute("width", 500);
29 return canvas;
32 SimpleTest.waitForExplicitFinish();
33 window.addEventListener("load", runTests);
35 window.scrollTo(0, 1000);
37 async function runTests(event) {
38 var testCanvas = make_canvas();
39 var testCx = testCanvas.getContext("2d");
40 var testWrapCx = SpecialPowers.wrap(testCx);
42 // Take a snapshot of the page while scrolled down, so that the fixed header will
43 // be visually in the middle of the root scroll frame, but should still be at the
44 // top of the snapshot (since snapshots with a rect are taken relative to the document).
45 var rect = new window.DOMRect(0, 0, 500, 2000);
46 let image = await SpecialPowers.snapshotContext(window, rect, "rgb(255, 255, 255)", true);
47 testWrapCx.drawImage(image, 0, 0);
49 var refCanvas = make_canvas();
50 var refCx = refCanvas.getContext("2d");
52 // Construct a reference image with an equivalent red square at the top.
53 refCx.fillStyle = "white";
54 refCx.fillRect(0, 0, 500, 2000);
55 refCx.fillStyle = "red";
56 refCx.fillRect(0, 0, 500, 200);
58 assertSnapshots(testCanvas, refCanvas, true, null, "position:fixed element with scrolling", "reference");
60 SimpleTest.finish();
63 </script>
64 </head>
65 <body>
66 <header></header>
67 </body>
68 </html>