From 75d30594511a6593044565829ad55369fecaf4cd Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sun, 25 Sep 2022 09:37:33 -0400 Subject: TextSource* API updates (#2236) * Move TextSourceRange static functions to DocumentUtil getWritingMode is also simplified * Update Google Docs range to be empty to match other range sources * Rename imposterContainer to imposterElement * Add static creation functions * Add static creation function * Remove unused collapse function * Don't select imposter elements * Refactor setEndOffset * Adjust argument order for setEndOffset * Update TextSourceRange constructor * Remove unused isConnected * Cache rects * Fix test * Remove unused getRect * Revert "Fix test" * Remove cachedRect * Use the source element rect to handle scroll differences * Writing mode update * Remove _cachedRects update This shouldn't be necessary as the imposter is usually detached almost immediately after scanning, giving no time for the window to be resized or scrolled. --- ext/js/language/text-scanner.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ext/js/language') diff --git a/ext/js/language/text-scanner.js b/ext/js/language/text-scanner.js index a5b35a26..826c8c5b 100644 --- a/ext/js/language/text-scanner.js +++ b/ext/js/language/text-scanner.js @@ -229,7 +229,7 @@ class TextScanner extends EventDispatcher { getTextSourceContent(textSource, length, layoutAwareScan) { const clonedTextSource = textSource.clone(); - clonedTextSource.setEndOffset(length, layoutAwareScan, false); + clonedTextSource.setEndOffset(length, false, layoutAwareScan); const includeSelector = this._includeSelector; const excludeSelector = this._excludeSelector; @@ -875,7 +875,7 @@ class TextScanner extends EventDispatcher { const {dictionaryEntries, originalTextLength} = await yomichan.api.termsFind(searchText, details, optionsContext); if (dictionaryEntries.length === 0) { return null; } - textSource.setEndOffset(originalTextLength, layoutAwareScan, false); + textSource.setEndOffset(originalTextLength, false, layoutAwareScan); const sentence = DocumentUtil.extractSentence( textSource, layoutAwareScan, @@ -902,7 +902,7 @@ class TextScanner extends EventDispatcher { const dictionaryEntries = await yomichan.api.kanjiFind(searchText, optionsContext); if (dictionaryEntries.length === 0) { return null; } - textSource.setEndOffset(1, layoutAwareScan, false); + textSource.setEndOffset(1, false, layoutAwareScan); const sentence = DocumentUtil.extractSentence( textSource, layoutAwareScan, @@ -1127,7 +1127,7 @@ class TextScanner extends EventDispatcher { (excludeSelector !== null && DocumentUtil.anyNodeMatchesSelector(nodes, excludeSelector)) ) { --length; - textSource.setEndOffset(length, layoutAwareScan, false); + textSource.setEndOffset(length, false, layoutAwareScan); } else { break; } -- cgit v1.2.3