Commit Graph

40 Commits

Author SHA1 Message Date
toasted-nutbread
cab2a39981 Simplify options passed to docRangeFromPoint 2019-12-17 20:56:32 -05:00
toasted-nutbread
4b5138b96e Override pointer-events with important 2019-12-17 20:54:57 -05:00
toasted-nutbread
ff1f256ffa Only return unique elements from docElementsFromPoint
This fixes #294
2019-12-17 20:53:12 -05:00
toasted-nutbread
527595f79b Remove unnecessary escapes from regex literals 2019-11-26 22:06:27 -05:00
toasted-nutbread
96aad50340 Create DOM utility file 2019-11-26 18:59:52 -05:00
toasted-nutbread
820beb7c93 Fix incorrect opacity check 2019-11-25 21:04:34 -05:00
toasted-nutbread
a5d7de8e97 Add correction to offset of imposter rect
Necessary when dealing with CSS transforms
2019-10-17 19:30:54 -04:00
toasted-nutbread
02927f9004 Handle null return value of document.caretPositionFromPoint 2019-09-18 22:11:18 -04:00
toasted-nutbread
073420a121 Normalize XHTML document node.nodeNode to upper case 2019-09-15 16:09:46 -04:00
toasted-nutbread
8b1e4d1c6f Return only single element when deepDomScan is not enabled 2019-09-14 14:52:03 -04:00
toasted-nutbread
6d3037f3d6 Remove destructuring from searchAt, containsPoint, docRangeFromPoint 2019-09-14 14:27:25 -04:00
toasted-nutbread
fc4a961412 Replace some instances of Array.concat
.push or .unshift can accomplish the same operation without constructing new arrays.
2019-09-02 20:25:30 -04:00
toasted-nutbread
33076e9db9 Fix typo 2019-09-02 11:43:49 -04:00
toasted-nutbread
c0bf6ff033 Fix issues caused by scanning ranges which don't start with a text node
The rects returned by range.getClientRects() could include the entire start element's bounding box.
2019-09-02 11:43:49 -04:00
toasted-nutbread
a2139213c8 Fix issue with whitespace ranges
The size of the rects for these ranges will sometimes be excessively large on Firefox, leading to false positives.
2019-09-02 11:43:49 -04:00
toasted-nutbread
ee59b3ab8b Reduce amount of isPointInRange calls for repeated ranges 2019-09-02 11:43:49 -04:00
toasted-nutbread
171e3f1097 Add option for enabling deep scanning 2019-09-02 11:43:48 -04:00
toasted-nutbread
737a5ee8a8 Allow elements behind other transparent elements to be scanned 2019-09-02 11:43:33 -04:00
toasted-nutbread
d296ebd593 Improve definition of caretRangeFromPoint 2019-09-02 11:41:00 -04:00
toasted-nutbread
548607ea7f Destructure point to {x, y} only once 2019-09-02 11:40:21 -04:00
toasted-nutbread
e3d7ec8db7 Create container for imposter element
The container will prevent the imposter element's size from affecting the document's primary scrollbars.
2019-09-01 16:06:22 -04:00
toasted-nutbread
e3e7dad2cc Use important CSS priority for imposter element styles 2019-08-31 15:30:32 -04:00
toasted-nutbread
9b46fe70de Fix imposter issues with <input type="text"> 2019-08-31 15:10:46 -04:00
toasted-nutbread
ad0dca7bb1 Make the imposter element tracked using TextSourceRange 2019-08-31 14:57:50 -04:00
toasted-nutbread
e47e041217 Disable pointer events on hidden imposter 2019-08-31 14:57:50 -04:00
toasted-nutbread
62d66d93f7 Remove rounding 2019-08-31 14:57:50 -04:00
toasted-nutbread
9e9040178d Fix some size and positioning issues related to imposter element 2019-08-31 14:57:49 -04:00
toasted-nutbread
ea9c5ad867 Update isPointInRange to be more accurate 2019-08-29 20:35:23 -04:00
toasted-nutbread
2edd4183a0 Clean up docRangeFromPoint
Use a cached value for checking if the browser is Firefox.
Only validate and set up document.caretRangeFromPoint once.
Use switch for multiple comparisons on the same value.
2019-08-16 17:44:16 -04:00
siikamiika
cfb5f0b9e1 fix scanning start of line on Firefox
On many sites, for example Twitter (posts), Yomichan doesn't match any
text from the beginning of the line unless you move the mouse cursor to
the top left corner of the word that starts from the beginning of the
line.

Apparently there were some problems related to the imposter and there
was commit 0cc5566 adding a fix for it, but this seemed to cause
problems and 542cdb2 was added to fix that. It didn't handle all of the
cases, though, so this commit is letting everything through on Firefox.
2019-08-04 01:52:27 +03:00
toasted-nutbread
542cdb2df9 Fix docRangeFromPoint sometimes not returning results
If range.getClientRects() has more than 1 result, it is possible that nothing will be returned even when hovering over a valid target.
2019-06-22 21:42:35 -04:00
toasted-nutbread
dd52a1c01a Improve handling of null values from caretRangeFromPoint 2019-02-20 21:47:31 -05:00
toasted-nutbread
33ec369eff Catch exceptions thrown by range.getClientRects()
Firefox dev 65 was throwing an exception
2018-12-10 17:09:06 -05:00
Gareth Parker
0cc5566886
Fixes for imposter element and range y position
Hides the imposter element once we've finished using it and checks the y position for the range against the point given
2018-06-08 22:48:26 +01:00
Roderic Day
5502bf8aed Place nodeType checks inside caretRangeFromPoint function
Checked that it does not un-fix #80
Squelches alerts (but does not fix underlying issue) for #89
2017-10-13 15:12:41 -04:00
0554aa0d27 make sure ranges are created over text nodes only (fixes #80) 2017-09-19 23:05:17 -07:00
c4525027da bugfix and version 2017-08-19 21:09:54 -07:00
191336522c fix flicker on form elements on mouseover (fixes #56) 2017-08-17 19:14:06 -07:00
211e5d1155 cleanup 2017-08-14 23:22:37 -07:00
8bcc4ddf19 cleanup 2017-07-20 21:21:22 -07:00