Browse Source

PDF.js version 1.5.248 - See mozilla/pdf.js@69cf8c5fb31d15942d450d3fcd0ef293e14c1c22

Pdf Bot 9 years ago
parent
commit
a849d64980
6 changed files with 35 additions and 38 deletions
  1. 1 1
      bower.json
  2. 2 2
      build/pdf.combined.js
  3. 2 2
      build/pdf.js
  4. 2 2
      build/pdf.worker.js
  5. 1 1
      package.json
  6. 27 30
      web/pdf_viewer.js

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
   "name": "pdfjs-dist",
-  "version": "1.5.246",
+  "version": "1.5.248",
   "main": [
     "build/pdf.js",
     "build/pdf.worker.js"

+ 2 - 2
build/pdf.combined.js

@@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdfCombined = {}));
   // Use strict in our context only - users might not want it
   'use strict';
 
-var pdfjsVersion = '1.5.246';
-var pdfjsBuild = 'aa9ba43';
+var pdfjsVersion = '1.5.248';
+var pdfjsBuild = '69cf8c5';
 
   var pdfjsFilePath =
     typeof document !== 'undefined' && document.currentScript ?

+ 2 - 2
build/pdf.js

@@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdf = {}));
   // Use strict in our context only - users might not want it
   'use strict';
 
-var pdfjsVersion = '1.5.246';
-var pdfjsBuild = 'aa9ba43';
+var pdfjsVersion = '1.5.248';
+var pdfjsBuild = '69cf8c5';
 
   var pdfjsFilePath =
     typeof document !== 'undefined' && document.currentScript ?

+ 2 - 2
build/pdf.worker.js

@@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdfWorker = {}));
   // Use strict in our context only - users might not want it
   'use strict';
 
-var pdfjsVersion = '1.5.246';
-var pdfjsBuild = 'aa9ba43';
+var pdfjsVersion = '1.5.248';
+var pdfjsBuild = '69cf8c5';
 
   var pdfjsFilePath =
     typeof document !== 'undefined' && document.currentScript ?

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "pdfjs-dist",
-  "version": "1.5.246",
+  "version": "1.5.248",
   "main": "build/pdf.js",
   "description": "Generic build of Mozilla's PDF.js library.",
   "keywords": [

+ 27 - 30
web/pdf_viewer.js

@@ -839,7 +839,6 @@ exports.binarySearchFirstItem = binarySearchFirstItem;
     eventBus.on('pagechange', function (e) {
       var event = document.createEvent('UIEvents');
       event.initUIEvent('pagechange', true, true, window, 0);
-      event.updateInProgress = e.updateInProgress;
       event.pageNumber = e.pageNumber;
       event.previousPageNumber = e.previousPageNumber;
       e.source.container.dispatchEvent(event);
@@ -3225,7 +3224,6 @@ var PDFViewer = (function pdfViewer() {
     }
 
     this.scroll = watchScroll(this.container, this._scrollUpdate.bind(this));
-    this.updateInProgress = false;
     this.presentationModeState = PresentationModeState.UNKNOWN;
     this._resetView();
 
@@ -3252,12 +3250,19 @@ var PDFViewer = (function pdfViewer() {
         this._currentPageNumber = val;
         return;
       }
+      this._setCurrentPageNumber(val);
+      // The intent can be to just reset a scroll position and/or scale.
+      this._resetCurrentPageView();
+    },
 
+    _setCurrentPageNumber: function pdfViewer_setCurrentPageNumber(val) {
+      if (this._currentPageNumber === val) {
+        return;
+      }
       var arg;
       if (!(0 < val && val <= this.pagesCount)) {
         arg = {
           source: this,
-          updateInProgress: this.updateInProgress,
           pageNumber: this._currentPageNumber,
           previousPageNumber: val
         };
@@ -3268,19 +3273,12 @@ var PDFViewer = (function pdfViewer() {
 
       arg = {
         source: this,
-        updateInProgress: this.updateInProgress,
         pageNumber: val,
         previousPageNumber: this._currentPageNumber
       };
-      this.eventBus.dispatch('pagechanging', arg);
       this._currentPageNumber = val;
+      this.eventBus.dispatch('pagechanging', arg);
       this.eventBus.dispatch('pagechange', arg);
-
-      // Check if the caller is `PDFViewer_update`, to avoid breaking scrolling.
-      if (this.updateInProgress) {
-        return;
-      }
-      this.scrollPageIntoView(val);
     },
 
     /**
@@ -3586,6 +3584,19 @@ var PDFViewer = (function pdfViewer() {
       }
     },
 
+    /**
+     * Refreshes page view: scrolls to the current page and updates the scale.
+     */
+    _resetCurrentPageView: function () {
+      if (this.isInPresentationMode) {
+        // Fixes the case when PDF has different page sizes.
+        this._setScale(this._currentScaleValue, true);
+      }
+
+      var pageView = this._pages[this._currentPageNumber - 1];
+      scrollIntoView(pageView.div);
+    },
+
     /**
      * Scrolls page into view.
      * @param {number} pageNumber
@@ -3598,23 +3609,13 @@ var PDFViewer = (function pdfViewer() {
         return;
       }
 
-      var pageView = this._pages[pageNumber - 1];
-
-      if (this.isInPresentationMode) {
-        if (this._currentPageNumber !== pageView.id) {
-          // Avoid breaking getVisiblePages in presentation mode.
-          this.currentPageNumber = pageView.id;
-          return;
-        }
-        dest = null;
-        // Fixes the case when PDF has different page sizes.
-        this._setScale(this._currentScaleValue, true);
-      }
-      if (!dest) {
-        scrollIntoView(pageView.div);
+      if (this.isInPresentationMode || !dest) {
+        this._setCurrentPageNumber(pageNumber);
+        this._resetCurrentPageView();
         return;
       }
 
+      var pageView = this._pages[pageNumber - 1];
       var x = 0, y = 0;
       var width = 0, height = 0, widthScale, heightScale;
       var changeOrientation = (pageView.rotation % 180 === 0 ? false : true);
@@ -3731,8 +3732,6 @@ var PDFViewer = (function pdfViewer() {
         return;
       }
 
-      this.updateInProgress = true;
-
       var suggestedCacheSize = Math.max(DEFAULT_CACHE_SIZE,
           2 * visiblePages.length + 1);
       this._buffer.resize(suggestedCacheSize);
@@ -3760,13 +3759,11 @@ var PDFViewer = (function pdfViewer() {
       }
 
       if (!this.isInPresentationMode) {
-        this.currentPageNumber = currentId;
+        this._setCurrentPageNumber(currentId);
       }
 
       this._updateLocation(firstPage);
 
-      this.updateInProgress = false;
-
       this.eventBus.dispatch('updateviewarea', {
         source: this,
         location: this._location