diff options
Diffstat (limited to 'ext/js/dom/text-source-element.js')
-rw-r--r-- | ext/js/dom/text-source-element.js | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/ext/js/dom/text-source-element.js b/ext/js/dom/text-source-element.js index b5fc1683..13c5cd86 100644 --- a/ext/js/dom/text-source-element.js +++ b/ext/js/dom/text-source-element.js @@ -21,9 +21,9 @@ */ class TextSourceElement { - constructor(element, fullContent=null, startOffset=0, endOffset=0) { + constructor(element, fullContent, startOffset, endOffset) { this._element = element; - this._fullContent = (typeof fullContent === 'string' ? fullContent : TextSourceElement.getElementContent(element)); + this._fullContent = fullContent; this._startOffset = startOffset; this._endOffset = endOffset; this._content = this._fullContent.substring(this._startOffset, this._endOffset); @@ -49,10 +49,6 @@ class TextSourceElement { return this._endOffset; } - get isConnected() { - return this._element.isConnected; - } - clone() { return new TextSourceElement(this._element, this._fullContent, this._startOffset, this._endOffset); } @@ -65,7 +61,7 @@ class TextSourceElement { return this._content; } - setEndOffset(length, _layoutAwareScan, fromEnd) { + setEndOffset(length, fromEnd) { const offset = fromEnd ? this._endOffset : this._startOffset; length = Math.min(this._fullContent.length - offset, length); if (length > 0) { @@ -86,19 +82,6 @@ class TextSourceElement { return length; } - collapse(toStart) { - if (toStart) { - this._endOffset = this._startOffset; - } else { - this._startOffset = this._endOffset; - } - this._content = ''; - } - - getRect() { - return DocumentUtil.convertRectZoomCoordinates(this._element.getBoundingClientRect(), this._element); - } - getRects() { return DocumentUtil.convertMultipleRectZoomCoordinates(this._element.getClientRects(), this._element); } @@ -130,7 +113,11 @@ class TextSourceElement { return [this._element]; } - static getElementContent(element) { + static create(element) { + return new TextSourceElement(element, this._getElementContent(element), 0, 0); + } + + static _getElementContent(element) { let content; switch (element.nodeName.toUpperCase()) { case 'BUTTON': |