Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / fast / events / resources / mouse-events-within-no-element-iframe.html
1 <!DOCTYPE html>
2 <script src="../../../resources/js-test.js"></script>
3 <style type="text/css">
4     html, body, .workspace {
5         height: 100%;
6     }
7     button {
8         cursor: pointer;
9         padding: 0px;
10         margin: 0px;
11     }
12     .minbox {
13         height: 30px;
14         width: 1px;
15     }
16 #div1, #div2 {
17     height: 80px;
18     border: 1px solid #aaaaaa;
19 }
20 </style>
21 <body>
22 <div class="workspace"></div>
23 <div class="minbox">
24     <div id="test">
25         <button>POINTER</button>
26     </div>
27 </div>
28 <p id="description"></p>
29 <div id="console"></div>
30 <script>
31     var div = document.getElementById("test");
32     var x = div.offsetLeft + 100;
33     var y = div.offsetTop - window.pageYOffset + 1;
34     var events = [];
35     var targets = [];
36
37     window.scrollTo(0, 200);
38     if (window.eventSender) {
39         function appendEventLog(e) {
40             events.push(e.type);
41             targets.push(e.currentTarget.nodeName);
42         }
43  
44         function runNextTest(eventType1, eventType2)
45         {
46             document.addEventListener(eventType1, appendEventLog);
47             document.body.addEventListener(eventType1, appendEventLog);
48             document.addEventListener(eventType2, appendEventLog);
49             document.body.addEventListener(eventType2, appendEventLog);
50             eventSender.mouseMoveTo(x, y);       // html element in iframe
51             eventSender.mouseMoveTo(x, y + 200); // out of iframe
52             eventSender.mouseMoveTo(x, y - 100); // body element in iframe
53             eventSender.mouseMoveTo(x, y + 200); // out of iframe
54             document.removeEventListener(eventType1, appendEventLog);
55             document.body.removeEventListener(eventType1, appendEventLog);
56             document.removeEventListener(eventType2, appendEventLog);
57             document.body.removeEventListener(eventType2, appendEventLog);
58         }
59         runNextTest('mousemove', '');
60         runNextTest('mouseover', '');
61         runNextTest('mouseout', '');
62         runNextTest('mouseenter', 'mouseleave');
63     }
64     var i = 0;
65     function verifyEventLog(eventType, target)
66     {
67         shouldBeEqualToString('events[' + i + ']', eventType);
68         shouldBeEqualToString('targets[' + i + ']', target);
69         i++;
70     }
71     verifyEventLog('mousemove', '#document'); // x, y
72     verifyEventLog('mousemove', 'BODY');      // x, y - 100
73     verifyEventLog('mousemove', '#document'); // x, y - 100
74     verifyEventLog('mouseover', '#document'); // x, y
75     verifyEventLog('mouseover', 'BODY');      // x, y - 100
76     verifyEventLog('mouseover', '#document'); // x, y - 100
77     verifyEventLog('mouseout', '#document');  // x, y
78     verifyEventLog('mouseout', 'BODY');       // x, y - 100
79     verifyEventLog('mouseout', '#document');  // x, y - 100
80     verifyEventLog('mouseenter', '#document');// x, y
81     verifyEventLog('mouseleave', '#document');// x, y
82     verifyEventLog('mouseenter', 'BODY');     // x, y - 100
83     verifyEventLog('mouseenter', '#document');// x, y - 100
84     verifyEventLog('mouseleave', 'BODY');     // x, y + 200
85     verifyEventLog('mouseleave', '#document');// x, y + 200
86 </script>
87 </body>