54 lines
1.3 KiB
HTML
54 lines
1.3 KiB
HTML
<body>
|
|
<script src="../resources/magnitude-perf.js"></script>
|
|
<style>
|
|
.outer {
|
|
position: relative;
|
|
margin: 0.25px;
|
|
padding: 0.25px;
|
|
}
|
|
.inner {
|
|
width: 100px;
|
|
height: 100px;
|
|
background: red;
|
|
}
|
|
</style>
|
|
<div id="test"></div>
|
|
<script>
|
|
|
|
var innerElement, reportedPosition;
|
|
var testElement = document.getElementById('test');
|
|
|
|
function setupFunction(magnitude)
|
|
{
|
|
testElement.innerHTML = '';
|
|
var element, parent = testElement;
|
|
for (var i = 0; i < magnitude; i++) {
|
|
element = document.createElement('div');
|
|
element.className = 'outer';
|
|
parent.appendChild(element);
|
|
parent = element;
|
|
}
|
|
element = document.createElement('div');
|
|
element.className = 'inner';
|
|
parent.appendChild(element);
|
|
element.onmouseover = function(e) {
|
|
reportedPosition = e.offsetX + ', ' + e.offsetY;
|
|
};
|
|
innerElement = element;
|
|
}
|
|
|
|
function test(magnitude)
|
|
{
|
|
if (window.eventSender) {
|
|
var rect = innerElement.getBoundingClientRect();
|
|
eventSender.mouseMoveTo(0, 0);
|
|
eventSender.mouseMoveTo(rect.left, rect.top);
|
|
eventSender.mouseMoveTo(0, 0);
|
|
}
|
|
}
|
|
|
|
Magnitude.description("Tests that mouse event dispatch is linear with respect to the number of parent elements.");
|
|
Magnitude.run(setupFunction, test, Magnitude.LINEAR);
|
|
</script>
|
|
</body>
|