<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Security-Policy" content="connect-src 'self'; script-src 'self' 'unsafe-inline';">
    <title>connect-src-websocket-blocked</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src='../support/logTest.sub.js?logs=["allowed", "allowed"]'></script>
    <script src="../support/alertAssert.sub.js?alerts=[]"></script>
</head>

<body>
    <script>
        window.addEventListener('securitypolicyviolation', function(e) {
            log("violated-directive=" + e.violatedDirective);
        });

        try {
            var ws = new WebSocket("ws://{{host}}:{{location[port]}}/echo");

            if (ws.readyState == WebSocket.CLOSING || ws.readyState == WebSocket.CLOSED) {
                log("blocked");
            } else {
                log("allowed");
            }
        } catch (e) {
            log("blocked");
        }

        try {
            var wss = new WebSocket("wss://{{host}}:{{location[port]}}/echo");

            if (wss.readyState == WebSocket.CLOSING || wss.readyState == WebSocket.CLOSED) {
                log("blocked");
            } else {
                log("allowed");
            }
        } catch (e) {
            log("blocked");
        }

    </script>
    <div id="log"></div>
</body>

</html>
