<head>
    <title></title>
    <script>
        if (window.layoutTestController)
            layoutTestController.waitUntilDone();

        function test()
        {
            document.getElementById("topCell").style.display = "none";
            document.getElementById("bottomCell").style.backgroundImage="url(../replaced/resources/1x1-green.png)";
            document.getElementById("result").innerText = "SUCCESS"
            if (window.layoutTestController)
                layoutTestController.notifyDone();
        }
    </script>
</head>
<body>
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=13774">http://bugs.webkit.org/show_bug.cgi?id=13774</a>
        REGRESSION: Crash emailing blog entry using Google Reader</i>.
    </p>
    <p id="result">
        FAIL (test did not complete)
    </p>
    <img src="../replaced/resources/1x1-green.png" onload="test()">
    <table style="border-collapse: collapse;">
        <tbody>
            <tr>
                <td id="topCell"></td>
            </tr>
            <tr>
                <td id="bottomCell"></td>
            </tr>
        </tbody>
    </table>
</body>
