| <html> |
| <head> |
| <style> |
| #plugin { |
| width: 150px; |
| height: 150px; |
| } |
| </style> |
| </head> |
| |
| <body onload="test();"> |
| |
| <embed id="plugin_drag" type="application/x-webkit-test-webplugin" can-process-drag="true" contentEditable="false"></embed> |
| <embed id="plugin_editable" type="application/x-webkit-test-webplugin" contentEditable="true"></embed> |
| <embed id="plugin" type="application/x-webkit-test-webplugin"></embed> |
| <div id='text'><span>Some text to drag</span></div> |
| <script> |
| |
| function dragOverPlugin(plugin) { |
| var div = document.getElementById('text'); |
| div.focus(); |
| getSelection().collapse(div, 0); |
| getSelection().modify('extend', 'forward', 'word'); |
| |
| console.log("Dragging over " + plugin.id); |
| var positionX = plugin.offsetLeft + plugin.offsetWidth / 2; |
| var positionY = plugin.offsetTop + plugin.offsetHeight / 2; |
| |
| var startX = div.offsetLeft + div.firstChild.offsetWidth / 5; |
| var startY = div.offsetTop + div.offsetHeight / 2;; |
| |
| // Drag into the plugin and drag out before dropping. |
| eventSender.dragMode = true; |
| eventSender.mouseMoveTo(startX, startY); |
| eventSender.mouseDown(); |
| eventSender.leapForward(250); |
| eventSender.mouseMoveTo(positionX, positionY); |
| eventSender.mouseMoveTo(positionX + 2, positionY); |
| eventSender.mouseMoveTo(startX, startY); |
| eventSender.mouseMoveTo(positionX, positionY); |
| eventSender.mouseUp(); |
| eventSender.leapForward(250); |
| eventSender.mouseMoveTo(startX, startY); |
| } |
| |
| function test() { |
| if (!window.testRunner || !window.eventSender) { |
| document.write("This test does not work in manual mode."); |
| } else { |
| testRunner.dumpAsText(); |
| dragOverPlugin(plugin_drag); |
| dragOverPlugin(plugin_editable); |
| dragOverPlugin(plugin); |
| } |
| } |
| </script> |
| </body> |
| </html> |