diff options
Diffstat (limited to 'ext/js/dom/text-source-range.js')
| -rw-r--r-- | ext/js/dom/text-source-range.js | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/ext/js/dom/text-source-range.js b/ext/js/dom/text-source-range.js index a0225748..bbc22599 100644 --- a/ext/js/dom/text-source-range.js +++ b/ext/js/dom/text-source-range.js @@ -124,7 +124,7 @@ class TextSourceRange {       * @param {boolean} fromEnd Whether to move the offset from the current end position (if `true`) or the start position (if `false`).       * @param {boolean} layoutAwareScan Whether or not HTML layout information should be used to generate       *   the string content when scanning. -     * @returns {number} The actual number of characters (not codepoints) that were read. +     * @returns {number} The actual number of codepoints that were read.       */      setEndOffset(length, fromEnd, layoutAwareScan) {          let node; @@ -147,7 +147,7 @@ class TextSourceRange {       * @param {number} length The maximum number of codepoints to move by.       * @param {boolean} layoutAwareScan Whether or not HTML layout information should be used to generate       *   the string content when scanning. -     * @returns {number} The actual number of characters (not codepoints) that were read. +     * @returns {number} The actual number of codepoints that were read.       */      setStartOffset(length, layoutAwareScan) {          const state = new DOMTextScanner(this._range.startContainer, this._range.startOffset, !layoutAwareScan, layoutAwareScan).seek(-length); @@ -172,8 +172,9 @@ class TextSourceRange {       * @returns {string} The rects.       */      getWritingMode() { -        const node = this._isImposterDisconnected() ? this._imposterSourceElement : this._range.startContainer; -        return DocumentUtil.getElementWritingMode(node !== null ? node.parentElement : null); +        let node = this._isImposterDisconnected() ? this._imposterSourceElement : this._range.startContainer; +        if (node !== null && node.nodeType !== Node.ELEMENT_NODE) { node = node.parentElement; } +        return DocumentUtil.getElementWritingMode(node);      }      /**  |