Bladeren bron

PDF.js version 2.0.310 - See mozilla/pdf.js@29d77dedad84dafdfed04c8ca7d07b680c6cfce3

pdfjsbot 7 jaren geleden
bovenliggende
commit
94f357c917

+ 1 - 1
bower.json

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

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


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


+ 23 - 13
build/pdf.js

@@ -1962,8 +1962,6 @@ function getDefaultSetting(id) {
       return globalSettings ? globalSettings.workerPort : null;
     case 'workerSrc':
       return globalSettings ? globalSettings.workerSrc : null;
-    case 'disableWorker':
-      return globalSettings ? globalSettings.disableWorker : false;
     case 'maxImageSize':
       return globalSettings ? globalSettings.maxImageSize : -1;
     case 'imageResourcesPath':
@@ -3313,7 +3311,7 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
   if (worker.destroyed) {
     return Promise.reject(new Error('Worker was destroyed'));
   }
-  var apiVersion = '2.0.305';
+  var apiVersion = '2.0.310';
   source.disableRange = (0, _dom_utils.getDefaultSetting)('disableRange');
   source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch');
   source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream');
@@ -3860,13 +3858,23 @@ var PDFWorker = function PDFWorkerClosure() {
     }
     throw new Error('No PDFJS.workerSrc specified');
   }
+  function getMainThreadWorkerMessageHandler() {
+    if (typeof window === 'undefined') {
+      return null;
+    }
+    return window.pdfjsDistBuildPdfWorker && window.pdfjsDistBuildPdfWorker.WorkerMessageHandler;
+  }
   var fakeWorkerFilesLoadedCapability = void 0;
   function setupFakeWorkerGlobal() {
-    var WorkerMessageHandler;
     if (fakeWorkerFilesLoadedCapability) {
       return fakeWorkerFilesLoadedCapability.promise;
     }
     fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();
+    var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
+    if (mainWorkerMessageHandler) {
+      fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);
+      return fakeWorkerFilesLoadedCapability.promise;
+    }
     var loader = fakeWorkerFilesLoader || function (callback) {
       _util.Util.loadScript(getWorkerSrc(), function () {
         callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler);
@@ -3917,7 +3925,7 @@ var PDFWorker = function PDFWorkerClosure() {
     _initialize: function PDFWorker_initialize() {
       var _this6 = this;
 
-      if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker') && typeof Worker !== 'undefined') {
+      if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
         var workerSrc = getWorkerSrc();
         try {
           if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
@@ -3998,7 +4006,7 @@ var PDFWorker = function PDFWorkerClosure() {
     _setupFakeWorker: function PDFWorker_setupFakeWorker() {
       var _this7 = this;
 
-      if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) {
+      if (!isWorkerDisabled) {
         (0, _util.warn)('Setting up fake worker.');
         isWorkerDisabled = true;
       }
@@ -4038,6 +4046,9 @@ var PDFWorker = function PDFWorkerClosure() {
     }
     return new PDFWorker(null, port);
   };
+  PDFWorker.getWorkerSrc = function () {
+    return getWorkerSrc();
+  };
   return PDFWorker;
 }();
 var WorkerTransport = function WorkerTransportClosure() {
@@ -4689,8 +4700,8 @@ var InternalRenderTask = function InternalRenderTaskClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '2.0.305';
-  exports.build = build = '9c6a8801';
+  exports.version = version = '2.0.310';
+  exports.build = build = '29d77ded';
 }
 exports.getDocument = getDocument;
 exports.LoopbackPort = LoopbackPort;
@@ -7448,8 +7459,8 @@ exports.SVGGraphics = SVGGraphics;
 "use strict";
 
 
-var pdfjsVersion = '2.0.305';
-var pdfjsBuild = '9c6a8801';
+var pdfjsVersion = '2.0.310';
+var pdfjsBuild = '29d77ded';
 var pdfjsSharedUtil = __w_pdfjs_require__(0);
 var pdfjsDisplayGlobal = __w_pdfjs_require__(115);
 var pdfjsDisplayAPI = __w_pdfjs_require__(58);
@@ -12652,8 +12663,8 @@ if (!_global_scope2.default.PDFJS) {
 }
 var PDFJS = _global_scope2.default.PDFJS;
 {
-  PDFJS.version = '2.0.305';
-  PDFJS.build = '9c6a8801';
+  PDFJS.version = '2.0.310';
+  PDFJS.build = '29d77ded';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {
@@ -12701,7 +12712,6 @@ PDFJS.cMapUrl = PDFJS.cMapUrl === undefined ? null : PDFJS.cMapUrl;
 PDFJS.cMapPacked = PDFJS.cMapPacked === undefined ? false : PDFJS.cMapPacked;
 PDFJS.disableFontFace = PDFJS.disableFontFace === undefined ? false : PDFJS.disableFontFace;
 PDFJS.imageResourcesPath = PDFJS.imageResourcesPath === undefined ? '' : PDFJS.imageResourcesPath;
-PDFJS.disableWorker = PDFJS.disableWorker === undefined ? false : PDFJS.disableWorker;
 PDFJS.workerSrc = PDFJS.workerSrc === undefined ? null : PDFJS.workerSrc;
 PDFJS.workerPort = PDFJS.workerPort === undefined ? null : PDFJS.workerPort;
 PDFJS.disableRange = PDFJS.disableRange === undefined ? false : PDFJS.disableRange;

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


+ 3 - 3
build/pdf.worker.js

@@ -22498,8 +22498,8 @@ exports.PostScriptCompiler = PostScriptCompiler;
 "use strict";
 
 
-var pdfjsVersion = '2.0.305';
-var pdfjsBuild = '9c6a8801';
+var pdfjsVersion = '2.0.310';
+var pdfjsBuild = '29d77ded';
 var pdfjsCoreWorker = __w_pdfjs_require__(74);
 exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;
 
@@ -22712,7 +22712,7 @@ var WorkerMessageHandler = {
     var cancelXHRs = null;
     var WorkerTasks = [];
     var apiVersion = docParams.apiVersion;
-    var workerVersion = '2.0.305';
+    var workerVersion = '2.0.310';
     if (apiVersion !== null && apiVersion !== workerVersion) {
       throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".'));
     }

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


+ 1 - 1
lib/core/worker.js

@@ -223,7 +223,7 @@ var WorkerMessageHandler = {
     var cancelXHRs = null;
     var WorkerTasks = [];
     var apiVersion = docParams.apiVersion;
-    var workerVersion = '2.0.305';
+    var workerVersion = '2.0.310';
     if (apiVersion !== null && apiVersion !== workerVersion) {
       throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".'));
     }

+ 19 - 6
lib/display/api.js

@@ -178,7 +178,7 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
   if (worker.destroyed) {
     return Promise.reject(new Error('Worker was destroyed'));
   }
-  var apiVersion = '2.0.305';
+  var apiVersion = '2.0.310';
   source.disableRange = (0, _dom_utils.getDefaultSetting)('disableRange');
   source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch');
   source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream');
@@ -725,13 +725,23 @@ var PDFWorker = function PDFWorkerClosure() {
     }
     throw new Error('No PDFJS.workerSrc specified');
   }
+  function getMainThreadWorkerMessageHandler() {
+    if (typeof window === 'undefined') {
+      return null;
+    }
+    return window.pdfjsDistBuildPdfWorker && window.pdfjsDistBuildPdfWorker.WorkerMessageHandler;
+  }
   var fakeWorkerFilesLoadedCapability = void 0;
   function setupFakeWorkerGlobal() {
-    var WorkerMessageHandler;
     if (fakeWorkerFilesLoadedCapability) {
       return fakeWorkerFilesLoadedCapability.promise;
     }
     fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();
+    var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
+    if (mainWorkerMessageHandler) {
+      fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);
+      return fakeWorkerFilesLoadedCapability.promise;
+    }
     var loader = fakeWorkerFilesLoader || function (callback) {
       _util.Util.loadScript(getWorkerSrc(), function () {
         callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler);
@@ -782,7 +792,7 @@ var PDFWorker = function PDFWorkerClosure() {
     _initialize: function PDFWorker_initialize() {
       var _this6 = this;
 
-      if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker') && typeof Worker !== 'undefined') {
+      if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
         var workerSrc = getWorkerSrc();
         try {
           if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
@@ -863,7 +873,7 @@ var PDFWorker = function PDFWorkerClosure() {
     _setupFakeWorker: function PDFWorker_setupFakeWorker() {
       var _this7 = this;
 
-      if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) {
+      if (!isWorkerDisabled) {
         (0, _util.warn)('Setting up fake worker.');
         isWorkerDisabled = true;
       }
@@ -903,6 +913,9 @@ var PDFWorker = function PDFWorkerClosure() {
     }
     return new PDFWorker(null, port);
   };
+  PDFWorker.getWorkerSrc = function () {
+    return getWorkerSrc();
+  };
   return PDFWorker;
 }();
 var WorkerTransport = function WorkerTransportClosure() {
@@ -1554,8 +1567,8 @@ var InternalRenderTask = function InternalRenderTaskClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '2.0.305';
-  exports.build = build = '9c6a8801';
+  exports.version = version = '2.0.310';
+  exports.build = build = '29d77ded';
 }
 exports.getDocument = getDocument;
 exports.LoopbackPort = LoopbackPort;

+ 0 - 2
lib/display/dom_utils.js

@@ -376,8 +376,6 @@ function getDefaultSetting(id) {
       return globalSettings ? globalSettings.workerPort : null;
     case 'workerSrc':
       return globalSettings ? globalSettings.workerSrc : null;
-    case 'disableWorker':
-      return globalSettings ? globalSettings.disableWorker : false;
     case 'maxImageSize':
       return globalSettings ? globalSettings.maxImageSize : -1;
     case 'imageResourcesPath':

+ 2 - 3
lib/display/global.js

@@ -51,8 +51,8 @@ if (!_global_scope2.default.PDFJS) {
 }
 var PDFJS = _global_scope2.default.PDFJS;
 {
-  PDFJS.version = '2.0.305';
-  PDFJS.build = '9c6a8801';
+  PDFJS.version = '2.0.310';
+  PDFJS.build = '29d77ded';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {
@@ -100,7 +100,6 @@ PDFJS.cMapUrl = PDFJS.cMapUrl === undefined ? null : PDFJS.cMapUrl;
 PDFJS.cMapPacked = PDFJS.cMapPacked === undefined ? false : PDFJS.cMapPacked;
 PDFJS.disableFontFace = PDFJS.disableFontFace === undefined ? false : PDFJS.disableFontFace;
 PDFJS.imageResourcesPath = PDFJS.imageResourcesPath === undefined ? '' : PDFJS.imageResourcesPath;
-PDFJS.disableWorker = PDFJS.disableWorker === undefined ? false : PDFJS.disableWorker;
 PDFJS.workerSrc = PDFJS.workerSrc === undefined ? null : PDFJS.workerSrc;
 PDFJS.workerPort = PDFJS.workerPort === undefined ? null : PDFJS.workerPort;
 PDFJS.disableRange = PDFJS.disableRange === undefined ? false : PDFJS.disableRange;

+ 2 - 2
lib/pdf.js

@@ -21,8 +21,8 @@
  */
 'use strict';
 
-var pdfjsVersion = '2.0.305';
-var pdfjsBuild = '9c6a8801';
+var pdfjsVersion = '2.0.310';
+var pdfjsBuild = '29d77ded';
 var pdfjsSharedUtil = require('./shared/util.js');
 var pdfjsDisplayGlobal = require('./display/global.js');
 var pdfjsDisplayAPI = require('./display/api.js');

+ 2 - 2
lib/pdf.worker.js

@@ -21,7 +21,7 @@
  */
 'use strict';
 
-var pdfjsVersion = '2.0.305';
-var pdfjsBuild = '9c6a8801';
+var pdfjsVersion = '2.0.310';
+var pdfjsBuild = '29d77ded';
 var pdfjsCoreWorker = require('./core/worker.js');
 exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;

+ 11 - 8
lib/test/unit/api_spec.js

@@ -109,16 +109,14 @@ describe('api', function () {
         if ((0, _is_node2.default)()) {
           typedArrayPdf = _test_utils.NodeFileReaderFactory.fetch({ path: _test_utils.TEST_PDFS_PATH.node + basicApiFileName });
         } else {
-          var nonBinaryRequest = _global.PDFJS.disableWorker;
+          var nonBinaryRequest = false;
           var request = new XMLHttpRequest();
           request.open('GET', _test_utils.TEST_PDFS_PATH.dom + basicApiFileName, false);
-          if (!nonBinaryRequest) {
-            try {
-              request.responseType = 'arraybuffer';
-              nonBinaryRequest = request.responseType !== 'arraybuffer';
-            } catch (e) {
-              nonBinaryRequest = true;
-            }
+          try {
+            request.responseType = 'arraybuffer';
+            nonBinaryRequest = request.responseType !== 'arraybuffer';
+          } catch (e) {
+            nonBinaryRequest = true;
           }
           if (nonBinaryRequest && request.overrideMimeType) {
             request.overrideMimeType('text/plain; charset=x-user-defined');
@@ -336,6 +334,11 @@ describe('api', function () {
         done.fail(reason);
       });
     });
+    it('gets current workerSrc', function () {
+      var workerSrc = _api.PDFWorker.getWorkerSrc();
+      expect(typeof workerSrc === 'undefined' ? 'undefined' : _typeof(workerSrc)).toEqual('string');
+      expect(workerSrc).toEqual(_global.PDFJS.workerSrc);
+    });
   });
   describe('PDFDocument', function () {
     var loadingTask;

+ 15 - 2
lib/web/app.js

@@ -241,8 +241,8 @@ var PDFViewerApplication = {
     if (viewerPrefs['pdfBugEnabled']) {
       var hash = document.location.hash.substring(1);
       var hashParams = (0, _ui_utils.parseQueryString)(hash);
-      if ('disableworker' in hashParams) {
-        _pdf.PDFJS.disableWorker = hashParams['disableworker'] === 'true';
+      if ('disableworker' in hashParams && hashParams['disableworker'] === 'true') {
+        waitOn.push(loadFakeWorker());
       }
       if ('disablerange' in hashParams) {
         _pdf.PDFJS.disableRange = hashParams['disablerange'] === 'true';
@@ -1110,6 +1110,19 @@ var validateFileURL = void 0;
     }
   };
 }
+function loadFakeWorker() {
+  return new Promise(function (resolve, reject) {
+    var script = document.createElement('script');
+    script.src = _pdf.PDFWorker.getWorkerSrc();
+    script.onload = function () {
+      resolve();
+    };
+    script.onerror = function () {
+      reject(new Error('Cannot load fake worker at: ' + script.src));
+    };
+    (document.head || document.documentElement).appendChild(script);
+  });
+}
 function loadAndEnablePDFBug(enabledTabs) {
   return new Promise(function (resolve, reject) {
     var appConfig = PDFViewerApplication.appConfig;

+ 1 - 1
package.json

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

+ 0 - 2
webpack.js

@@ -19,8 +19,6 @@ var PdfjsWorker = require('worker-loader!./build/pdf.worker.js');
 
 if (typeof window !== 'undefined' && 'Worker' in window) {
   pdfjs.PDFJS.workerPort = new PdfjsWorker();
-} else {
-  pdfjs.PDFJS.disableWorker = true;
 }
 
 module.exports = pdfjs;

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