| <script src="../../../resources/js-test-pre.js"></script> |
| <style> |
| #pusher { |
| width: 1000px; |
| height: 1000px; |
| outline: 1px solid black; |
| } |
| </style> |
| <div id="console"></div> |
| <div id="testArea"> |
| <div id="pusher">This box is here to create scrollbars.</div> |
| </div> |
| <script> |
| var event; |
| |
| function sendTouchStart(x, y) |
| { |
| if (window.eventSender) { |
| eventSender.clearTouchPoints(); |
| eventSender.addTouchPoint(x, y); |
| eventSender.touchStart(); |
| } |
| } |
| |
| 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.touches[0].clientX", "100"); |
| shouldBe("event.touches[0].clientY", "100"); |
| shouldBe("event.touches[0].pageX", "100"); |
| shouldBe("event.touches[0].pageY", "100"); |
| } |
| |
| window.addEventListener("touchstart", base, false); |
| |
| sendTouchStart(100, 100); |
| window.removeEventListener("touchstart", base, false); |
| |
| // Just zoomed. |
| function justZoomed(e) |
| { |
| event = e; |
| debug("\nJust zoomed"); |
| shouldBe("event.touches[0].clientX", "83"); |
| shouldBe("event.touches[0].clientY", "83"); |
| shouldBe("event.touches[0].pageX", "83"); |
| shouldBe("event.touches[0].pageY", "83"); |
| } |
| window.addEventListener("touchstart", justZoomed, false); |
| zoomPageIn(); |
| sendTouchStart(100, 100); |
| zoomPageOut(); |
| window.removeEventListener("touchstart", justZoomed, false); |
| |
| // Just scrolled. |
| function justScrolled(e) |
| { |
| event = e; |
| debug("\nJust scrolled"); |
| shouldBe("event.touches[0].clientX", "100"); |
| shouldBe("event.touches[0].clientY", "100"); |
| shouldBe("event.touches[0].pageX", "150"); |
| shouldBe("event.touches[0].pageY", "150"); |
| } |
| window.addEventListener("touchstart", justScrolled, false); |
| scrollPage(50, 50); |
| sendTouchStart(100, 100); |
| scrollPage(0, 0); |
| window.removeEventListener("touchstart", justScrolled, false); |
| |
| // Zoomed and scrolled. |
| function zoomedAndScrolled(e) |
| { |
| event = e; |
| debug("\nZoomed and scrolled"); |
| shouldBe("event.touches[0].clientX", "84"); |
| shouldBe("event.touches[0].clientY", "84"); |
| shouldBe("event.touches[0].pageX", "133"); |
| shouldBe("event.touches[0].pageY", "133"); |
| } |
| window.addEventListener("touchstart", zoomedAndScrolled, false); |
| zoomPageIn(); |
| scrollPage(50, 50); |
| sendTouchStart(100, 100); |
| zoomPageOut(); |
| scrollPage(0, 0); |
| window.removeEventListener("touchstart", zoomedAndScrolled, false); |
| |
| if (window.eventSender) { |
| eventSender.touchEnd(); |
| eventSender.clearTouchPoints(); |
| } |
| |
| if (window.testRunner) { |
| var area = document.getElementById('testArea'); |
| area.parentNode.removeChild(area); |
| isSuccessfullyParsed(); |
| testRunner.notifyDone(); |
| } |
| </script> |