| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../resources/js-test.js"></script> |
| <style> |
| #div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;} |
| #drag1{width:170px;height:36px;display:block;} |
| </style> |
| </head> |
| <body> |
| <p>Drag the following text into the rectangle:</p> |
| <div id="div1"></div> |
| <br> |
| <div id="drag1" draggable="true">Drag me</div> |
| <pre id="console"></pre> |
| <script> |
| window.jsTestIsAsync = true; |
| description("Test that drop event generates user gesture"); |
| |
| if (window.testRunner) { |
| testRunner.setCloseRemainingWindowsWhenComplete(true); |
| testRunner.setCanOpenWindows(); |
| testRunner.setPopupBlockingEnabled(true); |
| } |
| |
| function drop() { |
| // Consume user gesture. |
| shouldBeDefined("window.open('about:blank')"); |
| finishJSTest(); |
| } |
| |
| function allowDrop(ev) { |
| ev.preventDefault(); |
| } |
| |
| document.getElementById("div1").addEventListener("dragover", allowDrop); |
| document.getElementById("div1").addEventListener("drop", drop); |
| |
| if (window.eventSender) { |
| var drag = document.querySelector("#drag1"); |
| eventSender.mouseMoveTo(drag.offsetLeft + 10, drag.offsetTop + 5); |
| eventSender.mouseDown(); |
| eventSender.leapForward(100); |
| eventSender.mouseMoveTo(drag.offsetLeft + 10, drag.offsetTop - 30); |
| eventSender.mouseUp(); |
| } |
| </script> |
| </body> |
| </html> |