2 <script src="../resources/magnitude-perf.js"></script>
18 var innerElement, reportedPosition;
19 var testElement = document.getElementById('test');
21 function setupFunction(magnitude)
23 testElement.innerHTML = '';
24 var element, parent = testElement;
25 for (var i = 0; i < magnitude; i++) {
26 element = document.createElement('div');
27 element.className = 'outer';
28 parent.appendChild(element);
31 element = document.createElement('div');
32 element.className = 'inner';
33 parent.appendChild(element);
34 element.onmouseover = function(e) {
35 reportedPosition = e.offsetX + ', ' + e.offsetY;
37 innerElement = element;
40 function test(magnitude)
42 if (window.eventSender) {
43 var rect = innerElement.getBoundingClientRect();
44 eventSender.mouseMoveTo(0, 0);
45 eventSender.mouseMoveTo(rect.left, rect.top);
46 eventSender.mouseMoveTo(0, 0);
50 Magnitude.description("Tests that mouse event dispatch is linear with respect to the number of parent elements.");
51 Magnitude.run(setupFunction, test, Magnitude.LINEAR);