[iOS] getAssistedNodeInformation crashes getting the bounding box if it doesn't have...
[WebKit-https.git] / LayoutTests / fast / events / shadow-event-path.html
1 <!DOCTYPE html>
2 <html>
3 <body>
4 <p>This test records target and relatedTarget at each element while dispatching a mouse click event at an input element.</p>
5 <div id="detailsContainer"><details><summary><div id="divInsideSummary"><input id="target" type="text" size="10"></summary></div></detials></div>
6 <pre id="log"></pre>
7 <script>
8
9 if (window.testRunner)
10     testRunner.dumpAsText();
11
12 function targetIdentifier(target) {
13     if (target === undefined || target === null)
14         return target;
15     if (target === window)
16         return 'window';
17     if (target === document)
18         return 'document';
19     return target.localName + (target.id ? '#' + target.id : '');
20 }
21
22 function attachListeners(eventname) {
23     var targets = Array.prototype.slice.call(document.querySelectorAll('*'));
24     targets.push(window);
25     targets.push(document);
26     targets.forEach(function (target) {
27         target.addEventListener(eventname, function (event) {
28             log.textContent += eventname + '@' + targetIdentifier(target) + '\n'
29                 + '    target:' + targetIdentifier(event.target) + '\n'
30                 + '    relatedTarget:' + targetIdentifier(event.relatedTarget) + '\n\n';
31         });
32     });
33 }
34
35 var log = document.getElementById('log');
36 log.textContent = 'Content:' + detailsContainer.outerHTML + '\n\n';
37 var target = document.getElementById('target');
38
39 attachListeners('mousemove');
40 attachListeners('mousedown');
41 attachListeners('mouseover');
42 attachListeners('mouseout');
43 attachListeners('mouseenter');
44 attachListeners('mouseleave');
45 attachListeners('mouseup');
46 attachListeners('click');
47
48 function runTest() {
49     testRunner.waitUntilDone();
50     eventSender.mouseMoveTo(target.offsetLeft + target.offsetWidth / 2, target.offsetTop + target.offsetHeight / 2);
51     eventSender.mouseMoveTo(target.offsetLeft + target.offsetWidth + 100, target.offsetTop + target.offsetHeight / 2);
52     eventSender.mouseDown();
53     eventSender.mouseUp();
54     testRunner.notifyDone();
55 }
56
57 if (window.testRunner && !window.eventSender)
58     log.textContent += 'This test requires eventSender.';
59 else if (window.eventSender) {
60     window.onload = runTest;
61 }
62
63 </script>
64 </body>
65 </html>