| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <title>HitRegion Event Test</title> | 2 <title>HitRegion Event Test</title> |
| 3 <script src="../../resources/testharness.js"></script> | 3 <script src="../../resources/testharness.js"></script> |
| 4 <script src="../../resources/testharnessreport.js"></script> | 4 <script src="../../resources/testharnessreport.js"></script> |
| 5 <script src="./resources/test-helpers.js"></script> | 5 <script src="./resources/test-helpers.js"></script> |
| 6 <canvas width="400" height="400"> | 6 <canvas width="400" height="400"> |
| 7 <button id="button"></button> | 7 <button id="button"></button> |
| 8 <button id="button2"></button> | 8 <button id="button2"></button> |
| 9 </canvas> | 9 </canvas> |
| 10 <style> | 10 <style> |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 context.fill(); | 102 context.fill(); |
| 103 context.addHitRegion({ id: 'button', control: button }); | 103 context.addHitRegion({ id: 'button', control: button }); |
| 104 | 104 |
| 105 var expected = [ | 105 var expected = [ |
| 106 { type: 'mouseover', target: button, region: 'button' }, | 106 { type: 'mouseover', target: button, region: 'button' }, |
| 107 { type: 'mouseenter', target: button, region: 'button' }, | 107 { type: 'mouseenter', target: button, region: 'button' }, |
| 108 { type: 'mousemove', target: button, region: 'button' }, | 108 { type: 'mousemove', target: button, region: 'button' }, |
| 109 { type: 'mousemove', target: button, region: 'button' }, | 109 { type: 'mousemove', target: button, region: 'button' }, |
| 110 { type: 'mousedown', target: button, region: 'button' }, | 110 { type: 'mousedown', target: button, region: 'button' }, |
| 111 { type: 'mouseup', target: button, region: 'button' }, | 111 { type: 'mouseup', target: button, region: 'button' }, |
| 112 // TODO(zino): The expected value of region should be "button" instead of | 112 { type: 'mouseout', target: button, region: 'button' }, |
| 113 // null in case of mouseout/mouseleave. Please see http://crbug.com/592992. | 113 { type: 'mouseleave', target: button, region: 'button' }, |
| 114 { type: 'mouseout', target: button, region: null }, | |
| 115 { type: 'mouseleave', target: button, region: null }, | |
| 116 { type: 'touchstart', target: button, region: 'button' }, | 114 { type: 'touchstart', target: button, region: 'button' }, |
| 117 { type: 'touchend', target: button, region: 'button' }, | 115 { type: 'touchend', target: button, region: 'button' }, |
| 118 ]; | 116 ]; |
| 119 var actual = []; | 117 var actual = []; |
| 120 | 118 |
| 121 button.addEventListener('mouseover', e => actual.push(e)); | 119 button.addEventListener('mouseover', e => actual.push(e)); |
| 122 button.addEventListener('mouseenter', e => actual.push(e)); | 120 button.addEventListener('mouseenter', e => actual.push(e)); |
| 123 button.addEventListener('mousemove', e => actual.push(e)); | 121 button.addEventListener('mousemove', e => actual.push(e)); |
| 124 button.addEventListener('mousedown', e => actual.push(e)); | 122 button.addEventListener('mousedown', e => actual.push(e)); |
| 125 button.addEventListener('mouseup', e => actual.push(e)); | 123 button.addEventListener('mouseup', e => actual.push(e)); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 140 eventSender.touchStart(); | 138 eventSender.touchStart(); |
| 141 eventSender.releaseTouchPoint(0); | 139 eventSender.releaseTouchPoint(0); |
| 142 eventSender.touchEnd(); | 140 eventSender.touchEnd(); |
| 143 } | 141 } |
| 144 | 142 |
| 145 assert_event_array_equivalent(actual, expected); | 143 assert_event_array_equivalent(actual, expected); |
| 146 this.done(); | 144 this.done(); |
| 147 }, 'Rerouting mouse/touch event test'); | 145 }, 'Rerouting mouse/touch event test'); |
| 148 | 146 |
| 149 async_test(function() { | 147 async_test(function() { |
| 148 context.rect(1, 1, 50, 50); |
| 149 context.fill(); |
| 150 context.addHitRegion({ control: button }); |
| 151 |
| 152 var expected = [ |
| 153 { type: 'mouseover', target: button, region: null }, |
| 154 { type: 'mouseenter', target: button, region: null }, |
| 155 { type: 'mousemove', target: button, region: null }, |
| 156 { type: 'mousemove', target: button, region: null }, |
| 157 { type: 'mousedown', target: button, region: null }, |
| 158 { type: 'mouseup', target: button, region: null }, |
| 159 { type: 'mouseout', target: button, region: null }, |
| 160 { type: 'mouseleave', target: button, region: null }, |
| 161 { type: 'touchstart', target: button, region: null }, |
| 162 { type: 'touchend', target: button, region: null }, |
| 163 ]; |
| 164 var actual = []; |
| 165 |
| 166 button.addEventListener('mouseover', e => actual.push(e)); |
| 167 button.addEventListener('mouseenter', e => actual.push(e)); |
| 168 button.addEventListener('mousemove', e => actual.push(e)); |
| 169 button.addEventListener('mousedown', e => actual.push(e)); |
| 170 button.addEventListener('mouseup', e => actual.push(e)); |
| 171 button.addEventListener('mouseout', e => actual.push(e)); |
| 172 button.addEventListener('mouseleave', e => actual.push(e)); |
| 173 button.addEventListener('touchstart', e => actual.push(e)); |
| 174 button.addEventListener('touchend', e => actual.push(e)); |
| 175 |
| 176 if (eventSender) { |
| 177 eventSender.mouseMoveTo(0, 0); |
| 178 eventSender.mouseMoveTo(10, 10); |
| 179 eventSender.mouseDown(); |
| 180 eventSender.mouseUp(); |
| 181 eventSender.mouseMoveTo(60, 60); |
| 182 |
| 183 eventSender.clearTouchPoints(); |
| 184 eventSender.addTouchPoint(10, 10); |
| 185 eventSender.touchStart(); |
| 186 eventSender.releaseTouchPoint(0); |
| 187 eventSender.touchEnd(); |
| 188 } |
| 189 |
| 190 assert_event_array_equivalent(actual, expected); |
| 191 this.done(); |
| 192 }, 'Rerouting mouse/touch event test but the id of hit region is unset.'); |
| 193 |
| 194 async_test(function() { |
| 150 context.clearRect(0, 0, 400, 400); | 195 context.clearRect(0, 0, 400, 400); |
| 151 context.rect(0, 0, 50, 50); | 196 context.rect(0, 0, 50, 50); |
| 152 context.fill(); | 197 context.fill(); |
| 153 context.addHitRegion({ id: 'button', control: button }); | 198 context.addHitRegion({ id: 'button', control: button }); |
| 154 context.beginPath(); | 199 context.beginPath(); |
| 155 context.rect(50, 0, 50, 50); | 200 context.rect(50, 0, 50, 50); |
| 156 context.fill(); | 201 context.fill(); |
| 157 context.addHitRegion({ id: 'button2', control: button2 }); | 202 context.addHitRegion({ id: 'button2', control: button2 }); |
| 158 | 203 |
| 159 var expected = [ | 204 var expected = [ |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 called.push(e.touches[1].region); | 303 called.push(e.touches[1].region); |
| 259 called.push(e.touches[2].region); | 304 called.push(e.touches[2].region); |
| 260 }); | 305 }); |
| 261 | 306 |
| 262 tmp_canvas.dispatchEvent(touch_event); | 307 tmp_canvas.dispatchEvent(touch_event); |
| 263 assert_array_equals(called, [ null, null, 'touch', null, null, 'touch' ]); | 308 assert_array_equals(called, [ null, null, 'touch', null, null, 'touch' ]); |
| 264 this.done(); | 309 this.done(); |
| 265 }, 'TouchEventInit.'); | 310 }, 'TouchEventInit.'); |
| 266 | 311 |
| 267 </script> | 312 </script> |
| OLD | NEW |