Makes WorkerMessageHandler non-global.
This commit is contained in:
parent
bda5e6235e
commit
e372f3608b
@ -994,11 +994,6 @@ function initializeWorker() {
|
|||||||
handler.send('ready', null);
|
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)?
|
// Worker thread (and not node.js)?
|
||||||
if (typeof window === 'undefined' &&
|
if (typeof window === 'undefined' &&
|
||||||
!(typeof module !== 'undefined' && module.require)) {
|
!(typeof module !== 'undefined' && module.require)) {
|
||||||
|
@ -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;
|
||||||
|
@ -37,11 +37,11 @@ if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
|
|||||||
}
|
}
|
||||||
var fakeWorkerFilesLoader = useRequireEnsure ? (function (callback) {
|
var fakeWorkerFilesLoader = useRequireEnsure ? (function (callback) {
|
||||||
require.ensure([], function () {
|
require.ensure([], function () {
|
||||||
require('./pdf.worker.js');
|
var worker = require('./pdf.worker.js');
|
||||||
callback();
|
callback(worker.WorkerMessageHandler);
|
||||||
});
|
});
|
||||||
}) : (typeof requirejs !== 'undefined') ? (function (callback) {
|
}) : (typeof requirejs !== 'undefined') ? (function (callback) {
|
||||||
requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
|
requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
|
||||||
callback();
|
callback(worker.WorkerMessageHandler);
|
||||||
});
|
});
|
||||||
}) : null;
|
}) : null;
|
||||||
|
@ -57,5 +57,7 @@
|
|||||||
exports.MissingPDFException = pdfjsLibs.pdfjsSharedUtil.MissingPDFException;
|
exports.MissingPDFException = pdfjsLibs.pdfjsSharedUtil.MissingPDFException;
|
||||||
exports.UnexpectedResponseException =
|
exports.UnexpectedResponseException =
|
||||||
pdfjsLibs.pdfjsSharedUtil.UnexpectedResponseException;
|
pdfjsLibs.pdfjsSharedUtil.UnexpectedResponseException;
|
||||||
|
//#else
|
||||||
|
exports.WorkerMessageHandler = pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler;
|
||||||
//#endif
|
//#endif
|
||||||
}));
|
}));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user