Files
tubestation/layout/base/tests/interlinePosition-after-Selection-addRange.html
Masayuki Nakano de5abd5945 Bug 1840700 - Make Selection::AddRangeAndSelectFramesAndNotifyListenersInternal() update interline position even if it does nothing r=jjaschke
It always set to "start of next line" when new range was added.  However,
after bug 1815802, it does nothing when adding range is one of its ranges.
Therefore, if interline position is set to "end of line" by our internal
code, like editor, `getSelection().addRange(getSelection().getRangeAt(0))`
keeps the last interline position.

Differential Revision: https://phabricator.services.mozilla.com/D182300
2023-06-28 07:59:13 +00:00

22 lines
698 B
HTML

<!doctype html>
<html class="reftest-wait">
<meta charset="utf-8">
<title>Selection.addRange() should always reset interline position</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<style>
div[contenteditable] {
padding: 1em;
}
</style>
<script>
SimpleTest.waitForFocus(async () => {
const editingHost = document.querySelector("div[contenteditable]");
editingHost.focus();
getSelection().collapse(editingHost, 2);
SpecialPowers.wrap(getSelection()).interlinePosition = false;
getSelection().addRange(getSelection().getRangeAt(0));
document.documentElement.removeAttribute("class");
});
</script>
<div contenteditable="true" spellcheck="false">abc<br><br></div>