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> 11test(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 28test(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> 45