diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-09-14 14:52:03 -0400 |
---|---|---|
committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-09-14 14:52:03 -0400 |
commit | 8b1e4d1c6fc5f496c05bb69fe9e6b2cd12c9090b (patch) | |
tree | dd96bd0e503d42bb870889c2187f3a390646f2e0 /ext/fg/js | |
parent | 7dddcb8dca226e79453aa7734c99df1b18af4366 (diff) |
Return only single element when deepDomScan is not enabled
Diffstat (limited to 'ext/fg/js')
-rw-r--r-- | ext/fg/js/document.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/ext/fg/js/document.js b/ext/fg/js/document.js index f2459197..079a5034 100644 --- a/ext/fg/js/document.js +++ b/ext/fg/js/document.js @@ -89,8 +89,18 @@ function docImposterCreate(element, isTextarea) { return [imposter, container]; } +function docElementsFromPoint(x, y, all) { + if (all) { + return document.elementsFromPoint(x, y); + } + + const e = document.elementFromPoint(x, y); + return e !== null ? [e] : []; +} + function docRangeFromPoint(x, y, options) { - const elements = document.elementsFromPoint(x, y); + const deepDomScan = options.scanning.deepDomScan; + const elements = docElementsFromPoint(x, y, deepDomScan); let imposter = null; let imposterContainer = null; if (elements.length > 0) { @@ -108,7 +118,7 @@ function docRangeFromPoint(x, y, options) { } } - const range = caretRangeFromPointExt(x, y, options.scanning.deepDomScan ? elements : []); + const range = caretRangeFromPointExt(x, y, deepDomScan ? elements : []); if (range !== null) { if (imposter !== null) { docSetImposterStyle(imposterContainer.style, 'z-index', '-2147483646'); |