Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/events/Event-dispatch-target-removed.html

Issue 1529523002: Import dom/ from web-platform-tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tweak W3CImportExpectations Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <meta charset=utf-8>
3 <title>Determined event propagation path - target removed</title>
4 <link rel="help" href="https://dom.spec.whatwg.org/#concept-event-dispatch">
5 <script src="../../../../resources/testharness.js"></script>
6 <script src="../../../../resources/testharnessreport.js"></script>
7 <div id=log></div>
8 <table id="table" border="1" style="display: none">
9 <tbody id="table-body">
10 <tr id="table-row">
11 <td id="table-cell">Shady Grove</td>
12 <td>Aeolian</td>
13 </tr>
14 <tr id="parent">
15 <td id="target">Over the river, Charlie</td>
16 <td>Dorian</td>
17 </tr>
18 </tbody>
19 </table>
20 <script>
21 test(function() {
22 var event_type = "foo";
23 var target = document.getElementById("target");
24 var parent = document.getElementById("parent");
25 var tbody = document.getElementById("table-body");
26 var table = document.getElementById("table");
27 var body = document.body;
28 var html = document.documentElement;
29 var targets = [window, document, html, body, table, tbody, parent, target];
30 var expected_targets = targets.concat([target, parent, tbody, table, body, h tml, document, window]);
31 var phases = [
32 Event.CAPTURING_PHASE,
33 Event.CAPTURING_PHASE,
34 Event.CAPTURING_PHASE,
35 Event.CAPTURING_PHASE,
36 Event.CAPTURING_PHASE,
37 Event.CAPTURING_PHASE,
38 Event.CAPTURING_PHASE,
39 Event.AT_TARGET,
40 Event.AT_TARGET,
41 Event.BUBBLING_PHASE,
42 Event.BUBBLING_PHASE,
43 Event.BUBBLING_PHASE,
44 Event.BUBBLING_PHASE,
45 Event.BUBBLING_PHASE,
46 Event.BUBBLING_PHASE,
47 Event.BUBBLING_PHASE,
48 ];
49
50 var actual_targets = [], actual_phases = [];
51 var test_event = this.step_func(function(evt) {
52 if (parent === target.parentNode) {
53 parent.removeChild(target);
54 }
55
56 actual_targets.push(evt.currentTarget);
57 actual_phases.push(evt.eventPhase);
58 });
59
60 for (var i = 0; i < targets.length; i++) {
61 targets[i].addEventListener(event_type, test_event, true);
62 targets[i].addEventListener(event_type, test_event, false);
63 }
64
65 var evt = document.createEvent("Event");
66 evt.initEvent(event_type, true, true);
67 target.dispatchEvent(evt);
68
69 assert_array_equals(actual_targets, expected_targets, "targets");
70 assert_array_equals(actual_phases, phases, "phases");
71 }, "Event propagation path when an element in it is removed from the DOM");
72 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698