diff options
Diffstat (limited to 'layout/base/tests/test_bug514127.html')
-rw-r--r-- | layout/base/tests/test_bug514127.html | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/layout/base/tests/test_bug514127.html b/layout/base/tests/test_bug514127.html new file mode 100644 index 000000000..a8ca40f59 --- /dev/null +++ b/layout/base/tests/test_bug514127.html @@ -0,0 +1,55 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=514127 +--> +<head> + <title>Test for Bug 514127</title> + <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> +</head> +<body onload="runTest();"> +<p><a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=514127">Mozilla Bug 514127</a></p> + +<!-- +iframe source is +<html><body style='background: rgb(0,0,255); width: 100px; height: 50100px;'></body></html> +--> +<iframe id="source" width="50" height="50" + src="data:text/html,%3Chtml%3E%3Cbody%20style%3D%27background%3A%20rgb%280%2C0%2C255%29%3B%20width%3A%20100px%3B%20height%3A%2050100px%3B%27%3E%3C%2Fbody%3E%3C%2Fhtml%3E"></iframe> + +<pre id="test"> +<script type="application/javascript"> + +/** Test for Bug 514127 **/ + +SimpleTest.waitForExplicitFinish(); + +function runTest() { + + var source = document.getElementById('source').contentWindow; + var canvasWidth = 50; + var canvasHeight = 50; + + rect = { left: 25, top: 50000, + width: canvasWidth, height: canvasHeight }; + var canvas = SpecialPowers.snapshotRect(source, rect, "transparent"); + var context = canvas.getContext("2d"); + + var data = context.getImageData(0, 0, canvasWidth, canvasHeight).data; + var failed = false; + for (var i = 0; i < data.length; i+=4) { + if (data[i] != 0 || data[i+1] != 0 || data[i+2] != 255 || data[i+3] != 255) { + failed = true; + break; + } + } + ok(!failed, "all pixels blue"); + + SimpleTest.finish(); +} + +</script> +</pre> +</body> +</html> |