OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <html> |
| 3 <head> |
| 4 <title> Calling stopPropagation() prior to dispatchEvent() </title> |
| 5 <script src="../../../../resources/testharness.js"></script> |
| 6 <script src="../../../../resources/testharnessreport.js"></script> |
| 7 </head> |
| 8 <body> |
| 9 <div id=log></div> |
| 10 |
| 11 <table id="table" border="1" style="display: none"> |
| 12 <tbody id="table-body"> |
| 13 <tr id="table-row"> |
| 14 <td id="table-cell">Shady Grove</td> |
| 15 <td>Aeolian</td> |
| 16 </tr> |
| 17 <tr id="parent"> |
| 18 <td id="target">Over the river, Charlie</td> |
| 19 <td>Dorian</td> |
| 20 </tr> |
| 21 </tbody> |
| 22 </table> |
| 23 |
| 24 <script> |
| 25 test(function() { |
| 26 var event = "foo"; |
| 27 var target = document.getElementById("target"); |
| 28 var parent = document.getElementById("parent"); |
| 29 var tbody = document.getElementById("table-body"); |
| 30 var table = document.getElementById("table"); |
| 31 var body = document.body; |
| 32 var html = document.documentElement; |
| 33 var current_targets = [window, document, html, body, table, tbody, parent, t
arget]; |
| 34 var expected_targets = []; |
| 35 var actual_targets = []; |
| 36 var expected_phases = []; |
| 37 var actual_phases = []; |
| 38 |
| 39 var test_event = function(evt) { |
| 40 actual_targets.push(evt.currentTarget); |
| 41 actual_phases.push(evt.eventPhase); |
| 42 }; |
| 43 |
| 44 for (var i = 0; i < current_targets.length; ++i) { |
| 45 current_targets[i].addEventListener(event, test_event, true); |
| 46 current_targets[i].addEventListener(event, test_event, false); |
| 47 } |
| 48 |
| 49 var evt = document.createEvent("Event"); |
| 50 evt.initEvent(event, true, true); |
| 51 evt.stopPropagation(); |
| 52 target.dispatchEvent(evt); |
| 53 |
| 54 assert_array_equals(actual_targets, expected_targets, "actual_targets"); |
| 55 assert_array_equals(actual_phases, expected_phases, "actual_phases"); |
| 56 }); |
| 57 </script> |
| 58 </body> |
| 59 </html> |
OLD | NEW |