<!DOCTYPE html>
<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 insecure HTML5 audio and video.  Although the
main frame in the window is HTTPS, and it is asked to display insecure content, we should
upgrade the insecure content to HTTPS and therefore not trigger a mixed content callback.</p>
<script>
onload = function() {
    window.open("https://127.0.0.1:8443/security/contentSecurityPolicy/upgrade-insecure-requests/resources/frame-with-insecure-audio-video.html");
}
</script>
</body>
</html>
