<script>
if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpResourceResponseMIMETypes();
    testRunner.dumpAsText();
}
</script>
<img src="resources/png-with-text-content-type.cgi" onload="testRunner.notifyDone()">
