From 480869c3d1d820b344d23989d2deae64a594869e Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Tue, 20 Sep 2022 21:06:39 -0400 Subject: Exclude documentElement from zoom calculation (#2227) * Exclude documentElement from zoom calculation * Add an option * Refactor zoom coordinate conversion functions * Convert zoom coordinates for text sources * Rename variable * Convert rect coordinate spaces * Handle shadow DOM --- ext/js/language/text-scanner.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'ext/js/language') diff --git a/ext/js/language/text-scanner.js b/ext/js/language/text-scanner.js index 93de4dd4..3b8a8b47 100644 --- a/ext/js/language/text-scanner.js +++ b/ext/js/language/text-scanner.js @@ -54,6 +54,7 @@ class TextScanner extends EventDispatcher { this._selectionRestoreInfo = null; this._deepContentScan = false; + this._normalizeCssZoom = true; this._selectText = false; this._delay = 0; this._touchInputEnabled = false; @@ -151,6 +152,7 @@ class TextScanner extends EventDispatcher { setOptions({ inputs, deepContentScan, + normalizeCssZoom, selectText, delay, touchInputEnabled, @@ -167,6 +169,9 @@ class TextScanner extends EventDispatcher { if (typeof deepContentScan === 'boolean') { this._deepContentScan = deepContentScan; } + if (typeof normalizeCssZoom === 'boolean') { + this._normalizeCssZoom = normalizeCssZoom; + } if (typeof selectText === 'boolean') { this._selectText = selectText; } @@ -932,7 +937,10 @@ class TextScanner extends EventDispatcher { return; } - const textSource = this._documentUtil.getRangeFromPoint(x, y, this._deepContentScan); + const textSource = this._documentUtil.getRangeFromPoint(x, y, { + deepContentScan: this._deepContentScan, + normalizeCssZoom: this._normalizeCssZoom + }); try { await this._search(textSource, searchTerms, searchKanji, inputInfo); } finally { -- cgit v1.2.3