     inputLog.groupEnd()
 
   mutationIsExpected: (mutationSummary) ->
-    switch
-      when not @inputSummary
-        false
-      when @inputSummary.keyName is "backspace" and @inputSummary.keyModifier is "meta"
-        false
-      when @inputSummary.keyName is "return"
-        true
+    if @inputSummary
+      if @inputSummary.preferDocument?
+        @inputSummary.preferDocument
       else
         unhandledAddition = mutationSummary.textAdded isnt @inputSummary.textAdded
         unhandledDeletion = mutationSummary.textDeleted? and not @inputSummary.didDelete


    alt:
      backspace: (event) ->
        @delegate?.inputControllerWillPerformTyping()

    meta:
      backspace: (event) ->
        @delegate?.inputControllerWillPerformTyping()

  # Private

            break

        if context[keyName]?
          @setInputSummary({keyName, keyModifier})
          Trix.selectionChangeObserver.reset()
          context[keyName].call(this, event)

