<!DOCTYPE html>
<html>
<head>
<script src="http://localhost:8000/security/xssAuditor/resources/utilities.js"></script>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.dumpChildFramesAsText();
    testRunner.waitUntilDone();
    testRunner.setXSSAuditorEnabled(true);
}
function done()
{
    if (window.testRunner)
        testRunner.notifyDone();
}
window.onload = function()
{
    sendRequestFromIFrame("http://localhost:8000/security/xssAuditor/resources/echo-intertag.pl","test=/security/xssAuditor/xss-protection-parsing-01.html&valid-header=1&q=<script>alert(String.fromCharCode(0x58,0x53,0x53))<\/script>","POST", done);
};
</script>
</head>
<body>
</body>
</html>
