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

Side by Side Diff: third_party/WebKit/LayoutTests/shadow-dom/events-related-target-scoped.html

Issue 2030513002: Remove Event.relatedTargetScoped and update event path calculation for relatedTarget (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed Created 4 years, 6 months 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 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script>
4 <script src="resources/shadow-dom.js"></script>
5
6 <div id="log"></div>
7 <div id="sandbox">
8 <div id = "host">
9 <template>
10 <input id="target1"></input>
11 <input id="target2"></input>
12 <input id="target3"></input>
13 <input id="target4"></input>
14 <input id="target5"></input>
15 </template>
16 </div>
17 </div>
18
19 <script>
20
21 function moveMouseOver(element)
22 {
23 if (!window.eventSender || !window.internals)
24 return;
25
26 var x = element.offsetLeft + element.offsetWidth / 2;
27 var y;
28 if (element.hasChildNodes() || window.internals.shadowRoot(element))
29 y = element.offsetTop;
30 else
31 y = element.offsetTop + element.offsetHeight / 2;
32 eventSender.mouseMoveTo(x, y);
33 }
34
35 var sandbox = document.getElementById('sandbox');
36 convertTemplatesToShadowRootsWithin(sandbox);
37 var target1 = getNodeInComposedTree('host/target1');
38 var target2 = getNodeInComposedTree('host/target2');
39 var target3 = getNodeInComposedTree('host/target3');
40 var target4 = getNodeInComposedTree('host/target4');
41 var target5 = getNodeInComposedTree('host/target5');
42
43 async_test(function(t) {
44 target1.onfocus = function(e) {
45 t.step(function() {
46 assert_equals(e.relatedTarget, null);
47 assert_false(e.relatedTargetScoped);
48 t.done();
49 });
50 };
51 }, 'Trusted events should have relatedTargetScoped set to false by default.');
52
53 async_test(function(t) {
54 target3.onfocus = function(e) {
55 t.step(function() {
56 assert_equals(e.relatedTarget, target2);
57 assert_true(e.relatedTargetScoped);
58 t.done();
59 });
60 };
61 }, 'Trusted focus events with a related target should have relatedTargetScoped t rue.');
62
63 async_test(function(t) {
64 target1.onmouseenter = function(e) {
65 t.step(function() {
66 assert_equals(e.relatedTarget, null);
67 assert_false(e.relatedTargetScoped);
68 t.done();
69 });
70 };
71 }, 'Trusted mouse events without a related target should have relatedTargetScope d set to false.');
72
73 async_test(function(t) {
74 target3.onmouseenter = function(e) {
75 t.step(function() {
76 assert_equals(e.relatedTarget, target2);
77 assert_true(e.relatedTargetScoped);
78 t.done();
79 });
80 };
81 }, 'Trusted mouse events with a related target should have relatedTargetScoped t rue.');
82
83 async_test(function(t) {
84 target4.onfocus = function(e) {
85 t.step(function() {
86 assert_equals(e.relatedTarget, target5);
87 assert_false(e.relatedTargetScoped);
88 t.done();
89 });
90 };
91 }, 'Untrusted events should have relatedTargetScoped set to false by default.');
92
93 async_test(function(t) {
94 target5.onfocus = function(e) {
95 t.step(function() {
96 assert_equals(e.relatedTarget, target4);
97 assert_true(e.relatedTargetScoped);
98 t.done();
99 });
100 };
101 }, 'Trusted focus events with a related target should have relatedTargetScoped t rue.');
102
103 target1.focus();
104 target2.focus();
105 target3.focus();
106 moveMouseOver(target1);
107 moveMouseOver(target2);
108 moveMouseOver(target3);
109 var userFocus1 = new FocusEvent('focus', { relatedTarget: target5 });
110 target4.dispatchEvent(userFocus1);
111 var userFocus2 = new FocusEvent('focus', { relatedTarget: target4, relatedTarget Scoped: true });
112 target5.dispatchEvent(userFocus2);
113
114 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698