<html>
<body>
<script>
if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
    testRunner.setCanOpenWindows();
    testRunner.overridePreference("WebKitAllowRunningInsecureContent", true);
}

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

</script>
<p>This test opens a HTTPS window that loads insecure data via EventSource.  We
should trigger a mixed content callback because the main frame in the window is
HTTPS but now has insecure data.</p>
<script>
window.open("https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-eventsource.html");
</script>
</body>
</html>
