       when @inputSummary.keyName is "return"
         true
       else
-        unhandledAddition = mutationSummary.textAdded? and mutationSummary.textAdded isnt @inputSummary.textAdded
+        unhandledAddition = mutationSummary.textAdded isnt @inputSummary.textAdded
         unhandledDeletion = mutationSummary.textDeleted? and not @inputSummary.didDelete
         not (unhandledAddition or unhandledDeletion)
 


  events:
    keydown: (event) ->
      return if @inputSummary.eventName is "compositionend"
      @resetInputSummary()

      if keyName = @constructor.keyNames[event.keyCode]
        context = @keys


    compositionstart: (event) ->
      @mutationObserver.stop()
      @composition = start: event.data

    compositionupdate: (event) ->
      @composition.update = event.data

    compositionend: (event) ->
      @mutationObserver.start()
      @composition.end = event.data

      if @composition.end? and @composition.end isnt @composition.start
        @delegate?.inputControllerWillPerformTyping()
        @responder?.insertString(@composition.end)
        @setInputSummary(textAdded: @composition.end, didDelete: @selectionIsExpanded())
        delete @composition

    input: (event) ->
      event.stopPropagation()
