1 <!-- Test for https://bugs.webkit.org/show_bug.cgi?id=46319 -->
5 <canvas id=
"canvas" width=
"100" height=
"100"></canvas>
7 var canvas
= document
.getElementById('canvas');
8 var ctx
= canvas
.getContext('2d');
11 ctx
.fillStyle
= "rgb(255, 0, 0)"; ctx
.fillRect(0, 0, 100, 100); // red background
12 ctx
.fillStyle
= "rgb(0, 255, 0)"; ctx
.fillRect(10, 10, 10, 10); // inset green square
13 var imageDataGreen
= ctx
.getImageData(10, 10, 10, 10);
14 var imageDataRedWithInsetGreen
= ctx
.getImageData(0, 0, 30, 30);
16 // clear canvas to dark green
17 ctx
.fillStyle
= "rgb(0, 128, 0)";
18 ctx
.fillRect(0, 0, 100, 100);
20 // fill target locations with dark red
21 ctx
.fillStyle
= "rgb(128, 0, 0)";
22 ctx
.fillRect(0, 0, 10, 10);
23 ctx
.fillRect(40, 40, 10, 10);
24 ctx
.fillRect(80, 80, 10, 10);
26 // patch up red squares with putImageData
27 ctx
.putImageData(imageDataGreen
, 0, 0);
28 ctx
.putImageData(imageDataGreen
, 40, 40);
29 ctx
.putImageData(imageDataRedWithInsetGreen
, 70, 70, 10, 10, 10, 10);