| <body> |
| <p><a href="rdar://problem/7062824">rdar://problem/7062824</a> A wrong password entered for site or proxy auth remains in WebCore credential storage, and is sent with subsequent requests.</p> |
| <p>This test counts the number of failed requests server side.</p> |
| <div id = result>Testing... Please cancel all authentication dialogs.</div></br> |
| <div>Sync</div> |
| <button onclick="sendWithCredentials(false)">With credentials</button> |
| <button onclick="sendWithoutCredentials(false)">Without credentials</button> |
| <div>Async</div> |
| <button onclick="sendWithCredentials(true)">With credentials</button> |
| <button onclick="sendWithoutCredentials(true)">Without credentials</button> |
| <br> |
| <button onclick="status()">Status</button> |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone() |
| } |
| |
| function sendWithCredentials(next) |
| { |
| var xhr = new XMLHttpRequest; |
| xhr.open("GET", "resources/remember-bad-password/count-failures.php", next ? true : false, "foo", "bar"); |
| xhr.send(""); |
| if (next) { |
| xhr.onload = next; |
| xhr.onerror = next; |
| } |
| } |
| |
| function sendWithoutCredentials(next) |
| { |
| var xhr = new XMLHttpRequest; |
| xhr.open("GET", "resources/remember-bad-password/count-failures.php", next ? true : false); |
| xhr.send(""); |
| |
| if (next) { |
| xhr.onload = next; |
| xhr.onerror = next; |
| } |
| } |
| |
| function status() |
| { |
| var xhr = new XMLHttpRequest; |
| xhr.open("GET", "resources/remember-bad-password/count-failures.php?command=status", false); |
| xhr.send(""); |
| return xhr.responseText; |
| } |
| |
| function reset() |
| { |
| var xhr = new XMLHttpRequest; |
| xhr.open("GET", "resources/remember-bad-password/count-failures.php?command=reset", false); |
| xhr.send(""); |
| } |
| |
| reset(); |
| sendWithCredentials(); |
| sendWithoutCredentials(); |
| sendWithCredentials(function() { |
| sendWithoutCredentials(function() { |
| var s = status(); |
| document.getElementById("result").innerHTML = (s == 2 ? "PASS" : ("FAIL: " + s)); |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| })}); |
| </script> |
| </body> |