aboutsummaryrefslogtreecommitdiff
path: root/ext/fg/js/range.js
diff options
context:
space:
mode:
authorispedals <ispedals@users.noreply.github.com>2016-06-18 18:52:02 -0400
committerispedals <ispedals@users.noreply.github.com>2016-06-19 12:54:32 -0400
commit099d48ef48a065001a6b4a0ab29c567935af1f25 (patch)
treea6fef1a2d2c74bd2850794e498d85aaa0fb36f55 /ext/fg/js/range.js
parent651231fbc136ad2574c18d837151aa4dd6c2306e (diff)
Polyfill caretRangeFromPoint()
Gecko did not implment the older caretRangeFromPoint() and instead implemented the newer caretPositionFromPoint()
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) {