<!DOCTYPE html>
<html>

<head>
    <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
    <title>connect-src-eventsource-blocked</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src='../support/logTest.sub.js?logs=["Pass"]'></script>
    <script src="../support/alertAssert.sub.js?alerts=[]"></script>
    <!-- enforcing policy:
connect-src 'self'; script-src 'self' 'unsafe-inline';
-->
</head>

<body>
    <script>
        try {
            var es = new EventSource("http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream");
            // Firefox doesn't throw an exception and takes some time to close async
            if (es.readyState == EventSource.CONNECTING) {
                setTimeout( function() {
                    es.readyState != EventSource.CLOSED ? log("Fail") : log("Pass");
                }, 2);
            } else if (es.readyState == EventSource.CLOSED) {
                log("Pass");
            } else {
                log("Fail");
            }

        } catch (e) {
            log("Pass");
        }

    </script>
    <div id="log"></div>
    <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=connect-src%20&apos;self&apos;"></script>
</body>

</html>
