dialog-cancel-preventDefault.html (1378B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>Test cancel event with preventDefault on cancel event for dialog element</title> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="/resources/testdriver.js"></script> 8 <script src="/resources/testdriver-vendor.js"></script> 9 <script src="/common/top-layer.js"></script> 10 <script src="/close-watcher/resources/helpers.js"></script> 11 <link rel="help" href="https://bugs.webkit.org/show_bug.cgi?id=227534"> 12 <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1322947"> 13 </head> 14 <body> 15 <p>Test cancel event with preventDefault on cancel event for dialog element</p> 16 <dialog> 17 <p>Hello World</p> 18 </dialog> 19 <script type=module> 20 setup({ single_test: true }); 21 22 var hasCancelEventFired = false; 23 24 const dialog = document.querySelector("dialog"); 25 26 const verify = () => { 27 assert_true(hasCancelEventFired, "cancel is fired"); 28 done(); 29 }; 30 31 dialog.addEventListener("cancel", function(event) { 32 hasCancelEventFired = true; 33 event.preventDefault(); 34 step_timeout(function() { 35 verify(); 36 }, 0) 37 }); 38 39 dialog.addEventListener("close", function() { 40 assert_true(false, "close event should not be fired"); 41 }); 42 43 dialog.showModal(); 44 45 await blessTopLayer(dialog); 46 await sendCloseRequest(); 47 </script> 48 </body> 49 </html>