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

Side by Side Diff: third_party/WebKit/LayoutTests/imported/web-platform-tests/dom/events/Event-dispatch-target-moved.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 moved </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 var table_row = document.getElementById("table-row");
54 table_row.appendChild(parent.removeChild(target));
55 }
56
57 actual_targets.push(evt.currentTarget);
58 actual_phases.push(evt.eventPhase);
59 });
60
61 for (var i = 0; i < targets.length; i++) {
62 targets[i].addEventListener(event_type, test_event, true);
63 targets[i].addEventListener(event_type, test_event, false);
64 }
65
66 var evt = document.createEvent("Event");
67 evt.initEvent(event_type, true, true);
68 target.dispatchEvent(evt);
69
70 assert_array_equals(actual_targets, expected_targets, "targets");
71 assert_array_equals(actual_phases, phases, "phases");
72 }, "Event propagation path when an element in it is moved within the DOM");
73 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698