tor-browser

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

Event-defaultPrevented-after-dispatch.html (1434B)


      1 <!DOCTYPE html>
      2 <meta charset=utf-8>
      3 <title>Event.defaultPrevented is not reset after dispatchEvent()</title>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 </head>
      7 <body>
      8 <div id=log></div>
      9 <input id="target" type="hidden" value=""/>
     10 <script>
     11 test(function() {
     12    var EVENT = "foo";
     13    var TARGET = document.getElementById("target");
     14    var evt = document.createEvent("Event");
     15    evt.initEvent(EVENT, true, true);
     16 
     17    TARGET.addEventListener(EVENT, this.step_func(function(e) {
     18        e.preventDefault();
     19        assert_true(e.defaultPrevented, "during dispatch");
     20    }), true);
     21    TARGET.dispatchEvent(evt);
     22 
     23    assert_true(evt.defaultPrevented, "after dispatch");
     24    assert_equals(evt.target, TARGET);
     25    assert_equals(evt.srcElement, TARGET);
     26 }, "Default prevention via preventDefault");
     27 
     28 test(function() {
     29    var EVENT = "foo";
     30    var TARGET = document.getElementById("target");
     31    var evt = document.createEvent("Event");
     32    evt.initEvent(EVENT, true, true);
     33 
     34    TARGET.addEventListener(EVENT, this.step_func(function(e) {
     35        e.returnValue = false;
     36        assert_true(e.defaultPrevented, "during dispatch");
     37    }), true);
     38    TARGET.dispatchEvent(evt);
     39 
     40    assert_true(evt.defaultPrevented, "after dispatch");
     41    assert_equals(evt.target, TARGET);
     42    assert_equals(evt.srcElement, TARGET);
     43 }, "Default prevention via returnValue");
     44 </script>