<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 loads an insecure frame that tries to access geolocation.  Access to geolocation is blocked over insecure connections.</p>
<script>
onload = function() {
    window.open("http://127.0.0.1:8080/security/resources/geolocation-over-insecure-content.html");
}
</script>
</body>
</html>
