| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../editing.js" type="text/javascript"></script> |
| <script type="text/javascript"> |
| if (window.testRunner) { |
| window.testRunner.waitUntilDone(); |
| testRunner.dumpAsText(); |
| } |
| |
| var handleDrop = function(e) { |
| var console = document.getElementById('console'); |
| var pasteText = e.dataTransfer.getData("text/plain"); |
| // Check that the content we get is the same content we dragged. |
| var expectedText = 'drag'; |
| if (pasteText == expectedText) |
| console.innerHTML += "SUCCESS: Pasted text matched expected text"; |
| else |
| console.innerHTML += "FAILURE: Expected: " +expectedText + "\nbut was: " + pasteText; |
| } |
| |
| var handleDrag = function(e) { |
| e.dataTransfer.dropEffect = "copy"; |
| // Cancel the drag, so we get the drop. |
| e.preventDefault(); |
| } |
| |
| function runTest() { |
| if (window.internals) |
| internals.settings.setEditingBehavior('mac'); |
| var console = document.getElementById('console'); |
| var editDiv = document.getElementById('test'); |
| editDiv.addEventListener('drop', handleDrop, false); |
| editDiv.addEventListener('dragover', handleDrag, false); |
| |
| // Select the text to drag. |
| selection.setPosition(editDiv, 0); |
| extendSelectionForwardByWordCommand(); |
| |
| if (!window.testRunner) |
| return; |
| |
| // Now, drag foo. |
| var drag = document.getElementById('drag'); |
| var x = drag.offsetLeft + drag.offsetWidth / 2; |
| var y = drag.offsetTop + drag.offsetHeight / 2; |
| eventSender.mouseMoveTo(x, y); |
| eventSender.mouseDown(); |
| eventSender.leapForward(400); |
| |
| // And drop it. |
| var drop = document.getElementById("drop"); |
| x = drop.offsetLeft + drop.offsetWidth / 2; |
| y = drop.offsetTop + drop.offsetHeight / 2; |
| eventSender.mouseMoveTo(x, y); |
| eventSender.mouseUp(); |
| window.testRunner.notifyDone(); |
| } |
| |
| </script> |
| <title>Test getData during drag and drop.</title> |
| </head> |
| <body onload='runTest();'> |
| <p>This tests that getData is supported for type text/plain during drop. We select "drag", drag it, and then check that on drop getData returns "drag". To run this test manually, just drag "drag" on to "drop".</p> |
| <div contentEditable id='test'><div><span id='drag'>drag</span></div><div><span id='drop'>drop</span></div></div> |
| <div id='console'></div> |
| </body> |
| </html> |