| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <input id=target type=text value=""> |
| <script> |
| description("An event's 'stop propagation', 'stop immediate propagation' and 'canceled' flags should be unset in initEvent"); |
| |
| window.jsTestIsAsync = true; |
| |
| var e = document.createEvent("Event"); |
| e.initEvent("foo", true, true); |
| |
| e.preventDefault(); |
| shouldBeTrue("e.defaultPrevented"); |
| e.stopPropagation(); |
| e.stopImmediatePropagation(); |
| |
| debug("Running e.initEvent again."); |
| e.initEvent("foo", true, true); |
| shouldBeFalse("e.defaultPrevented"); |
| |
| var target = document.getElementById("target"); |
| |
| target.addEventListener("foo", function (ev) { |
| // This function will run if the propagation flags were reset properly on |
| // the second call to initEvent. |
| finishJSTest(); |
| }, false); |
| |
| target.dispatchEvent(e); |
| |
| target.parentNode.removeChild(target); |
| |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |