| <p>This tests dropping content into the unwanted space above a list items content when the content is wrapped in a span. You should see 'DragMe DropAboveMe'.</p> |
| <div contenteditable="true"> |
| <li id="li" style="border: 1px solid black;"><span><div id="contents" style="border: 1px solid red;">DropAboveMe</div></span></li> |
| <div><span id="drag">DragMe</span></div> |
| </div> |
| <ul id="console"></ul> |
| <script> |
| function log(str) { |
| var li = document.createElement("li"); |
| li.appendChild(document.createTextNode(str)); |
| var console = document.getElementById("console"); |
| console.appendChild(li); |
| } |
| |
| function runTest() { |
| if (!window.layoutTestController) |
| log("This can only be run automatically using the layout test engine. To run it manually, drag 'Dragme' and drop it above 'DropAboveMe'."); |
| |
| window.layoutTestController.waitUntilDone(); |
| |
| var drag = document.getElementById("drag"); |
| var dragx = drag.offsetParent.offsetLeft + drag.offsetLeft + drag.offsetWidth / 2; |
| var dragy = drag.offsetParent.offsetTop + drag.offsetTop + drag.offsetHeight / 2; |
| |
| eventSender.mouseMoveTo(dragx, dragy); |
| eventSender.mouseDown(); |
| eventSender.mouseUp(); |
| eventSender.mouseDown(); |
| eventSender.mouseUp(); |
| // Leap forward so that the next mouseDown doesn't trigger a triple click. |
| eventSender.leapForward(1200); |
| |
| eventSender.mouseDown(); |
| // Leap forward so that the mouse movement causes a drag instead of selection creation. |
| eventSender.leapForward(500); |
| |
| var li = document.getElementById("li"); |
| |
| var dropx = li.offsetParent.offsetLeft + li.offsetLeft + li.offsetWidth / 2; |
| var dropy = li.offsetParent.offsetTop + li.offsetTop + 15; |
| |
| eventSender.mouseMoveTo(dropx, dropy); |
| eventSender.mouseUp(); |
| |
| window.layoutTestController.notifyDone(); |
| } |
| |
| runTest(); |
| </script> |