navigate-form-requestSubmit.html (1051B)
1 <!doctype html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <form id="form" method="post" action=""> 5 <input type="submit" id="submit1"> 6 <input type="image" id="submit2"> 7 <button type="submit" id="submit3"> 8 </form> 9 <script> 10 promise_test(async () => { 11 await new Promise(r => window.onload = r); 12 13 let sourceElement; 14 navigation.onnavigate = e => { 15 e.preventDefault(); 16 sourceElement = e.sourceElement; 17 }; 18 19 form.requestSubmit(submit1); 20 await new Promise(r => navigation.onnavigateerror = r); 21 assert_equals(sourceElement, submit1); 22 23 form.requestSubmit(submit2); 24 await new Promise(r => navigation.onnavigateerror = r); 25 assert_equals(sourceElement, submit2); 26 27 form.requestSubmit(submit3); 28 await new Promise(r => navigation.onnavigateerror = r); 29 assert_equals(sourceElement, submit3); 30 31 form.requestSubmit(); 32 await new Promise(r => navigation.onnavigateerror = r); 33 assert_equals(sourceElement, form); 34 }, "<form> requestSubmit() sets sourceElement"); 35 </script>