Index: third_party/WebKit/LayoutTests/fast/events/shift-drag-selection-on-image-triggers-drag-n-drop.html |
diff --git a/third_party/WebKit/LayoutTests/fast/events/shift-drag-selection-on-image-triggers-drag-n-drop.html b/third_party/WebKit/LayoutTests/fast/events/shift-drag-selection-on-image-triggers-drag-n-drop.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2f25ecb88bc2a688eba8208c6489c16d41b6f477 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/events/shift-drag-selection-on-image-triggers-drag-n-drop.html |
@@ -0,0 +1,45 @@ |
+<!DOCTYPE html> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+<p>This test ensures drag-n-drop does start when extending an existing selecting with shift + mouse drag, starting over an image.</p> |
+<span style='font-size: 30px; padding: 10px;'>Some text with an image <img src="resources/abe.png" width="50" height="50"> at end.</span> |
+ |
+<script> |
+test(function() { |
+ var span = document.getElementsByTagName('span')[0]; |
+ span.focus(); |
+ |
+ var img = document.getElementsByTagName('img')[0]; |
+ |
+ var dragStartCount = 0; |
+ document.addEventListener('dragstart', function (event) { dragStartCount++; }); |
+ |
+ if (!window.testRunner || !window.eventSender) |
+ document.write('This test requires eventSender'); |
+ else { |
+ testRunner.dumpAsText(); |
+ |
+ var y = span.offsetTop + span.offsetHeight / 2; |
+ eventSender.mouseMoveTo(span.offsetLeft + 5, y); |
+ eventSender.mouseDown(); |
+ eventSender.leapForward(200); |
+ eventSender.mouseUp(); |
+ |
+ eventSender.mouseMoveTo(span.offsetLeft + span.offsetWidth / 4, y); |
+ eventSender.mouseDown(0, ['shiftKey']); |
+ eventSender.leapForward(200); |
+ eventSender.mouseUp(); |
+ |
+ eventSender.mouseMoveTo(img.offsetLeft + img.offsetWidth / 2 , y); |
+ eventSender.mouseDown(0, ['shiftKey']); |
+ eventSender.leapForward(200); |
+ eventSender.mouseMoveTo(img.offsetLeft + img.offsetWidth / 2 , y + 120); |
+ eventSender.leapForward(200); |
+ eventSender.mouseUp(); |
+ |
+ assert_equals(dragStartCount, 1); |
+ |
+ span.parentNode.removeChild(span); |
+ } |
+}); |
+</script> |