<!DOCTYPE html>
<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function log(msg) {
    var div = document.createElement("div");
    div.appendChild(document.createTextNode(msg));
    document.getElementById("console").appendChild(div);
}

function go() {
    frames[0].frames[0].location.assign("target-for-location.html");
}

window.addEventListener("message", function(e) {
    log(e.data);

    if (window.testRunner)
        testRunner.notifyDone();
}, false);
</script>
</head>
<body>
<div id="console"></div>
<iframe src="resources/middle-frame-for-location.html">
</body>
</html>

