| <!DOCTYPE html> |
| <title>Historical drag-and-drop features</title> |
| <meta charset="utf-8"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <style> |
| .test-square { |
| width: 100px; |
| height: 100px; |
| } |
| |
| #draggable { |
| background: orange; |
| } |
| |
| #dropzone { |
| background: blue; |
| } |
| </style> |
| |
| <p>Drag the orange square onto the blue square and release it.</p> |
| |
| <div draggable="true" id="draggable" class="test-square" ondragstart="event.dataTransfer.setData('text/plain', null)"></div> |
| <div id="dropzone" class="test-square"></div> |
| |
| <script> |
| "use strict"; |
| |
| async_test(t => { |
| let dragexitCount = 0; |
| document.addEventListener("dragexit", () => { |
| ++dragexitCount; |
| }); |
| |
| // Prevent the event to allow drop |
| document.addEventListener("dragover", e => { |
| e.preventDefault(); |
| }); |
| |
| document.addEventListener("drop", t.step_func_done(() => { |
| assert_equals(dragexitCount, 0); |
| })); |
| }, `dragexit must not fire during drag-and-drop`); |
| </script> |