<!DOCTYPE html> <meta charset=utf-8> <title>Event.defaultPrevented is not reset after dispatchEvent()</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> </head> <body> <div id=log></div> <input id="target" type="hidden" value=""/> <script> test(function() { var EVENT = "foo"; var TARGET = document.getElementById("target"); var evt = document.createEvent("Event"); evt.initEvent(EVENT, true, true); TARGET.addEventListener(EVENT, this.step_func(function(e) { e.preventDefault(); assert_true(e.defaultPrevented, "during dispatch"); }), true); TARGET.dispatchEvent(evt); assert_true(evt.defaultPrevented, "after dispatch"); assert_equals(evt.target, TARGET); assert_equals(evt.srcElement, TARGET); }, "Default prevention via preventDefault"); test(function() { var EVENT = "foo"; var TARGET = document.getElementById("target"); var evt = document.createEvent("Event"); evt.initEvent(EVENT, true, true); TARGET.addEventListener(EVENT, this.step_func(function(e) { e.returnValue = false; assert_true(e.defaultPrevented, "during dispatch"); }), true); TARGET.dispatchEvent(evt); assert_true(evt.defaultPrevented, "after dispatch"); assert_equals(evt.target, TARGET); assert_equals(evt.srcElement, TARGET); }, "Default prevention via returnValue"); </script>