     dragstart: (event) ->
       target = event.target
       @serializeSelectionToDataTransfer(event.dataTransfer)
-      @draggedRange = @responder?.getSelectedRange()
+      @draggedRange = @getSelectedRange()
       @delegate?.inputControllerDidStartDrag?()
 
     dragover: (event) ->

    requestAnimationFrame =>
      html = element.innerHTML
      document.body.removeChild(element)
      @responder?.setSelectedRange(selectedRange)
      callback(html)

  @proxyMethod "responder?.expandSelectionInDirection"
  @proxyMethod "responder?.selectionIsInCursorTarget"
  @proxyMethod "responder?.selectionIsExpanded"

    # by the extra <br> rendered to represent them.
    if textDeleted is "\n" and unhandledDeletion
      if textAdded and not unhandledAddition
        if range = @getSelectedRange()
          if @responder?.positionIsBlockBreak(range[1] + textAdded.length)
            unhandledDeletion = false

