aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2017-04-22 07:37:57 +0100
committerStephen Blott2017-04-22 07:38:22 +0100
commit681c61d37f0b937939e739d888e93c65add51463 (patch)
tree20ede9a3b528b694ee3e545bcb4233b2c51d37b2
parent0975076abe3529e19dcd23655697791c39c3ff78 (diff)
downloadvimium-681c61d37f0b937939e739d888e93c65add51463.tar.bz2
Firefox: Polyfill for selection.type for visual mode.
@mrmr1993... This puts the logic of how we choose the selection type in one place; so, if you have a better idea of how to determine the selection type, then we just change it here. Once.
-rw-r--r--lib/dom_utils.coffee10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/dom_utils.coffee b/lib/dom_utils.coffee
index 8fdc319e..c21d5a29 100644
--- a/lib/dom_utils.coffee
+++ b/lib/dom_utils.coffee
@@ -326,9 +326,15 @@ DomUtils =
@suppressEvent event
handlerStack.suppressEvent
-
+ # Polyfill for selection.type (which is not available in Firefox).
getSelectionType: (selection) ->
- selection.type
+ selection.type or do ->
+ if selection.rangeCount == 0
+ "None"
+ else if selection.isCollapsed
+ "Caret"
+ else
+ "Range"
# Adapted from: http://roysharon.com/blog/37.
# This finds the element containing the selection focus.