OLD | NEW |
---|---|
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="../../../resources/js-test.js"></script> | 4 <script src="../../../resources/js-test.js"></script> |
5 <script src="resources/shadow-dom.js"></script> | 5 <script src="resources/shadow-dom.js"></script> |
6 </head> | 6 </head> |
7 <body> | 7 <body> |
8 <p id="description"></p> | 8 <p id="description"></p> |
9 <div id="sandbox"></div> | 9 <div id="sandbox"></div> |
10 <pre id="console"></pre> | 10 <pre id="console"></pre> |
11 <script> | 11 <script> |
12 description("Tests to ensure that some kinds of events are stopeed at shadow bou ndary."); | 12 description("Tests to ensure that all kinds of events are not stopeed at shadow boundary if created by users."); |
13 | 13 |
14 var eventRecords = {}; | 14 var eventRecords = {}; |
15 | 15 |
16 function dispatchedEvent(eventType) | 16 function dispatchedEvent(eventType) |
17 { | 17 { |
18 var events = eventRecords[eventType]; | 18 var events = eventRecords[eventType]; |
19 if (!events) | 19 if (!events) |
20 return []; | 20 return []; |
21 return events; | 21 return events; |
22 } | 22 } |
(...skipping 19 matching lines...) Expand all Loading... | |
42 eventString += ' (target: ' + event.target.id + ')'; | 42 eventString += ' (target: ' + event.target.id + ')'; |
43 if (event.relatedTarget) | 43 if (event.relatedTarget) |
44 eventString += ' (related: ' + event.relatedTarget.id + ')'; | 44 eventString += ' (related: ' + event.relatedTarget.id + ')'; |
45 if (event.eventPhase == 1) | 45 if (event.eventPhase == 1) |
46 eventString += '(capturing phase)'; | 46 eventString += '(capturing phase)'; |
47 if (event.target && event.currentTarget && event.target.id == event.currentT arget.id) | 47 if (event.target && event.currentTarget && event.target.id == event.currentT arget.id) |
48 shouldBe("event.eventPhase", "2", true); | 48 shouldBe("event.eventPhase", "2", true); |
49 eventRecords[eventType].push(eventString); | 49 eventRecords[eventType].push(eventString); |
50 } | 50 } |
51 | 51 |
52 debug('Other events than "click" should be stopped at shadow boundary. A "click " is added for the purpose of comparing results.'); | 52 debug('None of the events should be stopped at a Shadow boundary if created by u sers.'); |
53 | 53 |
54 var events = ['abort', 'select', 'change', 'reset', 'resize', 'scroll', 'selects tart', 'load', 'error', 'click']; | 54 var events = ['abort', 'select', 'change', 'reset', 'resize', 'scroll', 'selects tart', 'load', 'click']; |
kochi
2016/01/27 06:02:16
For the record, the 'error' event bubbles up out o
| |
55 | 55 |
56 function addEventListeners(nodes) | 56 function addEventListeners(nodes) |
57 { | 57 { |
58 for (var i = 0; i < nodes.length; ++i) { | 58 for (var i = 0; i < nodes.length; ++i) { |
59 var node = getNodeInTreeOfTrees(nodes[i]); | 59 var node = getNodeInTreeOfTrees(nodes[i]); |
60 for (var j = 0; j < events.length; ++j) | 60 for (var j = 0; j < events.length; ++j) |
61 node.addEventListener(events[j], recordEvent, false); | 61 node.addEventListener(events[j], recordEvent, false); |
62 } | 62 } |
63 } | 63 } |
64 | 64 |
65 function testEventsShoudBeStoppedAtShadowBoundary() | 65 function testEventsShouldNotBeStoppedAtShadowBoundary() |
66 { | 66 { |
67 var sandbox = document.getElementById('sandbox'); | 67 var sandbox = document.getElementById('sandbox'); |
68 sandbox.innerHTML = ''; | 68 sandbox.innerHTML = ''; |
69 sandbox.appendChild( | 69 sandbox.appendChild( |
70 createDOM('div', {'id': 'top'}, | 70 createDOM('div', {'id': 'top'}, |
71 createDOM('div', {'id': 'host'}, | 71 createDOM('div', {'id': 'host'}, |
72 createShadowRoot( | 72 createShadowRoot( |
73 createDOM('div', {'id': 'parent-of-target'}, | 73 createDOM('div', {'id': 'parent-of-target'}, |
74 createDOM('div', {'id': 'target'})), | 74 createDOM('div', {'id': 'target'})), |
75 createDOM('div', {'id': 'parent-of-content'}, | 75 createDOM('div', {'id': 'parent-of-content'}, |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
131 | 131 |
132 eventRecords = {}; | 132 eventRecords = {}; |
133 var event = document.createEvent('UIEvent'); | 133 var event = document.createEvent('UIEvent'); |
134 event.initEvent('selectstart', true, false); | 134 event.initEvent('selectstart', true, false); |
135 getNodeInTreeOfTrees('shadow-host/target').dispatchEvent(event); | 135 getNodeInTreeOfTrees('shadow-host/target').dispatchEvent(event); |
136 dumpDispatchedEvent('selectstart'); | 136 dumpDispatchedEvent('selectstart'); |
137 } | 137 } |
138 | 138 |
139 function test() | 139 function test() |
140 { | 140 { |
141 testEventsShoudBeStoppedAtShadowBoundary() | 141 testEventsShouldNotBeStoppedAtShadowBoundary(); |
142 testEventsFiredOnDistributedNodesShouldNotBeStoppedAtShadowBoundary(); | 142 testEventsFiredOnDistributedNodesShouldNotBeStoppedAtShadowBoundary(); |
143 testEventsInMultipleShadowTrees(); | 143 testEventsInMultipleShadowTrees(); |
144 } | 144 } |
145 test(); | 145 test(); |
146 </script> | 146 </script> |
147 </body> | 147 </body> |
148 </html> | 148 </html> |
OLD | NEW |