| <!DOCTYPE html> |
| <script src='../../../resources/testharness.js'></script> |
| <script src='../../../resources/testharnessreport.js'></script> |
| |
| <style> |
| #first {width: 100px; height: 50px; } |
| </style> |
| |
| <body> |
| <div id=first /> |
| |
| <script> |
| test(function() { |
| var gotTouchMove = false; |
| var touchEvent; |
| var handler = function(event) { |
| assert_false(gotTouchMove); |
| gotTouchMove = true; |
| touchEvent = event; |
| assert_false(touchEvent.defaultPrevented); |
| console.log('Calling preventDefault on TouchEvent with cancelable=' + event.cancelable); |
| touchEvent.preventDefault(); |
| }; |
| |
| document.addEventListener('touchmove', handler, {passive: false}); |
| |
| eventSender.addTouchPoint(152, 152); |
| eventSender.touchStart(); |
| |
| eventSender.updateTouchPoint(0, 155, 155); |
| eventSender.setTouchCancelable(true); |
| console.log('Sending cancelable touchmove'); |
| eventSender.touchMove(); |
| assert_true(gotTouchMove, "Got touch move"); |
| assert_true(touchEvent.cancelable, "Event was cancelable"); |
| assert_true(touchEvent.defaultPrevented, "Event was prevented"); |
| gotTouchMove = false; |
| |
| console.log('Sending uncancelable touchmove'); |
| eventSender.setTouchCancelable(false); |
| eventSender.updateTouchPoint(0, 160, 160); |
| eventSender.touchMove(); |
| assert_true(gotTouchMove, "Got touch move"); |
| assert_false(touchEvent.cancelable, "Event was not cancelable"); |
| assert_false(touchEvent.defaultPrevented, "Event was not prevented"); |
| document.removeEventListener('touchmove', handler); |
| eventSender.clearTouchPoints(); |
| |
| }, 'Test that touch events may or may not be marked cancelable. http://crbug.com/365681'); |
| |
| test(function() { |
| var gotTouchMove = false; |
| var touchEvent; |
| var handler = function(event) { |
| gotTouchMove = true; |
| touchEvent = event; |
| event.preventDefault(); |
| }; |
| eventSender.addTouchPoint(15, 15); |
| eventSender.touchStart(); |
| document.getElementById('first').addEventListener('touchmove', handler); |
| eventSender.setTouchCancelable(false); |
| eventSender.updateTouchPoint(0, 30, 30); |
| console.log('Sending uncancelable touchmove'); |
| eventSender.touchMove(); |
| assert_true(gotTouchMove, "Got touch move"); |
| assert_false(touchEvent.cancelable, "Event was not cancelable"); |
| assert_false(touchEvent.defaultPrevented, "Event was not prevented"); |
| |
| }, 'Test that warning occurs in default mode'); |
| |
| </script> |
| </body> |