blob: e304ca25fe5be347d0b40e432c7c0fb8318e0dd2 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<div id="parent">
<canvas id="mycanvas" width="200" height="200"></canvas>
</div>
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
var data;
function runTest()
{
var parent = document.getElementById("parent");
var canvas = document.getElementById('mycanvas');
var ctx = canvas.getContext('2d');
ctx.fillStyle = 'red';
ctx.fillRect(0, 0, 200, 200);
var imageData;
imageData = ctx.getImageData(100, 100, 1, 1);
data = imageData.data;
shouldBe('data[0]', '255');
shouldBe('data[1]', '0');
shouldBe('data[2]', '0');
parent.removeChild(canvas);
// GC makes sure canvas element is removed.
if (window.GCController)
GCController.collect();
imageData = ctx.getImageData(100, 100, 1, 1);
data = imageData.data;
// The context is valid although the canvas is detached from document.
shouldBe('data[0]', '255');
shouldBe('data[1]', '0');
shouldBe('data[2]', '0');
if (window.testRunner)
testRunner.notifyDone();
}
runTest();
</script>
</body>
</html>