       # setRange(null) will fail to blur in IE10/11 on Travis+SauceLabs (but not local VMs)
       document.body.focus() if dom.isIE(11) and !dom.isIE(9)
 
-  setRange: (range, source) ->
+  setRange: (range) ->
     convert = (index) =>
       pos = @doc.findPath(index).pop() # TODO inclusive
       if pos.blot instanceof Parchment.Embed

  focus: ->
    return if this.checkFocus()
    @root.focus()
    if !this.getNativeRange() && @range?
      this.setRange(@range)

  getBounds: (index) ->
    pos = @doc.findPath(index).pop()


  constructor: (@doc) ->
    @root = @doc.domNode
    @lastRange = @savedRange = new Range(1, 1)  # savedRange is never null
    ['keyup', 'mouseup', 'mouseleave', 'touchend', 'touchleave'].forEach((eventName) =>
      @root.addEventListener(eventName, =>
        this.update()  # Do not pass event handler params
