Chromium Code Reviews| Index: LayoutTests/fast/events/touch/gesture/gesture-tap-result.html |
| diff --git a/LayoutTests/fast/events/touch/gesture/gesture-tap-result.html b/LayoutTests/fast/events/touch/gesture/gesture-tap-result.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a517d0577f49588f32c8868ede01dcaf110ce46b |
| --- /dev/null |
| +++ b/LayoutTests/fast/events/touch/gesture/gesture-tap-result.html |
| @@ -0,0 +1,68 @@ |
| +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| +<html> |
| +<head> |
| +<script src="../../../../resources/js-test.js"></script> |
| +</head> |
| +<body onload="runTest();"> |
| + |
| +<input id="input" type="text" value="editable text"><br> |
| +<span id="plain">This is plain text with no handler</span><br> |
| +<span id="consumes">This text consumes events using preventDefault()</span><br><br> |
| +Clicking or tapping on the "consumes" section should have no effect on the selection, |
| +but clicking in the plain section should clear it. |
| + |
| +<p id="description"></p> |
| +<div id="console"></div> |
| + |
| +<script> |
| +var plainResult = null; |
| +var consumesResult = null; |
| + |
| +function plainCallback() { |
| +} |
| + |
| +function consumeCallback(event) { |
| + event.preventDefault(); |
| +} |
| + |
| +function runTest() { |
| + document.getElementById('input').select(); |
| + var consumes = document.getElementById('consumes'); |
| + consumes.addEventListener("mousedown", consumeCallback, false); |
|
Rick Byers
2014/06/03 21:27:25
Now that you're not logging even info, I suggest y
donnd
2014/06/03 21:40:25
Done.
|
| + consumes.addEventListener("click", consumeCallback, false); |
| + consumes.addEventListener("dblclick", consumeCallback, false); |
| + consumes.addEventListener("mouseup", consumeCallback, false); |
| + consumes.addEventListener("mousemove", consumeCallback, false); |
| + var plain = document.getElementById('plain'); |
| + plain.addEventListener("mousedown", plainCallback, false); |
| + plain.addEventListener("click", plainCallback, false); |
| + plain.addEventListener("dblclick", plainCallback, false); |
| + plain.addEventListener("mouseup", plainCallback, false); |
| + plain.addEventListener("mousemove", plainCallback, false); |
| + |
| + if (window.testRunner) { |
| + testRunner.dumpAsText(); |
| + } |
| + |
| + if (window.eventSender) { |
| + description("This tests Tap events being consumed by a handler."); |
| + |
| + // A 'tap' gesture event should generate a sequence of mouse events, |
| + // which do not affect the selection when consumed. |
| + var consumesRect = document.getElementById('consumes').getBoundingClientRect(); |
| + consumesResult = eventSender.gestureTap(consumesRect.left, consumesRect.top); |
| + shouldBe('consumesResult', 'true'); |
| + shouldNotBe('window.getSelection().toString()', ''); |
| + |
| + // Tapping on plain text does not consume the event, and clears the selection. |
| + var plainRect = document.getElementById('plain').getBoundingClientRect(); |
| + plainResult = eventSender.gestureTap(plainRect.left, plainRect.top); |
| + shouldBe('plainResult', 'false'); |
| + shouldBeEmptyString('window.getSelection().toString()'); |
| + } else { |
| + debug("This test requires DumpRenderTree. Tap on the text to log.") |
| + } |
| +} |
| +</script> |
| +</body> |
| +</html> |