瀏覽代碼

PDF.js version 1.8.390 - See mozilla/pdf.js@63a0328f5f54d22e2cfcbc0d0f6bd7413c1a019d

pdfjsbot 8 年之前
父節點
當前提交
bb21d34ef3

+ 1 - 1
bower.json

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

+ 6 - 6
build/pdf.combined.js

@@ -12827,8 +12827,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '1.8.388';
-  exports.build = build = 'ed661e70';
+  exports.version = version = '1.8.390';
+  exports.build = build = '63a0328f';
 }
 exports.getDocument = getDocument;
 exports.LoopbackPort = LoopbackPort;
@@ -28240,8 +28240,8 @@ if (!_util.globalScope.PDFJS) {
 }
 var PDFJS = _util.globalScope.PDFJS;
 {
-  PDFJS.version = '1.8.388';
-  PDFJS.build = 'ed661e70';
+  PDFJS.version = '1.8.390';
+  PDFJS.build = '63a0328f';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {
@@ -43868,8 +43868,8 @@ exports.TilingPattern = TilingPattern;
 "use strict";
 
 
-var pdfjsVersion = '1.8.388';
-var pdfjsBuild = 'ed661e70';
+var pdfjsVersion = '1.8.390';
+var pdfjsBuild = '63a0328f';
 var pdfjsSharedUtil = __w_pdfjs_require__(0);
 var pdfjsDisplayGlobal = __w_pdfjs_require__(26);
 var pdfjsDisplayAPI = __w_pdfjs_require__(10);

文件差異過大導致無法顯示
+ 0 - 0
build/pdf.combined.js.map


+ 6 - 6
build/pdf.js

@@ -3535,8 +3535,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '1.8.388';
-  exports.build = build = 'ed661e70';
+  exports.version = version = '1.8.390';
+  exports.build = build = '63a0328f';
 }
 exports.getDocument = getDocument;
 exports.LoopbackPort = LoopbackPort;
@@ -5509,8 +5509,8 @@ if (!_util.globalScope.PDFJS) {
 }
 var PDFJS = _util.globalScope.PDFJS;
 {
-  PDFJS.version = '1.8.388';
-  PDFJS.build = 'ed661e70';
+  PDFJS.version = '1.8.390';
+  PDFJS.build = '63a0328f';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {
@@ -8029,8 +8029,8 @@ exports.TilingPattern = TilingPattern;
 "use strict";
 
 
-var pdfjsVersion = '1.8.388';
-var pdfjsBuild = 'ed661e70';
+var pdfjsVersion = '1.8.390';
+var pdfjsBuild = '63a0328f';
 var pdfjsSharedUtil = __w_pdfjs_require__(0);
 var pdfjsDisplayGlobal = __w_pdfjs_require__(9);
 var pdfjsDisplayAPI = __w_pdfjs_require__(3);

文件差異過大導致無法顯示
+ 0 - 0
build/pdf.js.map


文件差異過大導致無法顯示
+ 0 - 0
build/pdf.min.js


+ 2 - 2
build/pdf.worker.js

@@ -37167,8 +37167,8 @@ exports.Type1Parser = Type1Parser;
 "use strict";
 
 
-var pdfjsVersion = '1.8.388';
-var pdfjsBuild = 'ed661e70';
+var pdfjsVersion = '1.8.390';
+var pdfjsBuild = '63a0328f';
 var pdfjsCoreWorker = __w_pdfjs_require__(8);
 {
   __w_pdfjs_require__(19);

文件差異過大導致無法顯示
+ 0 - 0
build/pdf.worker.js.map


+ 2 - 2
lib/display/api.js

@@ -1418,8 +1418,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '1.8.388';
-  exports.build = build = 'ed661e70';
+  exports.version = version = '1.8.390';
+  exports.build = build = '63a0328f';
 }
 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.388';
-  PDFJS.build = 'ed661e70';
+  PDFJS.version = '1.8.390';
+  PDFJS.build = '63a0328f';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {

+ 2 - 2
lib/pdf.js

@@ -14,8 +14,8 @@
  */
 'use strict';
 
-var pdfjsVersion = '1.8.388';
-var pdfjsBuild = 'ed661e70';
+var pdfjsVersion = '1.8.390';
+var pdfjsBuild = '63a0328f';
 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.388';
-var pdfjsBuild = 'ed661e70';
+var pdfjsVersion = '1.8.390';
+var pdfjsBuild = '63a0328f';
 var pdfjsCoreWorker = require('./core/worker.js');
 {
   require('./core/network.js');

+ 5 - 4
lib/web/app.js

@@ -111,6 +111,7 @@ var PDFViewerApplication = {
   pdfCursorTools: null,
   store: null,
   downloadManager: null,
+  overlayManager: null,
   preferences: null,
   toolbar: null,
   secondaryToolbar: null,
@@ -212,6 +213,7 @@ var PDFViewerApplication = {
 
     var appConfig = this.appConfig;
     return new Promise(function (resolve, reject) {
+      _this2.overlayManager = new _overlay_manager.OverlayManager();
       var eventBus = appConfig.eventBus || (0, _dom_events.getGlobalEventBus)();
       _this2.eventBus = eventBus;
       var pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
@@ -271,8 +273,7 @@ var PDFViewerApplication = {
       findBarConfig.findController = _this2.findController;
       findBarConfig.eventBus = eventBus;
       _this2.findBar = new _pdf_find_bar.PDFFindBar(findBarConfig);
-      _this2.overlayManager = _overlay_manager.OverlayManager;
-      _this2.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties);
+      _this2.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, _this2.overlayManager);
       _this2.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({
         container: container,
         eventBus: eventBus,
@@ -289,7 +290,7 @@ var PDFViewerApplication = {
           contextMenuItems: appConfig.fullscreen
         });
       }
-      _this2.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay);
+      _this2.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, _this2.overlayManager);
       _this2.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({
         container: appConfig.sidebar.outlineView,
         eventBus: eventBus,
@@ -1352,7 +1353,7 @@ function webViewerClick(evt) {
   }
 }
 function webViewerKeyDown(evt) {
-  if (_overlay_manager.OverlayManager.active) {
+  if (PDFViewerApplication.overlayManager.active) {
     return;
   }
   var handled = false,

+ 10 - 10
lib/web/chromecom.js

@@ -27,8 +27,6 @@ var _preferences = require('./preferences');
 
 var _download_manager = require('./download_manager');
 
-var _overlay_manager = require('./overlay_manager');
-
 var _pdfjs = require('./pdfjs');
 
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -57,7 +55,7 @@ ChromeCom.request = function ChromeCom_request(action, data, callback) {
     chrome.runtime.sendMessage(message);
   }
 };
-ChromeCom.resolvePDFFile = function ChromeCom_resolvePDFFile(file, callback) {
+ChromeCom.resolvePDFFile = function (file, overlayManager, callback) {
   file = file.replace(/^drive:/i, 'filesystem:' + location.origin + '/external/');
   if (/^filesystem:/.test(file) && !_pdfjs.PDFJS.disableWorker) {
     var resolveLocalFileSystemURL = window.resolveLocalFileSystemURL || window.webkitResolveLocalFileSystemURL;
@@ -88,7 +86,7 @@ ChromeCom.resolvePDFFile = function ChromeCom_resolvePDFFile(file, callback) {
         if (isAllowedAccess) {
           callback(file);
         } else {
-          requestAccessToLocalFile(file);
+          requestAccessToLocalFile(file, overlayManager);
         }
       });
     });
@@ -124,18 +122,18 @@ function reloadIfRuntimeIsUnavailable() {
   }
 }
 var chromeFileAccessOverlayPromise;
-function requestAccessToLocalFile(fileUrl) {
+function requestAccessToLocalFile(fileUrl, overlayManager) {
   var onCloseOverlay = null;
   if (top !== window) {
     window.addEventListener('focus', reloadIfRuntimeIsUnavailable);
     onCloseOverlay = function onCloseOverlay() {
       window.removeEventListener('focus', reloadIfRuntimeIsUnavailable);
       reloadIfRuntimeIsUnavailable();
-      _overlay_manager.OverlayManager.close('chromeFileAccessOverlay');
+      overlayManager.close('chromeFileAccessOverlay');
     };
   }
   if (!chromeFileAccessOverlayPromise) {
-    chromeFileAccessOverlayPromise = _overlay_manager.OverlayManager.register('chromeFileAccessOverlay', document.getElementById('chromeFileAccessOverlay'), onCloseOverlay, true);
+    chromeFileAccessOverlayPromise = overlayManager.register('chromeFileAccessOverlay', document.getElementById('chromeFileAccessOverlay'), onCloseOverlay, true);
   }
   chromeFileAccessOverlayPromise.then(function () {
     var iconPath = chrome.runtime.getManifest().icons[48];
@@ -204,7 +202,7 @@ function requestAccessToLocalFile(fileUrl) {
       ChromeCom.request('openExtensionsPageForFileAccess', { newTab: e.ctrlKey || e.metaKey || e.button === 1 || window !== top });
     };
     document.getElementById('chrome-url-of-local-file').textContent = fileUrl;
-    _overlay_manager.OverlayManager.open('chromeFileAccessOverlay');
+    overlayManager.open('chromeFileAccessOverlay');
   });
 }
 if (window === top) {
@@ -300,8 +298,10 @@ var ChromePreferences = function (_BasePreferences) {
 
 var ChromeExternalServices = Object.create(_app.DefaultExternalServices);
 ChromeExternalServices.initPassiveLoading = function (callbacks) {
-  var appConfig = _app.PDFViewerApplication.appConfig;
-  ChromeCom.resolvePDFFile(appConfig.defaultUrl, function (url, length, originalURL) {
+  var appConfig = _app.PDFViewerApplication.appConfig,
+      overlayManager = _app.PDFViewerApplication.overlayManager;
+
+  ChromeCom.resolvePDFFile(appConfig.defaultUrl, overlayManager, function (url, length, originalURL) {
     callbacks.onOpenWithURL(url, length, originalURL);
   });
 };

+ 116 - 82
lib/web/overlay_manager.js

@@ -17,95 +17,129 @@
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
-var OverlayManager = {
-  overlays: {},
-  active: null,
-  register: function register(name, element, callerCloseMethod, canForceClose) {
-    var _this = this;
 
-    return new Promise(function (resolve) {
-      var container;
-      if (!name || !element || !(container = element.parentNode)) {
-        throw new Error('Not enough parameters.');
-      } else if (_this.overlays[name]) {
-        throw new Error('The overlay is already registered.');
-      }
-      _this.overlays[name] = {
-        element: element,
-        container: container,
-        callerCloseMethod: callerCloseMethod || null,
-        canForceClose: canForceClose || false
-      };
-      resolve();
-    });
-  },
-  unregister: function unregister(name) {
-    var _this2 = this;
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
-    return new Promise(function (resolve) {
-      if (!_this2.overlays[name]) {
-        throw new Error('The overlay does not exist.');
-      } else if (_this2.active === name) {
-        throw new Error('The overlay cannot be removed while it is active.');
-      }
-      delete _this2.overlays[name];
-      resolve();
-    });
-  },
-  open: function open(name) {
-    var _this3 = this;
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
-    return new Promise(function (resolve) {
-      if (!_this3.overlays[name]) {
-        throw new Error('The overlay does not exist.');
-      } else if (_this3.active) {
-        if (_this3.overlays[name].canForceClose) {
-          _this3._closeThroughCaller();
-        } else if (_this3.active === name) {
-          throw new Error('The overlay is already active.');
-        } else {
-          throw new Error('Another overlay is currently active.');
+var OverlayManager = function () {
+  function OverlayManager() {
+    _classCallCheck(this, OverlayManager);
+
+    this._overlays = {};
+    this._active = null;
+    this._keyDownBound = this._keyDown.bind(this);
+  }
+
+  _createClass(OverlayManager, [{
+    key: 'register',
+    value: function register(name, element) {
+      var _this = this;
+
+      var callerCloseMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
+      var canForceClose = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
+
+      return new Promise(function (resolve) {
+        var container = void 0;
+        if (!name || !element || !(container = element.parentNode)) {
+          throw new Error('Not enough parameters.');
+        } else if (_this._overlays[name]) {
+          throw new Error('The overlay is already registered.');
         }
-      }
-      _this3.active = name;
-      _this3.overlays[_this3.active].element.classList.remove('hidden');
-      _this3.overlays[_this3.active].container.classList.remove('hidden');
-      window.addEventListener('keydown', _this3._keyDown);
-      resolve();
-    });
-  },
-  close: function close(name) {
-    var _this4 = this;
+        _this._overlays[name] = {
+          element: element,
+          container: container,
+          callerCloseMethod: callerCloseMethod,
+          canForceClose: canForceClose
+        };
+        resolve();
+      });
+    }
+  }, {
+    key: 'unregister',
+    value: function unregister(name) {
+      var _this2 = this;
+
+      return new Promise(function (resolve) {
+        if (!_this2._overlays[name]) {
+          throw new Error('The overlay does not exist.');
+        } else if (_this2._active === name) {
+          throw new Error('The overlay cannot be removed while it is active.');
+        }
+        delete _this2._overlays[name];
+        resolve();
+      });
+    }
+  }, {
+    key: 'open',
+    value: function open(name) {
+      var _this3 = this;
+
+      return new Promise(function (resolve) {
+        if (!_this3._overlays[name]) {
+          throw new Error('The overlay does not exist.');
+        } else if (_this3._active) {
+          if (_this3._overlays[name].canForceClose) {
+            _this3._closeThroughCaller();
+          } else if (_this3._active === name) {
+            throw new Error('The overlay is already active.');
+          } else {
+            throw new Error('Another overlay is currently active.');
+          }
+        }
+        _this3._active = name;
+        _this3._overlays[_this3._active].element.classList.remove('hidden');
+        _this3._overlays[_this3._active].container.classList.remove('hidden');
+        window.addEventListener('keydown', _this3._keyDownBound);
+        resolve();
+      });
+    }
+  }, {
+    key: 'close',
+    value: function close(name) {
+      var _this4 = this;
 
-    return new Promise(function (resolve) {
-      if (!_this4.overlays[name]) {
-        throw new Error('The overlay does not exist.');
-      } else if (!_this4.active) {
-        throw new Error('The overlay is currently not active.');
-      } else if (_this4.active !== name) {
-        throw new Error('Another overlay is currently active.');
+      return new Promise(function (resolve) {
+        if (!_this4._overlays[name]) {
+          throw new Error('The overlay does not exist.');
+        } else if (!_this4._active) {
+          throw new Error('The overlay is currently not active.');
+        } else if (_this4._active !== name) {
+          throw new Error('Another overlay is currently active.');
+        }
+        _this4._overlays[_this4._active].container.classList.add('hidden');
+        _this4._overlays[_this4._active].element.classList.add('hidden');
+        _this4._active = null;
+        window.removeEventListener('keydown', _this4._keyDownBound);
+        resolve();
+      });
+    }
+  }, {
+    key: '_keyDown',
+    value: function _keyDown(evt) {
+      if (this._active && evt.keyCode === 27) {
+        this._closeThroughCaller();
+        evt.preventDefault();
       }
-      _this4.overlays[_this4.active].container.classList.add('hidden');
-      _this4.overlays[_this4.active].element.classList.add('hidden');
-      _this4.active = null;
-      window.removeEventListener('keydown', _this4._keyDown);
-      resolve();
-    });
-  },
-  _keyDown: function _keyDown(evt) {
-    var self = OverlayManager;
-    if (self.active && evt.keyCode === 27) {
-      self._closeThroughCaller();
-      evt.preventDefault();
     }
-  },
-  _closeThroughCaller: function _closeThroughCaller() {
-    if (this.overlays[this.active].callerCloseMethod) {
-      this.overlays[this.active].callerCloseMethod();
+  }, {
+    key: '_closeThroughCaller',
+    value: function _closeThroughCaller() {
+      if (this._overlays[this._active].callerCloseMethod) {
+        this._overlays[this._active].callerCloseMethod();
+      }
+      if (this._active) {
+        this.close(this._active);
+      }
     }
-    if (this.active) {
-      this.close(this.active);
+  }, {
+    key: 'active',
+    get: function get() {
+      return this._active;
     }
-  }
-};
+  }]);
+
+  return OverlayManager;
+}();
+
 exports.OverlayManager = OverlayManager;

+ 5 - 6
lib/web/password_prompt.js

@@ -23,14 +23,12 @@ var _createClass = function () { function defineProperties(target, props) { for
 
 var _ui_utils = require('./ui_utils');
 
-var _overlay_manager = require('./overlay_manager');
-
 var _pdfjs = require('./pdfjs');
 
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
 var PasswordPrompt = function () {
-  function PasswordPrompt(options) {
+  function PasswordPrompt(options, overlayManager) {
     var _this = this;
 
     _classCallCheck(this, PasswordPrompt);
@@ -41,6 +39,7 @@ var PasswordPrompt = function () {
     this.input = options.input;
     this.submitButton = options.submitButton;
     this.cancelButton = options.cancelButton;
+    this.overlayManager = overlayManager;
     this.updateCallback = null;
     this.reason = null;
     this.submitButton.addEventListener('click', this.verify.bind(this));
@@ -50,7 +49,7 @@ var PasswordPrompt = function () {
         _this.verify();
       }
     });
-    _overlay_manager.OverlayManager.register(this.overlayName, this.container, this.close.bind(this), true);
+    this.overlayManager.register(this.overlayName, this.container, this.close.bind(this), true);
   }
 
   _createClass(PasswordPrompt, [{
@@ -58,7 +57,7 @@ var PasswordPrompt = function () {
     value: function open() {
       var _this2 = this;
 
-      _overlay_manager.OverlayManager.open(this.overlayName).then(function () {
+      this.overlayManager.open(this.overlayName).then(function () {
         _this2.input.focus();
         var promptString = _ui_utils.mozL10n.get('password_label', null, 'Enter the password to open this PDF file.');
         if (_this2.reason === _pdfjs.PasswordResponses.INCORRECT_PASSWORD) {
@@ -72,7 +71,7 @@ var PasswordPrompt = function () {
     value: function close() {
       var _this3 = this;
 
-      _overlay_manager.OverlayManager.close(this.overlayName).then(function () {
+      this.overlayManager.close(this.overlayName).then(function () {
         _this3.input.value = '';
       });
     }

+ 6 - 7
lib/web/pdf_document_properties.js

@@ -25,14 +25,12 @@ var _ui_utils = require('./ui_utils');
 
 var _pdfjs = require('./pdfjs');
 
-var _overlay_manager = require('./overlay_manager');
-
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
 var DEFAULT_FIELD_CONTENT = '-';
 
 var PDFDocumentProperties = function () {
-  function PDFDocumentProperties(_ref) {
+  function PDFDocumentProperties(_ref, overlayManager) {
     var overlayName = _ref.overlayName,
         fields = _ref.fields,
         container = _ref.container,
@@ -43,11 +41,12 @@ var PDFDocumentProperties = function () {
     this.overlayName = overlayName;
     this.fields = fields;
     this.container = container;
+    this.overlayManager = overlayManager;
     this._reset();
     if (closeButton) {
       closeButton.addEventListener('click', this.close.bind(this));
     }
-    _overlay_manager.OverlayManager.register(this.overlayName, this.container, this.close.bind(this));
+    this.overlayManager.register(this.overlayName, this.container, this.close.bind(this));
   }
 
   _createClass(PDFDocumentProperties, [{
@@ -63,7 +62,7 @@ var PDFDocumentProperties = function () {
           configurable: true
         });
       };
-      Promise.all([_overlay_manager.OverlayManager.open(this.overlayName), this._dataAvailableCapability.promise]).then(function () {
+      Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]).then(function () {
         if (_this.fieldData) {
           _this._updateUI();
           return;
@@ -101,7 +100,7 @@ var PDFDocumentProperties = function () {
   }, {
     key: 'close',
     value: function close() {
-      _overlay_manager.OverlayManager.close(this.overlayName);
+      this.overlayManager.close(this.overlayName);
     }
   }, {
     key: 'setDocument',
@@ -144,7 +143,7 @@ var PDFDocumentProperties = function () {
         }
         return;
       }
-      if (_overlay_manager.OverlayManager.active !== this.overlayName) {
+      if (this.overlayManager.active !== this.overlayName) {
         return;
       }
       for (var _id in this.fields) {

+ 15 - 10
lib/web/pdf_print_service.js

@@ -21,13 +21,12 @@ exports.PDFPrintService = undefined;
 
 var _ui_utils = require('./ui_utils');
 
-var _overlay_manager = require('./overlay_manager');
+var _app = require('./app');
 
 var _pdfjs = require('./pdfjs');
 
-var _app = require('./app');
-
 var activeService = null;
+var overlayManager = null;
 function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
   var scratchCanvas = activeService.scratchCanvas;
   var PRINT_RESOLUTION = 150;
@@ -92,10 +91,10 @@ PDFPrintService.prototype = {
     this.scratchCanvas = null;
     activeService = null;
     ensureOverlay().then(function () {
-      if (_overlay_manager.OverlayManager.active !== 'printServiceOverlay') {
+      if (overlayManager.active !== 'printServiceOverlay') {
         return;
       }
-      _overlay_manager.OverlayManager.close('printServiceOverlay');
+      overlayManager.close('printServiceOverlay');
     });
   },
   renderPages: function renderPages() {
@@ -171,7 +170,7 @@ window.print = function print() {
   }
   ensureOverlay().then(function () {
     if (activeService) {
-      _overlay_manager.OverlayManager.open('printServiceOverlay');
+      overlayManager.open('printServiceOverlay');
     }
   });
   try {
@@ -179,9 +178,11 @@ window.print = function print() {
   } finally {
     if (!activeService) {
       console.error('Expected print service to be initialized.');
-      if (_overlay_manager.OverlayManager.active === 'printServiceOverlay') {
-        _overlay_manager.OverlayManager.close('printServiceOverlay');
-      }
+      ensureOverlay().then(function () {
+        if (overlayManager.active === 'printServiceOverlay') {
+          overlayManager.close('printServiceOverlay');
+        }
+      });
       return;
     }
     var activeServiceOnEntry = activeService;
@@ -250,7 +251,11 @@ if ('onbeforeprint' in window) {
 var overlayPromise;
 function ensureOverlay() {
   if (!overlayPromise) {
-    overlayPromise = _overlay_manager.OverlayManager.register('printServiceOverlay', document.getElementById('printServiceOverlay'), abort, true);
+    overlayManager = _app.PDFViewerApplication.overlayManager;
+    if (!overlayManager) {
+      throw new Error('The overlay manager has not yet been initialized.');
+    }
+    overlayPromise = overlayManager.register('printServiceOverlay', document.getElementById('printServiceOverlay'), abort, true);
     document.getElementById('printCancel').onclick = abort;
   }
   return overlayPromise;

+ 1 - 1
package.json

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

部分文件因文件數量過多而無法顯示