<body>
<script>
function log(message) {
    var item = document.createElement("li");
    item.appendChild(document.createTextNode(message));
    document.getElementById("console").appendChild(item);
}
function prefetch_onload() {
    log("SUCCESS!  prefetch onload called.");
    layoutTestController.notifyDone();
}
if (window.layoutTestController) {
    layoutTestController.waitUntilDone();
    layoutTestController.dumpAsText();
    layoutTestController.dumpResourceResponseMIMETypes();
}
</script>
<html>
<p>This test requires DumpRenderTree to see the log of what resources are loaded.
<link href="prefetch.link" rel="prefetch" onload="prefetch_onload()">
<p><ol id="console"></ol>
</html>

