<!DOCTYPE html>
<html>

<head>
    <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
    <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; connect-src 'self';">
    <title>worker-eval-blocked</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src='../support/logTest.sub.js?logs=["eval blocked"]'></script>
    <script src='../support/alertAssert.sub.js?alerts=[]'></script>
</head>

<body>
    <p>This test loads a worker, delivered with its own policy.
    The eval() call in the worker should be forbidden by that
    policy.  No report should be generated because the worker
    policy does not set a report-uri (although this parent
    resource does).</p>
    <script>
        window.addEventListener('securitypolicyviolation', function(e) {
            log('Fail');
        });

        try {
            var worker = new Worker('/content-security-policy/script-src/support/worker-eval.js');
            worker.onmessage = function(event) {
                log(event.data);
            };
        } catch (e) {
            log(e);
        }

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

</html>
