<!--
    This file is modified for Cobalt. The event handlers are set in script
    instead of in tag attribute.
-->
<!DOCTYPE html>
<html>

<head>
    <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
    <title>default-src-inline-allowed</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=["PASS 1 of 2","PASS 2 of 2"]'></script>
    <!-- enforcing policy:
default-src 'self' about: 'unsafe-inline'; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
</head>
<body>
    <script>
        document.body.onload = function() {
            alert_assert('PASS 2 of 2');
        }
        alert_assert('PASS 1 of 2');

    </script>
    <!--iframe src="javascript:alert_assert(&apos;PASS 2 of 3&apos;)"></iframe-->
    <div id="log"></div>
    <script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>

</html>
