diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /layout/base/tests/bug585922.html | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | layout/base/tests/bug585922.html | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/layout/base/tests/bug585922.html b/layout/base/tests/bug585922.html new file mode 100644 index 0000000000..4f4eaeb6b9 --- /dev/null +++ b/layout/base/tests/bug585922.html @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html class="reftest-wait"> + <head> + <script src="/tests/SimpleTest/EventUtils.js"></script> + </head> + <body onload="doTest()"> + <input type=text style="-moz-appearance: none"> + <script> + function doTest() { + function enableCaret(aEnable) { + var selCon = editor.selectionController; + selCon.setCaretEnabled(aEnable); + } + + var d = document.querySelector("input"); + d.value = "a"; + d.focus(); + var editor = SpecialPowers.wrap(d).editor; + var sel = editor.selection; + var t = editor.rootElement.firstChild; + sel.collapse(t, 1); // put the caret at the end of the div + setTimeout(function() { + enableCaret(false);enableCaret(true);// force a caret display + enableCaret(false); // hide the caret + t.replaceData(0, 1, "b"); // replace the text node data + // at this point, the selection is collapsed to offset 0 + synthesizeQuerySelectedText(); // call nsCaret::GetGeometry + sel.collapse(t, 1); // put the caret at the end again + enableCaret(true); // show the caret again + document.documentElement.removeAttribute("class"); + }, 0); + } + </script> + </body> +</html> |