| OLD | NEW |
| (Empty) |
| 1 <html> | |
| 2 <head> | |
| 3 <script> | |
| 4 function log(message) { | |
| 5 var console = document.getElementById("console"); | |
| 6 var div = document.createElement("div"); | |
| 7 var text = document.createTextNode(message); | |
| 8 | |
| 9 console.appendChild(div); | |
| 10 div.appendChild(text); | |
| 11 } | |
| 12 | |
| 13 function runTest() { | |
| 14 if (window.testRunner) { | |
| 15 testRunner.dumpAsText(); | |
| 16 testRunner.waitUntilDone(); | |
| 17 } else | |
| 18 return; | |
| 19 | |
| 20 selectSelection(); | |
| 21 dragElementToContentEditable(document.getElementById("dragimage")); | |
| 22 | |
| 23 selectSelection(); | |
| 24 dragElementToContentEditable(document.getElementById("draglink")); | |
| 25 | |
| 26 selectSelection(); | |
| 27 dragElementToContentEditable(document.getElementById("dragtext")); | |
| 28 | |
| 29 var target = document.getElementById("target"); | |
| 30 log("Dumping info about contenteditable div:"); | |
| 31 log("Number of children: " + target.children.length); | |
| 32 log("Contents:"); | |
| 33 for (var i = 0; i < target.children.length; ++i) | |
| 34 log(target.children[i].tagName); | |
| 35 | |
| 36 log("Number of selected ranges: " + window.getSelection().rangeCount); | |
| 37 | |
| 38 testRunner.notifyDone(); | |
| 39 } | |
| 40 | |
| 41 function selectSelection() { | |
| 42 window.getSelection().selectAllChildren(document.getElementById("selection")
); | |
| 43 } | |
| 44 | |
| 45 function dragElementToContentEditable(dragSource) | |
| 46 { | |
| 47 x = dragSource.offsetLeft + dragSource.offsetWidth / 2; | |
| 48 y = dragSource.offsetTop + dragSource.offsetHeight / 2; | |
| 49 | |
| 50 eventSender.mouseMoveTo(x, y); | |
| 51 eventSender.mouseDown(); | |
| 52 | |
| 53 var dropTarget = document.getElementById("target"); | |
| 54 x = dropTarget.offsetLeft + dropTarget.offsetWidth / 2; | |
| 55 y = dropTarget.offsetTop + dropTarget.offsetHeight / 2; | |
| 56 | |
| 57 eventSender.mouseMoveTo(x, y); | |
| 58 eventSender.mouseUp(); | |
| 59 } | |
| 60 </script> | |
| 61 </head> | |
| 62 | |
| 63 <body style="padding:0; margin:0" onload="runTest();"> | |
| 64 | |
| 65 <div id="target" style="border: 1px solid black; width: 300px; height: 200px;" c
ontenteditable="true"></div> | |
| 66 <div id="selection"> | |
| 67 <img id="dragimage" src="../../../../editing/resources/abe.png"> | |
| 68 <a href="#" id="draglink">Link</a> | |
| 69 <span id="dragtext">Random text.</span></div> | |
| 70 | |
| 71 <p>This test checks selection drag edge cases on Mac. To run the test manually: | |
| 72 <ol> | |
| 73 <li>Select everything above, start the drag over the image, and with no delay, d
rag it to the content editable area. Only the image should be dragged. | |
| 74 <li>Select everything above, start the drag over the link, and with no delay, dr
ag it to the content editable area. The entire selection should be dragged. | |
| 75 <li>Select everything above, start the drag over the text, and with no delay, dr
ag it to the content editable area. Nothing should be dragged, but a bunch of te
xt should be selected instead. | |
| 76 </ol> | |
| 77 </p> | |
| 78 <div id="console"></ul> | |
| 79 </body> | |
| OLD | NEW |