diff --git a/web/pdf_viewer.js b/web/pdf_viewer.js index 9cee8bf4c355e..adf1aefc050a7 100644 --- a/web/pdf_viewer.js +++ b/web/pdf_viewer.js @@ -198,7 +198,9 @@ var PDFViewer = (function pdfViewer() { page.update(page.scale, rotation); } - this._setScale(this._currentScaleValue, true); + if (this._currentScale !== UNKNOWN_SCALE) { + this._setScale(this._currentScaleValue, true); + } }, /** @@ -568,7 +570,8 @@ var PDFViewer = (function pdfViewer() { scale: normalizedScaleValue, top: intTop, left: intLeft, - pdfOpenParams: pdfOpenParams + pdfOpenParams: pdfOpenParams, + rotation: this._pagesRotation }; }, diff --git a/web/viewer.js b/web/viewer.js index 87ea07134faea..d1135c7491c86 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -901,6 +901,11 @@ var PDFViewerApplication = { store.get('zoom', self.pdfViewer.currentScale); var left = store.get('scrollLeft', '0'); var top = store.get('scrollTop', '0'); + var rotation = store.get('rotation', '0') | 0; + + if (rotation !== self.pageRotation) { + self.rotatePages(rotation, true); + } storedHash = 'page=' + pageNum + '&zoom=' + zoom + ',' + left + ',' + top; @@ -1323,15 +1328,16 @@ var PDFViewerApplication = { this.updateScaleControls = true; }, - rotatePages: function pdfViewRotatePages(delta) { + rotatePages: function pdfViewRotatePages(delta, noRendering) { var pageNumber = this.page; this.pageRotation = (this.pageRotation + 360 + delta) % 360; this.pdfViewer.pagesRotation = this.pageRotation; this.pdfThumbnailViewer.pagesRotation = this.pageRotation; - this.forceRendering(); - - this.pdfViewer.scrollPageIntoView(pageNumber); + if (!noRendering) { + this.forceRendering(); + this.pdfViewer.scrollPageIntoView(pageNumber); + } }, /** @@ -1786,7 +1792,8 @@ window.addEventListener('updateviewarea', function () { 'page': location.pageNumber, 'zoom': location.scale, 'scrollLeft': location.left, - 'scrollTop': location.top + 'scrollTop': location.top, + 'rotation': location.rotation }).catch(function() { // unable to write to storage });