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

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 passive mixed content is allowed by default.</p>
<script>
window.open("https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-image.html");
</script>
</body>
</html>
