<html>
<head>
<script>
function runTest()
{
    if (window.testRunner) {
        testRunner.dumpDOMAsWebArchive();
        testRunner.queueReload();
    }
}
</script>
</head>
<body onload="runTest()">
<div id="console"></div>
<script>
function print(message, color) 
{
    var paragraph = document.createElement("div");
    paragraph.appendChild(document.createTextNode(message));
    paragraph.style.fontFamily = "monospace";
    if (color)
        paragraph.style.color = color;
    document.getElementById("console").appendChild(paragraph);
}
</script>
<p>This test should have a green 'PASS' just above this line.  If it doesn't, you failed.
<link rel="subresource" onbeforeload="print('PASS','green');return false" href="resources/favicon.ico" type="image/x-icon">
</body>
</html>
