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

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

Issue 1817453002: Implement Event.relatedTargetScoped (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unnecessary changes Created 4 years, 9 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="../fast/dom/shadow/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 </template>
15 </div>
16 </div>
17
18 <script>
19
20 function moveMouseOver(element)
21 {
22 if (!window.eventSender || !window.internals)
23 return;
24
25 var defaultPaddingSize = 20;
26 var x = element.offsetLeft + element.offsetWidth / 2;
27 var y;
28 if (element.hasChildNodes() || window.internals.shadowRoot(element))
29 y = element.offsetTop + defaultPaddingSize;
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
42 async_test(function(t) {
43 target1.onfocus = function(e) {
44 t.step(function() {
45 assert_equals(e.relatedTarget, null);
46 assert_false(e.relatedTargetScoped);
47 t.done();
48 });
49 };
50 target1.focus();
51 }, 'Trusted events should have relatedTargetScoped set to false by default.');
52
53 async_test(function(t) {
hayato 2016/03/18 06:26:52 It looks that this test is assuming that target1 i
yuzuchan 2016/03/18 07:20:15 Thanks for the comment, done.
54 target2.onfocus = function(e) {
55 t.step(function() {
56 assert_equals(e.relatedTarget, target1);
57 assert_true(e.relatedTargetScoped);
58 t.done();
59 });
60 };
61 target2.focus();
62 }, 'Trusted focus events with a related target should have relatedTargetScoped t rue.');
63
64 async_test(function(t) {
65 target1.onmouseenter = function(e) {
66 t.step(function() {
67 assert_equals(e.relatedTarget, null);
68 assert_false(e.relatedTargetScoped);
69 t.done();
70 });
71 };
72 moveMouseOver(target1);
73 }, 'Trusted mouse events without a related target should have relatedTargetScope d set to false.');
74
75 async_test(function(t) {
76 target2.onmouseenter = function(e) {
77 t.step(function() {
78 assert_equals(e.relatedTarget, target1);
79 assert_true(e.relatedTargetScoped);
80 t.done();
81 });
82 };
83 moveMouseOver(target2);
84 }, 'Trusted mouse events with a related target should have relatedTargetScoped t rue.');
85
86 async_test(function(t) {
87 var userFocus1 = new FocusEvent('focus', { relatedTarget: target4 });
88 target3.onfocus = function(e) {
89 t.step(function() {
90 assert_equals(e.relatedTarget, target4);
91 assert_false(e.relatedTargetScoped);
92 t.done();
93 });
94 };
95 target3.dispatchEvent(userFocus1);
96 }, 'Untrusted events should have relatedTargetScoped set to false by default.');
97
98 async_test(function(t) {
99 var userFocus2 = new FocusEvent('focus', { relatedTarget: target3, relatedTa rgetScoped: true });
100 target4.onfocus = function(e) {
101 t.step(function() {
102 assert_equals(e.relatedTarget, target3);
103 assert_true(e.relatedTargetScoped);
104 t.done();
105 });
106 };
107 target4.dispatchEvent(userFocus2);
108 }, 'Trusted focus events with a related target should have relatedTargetScoped t rue.');
109
110 </script>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/events/Event.h » ('j') | third_party/WebKit/Source/core/events/Event.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698