| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <body> | 2 <body> |
| 3 <script src="../../../resources/testharness.js"></script> | 3 <script src="../../../resources/testharness.js"></script> |
| 4 <script src="../../../resources/testharnessreport.js"></script> | 4 <script src="../../../resources/testharnessreport.js"></script> |
| 5 <form><input><input type=submit></form> | 5 <form><input><input type=submit></form> |
| 6 <input id="target2"> |
| 6 <script> | 7 <script> |
| 7 test(() => { | 8 test(() => { |
| 8 assert_exists(window, 'eventSender'); | 9 assert_exists(window, 'eventSender'); |
| 9 let form = document.querySelector('form'); | 10 let form = document.querySelector('form'); |
| 10 let text = document.querySelector('input'); | 11 let text = document.querySelector('input'); |
| 11 let submit = document.querySelectorAll('input')[1]; | 12 let submit = document.querySelectorAll('input')[1]; |
| 12 var lastChangeValue = ''; | 13 var lastChangeValue = ''; |
| 13 form.addEventListener('submit', (event) => { | 14 form.addEventListener('submit', (event) => { |
| 14 text.value = ''; | 15 text.value = ''; |
| 15 event.preventDefault(); | 16 event.preventDefault(); |
| 16 }); | 17 }); |
| 17 text.addEventListener('change', () => { lastChangeValue = text.value; }); | 18 text.addEventListener('change', () => { lastChangeValue = text.value; }); |
| 18 | 19 |
| 19 text.focus(); | 20 text.focus(); |
| 20 eventSender.keyDown('f'); | 21 eventSender.keyDown('f'); |
| 21 eventSender.keyDown('Enter'); // Trigger implicit submission | 22 eventSender.keyDown('Enter'); // Trigger implicit submission |
| 22 assert_equals(lastChangeValue, 'f'); | 23 assert_equals(lastChangeValue, 'f'); |
| 23 lastChangeValue = null; | 24 lastChangeValue = null; |
| 24 assert_equals(document.activeElement, text); | 25 assert_equals(document.activeElement, text); |
| 25 assert_equals(text.value, ''); | 26 assert_equals(text.value, ''); |
| 26 | 27 |
| 27 eventSender.keyDown('f'); | 28 eventSender.keyDown('f'); |
| 28 eventSender.keyDown('Enter'); // Trigger implicit submission again. | 29 eventSender.keyDown('Enter'); // Trigger implicit submission again. |
| 29 assert_equals(lastChangeValue, 'f', 'The second submission should trigger chan
ge event.'); | 30 assert_equals(lastChangeValue, 'f', 'The second submission should trigger chan
ge event.'); |
| 30 | 31 |
| 31 }, 'Clearing INPUT value in submit event handler should not prevent next change
event. crbug.com/695349'); | 32 }, 'Clearing INPUT value in submit event handler should not prevent next change
event. crbug.com/695349'); |
| 33 |
| 34 test(() => { |
| 35 assert_exists(window, 'eventSender'); |
| 36 let text = document.querySelector('#target2'); |
| 37 var lastChangeValue = ''; |
| 38 text.addEventListener('change', () => { lastChangeValue = text.value; text.val
ue = ''; }); |
| 39 |
| 40 text.focus(); |
| 41 eventSender.keyDown('f'); |
| 42 eventSender.keyDown('Enter'); // Trigger implicit submission |
| 43 assert_equals(lastChangeValue, 'f'); |
| 44 lastChangeValue = null; |
| 45 assert_equals(document.activeElement, text); |
| 46 assert_equals(text.value, ''); |
| 47 |
| 48 eventSender.keyDown('f'); |
| 49 eventSender.keyDown('Enter'); // Trigger implicit submission again. |
| 50 assert_equals(lastChangeValue, 'f', 'The second submission should trigger chan
ge event.'); |
| 51 |
| 52 }, 'Clearing INPUT value in change event handler triggered by implicit form subm
ission should not prevent next change event. crbug.com/700842'); |
| 32 </script> | 53 </script> |
| 33 </body> | 54 </body> |
| OLD | NEW |