Makes WorkerMessageHandler non-global.
This commit is contained in:
parent
bda5e6235e
commit
e372f3608b
@ -994,11 +994,6 @@ function initializeWorker() {
|
||||
handler.send('ready', null);
|
||||
}
|
||||
|
||||
if (globalScope.PDFJS) {
|
||||
// TODO properly handle WorkerMessageHandler as a module export at api.js.
|
||||
globalScope.PDFJS.WorkerMessageHandler = WorkerMessageHandler;
|
||||
}
|
||||
|
||||
// Worker thread (and not node.js)?
|
||||
if (typeof window === 'undefined' &&
|
||||
!(typeof module !== 'undefined' && module.require)) {
|
||||
|
@ -1215,38 +1215,45 @@ var PDFWorker = (function PDFWorkerClosure() {
|
||||
error('No PDFJS.workerSrc specified');
|
||||
}
|
||||
|
||||
var fakeWorkerFilesLoadedCapability;
|
||||
|
||||
// Loads worker code into main thread.
|
||||
function setupFakeWorkerGlobal() {
|
||||
if (!PDFJS.fakeWorkerFilesLoadedCapability) {
|
||||
PDFJS.fakeWorkerFilesLoadedCapability = createPromiseCapability();
|
||||
var WorkerMessageHandler;
|
||||
if (!fakeWorkerFilesLoadedCapability) {
|
||||
fakeWorkerFilesLoadedCapability = createPromiseCapability();
|
||||
// In the developer build load worker_loader which in turn loads all the
|
||||
// other files and resolves the promise. In production only the
|
||||
// pdf.worker.js file is needed.
|
||||
//#if !PRODUCTION
|
||||
if (typeof amdRequire === 'function') {
|
||||
amdRequire(['pdfjs/core/network', 'pdfjs/core/worker'], function () {
|
||||
PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
||||
amdRequire(['pdfjs/core/network', 'pdfjs/core/worker'],
|
||||
function (network, worker) {
|
||||
WorkerMessageHandler = worker.WorkerMessageHandler;
|
||||
fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);
|
||||
});
|
||||
} else if (typeof require === 'function') {
|
||||
require('../core/worker.js');
|
||||
PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
||||
var worker = require('../core/worker.js');
|
||||
WorkerMessageHandler = worker.WorkerMessageHandler;
|
||||
fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);
|
||||
} else {
|
||||
throw new Error('AMD or CommonJS must be used to load fake worker.');
|
||||
}
|
||||
//#endif
|
||||
//#if PRODUCTION && SINGLE_FILE
|
||||
// PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
||||
// WorkerMessageHandler = pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler;
|
||||
// fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);
|
||||
//#endif
|
||||
//#if PRODUCTION && !SINGLE_FILE
|
||||
// var loader = fakeWorkerFilesLoader || function (callback) {
|
||||
// Util.loadScript(getWorkerSrc(), callback);
|
||||
// Util.loadScript(getWorkerSrc(), function () {
|
||||
// callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler);
|
||||
// });
|
||||
// };
|
||||
// loader(function () {
|
||||
// PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
||||
// });
|
||||
// loader(fakeWorkerFilesLoadedCapability.resolve);
|
||||
//#endif
|
||||
}
|
||||
return PDFJS.fakeWorkerFilesLoadedCapability.promise;
|
||||
return fakeWorkerFilesLoadedCapability.promise;
|
||||
}
|
||||
|
||||
function createCDNWrapper(url) {
|
||||
@ -1385,7 +1392,7 @@ var PDFWorker = (function PDFWorkerClosure() {
|
||||
globalScope.PDFJS.disableWorker = true;
|
||||
}
|
||||
|
||||
setupFakeWorkerGlobal().then(function () {
|
||||
setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
|
||||
if (this.destroyed) {
|
||||
this._readyCapability.reject(new Error('Worker was destroyed'));
|
||||
return;
|
||||
@ -1417,7 +1424,7 @@ var PDFWorker = (function PDFWorkerClosure() {
|
||||
// If the main thread is our worker, setup the handling for the
|
||||
// messages -- the main thread sends to it self.
|
||||
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);
|
||||
this._messageHandler = messageHandler;
|
||||
|
@ -37,11 +37,11 @@ if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
|
||||
}
|
||||
var fakeWorkerFilesLoader = useRequireEnsure ? (function (callback) {
|
||||
require.ensure([], function () {
|
||||
require('./pdf.worker.js');
|
||||
callback();
|
||||
var worker = require('./pdf.worker.js');
|
||||
callback(worker.WorkerMessageHandler);
|
||||
});
|
||||
}) : (typeof requirejs !== 'undefined') ? (function (callback) {
|
||||
requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
|
||||
callback();
|
||||
callback(worker.WorkerMessageHandler);
|
||||
});
|
||||
}) : null;
|
||||
|
@ -57,5 +57,7 @@
|
||||
exports.MissingPDFException = pdfjsLibs.pdfjsSharedUtil.MissingPDFException;
|
||||
exports.UnexpectedResponseException =
|
||||
pdfjsLibs.pdfjsSharedUtil.UnexpectedResponseException;
|
||||
//#else
|
||||
exports.WorkerMessageHandler = pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler;
|
||||
//#endif
|
||||
}));
|
||||
|
Loading…
x
Reference in New Issue
Block a user