<!DOCTYPE HTML>
<html>

<head>
    <title>Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.</title>
    <script src='/resources/testharness.js' nonce='dummy'></script>
    <script src='/resources/testharnessreport.js' nonce='dummy'></script>

    <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' -->
</head>

<body>
    <h1>Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.</h1>
    <div id='log'></div>
    <a id='javascriptUri' href='javascript:javascriptUriScriptRan = true;'></a>

    <script nonce='dummy'>
        var javascriptUriScriptRan = false;

        async_test(function(t) {
            window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) {
                assert_false(javascriptUriScriptRan);
                assert_equals(e.effectiveDirective, 'script-src-elem');
            }));

            document.getElementById('javascriptUri').click();
            assert_false(javascriptUriScriptRan);
        }, "Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.");
    </script>
</body>

</html>
