safeguard if the offsetnode is null when determining caret position

pull/21833/head
Bruno Windels 2019-10-10 16:39:41 +02:00
parent 7160922b77
commit 905aa81bf8
1 changed files with 4 additions and 0 deletions

View File

@ -92,6 +92,10 @@ function getSelectionOffsetAndText(editor, selectionNode, selectionOffset) {
// gets the caret position details, ignoring and adjusting to // gets the caret position details, ignoring and adjusting to
// the ZWS if you're typing in a caret node // the ZWS if you're typing in a caret node
function getCaret(node, offsetToNode, offsetWithinNode) { function getCaret(node, offsetToNode, offsetWithinNode) {
// if no node is selected, return an offset at the start
if (!node) {
return new DocumentOffset(0, false);
}
let atNodeEnd = offsetWithinNode === node.textContent.length; let atNodeEnd = offsetWithinNode === node.textContent.length;
if (node.nodeType === Node.TEXT_NODE && isCaretNode(node.parentElement)) { if (node.nodeType === Node.TEXT_NODE && isCaretNode(node.parentElement)) {
const zwsIdx = node.nodeValue.indexOf(CARET_NODE_CHAR); const zwsIdx = node.nodeValue.indexOf(CARET_NODE_CHAR);