diff options
Diffstat (limited to 'dom/base/test/test_reentrant_flush.html')
-rw-r--r-- | dom/base/test/test_reentrant_flush.html | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/dom/base/test/test_reentrant_flush.html b/dom/base/test/test_reentrant_flush.html new file mode 100644 index 000000000..fe1088526 --- /dev/null +++ b/dom/base/test/test_reentrant_flush.html @@ -0,0 +1,61 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=709256 +--> +<head> + <title>Test for Bug 709256</title> + <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=709256">Mozilla Bug 709256</a> +<p id="display"> +<iframe id="test" + style="width: 100px" src="data:text/html,<body style='width: 100%'>"> +</iframe> +</p> +<div id="content" style="display: none"> + +</div> +<pre id="test"> +<script type="application/javascript"> + +/** Test for Bug 709256 **/ +SimpleTest.waitForExplicitFinish(); +addLoadEvent(function() { + var ifr = $("test"); + var bod = ifr.contentDocument.body; + + is(bod.getBoundingClientRect().width, 100, + "Width of body should be 100px to start with"); + + var resizeHandlerRan = false; + + function handleResize() { + resizeHandlerRan = true; + is(bod.getBoundingClientRect().width, 50, + "Width of body should now be 50px"); + } + + var win = ifr.contentWindow; + + win.addEventListener("resize", handleResize, false); + SpecialPowers.setFullZoom(win, 2); + + is(resizeHandlerRan, false, + "Resize handler should not have run yet for this test to be valid"); + + // Now flush out layout on the subdocument, to trigger the resize handler + is(bod.getBoundingClientRect().width, 50, "Width of body should still be 50px"); + + is(resizeHandlerRan, true, "Resize handler should have run"); + + win.removeEventListener("resize", handleResize, false); + + SimpleTest.finish(); +}); +</script> +</pre> +</body> +</html> |