1 <!-- Test for https://bugs.webkit.org/show_bug.cgi?id=46319 -->
3 <script src="resources/text-based-repaint.js"></script>
6 <canvas id="canvas" width="100" height="100"></canvas>
8 var canvas = document.getElementById('canvas');
9 var ctx = canvas.getContext('2d');
12 ctx.fillStyle = "rgb(255, 0, 0)"; ctx.fillRect(0, 0, 100, 100); // red background
13 ctx.fillStyle = "rgb(0, 255, 0)"; ctx.fillRect(10, 10, 10, 10); // inset green square
14 var imageDataGreen = ctx.getImageData(10, 10, 10, 10);
15 var imageDataRedWithInsetGreen = ctx.getImageData(0, 0, 30, 30);
17 // clear canvas to dark green
18 ctx.fillStyle = "rgb(0, 128, 0)";
19 ctx.fillRect(0, 0, 100, 100);
21 // fill target locations with dark red
22 ctx.fillStyle = "rgb(128, 0, 0)";
23 ctx.fillRect(0, 0, 10, 10);
24 ctx.fillRect(40, 40, 10, 10);
25 ctx.fillRect(80, 80, 10, 10);
27 function repaintTest()
29 // patch up red squares with putImageData
30 ctx.putImageData(imageDataGreen, 0, 0);
31 ctx.putImageData(imageDataGreen, 40, 40);
32 ctx.putImageData(imageDataRedWithInsetGreen, 70, 70, 10, 10, 10, 10);
35 window.onload = runRepaintTest;