128 lines
3.2 KiB
HTML
128 lines
3.2 KiB
HTML
<script src="../../resources/js-test-pre.js"></script>
|
|
<style>
|
|
#pusher {
|
|
width: 1000px;
|
|
height: 1000px;
|
|
outline: 1px solid black;
|
|
}
|
|
#subpixel-test {
|
|
width: 4.5px;
|
|
}
|
|
</style>
|
|
<div id="console"></div>
|
|
<div id="testArea">
|
|
<div id="pusher">This box is here to create scrollbars.</div>
|
|
<div id="subpixel-test"></div>
|
|
</div>
|
|
<script>
|
|
var r = document.getElementById('subpixel-test').getBoundingClientRect();
|
|
var hasSubpixelSupport = r.right - r.left == 4.5;
|
|
|
|
var event;
|
|
|
|
function sendClick()
|
|
{
|
|
if (window.eventSender) {
|
|
eventSender.mouseMoveTo(100, 100);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseUp();
|
|
}
|
|
}
|
|
|
|
function zoomPageIn()
|
|
{
|
|
if (window.eventSender) {
|
|
eventSender.zoomPageIn();
|
|
}
|
|
}
|
|
|
|
function zoomPageOut()
|
|
{
|
|
if (window.eventSender) {
|
|
eventSender.zoomPageOut();
|
|
}
|
|
}
|
|
|
|
function scrollPage(x, y)
|
|
{
|
|
window.scrollTo(x, y);
|
|
}
|
|
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
// Default.
|
|
function base(e)
|
|
{
|
|
event = e;
|
|
debug("Base");
|
|
shouldBe("event.clientX", "100");
|
|
shouldBe("event.clientY", "100");
|
|
shouldBe("event.pageX", "100");
|
|
shouldBe("event.pageY", "100");
|
|
}
|
|
window.addEventListener("click", base, false);
|
|
sendClick();
|
|
window.removeEventListener("click", base, false);
|
|
|
|
// Just zoomed.
|
|
function justZoomed(e)
|
|
{
|
|
event = e;
|
|
debug("\nJust zoomed");
|
|
shouldBe("event.clientX", "83");
|
|
shouldBe("event.clientY", "83");
|
|
shouldBe("event.pageX", "83");
|
|
shouldBe("event.pageY", "83");
|
|
}
|
|
window.addEventListener("click", justZoomed, false);
|
|
zoomPageIn();
|
|
sendClick();
|
|
zoomPageOut();
|
|
window.removeEventListener("click", justZoomed, false);
|
|
|
|
// Just scrolled.
|
|
function justScrolled(e)
|
|
{
|
|
event = e;
|
|
debug("\nJust scrolled");
|
|
shouldBe("event.clientX", "100");
|
|
shouldBe("event.clientY", "100");
|
|
shouldBe("event.pageX", "150");
|
|
shouldBe("event.pageY", "150");
|
|
}
|
|
window.addEventListener("click", justScrolled, false);
|
|
scrollPage(50, 50);
|
|
sendClick();
|
|
scrollPage(0, 0);
|
|
window.removeEventListener("click", justScrolled, false);
|
|
|
|
// Zoomed and scrolled.
|
|
function zoomedAndScrolled(e)
|
|
{
|
|
event = e;
|
|
debug("\nZoomed and scrolled");
|
|
shouldBe("event.clientX", hasSubpixelSupport ? "83" : "84");
|
|
shouldBe("event.clientY", hasSubpixelSupport ? "83" : "84");
|
|
shouldBe("event.pageX", "133");
|
|
shouldBe("event.pageY", "133");
|
|
}
|
|
window.addEventListener("click", zoomedAndScrolled, false);
|
|
zoomPageIn();
|
|
scrollPage(50, 50);
|
|
sendClick();
|
|
zoomPageOut();
|
|
scrollPage(0, 0);
|
|
window.removeEventListener("click", zoomedAndScrolled, false);
|
|
|
|
if (window.testRunner) {
|
|
var area = document.getElementById('testArea');
|
|
area.parentNode.removeChild(area);
|
|
|
|
testRunner.notifyDone();
|
|
}
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|