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

window.addEventListener("message", function (e) {
    if (window.testRunner)
        testRunner.notifyDone();
}, false);

</script>
<p>This test opens a window that loads an insecure image.  We should trigger a
mixed content callback because the main frame in the window is HTTPS but is
displaying insecure content.</p>
<script>
onload = function() {
    window.open("https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-image.html");
}
</script>
</body>
</html>
