<script>
    if (window.layoutTestController) {
        layoutTestController.dumpAsText();
        layoutTestController.waitUntilDone();
    }

    function test()
    {
        var t = document.getElementById('t');
        document.body.offsetTop;
        t.style.display='none';
        t.src='about:blank';
        t.contentDocument.body.offsetTop;
        if (window.layoutTestController) {
            layoutTestController.notifyDone();
        }
    }
</script>
<body onload="test()">
    <p>
        This is a test for <i><a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=9862">http://bugzilla.opendarwin.org/show_bug.cgi?id=9862</a>
        REGRESSION: GMail: Crash in RenderView::repaintViewRectangle when spoofing as FF</i>.
    </p>
    <p>
        No crash means test PASS.
    </p>
    <iframe id="t"></iframe>
</body>
