<!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' blob:; connect-src 'self';">    
    <title>blob-urls-match-blob</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src='../support/logTest.sub.js?logs=["PASS (1/1)"]'></script>
    <script src="../support/alertAssert.sub.js?alerts=[]"></script>
</head>

<body>
    <p>
        blob: URLs are same-origin with the page in which they were created, but match only if the blob: scheme is specified.
    </p>
    <script>
        window.addEventListener('securitypolicyviolation', function(e) {
            log("FAIL");
        });
    
        function pass() {
            log("PASS (1/1)");
        }
        var b = new Blob(['pass();'], {
            type: 'application/javascript'
        });
        var script = document.createElement('script');
        script.src = URL.createObjectURL(b);
        document.body.appendChild(script);

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

</html>
