|
|
@ -1215,38 +1215,45 @@ var PDFWorker = (function PDFWorkerClosure() { |
|
|
|
error('No PDFJS.workerSrc specified'); |
|
|
|
error('No PDFJS.workerSrc specified'); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var fakeWorkerFilesLoadedCapability; |
|
|
|
|
|
|
|
|
|
|
|
// Loads worker code into main thread.
|
|
|
|
// Loads worker code into main thread.
|
|
|
|
function setupFakeWorkerGlobal() { |
|
|
|
function setupFakeWorkerGlobal() { |
|
|
|
if (!PDFJS.fakeWorkerFilesLoadedCapability) { |
|
|
|
var WorkerMessageHandler; |
|
|
|
PDFJS.fakeWorkerFilesLoadedCapability = createPromiseCapability(); |
|
|
|
if (!fakeWorkerFilesLoadedCapability) { |
|
|
|
|
|
|
|
fakeWorkerFilesLoadedCapability = createPromiseCapability(); |
|
|
|
// In the developer build load worker_loader which in turn loads all the
|
|
|
|
// In the developer build load worker_loader which in turn loads all the
|
|
|
|
// other files and resolves the promise. In production only the
|
|
|
|
// other files and resolves the promise. In production only the
|
|
|
|
// pdf.worker.js file is needed.
|
|
|
|
// pdf.worker.js file is needed.
|
|
|
|
//#if !PRODUCTION
|
|
|
|
//#if !PRODUCTION
|
|
|
|
if (typeof amdRequire === 'function') { |
|
|
|
if (typeof amdRequire === 'function') { |
|
|
|
amdRequire(['pdfjs/core/network', 'pdfjs/core/worker'], function () { |
|
|
|
amdRequire(['pdfjs/core/network', 'pdfjs/core/worker'], |
|
|
|
PDFJS.fakeWorkerFilesLoadedCapability.resolve(); |
|
|
|
function (network, worker) { |
|
|
|
|
|
|
|
WorkerMessageHandler = worker.WorkerMessageHandler; |
|
|
|
|
|
|
|
fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} else if (typeof require === 'function') { |
|
|
|
} else if (typeof require === 'function') { |
|
|
|
require('../core/worker.js'); |
|
|
|
var worker = require('../core/worker.js'); |
|
|
|
PDFJS.fakeWorkerFilesLoadedCapability.resolve(); |
|
|
|
WorkerMessageHandler = worker.WorkerMessageHandler; |
|
|
|
|
|
|
|
fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
throw new Error('AMD or CommonJS must be used to load fake worker.'); |
|
|
|
throw new Error('AMD or CommonJS must be used to load fake worker.'); |
|
|
|
} |
|
|
|
} |
|
|
|
//#endif
|
|
|
|
//#endif
|
|
|
|
//#if PRODUCTION && SINGLE_FILE
|
|
|
|
//#if PRODUCTION && SINGLE_FILE
|
|
|
|
// PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
|
|
|
// WorkerMessageHandler = pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler;
|
|
|
|
|
|
|
|
// fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);
|
|
|
|
//#endif
|
|
|
|
//#endif
|
|
|
|
//#if PRODUCTION && !SINGLE_FILE
|
|
|
|
//#if PRODUCTION && !SINGLE_FILE
|
|
|
|
// var loader = fakeWorkerFilesLoader || function (callback) {
|
|
|
|
// var loader = fakeWorkerFilesLoader || function (callback) {
|
|
|
|
// Util.loadScript(getWorkerSrc(), callback);
|
|
|
|
// Util.loadScript(getWorkerSrc(), function () {
|
|
|
|
|
|
|
|
// callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler);
|
|
|
|
|
|
|
|
// });
|
|
|
|
// };
|
|
|
|
// };
|
|
|
|
// loader(function () {
|
|
|
|
// loader(fakeWorkerFilesLoadedCapability.resolve);
|
|
|
|
// PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
|
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
//#endif
|
|
|
|
//#endif
|
|
|
|
} |
|
|
|
} |
|
|
|
return PDFJS.fakeWorkerFilesLoadedCapability.promise; |
|
|
|
return fakeWorkerFilesLoadedCapability.promise; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function createCDNWrapper(url) { |
|
|
|
function createCDNWrapper(url) { |
|
|
@ -1385,7 +1392,7 @@ var PDFWorker = (function PDFWorkerClosure() { |
|
|
|
globalScope.PDFJS.disableWorker = true; |
|
|
|
globalScope.PDFJS.disableWorker = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
setupFakeWorkerGlobal().then(function () { |
|
|
|
setupFakeWorkerGlobal().then(function (WorkerMessageHandler) { |
|
|
|
if (this.destroyed) { |
|
|
|
if (this.destroyed) { |
|
|
|
this._readyCapability.reject(new Error('Worker was destroyed')); |
|
|
|
this._readyCapability.reject(new Error('Worker was destroyed')); |
|
|
|
return; |
|
|
|
return; |
|
|
@ -1417,7 +1424,7 @@ var PDFWorker = (function PDFWorkerClosure() { |
|
|
|
// If the main thread is our worker, setup the handling for the
|
|
|
|
// If the main thread is our worker, setup the handling for the
|
|
|
|
// messages -- the main thread sends to it self.
|
|
|
|
// messages -- the main thread sends to it self.
|
|
|
|
var workerHandler = new MessageHandler(id + '_worker', id, port); |
|
|
|
var workerHandler = new MessageHandler(id + '_worker', id, port); |
|
|
|
PDFJS.WorkerMessageHandler.setup(workerHandler, port); |
|
|
|
WorkerMessageHandler.setup(workerHandler, port); |
|
|
|
|
|
|
|
|
|
|
|
var messageHandler = new MessageHandler(id, id + '_worker', port); |
|
|
|
var messageHandler = new MessageHandler(id, id + '_worker', port); |
|
|
|
this._messageHandler = messageHandler; |
|
|
|
this._messageHandler = messageHandler; |
|
|
|