diff --git a/web/pdf_viewer.js b/web/pdf_viewer.js index 94e3f9fc7..75dcf32a1 100644 --- a/web/pdf_viewer.js +++ b/web/pdf_viewer.js @@ -137,6 +137,12 @@ var PDFViewer = (function pdfViewer() { this._currentPageNumber = val; event.pageNumber = val; this.container.dispatchEvent(event); + + // Check if the caller is `PDFViewer_update`, to avoid breaking scrolling. + if (this.updateInProgress) { + return; + } + this.scrollPageIntoView(val); }, /** @@ -566,7 +572,7 @@ var PDFViewer = (function pdfViewer() { }; }, - update: function () { + update: function PDFViewer_update() { var visible = this._getVisiblePages(); var visiblePages = visible.views; if (visiblePages.length === 0) { @@ -581,7 +587,7 @@ var PDFViewer = (function pdfViewer() { this.renderingQueue.renderHighestPriority(visible); - var currentId = this.currentPageNumber; + var currentId = this._currentPageNumber; var firstPage = visible.first; for (var i = 0, ii = visiblePages.length, stillFullyVisible = false; diff --git a/web/viewer.js b/web/viewer.js index 32ed42843..ea09d868a 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -526,7 +526,6 @@ var PDFViewerApplication = { } var self = this; - self.loading = true; self.downloadComplete = false; var passwordNeeded = function passwordNeeded(updatePassword, reason) { @@ -543,7 +542,6 @@ var PDFViewerApplication = { getDocumentProgress).then( function getDocumentCallback(pdfDocument) { self.load(pdfDocument, scale); - self.loading = false; }, function getDocumentError(exception) { var message = exception && exception.message; @@ -571,7 +569,6 @@ var PDFViewerApplication = { message: message }; self.error(loadingErrorMessage, moreInfo); - self.loading = false; } ); @@ -1822,16 +1819,6 @@ window.addEventListener('pagechange', function pagechange(evt) { Stats.add(page, pageView.stats); } } - - // checking if the this.page was called from the updateViewarea function - if (evt.updateInProgress) { - return; - } - // Avoid scrolling the first page during loading - if (this.loading && page === 1) { - return; - } - PDFViewerApplication.pdfViewer.scrollPageIntoView(page); }, true); function handleMouseWheel(evt) {