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

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

</script>
<p>This test opens a window that shows a form with "action" pointing to an
insecure location. We should not trigger a mixed content callback even though
the main frame in the window is HTTPS and the form is pointing to insecure
content, because we've set the preference to block this.</p>
<script>
window.open("https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-formSubmission.html");
</script>
</body>
</html>
