Browse Source

PDF.js version 1.8.568 - See mozilla/pdf.js@af71ea7a7dcb8cbb3d710a73584a0de8d65e5a96

pdfjsbot 7 years ago
parent
commit
7e6e488c23

+ 1 - 1
bower.json

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

+ 33 - 6
build/pdf.combined.js

@@ -12044,6 +12044,10 @@ var PDFDocumentProxy = function PDFDocumentProxyClosure() {
     getPageLabels: function PDFDocumentProxy_getPageLabels() {
       return this.transport.getPageLabels();
     },
+    getPageMode: function getPageMode() {
+      return this.transport.getPageMode();
+    },
+
     getAttachments: function PDFDocumentProxy_getAttachments() {
       return this.transport.getAttachments();
     },
@@ -12879,6 +12883,10 @@ var WorkerTransport = function WorkerTransportClosure() {
     getPageLabels: function WorkerTransport_getPageLabels() {
       return this.messageHandler.sendWithPromise('GetPageLabels', null);
     },
+    getPageMode: function getPageMode() {
+      return this.messageHandler.sendWithPromise('GetPageMode', null);
+    },
+
     getAttachments: function WorkerTransport_getAttachments() {
       return this.messageHandler.sendWithPromise('GetAttachments', null);
     },
@@ -13124,8 +13132,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '1.8.564';
-  exports.build = build = 'e7cddcce';
+  exports.version = version = '1.8.568';
+  exports.build = build = 'af71ea7a';
 }
 exports.getDocument = getDocument;
 exports.LoopbackPort = LoopbackPort;
@@ -23869,6 +23877,22 @@ var Catalog = function CatalogClosure() {
       }
       return pageLabels;
     },
+    get pageMode() {
+      var obj = this.catDict.get('PageMode');
+      var pageMode = 'UseNone';
+      if ((0, _primitives.isName)(obj)) {
+        switch (obj.name) {
+          case 'UseNone':
+          case 'UseOutlines':
+          case 'UseThumbs':
+          case 'FullScreen':
+          case 'UseOC':
+          case 'UseAttachments':
+            pageMode = obj.name;
+        }
+      }
+      return (0, _util.shadow)(this, 'pageMode', pageMode);
+    },
     get attachments() {
       var xref = this.xref;
       var attachments = null,
@@ -28090,6 +28114,9 @@ var WorkerMessageHandler = {
     handler.on('GetPageLabels', function wphSetupGetPageLabels(data) {
       return pdfManager.ensureCatalog('pageLabels');
     });
+    handler.on('GetPageMode', function wphSetupGetPageMode(data) {
+      return pdfManager.ensureCatalog('pageMode');
+    });
     handler.on('GetAttachments', function wphSetupGetAttachments(data) {
       return pdfManager.ensureCatalog('attachments');
     });
@@ -28715,8 +28742,8 @@ if (!_util.globalScope.PDFJS) {
 }
 var PDFJS = _util.globalScope.PDFJS;
 {
-  PDFJS.version = '1.8.564';
-  PDFJS.build = 'e7cddcce';
+  PDFJS.version = '1.8.568';
+  PDFJS.build = 'af71ea7a';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {
@@ -47366,8 +47393,8 @@ exports.TilingPattern = TilingPattern;
 "use strict";
 
 
-var pdfjsVersion = '1.8.564';
-var pdfjsBuild = 'e7cddcce';
+var pdfjsVersion = '1.8.568';
+var pdfjsBuild = 'af71ea7a';
 var pdfjsSharedUtil = __w_pdfjs_require__(0);
 var pdfjsDisplayGlobal = __w_pdfjs_require__(25);
 var pdfjsDisplayAPI = __w_pdfjs_require__(10);

File diff suppressed because it is too large
+ 0 - 0
build/pdf.combined.js.map


+ 14 - 6
build/pdf.js

@@ -2692,6 +2692,10 @@ var PDFDocumentProxy = function PDFDocumentProxyClosure() {
     getPageLabels: function PDFDocumentProxy_getPageLabels() {
       return this.transport.getPageLabels();
     },
+    getPageMode: function getPageMode() {
+      return this.transport.getPageMode();
+    },
+
     getAttachments: function PDFDocumentProxy_getAttachments() {
       return this.transport.getAttachments();
     },
@@ -3612,6 +3616,10 @@ var WorkerTransport = function WorkerTransportClosure() {
     getPageLabels: function WorkerTransport_getPageLabels() {
       return this.messageHandler.sendWithPromise('GetPageLabels', null);
     },
+    getPageMode: function getPageMode() {
+      return this.messageHandler.sendWithPromise('GetPageMode', null);
+    },
+
     getAttachments: function WorkerTransport_getAttachments() {
       return this.messageHandler.sendWithPromise('GetAttachments', null);
     },
@@ -3857,8 +3865,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '1.8.564';
-  exports.build = build = 'e7cddcce';
+  exports.version = version = '1.8.568';
+  exports.build = build = 'af71ea7a';
 }
 exports.getDocument = getDocument;
 exports.LoopbackPort = LoopbackPort;
@@ -5913,8 +5921,8 @@ if (!_util.globalScope.PDFJS) {
 }
 var PDFJS = _util.globalScope.PDFJS;
 {
-  PDFJS.version = '1.8.564';
-  PDFJS.build = 'e7cddcce';
+  PDFJS.version = '1.8.568';
+  PDFJS.build = 'af71ea7a';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {
@@ -11454,8 +11462,8 @@ exports.TilingPattern = TilingPattern;
 "use strict";
 
 
-var pdfjsVersion = '1.8.564';
-var pdfjsBuild = 'e7cddcce';
+var pdfjsVersion = '1.8.568';
+var pdfjsBuild = 'af71ea7a';
 var pdfjsSharedUtil = __w_pdfjs_require__(0);
 var pdfjsDisplayGlobal = __w_pdfjs_require__(8);
 var pdfjsDisplayAPI = __w_pdfjs_require__(3);

File diff suppressed because it is too large
+ 0 - 0
build/pdf.js.map


File diff suppressed because it is too large
+ 0 - 0
build/pdf.min.js


+ 21 - 2
build/pdf.worker.js

@@ -11362,6 +11362,9 @@ var WorkerMessageHandler = {
     handler.on('GetPageLabels', function wphSetupGetPageLabels(data) {
       return pdfManager.ensureCatalog('pageLabels');
     });
+    handler.on('GetPageMode', function wphSetupGetPageMode(data) {
+      return pdfManager.ensureCatalog('pageMode');
+    });
     handler.on('GetAttachments', function wphSetupGetAttachments(data) {
       return pdfManager.ensureCatalog('attachments');
     });
@@ -20677,6 +20680,22 @@ var Catalog = function CatalogClosure() {
       }
       return pageLabels;
     },
+    get pageMode() {
+      var obj = this.catDict.get('PageMode');
+      var pageMode = 'UseNone';
+      if ((0, _primitives.isName)(obj)) {
+        switch (obj.name) {
+          case 'UseNone':
+          case 'UseOutlines':
+          case 'UseThumbs':
+          case 'FullScreen':
+          case 'UseOC':
+          case 'UseAttachments':
+            pageMode = obj.name;
+        }
+      }
+      return (0, _util.shadow)(this, 'pageMode', pageMode);
+    },
     get attachments() {
       var xref = this.xref;
       var attachments = null,
@@ -40492,8 +40511,8 @@ exports.Type1Parser = Type1Parser;
 "use strict";
 
 
-var pdfjsVersion = '1.8.564';
-var pdfjsBuild = 'e7cddcce';
+var pdfjsVersion = '1.8.568';
+var pdfjsBuild = 'af71ea7a';
 var pdfjsCoreWorker = __w_pdfjs_require__(8);
 {
   __w_pdfjs_require__(18);

File diff suppressed because it is too large
+ 0 - 0
build/pdf.worker.js.map


File diff suppressed because it is too large
+ 0 - 0
build/pdf.worker.min.js


+ 16 - 0
lib/core/obj.js

@@ -316,6 +316,22 @@ var Catalog = function CatalogClosure() {
       }
       return pageLabels;
     },
+    get pageMode() {
+      var obj = this.catDict.get('PageMode');
+      var pageMode = 'UseNone';
+      if ((0, _primitives.isName)(obj)) {
+        switch (obj.name) {
+          case 'UseNone':
+          case 'UseOutlines':
+          case 'UseThumbs':
+          case 'FullScreen':
+          case 'UseOC':
+          case 'UseAttachments':
+            pageMode = obj.name;
+        }
+      }
+      return (0, _util.shadow)(this, 'pageMode', pageMode);
+    },
     get attachments() {
       var xref = this.xref;
       var attachments = null,

+ 3 - 0
lib/core/worker.js

@@ -550,6 +550,9 @@ var WorkerMessageHandler = {
     handler.on('GetPageLabels', function wphSetupGetPageLabels(data) {
       return pdfManager.ensureCatalog('pageLabels');
     });
+    handler.on('GetPageMode', function wphSetupGetPageMode(data) {
+      return pdfManager.ensureCatalog('pageMode');
+    });
     handler.on('GetAttachments', function wphSetupGetAttachments(data) {
       return pdfManager.ensureCatalog('attachments');
     });

+ 10 - 2
lib/display/api.js

@@ -315,6 +315,10 @@ var PDFDocumentProxy = function PDFDocumentProxyClosure() {
     getPageLabels: function PDFDocumentProxy_getPageLabels() {
       return this.transport.getPageLabels();
     },
+    getPageMode: function getPageMode() {
+      return this.transport.getPageMode();
+    },
+
     getAttachments: function PDFDocumentProxy_getAttachments() {
       return this.transport.getAttachments();
     },
@@ -1235,6 +1239,10 @@ var WorkerTransport = function WorkerTransportClosure() {
     getPageLabels: function WorkerTransport_getPageLabels() {
       return this.messageHandler.sendWithPromise('GetPageLabels', null);
     },
+    getPageMode: function getPageMode() {
+      return this.messageHandler.sendWithPromise('GetPageMode', null);
+    },
+
     getAttachments: function WorkerTransport_getAttachments() {
       return this.messageHandler.sendWithPromise('GetAttachments', null);
     },
@@ -1480,8 +1488,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '1.8.564';
-  exports.build = build = 'e7cddcce';
+  exports.version = version = '1.8.568';
+  exports.build = build = 'af71ea7a';
 }
 exports.getDocument = getDocument;
 exports.LoopbackPort = LoopbackPort;

+ 2 - 2
lib/display/global.js

@@ -39,8 +39,8 @@ if (!_util.globalScope.PDFJS) {
 }
 var PDFJS = _util.globalScope.PDFJS;
 {
-  PDFJS.version = '1.8.564';
-  PDFJS.build = 'e7cddcce';
+  PDFJS.version = '1.8.568';
+  PDFJS.build = 'af71ea7a';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {

+ 2 - 2
lib/pdf.js

@@ -14,8 +14,8 @@
  */
 'use strict';
 
-var pdfjsVersion = '1.8.564';
-var pdfjsBuild = 'e7cddcce';
+var pdfjsVersion = '1.8.568';
+var pdfjsBuild = 'af71ea7a';
 var pdfjsSharedUtil = require('./shared/util.js');
 var pdfjsDisplayGlobal = require('./display/global.js');
 var pdfjsDisplayAPI = require('./display/api.js');

+ 2 - 2
lib/pdf.worker.js

@@ -14,8 +14,8 @@
  */
 'use strict';
 
-var pdfjsVersion = '1.8.564';
-var pdfjsBuild = 'e7cddcce';
+var pdfjsVersion = '1.8.568';
+var pdfjsBuild = 'af71ea7a';
 var pdfjsCoreWorker = require('./core/worker.js');
 {
   require('./core/network.js');

+ 19 - 0
lib/test/unit/api_spec.js

@@ -536,6 +536,25 @@ describe('api', function () {
         done.fail(reason);
       });
     });
+    it('gets default page mode', function (done) {
+      var loadingTask = (0, _api.getDocument)((0, _test_utils.buildGetDocumentParams)('tracemonkey.pdf'));
+      loadingTask.promise.then(function (pdfDocument) {
+        return pdfDocument.getPageMode();
+      }).then(function (mode) {
+        expect(mode).toEqual('UseNone');
+        loadingTask.destroy().then(done);
+      }).catch(function (reason) {
+        done.fail(reason);
+      });
+    });
+    it('gets non-default page mode', function (done) {
+      doc.getPageMode().then(function (mode) {
+        expect(mode).toEqual('UseOutlines');
+        done();
+      }).catch(function (reason) {
+        done.fail(reason);
+      });
+    });
     it('gets non-existent attachments', function (done) {
       var promise = doc.getAttachments();
       promise.then(function (data) {

+ 55 - 28
lib/web/app.js

@@ -19,6 +19,8 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.PDFPrintServiceFactory = exports.DefaultExternalServices = exports.PDFViewerApplication = undefined;
 
+var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
+
 var _ui_utils = require('./ui_utils');
 
 var _pdf = require('../pdf');
@@ -127,6 +129,7 @@ var PDFViewerApplication = {
     pdfBugEnabled: false,
     showPreviousViewOnLoad: true,
     defaultZoomValue: '',
+    disablePageMode: false,
     disablePageLabels: false,
     renderer: 'canvas',
     enhanceTextSelection: false,
@@ -210,6 +213,8 @@ var PDFViewerApplication = {
       viewerPrefs['renderer'] = value;
     }), preferences.get('renderInteractiveForms').then(function resolved(value) {
       viewerPrefs['renderInteractiveForms'] = value;
+    }), preferences.get('disablePageMode').then(function resolved(value) {
+      viewerPrefs['disablePageMode'] = value;
     }), preferences.get('disablePageLabels').then(function resolved(value) {
       viewerPrefs['disablePageLabels'] = value;
     }), preferences.get('enablePrintAutoRotate').then(function resolved(value) {
@@ -624,6 +629,7 @@ var PDFViewerApplication = {
         _this6.eventBus.dispatch('documentload', { source: _this6 });
       });
     });
+    var pageModePromise = pdfDocument.getPageMode().catch(function () {});
     this.toolbar.setPagesCount(pdfDocument.numPages, false);
     this.secondaryToolbar.setPagesCount(pdfDocument.numPages);
     var id = this.documentFingerprint = pdfDocument.fingerprint;
@@ -657,35 +663,42 @@ var PDFViewerApplication = {
         bookmark: _this6.initialBookmark,
         hash: null
       };
-      var storedHash = _this6.viewerPrefs['defaultZoomValue'] ? 'zoom=' + _this6.viewerPrefs['defaultZoomValue'] : null;
-      var sidebarView = _this6.viewerPrefs['sidebarViewOnLoad'];
-      new Promise(function (resolve, reject) {
-        if (!_this6.viewerPrefs['showPreviousViewOnLoad']) {
-          resolve();
-          return;
+      var storePromise = store.getMultiple({
+        exists: false,
+        page: '1',
+        zoom: _ui_utils.DEFAULT_SCALE_VALUE,
+        scrollLeft: '0',
+        scrollTop: '0',
+        sidebarView: _pdf_sidebar.SidebarView.NONE
+      }).catch(function () {});
+      Promise.all([storePromise, pageModePromise]).then(function (_ref2) {
+        var _ref3 = _slicedToArray(_ref2, 2),
+            _ref3$ = _ref3[0],
+            values = _ref3$ === undefined ? {} : _ref3$,
+            pageMode = _ref3[1];
+
+        var hash = _this6.viewerPrefs['defaultZoomValue'] ? 'zoom=' + _this6.viewerPrefs['defaultZoomValue'] : null;
+        var sidebarView = _this6.viewerPrefs['sidebarViewOnLoad'];
+        if (values.exists && _this6.viewerPrefs['showPreviousViewOnLoad']) {
+          hash = 'page=' + values.page + '&zoom=' + (_this6.viewerPrefs['defaultZoomValue'] || values.zoom) + ',' + values.scrollLeft + ',' + values.scrollTop;
+          sidebarView = sidebarView || values.sidebarView | 0;
         }
-        store.getMultiple({
-          exists: false,
-          page: '1',
-          zoom: _ui_utils.DEFAULT_SCALE_VALUE,
-          scrollLeft: '0',
-          scrollTop: '0',
-          sidebarView: _pdf_sidebar.SidebarView.NONE
-        }).then(function (values) {
-          if (!values.exists) {
-            resolve();
-            return;
-          }
-          storedHash = 'page=' + values.page + '&zoom=' + (_this6.viewerPrefs['defaultZoomValue'] || values.zoom) + ',' + values.scrollLeft + ',' + values.scrollTop;
-          sidebarView = _this6.viewerPrefs['sidebarViewOnLoad'] || values.sidebarView | 0;
-          resolve();
-        }).catch(resolve);
-      }).then(function () {
-        _this6.setInitialView(storedHash, {
+        if (pageMode && !_this6.viewerPrefs['disablePageMode']) {
+          sidebarView = sidebarView || apiPageModeToSidebarView(pageMode);
+        }
+        return {
+          hash: hash,
+          sidebarView: sidebarView
+        };
+      }).then(function (_ref4) {
+        var hash = _ref4.hash,
+            sidebarView = _ref4.sidebarView;
+
+        _this6.setInitialView(hash, {
           sidebarView: sidebarView,
           scale: scale
         });
-        initialParams.hash = storedHash;
+        initialParams.hash = hash;
         if (!_this6.isViewerEmbedded) {
           pdfViewer.focus();
         }
@@ -755,9 +768,9 @@ var PDFViewerApplication = {
         _this6.pdfAttachmentViewer.render({ attachments: attachments });
       });
     });
-    pdfDocument.getMetadata().then(function (_ref2) {
-      var info = _ref2.info,
-          metadata = _ref2.metadata;
+    pdfDocument.getMetadata().then(function (_ref5) {
+      var info = _ref5.info,
+          metadata = _ref5.metadata;
 
       _this6.documentInfo = info;
       _this6.metadata = metadata;
@@ -1677,6 +1690,20 @@ function webViewerKeyDown(evt) {
     evt.preventDefault();
   }
 }
+function apiPageModeToSidebarView(mode) {
+  switch (mode) {
+    case 'UseNone':
+      return _pdf_sidebar.SidebarView.NONE;
+    case 'UseThumbs':
+      return _pdf_sidebar.SidebarView.THUMBS;
+    case 'UseOutlines':
+      return _pdf_sidebar.SidebarView.OUTLINE;
+    case 'UseAttachments':
+      return _pdf_sidebar.SidebarView.ATTACHMENTS;
+    case 'UseOC':
+  }
+  return _pdf_sidebar.SidebarView.NONE;
+}
 var PDFPrintServiceFactory = {
   instance: {
     supportsPrinting: false,

+ 1 - 0
lib/web/preferences.js

@@ -49,6 +49,7 @@ function getDefaultPreferences() {
       "renderer": "canvas",
       "renderInteractiveForms": false,
       "enablePrintAutoRotate": false,
+      "disablePageMode": false,
       "disablePageLabels": false
     });
   }

+ 1 - 1
package.json

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

Some files were not shown because too many files changed in this diff