From b7d5e25e353010505db7754e97d4387c8aa6b8fc Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Fri, 2 Jan 2015 15:01:32 +0000 Subject: Modes; simplify badge handling. --- content_scripts/mode_insert.coffee | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) (limited to 'content_scripts/mode_insert.coffee') diff --git a/content_scripts/mode_insert.coffee b/content_scripts/mode_insert.coffee index f37cf1ad..9504edfd 100644 --- a/content_scripts/mode_insert.coffee +++ b/content_scripts/mode_insert.coffee @@ -31,6 +31,17 @@ class InsertMode extends Mode @activate() if document.activeElement?.isContentEditable @isInsertMode + activate: -> + unless @isInsertMode + @isInsertMode = true + @badge = "I" + Mode.updateBadge() + + deactivate: -> + @isInsertMode = false + @badge = "" + Mode.updateBadge() + generateKeyHandler: (type) -> (event) => return Mode.propagate unless @isActive() @@ -43,24 +54,12 @@ class InsertMode extends Mode # right thing to do for most common use cases. However, it could also cripple flash-based sites and # games. See discussion in #1211 and #1194. event.srcElement.blur() - @isInsertMode = false - Mode.updateBadge() + @deactivate() Mode.suppressPropagation - activate: -> - unless @isInsertMode - @isInsertMode = true - Mode.updateBadge() - - # Override updateBadgeForMode() from Mode.updateBadgeForMode(). - updateBadgeForMode: (badge) -> - handlerStack.alwaysPropagate => - super badge if @isActive() - constructor: -> super name: "insert" - badge: "I" keydown: @generateKeyHandler "keydown" keypress: @generateKeyHandler "keypress" keyup: @generateKeyHandler "keyup" @@ -73,8 +72,7 @@ class InsertMode extends Mode blur: (event) => handlerStack.alwaysPropagate => if @isInsertMode and @isFocusable event.target - @isInsertMode = false - Mode.updateBadge() + @deactivate() # We may already have been dropped into insert mode. So check. Mode.updateBadge() -- cgit v1.2.3