| <html> |
| <script src="../../../resources/js-test-pre.js"></script> |
| <body> |
| <iframe style="position:absolute; top:100px; left:100px;" src="./resources/emulated-touch-iframe2.html"></iframe> |
| <p>Test touchend events are emulated in iframes correctly.</p> |
| <div id="console"></div> |
| <script type="text/javascript"> |
| |
| var touchstartCount = 0; |
| var touchmoveCount = 0; |
| var EXPECTED_TOUCHSTART_COUNT = 1; |
| var EXPECTED_TOUCHMOVE_COUNT = 1; |
| var shouldBail; |
| |
| function testComplete() |
| { |
| if (shouldBail) |
| return; |
| |
| if (touchstartCount > EXPECTED_TOUCHSTART_COUNT) { |
| debug("touchstart fired for the top frame, too, but should only fire for the iframe!"); |
| shouldBail = true; |
| } |
| |
| if (!touchmoveCount) |
| debug("touchmove not fired for the iframe!"); |
| else if (touchmoveCount > EXPECTED_TOUCHMOVE_COUNT) |
| debug("touchmove fired too many times!"); |
| |
| debug("touchend (test will time out if broken)"); |
| window.internals.settings.setTouchEventEmulationEnabled(false); |
| window.testRunner.notifyDone(); |
| } |
| |
| function handleTouchmove() |
| { |
| ++touchmoveCount; |
| } |
| |
| function handleTouchstart() |
| { |
| ++touchstartCount; |
| } |
| |
| function runTest() { |
| if (window.eventSender && window.internals && window.internals.settings) { |
| window.eventSender.dragMode = false; |
| window.internals.settings.setTouchEventEmulationEnabled(true); |
| |
| eventSender.mouseMoveTo(110, 110); |
| eventSender.mouseDown(0); |
| eventSender.mouseMoveTo(120, 130); |
| eventSender.mouseUp(0); |
| } else |
| debug('This test requires DRT.'); |
| } |
| |
| if (window.testRunner) |
| window.testRunner.waitUntilDone(); |
| |
| </script> |
| </body> |
| </html> |