Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-hit-regions-event-test.html |
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-hit-regions-event-test.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-hit-regions-event-test.html |
index d970e7857abe97f2ed0ab2d10c0b72a8bfea84b7..93947520857f213c533063fd4073caec306cd470 100644 |
--- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-hit-regions-event-test.html |
+++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-hit-regions-event-test.html |
@@ -109,10 +109,8 @@ async_test(function() { |
{ type: 'mousemove', target: button, region: 'button' }, |
{ type: 'mousedown', target: button, region: 'button' }, |
{ type: 'mouseup', target: button, region: 'button' }, |
- // TODO(zino): The expected value of region should be "button" instead of |
- // null in case of mouseout/mouseleave. Please see http://crbug.com/592992. |
- { type: 'mouseout', target: button, region: null }, |
- { type: 'mouseleave', target: button, region: null }, |
+ { type: 'mouseout', target: button, region: 'button' }, |
+ { type: 'mouseleave', target: button, region: 'button' }, |
{ type: 'touchstart', target: button, region: 'button' }, |
{ type: 'touchend', target: button, region: 'button' }, |
]; |
@@ -147,6 +145,53 @@ async_test(function() { |
}, 'Rerouting mouse/touch event test'); |
async_test(function() { |
+ context.rect(1, 1, 50, 50); |
+ context.fill(); |
+ context.addHitRegion({ control: button }); |
+ |
+ var expected = [ |
+ { type: 'mouseover', target: button, region: null }, |
+ { type: 'mouseenter', target: button, region: null }, |
+ { type: 'mousemove', target: button, region: null }, |
+ { type: 'mousemove', target: button, region: null }, |
+ { type: 'mousedown', target: button, region: null }, |
+ { type: 'mouseup', target: button, region: null }, |
+ { type: 'mouseout', target: button, region: null }, |
+ { type: 'mouseleave', target: button, region: null }, |
+ { type: 'touchstart', target: button, region: null }, |
+ { type: 'touchend', target: button, region: null }, |
+ ]; |
+ var actual = []; |
+ |
+ button.addEventListener('mouseover', e => actual.push(e)); |
+ button.addEventListener('mouseenter', e => actual.push(e)); |
+ button.addEventListener('mousemove', e => actual.push(e)); |
+ button.addEventListener('mousedown', e => actual.push(e)); |
+ button.addEventListener('mouseup', e => actual.push(e)); |
+ button.addEventListener('mouseout', e => actual.push(e)); |
+ button.addEventListener('mouseleave', e => actual.push(e)); |
+ button.addEventListener('touchstart', e => actual.push(e)); |
+ button.addEventListener('touchend', e => actual.push(e)); |
+ |
+ if (eventSender) { |
+ eventSender.mouseMoveTo(0, 0); |
+ eventSender.mouseMoveTo(10, 10); |
+ eventSender.mouseDown(); |
+ eventSender.mouseUp(); |
+ eventSender.mouseMoveTo(60, 60); |
+ |
+ eventSender.clearTouchPoints(); |
+ eventSender.addTouchPoint(10, 10); |
+ eventSender.touchStart(); |
+ eventSender.releaseTouchPoint(0); |
+ eventSender.touchEnd(); |
+ } |
+ |
+ assert_event_array_equivalent(actual, expected); |
+ this.done(); |
+}, 'Rerouting mouse/touch event test but the id of hit region is unset.'); |
+ |
+async_test(function() { |
context.clearRect(0, 0, 400, 400); |
context.rect(0, 0, 50, 50); |
context.fill(); |