Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<html class="reftest-wait">
<script src="/tests/SimpleTest/EventUtils.js"></script>
<body onload="doTest()">
<input type=text style="-moz-appearance: none">
function doTest() {
function enableCaret(aEnable) {
var selCon = editor.selectionController;
var d = document.querySelector("input");
d.value = "a";
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
}, 0);