blob: 4f4eaeb6b9330b191944d1453a84db8f9e538e79 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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>
|