aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts/mode_insert.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'content_scripts/mode_insert.coffee')
-rw-r--r--content_scripts/mode_insert.coffee12
1 files changed, 6 insertions, 6 deletions
diff --git a/content_scripts/mode_insert.coffee b/content_scripts/mode_insert.coffee
index 91103a55..eac4a3d0 100644
--- a/content_scripts/mode_insert.coffee
+++ b/content_scripts/mode_insert.coffee
@@ -1,12 +1,9 @@
class InsertMode extends Mode
- # There is one permanently-installed instance of InsertMode. It tracks focus changes and
- # activates/deactivates itself (by setting @insertModeLock) accordingly.
- @permanentInstance: null
-
constructor: (options = {}) ->
- InsertMode.permanentInstance ||= @
- @permanent = (@ == InsertMode.permanentInstance)
+ # There is one permanently-installed instance of InsertMode. It tracks focus changes and
+ # activates/deactivates itself (by setting @insertModeLock) accordingly.
+ @permanent = options.permanent
# If truthy, then we were activated by the user (with "i").
@global = options.global
@@ -51,6 +48,9 @@ class InsertMode extends Mode
if @insertModeLock != event.target and DomUtils.isFocusable event.target
@activateOnElement event.target
+ # Only for tests. This gives us a hook to test the status of the permanent instance.
+ InsertMode.permanentInstance = @ if @permanent
+
isActive: (event) ->
return false if event == InsertMode.suppressedEvent
return true if @insertModeLock or @global