aboutsummaryrefslogtreecommitdiff
path: root/ext/fg/js/range.js
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2016-07-02 19:51:13 -0700
committerAlex Yatskov <alex@foosoft.net>2016-07-02 19:51:13 -0700
commit30585892b812dbf19c15bd010d6032fffa204c0d (patch)
tree206927761682b43582bee8b84d50ffa7a6255485 /ext/fg/js/range.js
parentbd89db4ec5a55e7b08b27a3d736a32e859084aff (diff)
parent261914328fb8b72d8984a21eaf7670a01f1da2c6 (diff)
Merge branch 'master' of https://github.com/FooSoft/yomichan-chrome
Diffstat (limited to 'ext/fg/js/range.js')
-rw-r--r--ext/fg/js/range.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/ext/fg/js/range.js b/ext/fg/js/range.js
index 182e242c..0befe279 100644
--- a/ext/fg/js/range.js
+++ b/ext/fg/js/range.js
@@ -16,6 +16,19 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+// Polyfill caretRangeFromPoint() using the newer caretPositionFromPoint()
+if (!document.caretRangeFromPoint){
+ document.caretRangeFromPoint = function polyfillcaretRangeFromPoint(x,y){
+ let range = document.createRange();
+ let position = document.caretPositionFromPoint(x,y);
+ if (!position) {
+ return null;
+ }
+ range.setStart(position.offsetNode, position.offset);
+ range.setEnd(position.offsetNode, position.offset);
+ return range;
+ };
+}
class Range {
constructor(range) {