<html>
<head>
<script>
if (window.testRunner) {
    window.testRunner.dumpAsText();
    window.testRunner.dumpChildFramesAsText();
    testRunner.waitUntilDone();
    window.testRunner.addUserScript("document.getElementById('thinger').style.display = 'none';",
                                              false, true);
}
</script>
</head>
<body>
If any thingers appear on this page, the test has failed.
<Div id="thinger">thinger</div>
<iframe src="resources/frame1.html"></iframe>
</body>
</html>
