diff options
Diffstat (limited to '')
-rw-r--r-- | layout/generic/test/test_bug470212.html | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/layout/generic/test/test_bug470212.html b/layout/generic/test/test_bug470212.html new file mode 100644 index 0000000000..f14c2a77e0 --- /dev/null +++ b/layout/generic/test/test_bug470212.html @@ -0,0 +1,58 @@ +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=470212 +--> +<head> + <title>Test for Bug 470212 - crash [@ nsContentUtils::ComparePoints]</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=470212">Mozilla Bug 470212</a> +<div style="width: 200px;"> +<ca> +<canvas style="border: 1px solid black;" id="dragSource"></canvas> +</ca> +</div> + +<pre id="test"> +<script> +function doShiftDrag(){ + setTimeout(function() { + var wu = SpecialPowers.DOMWindowUtils; + var canvas = document.getElementById("dragSource"); + var canvasRect = canvas.getBoundingClientRect(); + + // Drag canvas element starts with a mouse down event, combine with shift + // key, follows by two mouse move events. + + window.addEventListener("dragstart", e => { + e.preventDefault(); + e.stopPropagation(); + }, { once: true }); + + // Press on left-top corner of the canvas element. + wu.sendMouseEvent('mousedown', canvasRect.left, canvasRect.top, 0, 1, 4); + // Move to the center of this cavas element. + wu.sendMouseEvent('mousemove', canvasRect.left + (canvasRect.width / 2), + canvasRect.top + (canvasRect.height / 2), 0, 0, 4); + // move out of cavas's region. + wu.sendMouseEvent('mousemove', canvasRect.left + (canvasRect.width / 2), + canvasRect.bottom + 10, 0, 0, 4); + + is(window.getSelection().rangeCount, 0, "rangeCount should be 0"); + + wu.sendMouseEvent('mouseup', canvasRect.left + (canvasRect.width / 2), + canvasRect.bottom + 10, 0, 0, 4); + + SimpleTest.finish(); + }, 0); +} + +SimpleTest.waitForExplicitFinish(); +addLoadEvent(doShiftDrag); +</script> + +</pre> +</body> +</html> |