| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| |
| <iframe></iframe> |
| |
| <script> |
| window.isSecondVisit = false; |
| const iframe = document.querySelector('iframe'); |
| let t = async_test('Test to NOT save sate for non-edited controls'); |
| t.step(() => { |
| iframe.src = 'resources/state-restore-to-non-edited-controls-frame.html'; |
| iframe.addEventListener('load', t.step_func(() => { |
| if (!isSecondVisit) { |
| isSecondVisit = true; |
| let doc = iframe.contentDocument; |
| doc.getElementById('text1').value = 'edit'; |
| doc.getElementById('text3').value = 'edit'; |
| // Submit form in a timeout to make sure that we create a new back/forward list item. |
| t.step_timeout(function() {doc.getElementById('form1').submit();}, 100); |
| } else if (iframe.contentDocument.URL.indexOf('blank') != -1) { |
| history.back(); |
| } else { |
| t.step_timeout(() => { |
| let doc = iframe.contentDocument |
| assert_equals(doc.getElementById('button').value, '2'); |
| assert_equals(doc.getElementById('hidden').value, '2'); |
| assert_equals(doc.getElementById('image').value, '2'); |
| assert_equals(doc.getElementById('reset').value, '2'); |
| assert_equals(doc.getElementById('submit1').value, '2'); |
| assert_equals(doc.getElementById('text0').value, '2'); |
| assert_equals(doc.getElementById('text1').value, 'edit', 'Non-initial value should be restored.'); |
| assert_equals(doc.getElementById('text2').value, '2'); |
| assert_equals(doc.getElementById('text3').value, 'z', 'User-edit value should be preserved.'); |
| assert_equals(doc.getElementById('textarea').value, '2'); |
| t.done(); |
| }, 1); |
| } |
| })); |
| }); |
| </script> |
| </body> |