<!DOCTYPE html>
<html>

<head>
    <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
    <title>worker-eval-blocked</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="../support/logTest.sub.js?logs=[]"></script>
    <script src='../support/alertAssert.sub.js?alerts=["eval blocked"]'></script>
    <!-- enforcing policy:
script-src 'self' 'unsafe-inline' 'self'; connect-src 'self';
-->
</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>
        try {
            var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-eval.js');
            worker.onmessage = function(event) {
                alert_assert(event.data);
            };
        } catch (e) {
            alert_assert(e);
        }

    </script>
    <div id="log"></div>
    <script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>

</html>
