tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

dialog-cancel-events.html (1535B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>Test cancel event is fired when the dialog is closed by user close requests</title>
      4 <link rel="help" href="https://bugs.webkit.org/show_bug.cgi?id=227534">
      5 <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1322947">
      6 <script src="/resources/testharness.js"></script>
      7 <script src="/resources/testharnessreport.js"></script>
      8 <script src="/resources/testdriver.js"></script>
      9 <script src="/resources/testdriver-vendor.js"></script>
     10 <script src="/common/top-layer.js"></script>
     11 <script src="/close-watcher/resources/helpers.js"></script>
     12 
     13 <dialog>
     14  <p>Hello World</p>
     15 </dialog>
     16 
     17 <script type="module">
     18 setup({ single_test: true });
     19 
     20 const dialog = document.querySelector("dialog");
     21 const events = [];
     22 
     23 dialog.addEventListener("cancel", event => {
     24  assert_true(event.cancelable, "cancel event should be cancelable");
     25  assert_array_equals(events, []);
     26 
     27  events.push("addEventListener cancel");
     28 });
     29 
     30 assert_equals(dialog.oncancel, null);
     31 dialog.oncancel = () => {
     32  assert_array_equals(events, ["addEventListener cancel"]);
     33 
     34  events.push("oncancel");
     35 };
     36 
     37 dialog.addEventListener("close", () => {
     38  assert_array_equals(events, ["addEventListener cancel", "oncancel"]);
     39 
     40  events.push("addEventListener close");
     41 });
     42 
     43 assert_equals(dialog.onclose, null);
     44 dialog.onclose = () => {
     45  assert_array_equals(events, ["addEventListener cancel", "oncancel", "addEventListener close"]);
     46 
     47  done();
     48 };
     49 
     50 dialog.showModal();
     51 await blessTopLayer(dialog);
     52 await sendCloseRequest();
     53 </script>