<html>
<body>
<script>
if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
    testRunner.dumpFrameLoadCallbacks();
}

window.addEventListener("message", function (e) {
    if (e.data == "done")
        alert("should not have loaded insecure content");
    if (window.testRunner)
        testRunner.notifyDone();
}, false);

</script>
<p>This test opens a window that loads an insecure iframe (via a tricky
redirect).  We should trigger a mixed content callback because the main frame
in the window is HTTPS but is displaying content that can be controlled by an
active network attacker.</p>
<script>
onload = function() {
    window.open("https://127.0.0.1:8443/security/mixedContent/resources/frame-with-redirect-http-to-https-frame.html");
}
</script>
</body>
</html>
