<p>
    Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=16490">http://bugs.webkit.org/show_bug.cgi?id=16490</a>
    ASSERT in ~FrameView while viewing/reloading WICD test case</i>.
</p>
<div>
    <iframe onload="test()" style="width: 100%;" src="resources/paused-event-dispatch-iframe.html"></iframe>
</div>
<div id="bottomBox" style="position: absolute; left: 0; top: 5000px; height: 10px; width: 10px;"></div>
<div style="height: 100px; width: 100px; overflow: auto;" id="overflow">
    <div style="height: 200px;" id="tallBox"></div>
</div>
<div id="result">FAIL</div>
<script>
    function overflowChanged()
    {
        document.getElementById("result").innerText = "PASS";
    }

    function test()
    {
        document.body.offsetTop;
        var bottomBox = document.getElementById("bottomBox");
        bottomBox.parentNode.removeChild(bottomBox);
        document.addEventListener("overflowchanged", overflowChanged, true, true);
    }

    function iframeResized()
    {
        document.body.appendChild(document.createElement("div"));
        if (window.layoutTestController) {
            layoutTestController.waitUntilDone();
            layoutTestController.dumpAsText();
        }
        setTimeout(finish, 0);
    }

    function finish()
    {
        document.getElementById("tallBox").style.height = "50px";
        if (window.layoutTestController)
            layoutTestController.notifyDone();
    }
</script>
