<!DOCTYPE html> <html> <head> <script src="../../resources/js-test.js"></script> </head> <body onload="runTest()"> <p>Test to NOT restore form state to a form with autocomplete=off.</p> <div id="console"></div> <input id=emptyOnFirstVisit> <div id=parent> <form action="data:text/html,<script>history.back()</script>" id=form1 autocomplete=off> <input name=user id=input1> <textarea name=comment id=textarea1></textarea> <select name=os id=select1><option>Mac<option>Windows<option>BSD</select> </form> <form action="data:text/html,<script>history.back()</script>" id=form2> <input name=user id=input2> <textarea name=comment id=textarea2></textarea> <select name=os id=select2><option>Mac<option>Windows<option>BSD</select> </form> </div> <script> function runTest() { var parent = document.getElementById('parent'); var state = document.getElementById('emptyOnFirstVisit'); if (!state.value) { // First visit. if (window.testRunner) testRunner.waitUntilDone(); state.value = 'visited'; document.getElementById('input1').value = 'value1'; document.getElementById('textarea1').value = 'nice'; document.getElementById('select1').value = 'Windows'; document.getElementById('input2').value = 'value2'; document.getElementById('textarea2').value = 'good'; document.getElementById('select2').value = 'BSD'; // Submit form in a timeout to make sure that we create a new back/forward list item. setTimeout(function() {document.getElementById('form2').submit();}, 0); } else { // Second visit. debug('Controls in the first form should have their default values:'); shouldBe('document.getElementById("input1").value', '""'); shouldBe('document.getElementById("textarea1").value', '""'); shouldBe('document.getElementById("select1").value', '"Mac"'); debug('Controls in the second form should have edited values:'); shouldBe('document.getElementById("input2").value', '"value2"'); shouldBe('document.getElementById("textarea2").value', '"good"'); shouldBe('document.getElementById("select2").value', '"BSD"'); if (window.testRunner) testRunner.notifyDone(); } } </script> </body>