45 lines
1.3 KiB
HTML
45 lines
1.3 KiB
HTML
<div>PASS</div>
|
|
<script>
|
|
function dragEnter() {
|
|
event.dataTransfer.dropEffect = "none";
|
|
event.preventDefault();
|
|
}
|
|
function dragOver() {
|
|
// See https://bugs.webkit.org/show_bug.cgi?id=25922
|
|
// This is the line which causes failure:
|
|
event.dataTransfer.dropEffect = "none";
|
|
|
|
event.preventDefault();
|
|
}
|
|
function dragLeave() {
|
|
event.preventDefault();
|
|
setTimeout(function() {
|
|
// Wait until after the drop to notifyDone, just to make sure
|
|
// the navigation was prevented correctly.
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}, 0);
|
|
}
|
|
|
|
// Capture all drag events
|
|
window.addEventListener("dragenter", dragEnter, true);
|
|
window.addEventListener("dragover", dragOver, true);
|
|
// We don't get a drop event when we prevent drop, so listen for dragleave
|
|
window.addEventListener("dragleave", dragLeave, true);
|
|
|
|
function doTest() {
|
|
testRunner.dumpAsText();
|
|
|
|
eventSender.beginDragWithFiles(["resources/file-for-prevent-drag-to-navigate.html"]);
|
|
eventSender.mouseMoveTo(10, 10);
|
|
eventSender.mouseUp();
|
|
}
|
|
|
|
if (window.eventSender) {
|
|
testRunner.waitUntilDone();
|
|
// The load seems to fail (for the wrong reasons) if we try to kick of a
|
|
// new load before this one is finished. So we wait.
|
|
window.onload = doTest();
|
|
}
|
|
</script>
|