 
     @updateContentDimensions()
     @updateScrollbarDimensions()
-    @updateScrollPosition()
+
+    @restoreScrollPosition()
+    @commitPendingLogicalScrollTopPosition()
+    @commitPendingScrollTopPosition()
+    @commitPendingLogicalScrollLeftPosition()
+    @commitPendingScrollLeftPosition()
+    @clearPendingScrollPosition()
+
     @updateStartRow()
     @updateEndRow()
     @updateCommonGutterState()


      @emitter.emit 'did-change-scroll-left', @scrollLeft

    @pendingScrollLeft = null

  commitPendingScrollTopPosition: ->
    return unless @pendingScrollTop?


  getHorizontalScrollbarHeight: ->
    @horizontalScrollbarHeight

  commitPendingLogicalScrollTopPosition: ->
    return unless @pendingScrollLogicalPosition?

    {screenRange, options} = @pendingScrollLogicalPosition

    verticalScrollMarginInPixels = @getVerticalScrollMarginInPixels()

    top = screenRange.start.row * @lineHeight
    bottom = (screenRange.end.row + 1) * @lineHeight

    if options?.center
      desiredScrollCenter = (top + bottom) / 2
