summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/input-events/select-event-drag-remove.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/input-events/select-event-drag-remove.html')
-rw-r--r--testing/web-platform/tests/input-events/select-event-drag-remove.html32
1 files changed, 32 insertions, 0 deletions
diff --git a/testing/web-platform/tests/input-events/select-event-drag-remove.html b/testing/web-platform/tests/input-events/select-event-drag-remove.html
new file mode 100644
index 0000000000..f5c2e702e5
--- /dev/null
+++ b/testing/web-platform/tests/input-events/select-event-drag-remove.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>Drag select triggers the right event, and doesn't crash if it removes the target while at it</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/resources/testdriver-actions.js"></script>
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1386418">
+<style>
+ input {
+ border: 0;
+ padding: 0;
+ font: 16px/1 monospace;
+ }
+</style>
+<input type="text" value="Drag select to crash">
+<script>
+async_test(t => {
+ let input = document.querySelector("input");
+ input.addEventListener("select", t.step_func(function() {
+ input.remove();
+ requestAnimationFrame(() => requestAnimationFrame(() => t.done()));
+ }));
+ new test_driver.Actions()
+ .pointerMove(0, 0, { origin: input })
+ .pointerDown()
+ .pointerMove(40, 0, { origin: input })
+ .pointerUp()
+ .send();
+}, "Drag and remove from the select event doesn't crash");
+</script>