diff options
Diffstat (limited to 'editor/libeditor/tests/test_doc_scrollbar_toggled_designMode_on_mousedown.html')
-rw-r--r-- | editor/libeditor/tests/test_doc_scrollbar_toggled_designMode_on_mousedown.html | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/editor/libeditor/tests/test_doc_scrollbar_toggled_designMode_on_mousedown.html b/editor/libeditor/tests/test_doc_scrollbar_toggled_designMode_on_mousedown.html new file mode 100644 index 0000000000..860e87424a --- /dev/null +++ b/editor/libeditor/tests/test_doc_scrollbar_toggled_designMode_on_mousedown.html @@ -0,0 +1,64 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=620906 +--> +<head> + <title>Test for Bug 620906</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script src="/tests/SimpleTest/EventUtils.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=620906">Mozilla Bug 620906</a> +<p id="display"></p> +<div id="content"> + <iframe srcdoc= + "<body contenteditable + onmousedown=' + document.designMode="on"; + document.designMode="off"; + ' + > + <div style='height: 1000px;'></div> + </body>"> + </iframe> +</div> +<pre id="test"> +<script type="application/javascript"> + +/** Test for Bug 620906 **/ +SimpleTest.waitForExplicitFinish(); +SimpleTest.waitForFocus(async () => { + const iframe = document.querySelector("iframe"); + is(iframe.contentWindow.scrollY, 0, "Sanity check"); + const rect = iframe.getBoundingClientRect(); + const waitForTick = () => { + return new Promise(resolve => requestAnimationFrame( + () => requestAnimationFrame(resolve)) + ); + }; + await waitForTick(); + let scrollEventFired = false; + iframe.contentWindow.addEventListener("scroll", () => { + scrollEventFired = true; + }, {once: true}); + for (let i = 0; i < 10; i++) { + synthesizeMouse(iframe, rect.width - 4, rect.height / 2, { type: "mousemove" }); + synthesizeMouse(iframe, rect.width - 5, rect.height / 2, { type: "mousemove" }); + synthesizeMouse(iframe, rect.width - 5, rect.height / 2, {}); + await waitForTick(); + if (scrollEventFired) { + isnot(iframe.contentWindow.scrollY, 0, "The scrollbar should work"); + SimpleTest.finish(); + return; + } + } + ok(false, "The scrollbar didn't work"); + SimpleTest.finish(); +}); + +</script> +</pre> +</body> +</html> |