<html>
<head>
    <script>
        var secretness = 0;

        function test() {
            if (window.testRunner) {
                testRunner.dumpAsText();
                testRunner.waitUntilDone();
            }

            var localScriptLocation = "file:///tmp/web_tests/http/tests/security/resources/localScript.js";
            if (window.testRunner)
                localScriptLocation = testRunner.pathToLocalResource(localScriptLocation);

            var localScriptElement = document.createElement("script");
            localScriptElement.setAttribute("src", localScriptLocation);
            localScriptElement.addEventListener("load", function() {
                var tag = document.getElementById("result");
                if (secretness == 13)
                    tag.innerHTML = "Test Failed. Local script loaded and run.";
                else
                    tag.innerHTML = "Test Failed. Local script loaded, but not successfully run.";
                if (window.testRunner)
                    testRunner.notifyDone();
            });

            localScriptElement.addEventListener("error", function() {
                var tag = document.getElementById("result");
                tag.innerHTML = "Test Passed: Local script not loaded.";
                if (window.testRunner)
                    testRunner.notifyDone();
            });

            document.body.appendChild(localScriptElement)
        }
    </script>
</head>
<body onload="test()">
    <div id="div0">
        This test is to see if a remote file can run a local script.
        <br/>
        Currently this test cannot be run manually on Windows because we do not have
        a function like pathToLocalResource() outside of DRT.
        <br/>
    </div>
    <br>
    <div id="result">
        Test not run correctly.
    </div>
</body>
</html>
