tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

connect-src-websocket-blocked.sub.html (1425B)


      1 <!DOCTYPE html>
      2 <html>
      3 
      4 <head>
      5    <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncraciws.-->
      6    <meta http-equiv="Content-Security-Policy" content="connect-src 'self'; script-src 'self' 'unsafe-inline';">
      7    <title>connect-src-websocket-blocked</title>
      8    <script src="/resources/testharness.js"></script>
      9    <script src="/resources/testharnessreport.js"></script>
     10    <script src='../support/logTest.sub.js?logs=["blocked","violated-directive=connect-src"]'></script>
     11    <script src="../support/alertAssert.sub.js?alerts=[]"></script>
     12 </head>
     13 
     14 <body>
     15    <script>
     16        window.addEventListener('securitypolicyviolation', function(e) {
     17            log("violated-directive=" + e.violatedDirective);
     18        });
     19 
     20        try {
     21            var ws = new WebSocket("ws://{{domains[www1]}}:{{ports[ws][0]}}/echo");
     22 
     23            // Not all browsers fail the connection in a synchronous fashion.
     24            if (ws.readyState == WebSocket.CONNECTING) {
     25                setTimeout( function() {
     26                    ws.readyState != WebSocket.CLOSED ? log("allowed") : log("blocked");
     27                }, 1000);
     28            } else if (ws.readyState == WebSocket.CLOSED) {
     29                log("blocked");
     30            } else {
     31                log("allowed");
     32            }
     33        } catch (e) {
     34            log("blocked");
     35        }
     36 
     37    </script>
     38    <div id="log"></div>
     39 </body>
     40 
     41 </html>